NEWS
Problem bei Blockly und Shelly
-
@ronnyempire sagte: Was mache ich falsch?
Vermutlich sind die Verzögerungen von 5 Minuten dafür gedacht, dass nicht bei jeder kleinen Wolkenlücke eingeschaltet bzw. bei jeder kleinen Wolke ausgeschaltet wird? Das funktioniert so nicht. Vorschlag:
-
@paul53 Welchen Sinn hat die Abfrage, ob die Steckdose ein ist, bevor sie ausgeschaltet wird und andersrum? Dem js-controller ist es wurst, wenn der state mehrfach auf
false
odertrue
gesetzt wird. Mehr als AUS oder EIN gibt es nicht. -
@schmakus sagte: Dem js-controller ist es wurst, wenn der state mehrfach auf false gesetzt wird.
Dem js-controller schon, aber es wird unnötig gesendet, was andere zur gleichen Zeit gesendeten Telegramme stören kann.
-
@paul53 Kommt auf den jweiligen Adapter an. Die meisten Adapter verarbeiten oft nur ne Änderung eines Werts. Somit wird nix zusätzlich "gesendet".
-
@schmakus sagte: Die meisten Adapter verarbeiten oft nur ne Änderung eines Werts.
Sicher die meisten Adapter?
-
@paul53 dazu kann ich keine Aussage machen. Deckel drauf.
-
@maximal1981 Ich will damit verhindern, dass wenn sich mal eine Wolke vorbei schleicht und der Ertrag kurzfristig runter geht die Anlage nicht immer Aus/An springt, was ja nicht gut für die Lebensdauer der Pumpe ist.
-
@ronnyempire dachte ich mir, wollte nur nachfragen. Da bist du eh bei @paul53 gut aufgehoben.
-
@paul53 Vielen Dank für den Vorschlag. Kurze Rückfrage dazu. Die Limitierung auf vor 16:00Uhr gilt dem Einschalten. Ausschalten soll aber nach 16:00Uhr weiterhin möglich sein. Dies soll dazu dienen einen harten Cut zu machen, weil die Anlage bei den Schwankungen ab 16:00Uhr sonst wie bei den Wolken ständig ein und aus gehen würde. Wenn also nach 16:00Uhr die Anlage einmal aus geht, soll sie es bleiben. Ist das mit deinem Vorschlag so gemacht, ich lese das so (aber ich bin auch Anfänger), dass die Zeit 16:00Uhr für beide gilt.???
-
@ronnyempire sagte in Problem bei Blockly und Shelly:
bei den Schwankungen ab 16:00Uhr
Die sind aber Jahrezeitabhängig.
Im Hochsommer kann das auch deutlich später noch sinnvoll sein. Und im Winter eben nicht.
Da wäre es möglicherweise besser, die "Elevation" zu bestimmen und damit zu arbeiten.
Oder aber über die Astrofunktion einen Zeitraum zwischen Sonnenauf und -untergang bestimmen.Code dazu:
const suncalc = require('suncalc'); createState('0_userdata.0.Astro.Elevation', 0, {type: 'number', unit: '°'}) createState('0_userdata.0.Astro.Azimut', 0, {type: 'number', unit: '°'}) schedule("0 0 * * *", async function () { setState('0_userdata.0.Astro.Sonnenaufgang', getAstroDate("sunrise").toLocaleTimeString('de-DE',{ hour12: false, hour:'2-digit', minute:'2-digit' }), true); setState('0_userdata.0.Astro.Sonnenuntergang', getAstroDate("sunset").toLocaleTimeString('de-DE',{ hour12: false, hour:'2-digit', minute:'2-digit' }), true); }); schedule("* * * * *", function () { var now = new Date(); var sunpos = suncalc.getPosition(now, 51, 6); var h = sunpos.altitude * 180 / Math.PI; var a = sunpos.azimuth * 180 / Math.PI + 180; setState("0_userdata.0.Astro.Elevation", Math.round(10 * h) / 10, true); setState("0_userdata.0.Astro.Azimut", Math.round(a), true); });
-
@codierknecht Das ist nicht das Problem, der Pool steht nur von Mai bis September. Und was die Uhrzeit angeht, die ist noch nicht fix, ich muss beobachten bis wann das sinnvoll ist und würde das dann anpassen.
-
@ronnyempire sagte: Ausschalten soll aber nach 16:00Uhr weiterhin möglich sein.
Bei meinem Vorschlag oben wird kurz nach 16:00 Uhr ausgeschaltet.
Soll nach 16:00 Uhr nur ein Wiedereinschalten verhindert werden, dann kann es so aussehen: -
@Ronnyempire @paul53
Nur so als Idee, um die Sonnenscheindauer besser auszunutzen:
-
@codierknecht isDayTime gibt es als Systemdatenpunkt.
muss ur irgendwo konfiguriert werden -
@codierknecht Leider kann ich mich nicht so von der Sonnenuntergangszeit orientieren, da wir ganz am Ende des Tages sehr viele Bäume im Weg haben.
-
@homoran
OK, ungünstig gewählter Name für die Variable.
Sollte ggf. anders benannt werden, da die Sytemvariable ja nur angibt ob gerade Tag oder Nacht ist. Das muss ja nicht mit der idealen Zeit bzgl. Sonnenschein korrelieren.
AlsoisSunshine
o.ä. ... kann auchKurt
oderHorst
heißen - Namen sind Schall und Rauch -
@ronnyempire sagte in Problem bei Blockly und Shelly:
da wir ganz am Ende des Tages sehr viele Bäume im Weg haben
Ließe sich über den Offset regeln.
Oder eben die "große Lösung" über die Elevation. -
@homoran sagte in Problem bei Blockly und Shelly:
@codierknecht isDayTime gibt es als Systemdatenpunkt.
muss ur irgendwo konfiguriert werdenIn den Instanzeinstellungen des Javascript Adapters kann es konfiguriert werden. Der Datenpunkt ist dann unter javascript.x verfügbar.
-
@codierknecht Vielen dank allen für die Wunderbaren Ideen und Vorschläge. Ich möchte das ganze erstmal nur so einfach wie möglich halten, damit ich es auch verstehen kann. Ist ja mein erstes Projekt
-
@paul53 Ich habe das ganze jetzt einmal nachgebaut. Testweise habe ich, da heute keine Einspeisung und sich der Wert von 0 nicht ändert, den Trigger auf aktualisieren gesetzt. Ebenso um zu testen die Delay auf Sekunden. Dann habe ich den Shelly manuell eingeschaltet. Jedoch schaltet er sich nicht aus. Wodran kann es liegen ?