NEWS
Problem bei Blockly und Shelly
-
@fa-bio Danke für die schnelle Antwort. Ich finde jedoch einige von den Blöcken nicht die du verwendest. Unter anderem das "Und" Feld mit den zwei Ausgängen als auch das "falls mache, sonst mache". Wo verstecken die sich?
mit rechtsklick auf das und klicken
-
@fa-bio Danke für die schnelle Antwort. Ich finde jedoch einige von den Blöcken nicht die du verwendest. Unter anderem das "Und" Feld mit den zwei Ausgängen als auch das "falls mache, sonst mache". Wo verstecken die sich?
@ronnyempire
Und wenn der Trigger bereits auf Änderungen an "currentFeedIn" horcht, brauchst Du nicht mit "Wert von" arbeiten.Nimm stattdessen aus dem Bereich "Trigger" den Block "Objekt ID". Den kannst Du dann auf "Wert" ändern.

-
@maximal1981 ich möchte bei pv-überschuss meine Wärmepumpe beim Pool steuern
@ronnyempire Vorschlag:

-
Moin, ich bin neu in dem Thema, ich habe nun meinen ersten Skript mit Blockly angelegt. Leider schaltet der Shelly aber nicht zu den gewünschten Bedingungen. Was mache ich falsch?

@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:

-
@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
falseodertruegesetzt wird. Mehr als AUS oder EIN gibt es nicht. ;-) -
@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
falseodertruegesetzt 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?
-
@ronnyempire nimm beim Trigger wurde geändert
warum machst du eine Verzögerung von 5 Minuten? absicht?Edit: hat aber @fa-bio schon gepostet^^
@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.
-
@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.
-
@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 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.???
-
@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); }); -
@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.
-
@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: 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 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:

-
@Ronnyempire @paul53
Nur so als Idee, um die Sonnenscheindauer besser auszunutzen:

@codierknecht isDayTime gibt es als Systemdatenpunkt.
muss ur irgendwo konfiguriert werden -
@Ronnyempire @paul53
Nur so als Idee, um die Sonnenscheindauer besser auszunutzen:

@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.
-
@codierknecht isDayTime gibt es als Systemdatenpunkt.
muss ur irgendwo konfiguriert werden@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.
AlsoisSunshineo.ä. ... kann auchKurtoderHorstheißen - Namen sind Schall und Rauch :grin: -
@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.
@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.
