NEWS
Problem bei Blockly und Shelly
-
@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 ?
-
@ronnyempire sagte: Wodran kann es liegen ?
Die Vergleiche sind falsch herum.
Unten mussdelayoff
als Sperre verwendet werden. -
@paul53 Sorry, ich hatte ein bischen rumgespielt und den falschen Screenshot verwendet. Dies ist der aktuelle, es passiert aber weiterhin nichts.
-
@ronnyempire sagte: passiert aber weiterhin nichts.
Wird denn getriggert? Bau mal einen Debug-Block zur Kontrolle ein.
-
@paul53 Ok habe ich gemacht, was genau sollte jetzt passieren bzw. wo finde ich die Ausgabe?
-
@ronnyempire sagte: was genau sollte jetzt passieren bzw. wo finde ich die Ausgabe?
Wenn getriggert wird, erscheint die Log-Ausgabe unterhalb des Blockly-Editorfensters. Wenn dort kein Log erscheint, wird nicht getriggert.
Schau mal den Zeitstempel von "currentFeedIn" an. Wenn der schon älter ist, wird auch bei "wurde aktualisiert" nicht getriggert. -
@paul53 Nein unten kommt nichts. Der Zeitstempel ist minutenaktuell.
-
@ronnyempire sagte: unten kommt nichts.
Auch nicht im Tab "Protokolle"? Das Skript wurde gestartet?
@ronnyempire sagte in Problem bei Blockly und Shelly:
habe ich gemacht,
Bitte zeigen!
-
-
@ronnyempire
Passt. So müssen bei jeder Aktualisierung des Zeitstempels von "currentFeedIn" zwei Log-Ausgabe erfolgen.
Die Vergleiche sind wieder falsch herum!