NEWS
Function Node welche zwei Werte vergleicht
Function Node welche zwei Werte vergleicht
-
@1984chris Ok - dann werden wir Dein NodeRed bisschen aufbohren. Aus was für einem System läuft es, weißt Du wo Deine settings.js liegt?
-
@mickym
das läuft auf einem raspberry in Docker.
wo meine settings.js liegt weis ich nicht.@1984chris sagte in Function Node welche zwei Werte vergleicht:
@mickym
das läuft auf einem raspberry in Docker.
wo meine settings.js liegt weis ich nicht.Na mit dem Docker kenne ich mich nicht aus - und weiß auch nicht, ob man da einfach ins Dateisystem schreiben kann. Aber einen mqtt Broker (mosquitto) hast Du?
-
@1984chris sagte in Function Node welche zwei Werte vergleicht:
@mickym
das läuft auf einem raspberry in Docker.
wo meine settings.js liegt weis ich nicht.Na mit dem Docker kenne ich mich nicht aus - und weiß auch nicht, ob man da einfach ins Dateisystem schreiben kann. Aber einen mqtt Broker (mosquitto) hast Du?
-
@1984chris sagte in Function Node welche zwei Werte vergleicht:
@mickym
ja läuft auch in DockerNa wichtig ist nur wie Du den erreichst, hast Du schon mal aus Deinem NodeRed eine Kommunikation zu Deinem mqtt-Broker aufgebaut?
-
@1984chris sagte in Function Node welche zwei Werte vergleicht:
@mickym
ja läuft auch in DockerNa wichtig ist nur wie Du den erreichst, hast Du schon mal aus Deinem NodeRed eine Kommunikation zu Deinem mqtt-Broker aufgebaut?
-
@1984chris Na das glaube ich jetzt mal nicht. Sondern tasmota sendet zu mqtt und nodered sendet zu mqtt.
Gut aber jedenfalls hast Du dann in Nodered einen mqtt Broker definiert.
dann sollte das ja funktionieren. Bitte mal testen und Screenshot am Besten so wie ich es gemacht habe.

Hier der Import:
Du musst halt Deinen Server / Broker eintragen und dann genauso einen Screenshot hinbekommen.
-
@1984chris Na das glaube ich jetzt mal nicht. Sondern tasmota sendet zu mqtt und nodered sendet zu mqtt.
Gut aber jedenfalls hast Du dann in Nodered einen mqtt Broker definiert.
dann sollte das ja funktionieren. Bitte mal testen und Screenshot am Besten so wie ich es gemacht habe.

Hier der Import:
Du musst halt Deinen Server / Broker eintragen und dann genauso einen Screenshot hinbekommen.
-
@1984chris Gut wenn Du - Deine Flows neu startest, sollte keine weitere Nachricht kommen.

-
@1984chris Gut wenn Du - Deine Flows neu startest, sollte keine weitere Nachricht kommen.

-
@1984chris Ja das ist OK. Ich kämpfe wieder mal mit den retained Nachrichten. Ich check das mal noch.
-
@1984chris sagte in Function Node welche zwei Werte vergleicht:
@mickym
nur jede Minute der Status vom Shelly, is das eh ok?Gut funktioniert. Wenn Du jetzt in der mqtt-Out Node die Nachricht mit dem Retained Flag schickst und die Flows neustartest, solltest Du die Nachricht automatisch nach dem Neustart bekommen.

-
@1984chris sagte in Function Node welche zwei Werte vergleicht:
@mickym
nur jede Minute der Status vom Shelly, is das eh ok?Gut funktioniert. Wenn Du jetzt in der mqtt-Out Node die Nachricht mit dem Retained Flag schickst und die Flows neustartest, solltest Du die Nachricht automatisch nach dem Neustart bekommen.

-
@1984chris Ja das Retain Flag kannst Du wieder löschen - wenn Du in die gleiche Node einen leeren String injiizierst. Dann neustarten und es sollte nicht mehr kommen.

Das Retain Flag bleibt aber auf "wahr"
-
Wenn das soweit funktioniert, dann speichern wir die Laufzeit in Minuten in mqtt und lesen die dann beim Neustart wieder ein.
-
@1984chris Ja das Retain Flag kannst Du wieder löschen - wenn Du in die gleiche Node einen leeren String injiizierst. Dann neustarten und es sollte nicht mehr kommen.

Das Retain Flag bleibt aber auf "wahr"
-
@1984chris Genau. Weil wir so das Retain Flag wieder löschen.
-
@1984chris Genau. Weil wir so das Retain Flag wieder löschen.
-
@1984chris Ok dann kannst diese Nodes wieder löschen.
Also zurück zum Flow.
Du hast jetzt das Pollintervall auf 60000 gesetzt und die Nachrichten werden mit der SwitchNode gefiltert, dass NUR Nachrichten durchkommen, wenn die WP eingeschaltet ist.
Hier die ChangeNode, die die Nachrichten zählt.
Die Laufzeit kannst du in einer Debug Node ausgeben und gleichzeitig hängst Du eine mqtt Node an, in der Du die Laufzeit retained speicherst.
Wenn Du dann Deinen Kontext aufmachst (Du musst manuell aktualisieren)

Dann sollte jetzt alle Minuten (aber nur solange die WP eingeschaltet ist) hochzählen.
-
@1984chris Ok dann kannst diese Nodes wieder löschen.
Also zurück zum Flow.
Du hast jetzt das Pollintervall auf 60000 gesetzt und die Nachrichten werden mit der SwitchNode gefiltert, dass NUR Nachrichten durchkommen, wenn die WP eingeschaltet ist.
Hier die ChangeNode, die die Nachrichten zählt.
Die Laufzeit kannst du in einer Debug Node ausgeben und gleichzeitig hängst Du eine mqtt Node an, in der Du die Laufzeit retained speicherst.
Wenn Du dann Deinen Kontext aufmachst (Du musst manuell aktualisieren)

Dann sollte jetzt alle Minuten (aber nur solange die WP eingeschaltet ist) hochzählen.
-
@1984chris Gut in der anschliessenden switch Node geben wir die maximale Laufzeit ein und prüfen, ob die Laufzeit überschritten ist. Zum Test habe ich es mal auf 5 Minuten eingestellt. Das musst Du halt später auf 300 stellen, wenn die WP max. 5 Std. am gelaufen sein darf. Sprich wenn 6 Minuten bzw. 301 Minuten erreicht sind, wird die Ruhezeit gestartet ( zum Test auf 1 Minute in der Trigger Node eingestellt - später halt die Zeit, die halt die Pause dauern soll)

- die WP ausgeschaltet
- die Pausenzeit startet

Hier der Import:Wenn es funktioniert, dann machen wir noch die Abschlussarbeiten.
