NEWS
Zeitverzögerte Reaktion / Hysterese
-
@segelfreak So hier das ganze mit "Hausmitteln"
Musst halt statt den Inject Nodes die entsprechenden iobroker-IN Nodes eingeben und hinten statt oder zustätzlich zur Debug Node den iobroker-Out Node.
Hier der Flow:
Beide Temperaturen werden im Flow-Kontext gespeichert.
Wenn die Soll-Temperatur gesetzt wird, wird diese im Kontext gespeichert, aber die IST-Temperatur gesetzt, die IST-Temperatur speichert im Flow Kontext.
Die Hysterese machst Du dann in der switch Node:
die Payload enthält also IMMER die IST-Temperatur und wird mit der flow Kontext sollTemperatur verglichen.
Nehmen wir also an die SOLLTEMPERATUR ist 20°C, dann werden folgende Vergleiche gemacht.
Wenn IST-Temperatur: 19.7 dann macht die Switch Node folgendes:
- Regel
20 < 19.7 - 0.2 = 20 < 19.5 => falsch - Regel
20 > 19.7 + 0.2 = 20 > 19.7 => wahr
==> also unterer Ausgang - Heizung einschalten
Wenn IST-Temperatur: 19.9 dann macht die Switch Node folgendes:
- Regel
20 < 19.9 - 0.2 = 20 < 19.7 => falsch - Regel
20 > 19.9 + 0.2 = 20 > 20.1 => falsch
==> keine Regel passt, also passiert nichts.
Wenn IST-Temperatur: 20.3 dann macht die Switch Node folgendes:
- Regel
20 < 20.3 - 0.2 = 20 < 20.1 => wahr - Regel
20 > 20.3 + 0.2 = 20 > 20.5 => falsch
==> also oberer Ausgang - Heizung ausschalten
- Regel
-
@mickym sehr cool, vielen Dank für die Mühe! Das werde ich natürlich ausprobieren. Melde mich mit Resultat!
-
@segelfreak Du solltest in jedem Fall den Kontext beim Neustart initialisieren, also die iobroker-In Nodes beim Start feuern lassen:
-
@mickym ja, das hatte ich eigentlich auch eingestellt.
-
läuft und schaltet umgehend in beide Richtungen! Toll, nochmals vielen Dank!
-
@segelfreak Man hat halt mehr Kontrolle, wenn man das selber macht - man hätte es auch machen können mit der Hystere Node - aber dann sparst Du auch nicht mehr viel gegenüber den Standardnodes.
-
@mickym so ist schon prima. Wieder etwas dazu gelernt, auch mit den Standard-Nodes zu arbeiten. So kommt man Schritt für Schritt besser in das Thema und sieht, welche Möglichkeiten und Ansätze es gibt. Das passt schon!
-
@mickym so jetzt habe ich offenbar doch noch ein kleines Problem. Und zwar ist es so, dass beim shelly 1 alles ganz normal klappt. Der andere Schalter ist ein Shelly Plus 1 und der reagiert jetzt irgendwie nicht so, wie er sollte. Mir ist das nicht gleich aufgefallen, weil der Datenpunkt sauber aktualisiert wird. Tatsächlich schaltet er aber nicht.
Aber... wenn ich in den Objekten im Admin den Switch direkt schalte, und zwar nur über die Schalter-Funktion, dann wird auch tatsächlich am Schalter getriggert.
Ich hoffe, ich beschreibe das einigermaßen verständlich und ich kann mir das jetzt auch nicht erklären, warum das nun plötzlich anders ist.
Ich habe versucht, den Schalter in node-red als String zu verwenden, statt boolean. Aber weder alles klein "true/false", noch gross "TRUE/FALSE", brachte eine Änderung. Es geht wirklich nur über den Admin-SwitchIch vermute, dass es ein spezifisches Problem mit dem Shelly Plus 1 ist, weil der flow exakt so mit dem anderen shelly 1 funktioniert. Hat jemand eine Idee, wie man das in den Griff bekommen kann?
-
@segelfreak Hast Du das auch als command nicht als value geschickt - Du kannst das schon als Boolean schicken. Schau auch dass Du die Konvertierung in der Adapterkonfiguration ausgeschaltet hast. Wenn Du es über die admin Oberfläche schaffst, dann geht das mit Node Red auch. Ich tippe mal Du hast value statt command geschickt.
-
@mickym das war's, ich hatte value drin, nicht command! Das war auch tatsächlich anders als beim anderen Schalter. Danke für die schnelle Hilfe!