NEWS
Node Red - WaMa Status
-
Hallo zusammen,
ich bin neu in der Heimautomatisierung und beschäftige mich nun schon seit ein paar Wochen damit und hätte demnach
mal eine Anfängerfrage. Ich würde gerne meine Waschmaschine Smart machen und versuche das ganze im Node Red abzubilden.
Leider komme ich bei der Funktion nicht weiter, ich würde hier gerne sobald die Steckdose einen Wert größer 10W ermittelt, ein Flag setzen das die WaMa läuft. Sobald dieser Wert kleiner 3W ist und für ~ 120 sec anliegt, soll der Flow die Steckdose deaktivieren.Könnt ihr mir sagen wie ich in der Funktion ein Flag setzen kann? So hatte ich es mir ungefähr vorgestellt
Bitte habt nachsicht mit mir falls es völliger quatsch sein sollte was ich hier versuche umzusetzen
Leider konnte ich im Forum dazu nichts finden, ich weiß auch das es hierzu Blockly vorschläge gibt.
Um jedoch einen Lernefekt zu erzielen, würde ich das ganze gerne im Node Red umsetzen.Vielen Dank im Voraus für eure Hilfe!
-
@finn Ich kann Dir nur Folgendes ans Herz legen:
- Vermeide function Nodes soweit wie es geht. Wenn du einen Flow schon mit function Nodes hier reinstellst, dann solltest Du diesen neben dem Screenshot, den gesamten Flow auch noch exportieren oder zumindest den Code hier aufschlüsseln - ansonsten kann keiner hellsehen, was du darin anstellst.
Es gilt aber - vermeide function Nodes so gut wie es geht. Sonst kannst ja gleich in Javascript programmieren - da brauchst dann auch nur noch 1 Function Node und keinen Flow. Eigentlich brauchst Du dann auch kein Node Red, sondern kannst ja dann auch mit Blockly bzw. Javascript arbeiten. Nicht bös gemeint, aber ich kann Dir nur raten, diese function Nodes rauszuschmeissen - und erst mal versuchen ohne klar zu kommen. - Diese Durchschnitts-Node hast Du wohl nachträglich installiert - ist in meinen Augen auch eher unsinnig, da es bereits im Standard die aggregator Node gibt.
- Die Logik ist in meinen Augen verkehrt. Der ganze Flow wird ja nur getriggert, wenn der POWER Datenpunkt gesetzt wird und dann auch nur, weitergeleitet, wenn true. Solange die Waschmaschine aber läuft bleibt der doch immer true und wird der dann wieder neu gesetzt? - Wenn nicht dann bekommst Du ja von der Energy gar nichts mit. Warum lässt Du nicht gleich den Energy_Power Datenpunkt triggern?
- Man kann den Flow zwar verzweigen in dem man das Flag mit dem >10 W sofort reagieren lässt - kann man machen, aber wäre es nicht einfacher grundsätzlich die 2 Minuten abzuwarten und dann einfach mit dem Durchschnittswerten zu operieren?
Leider komme ich bei der Funktion nicht weiter,
Da wäre es halt gut zu wissen, warum wieso - woran hängt es was macht der Flow - hast Du schon untersucht bis wohin der Flow läuft?
- Vermeide function Nodes soweit wie es geht. Wenn du einen Flow schon mit function Nodes hier reinstellst, dann solltest Du diesen neben dem Screenshot, den gesamten Flow auch noch exportieren oder zumindest den Code hier aufschlüsseln - ansonsten kann keiner hellsehen, was du darin anstellst.
-
Danke für die Info, ich werde mir natürlich deinen Rastchlag zu Herzen nehmen und versuchen das ganze ohne Funktion aufzubauen.
Mit der Funktion habe ich mich schon versucht, bin aber nicht wirklich weitergekommen weshalb ich dazu auch nichts gepostet habe.
Mit dem Bild wollte ich lediglich visualisieren wie ich mir den Ablauf vorstelle.
Zu Punkt 2, ja die habe ich nachträglich installiert als ich das inet nach möglichkeiten durchforstet habe.Ich würde meine Frage daher umformulieren, wie kann ich im Node Red einen Flow erstellen der prüft ob die WaMa läuft und mir die
Steckdose bei fertigstellung ausshaltet nach x min?
Ich kann mich auch gerne vorerst selber daran versuchen das ganze ohne Funktion aufzubauen und dann einen Screenshot dazu posten? -
@finn sagte in Node Red - WaMa Status:
Ich würde meine Frage daher umformulieren, wie kann ich im Node Red einen Flow erstellen der prüft ob die WaMa läuft und mir die
Steckdose bei fertigstellung ausshaltet nach x min?
Ich kann mich auch gerne vorerst selber daran versuchen das ganze ohne Funktion aufzubauen und dann einen Screenshot dazu posten?Genau mach das mal. Schließlich lerne ich immer am Besten, wenn ich es auch versuche. Was man machen kann, wenn Du nicht gleich die Waschmaschine einschalten willst, dass Du mit Werten in einer bzw. mehreren INJECT Nodes triggerst, so mache ich das und dann statt die Steckdose zu schalten eine DEBUG Node zum Schluß hinhängst.
Dann postest Du am BEsten den Screenshot inkl. Debug-Fenster und exportierst hier den Flow, so dass man auch direkt an Deinem Flow ggf. was ändern kann und man somit gemeinsam an sowas arbeitet.
In dem Fall würde ich Dir auch raten nicht die Durchschnittsnode zu nutzen sondern die Aggregator Node - da die im Standardumfang dabei ist. Die kann auch viel mehr. Zum Beispiel wie war der maximale Stromverbrauch in den letzten 2 Minuten. Das ist vielleicht aussagekräftiger als der Durchschnitt. Du willst ja die Peaks abfragen und nicht wirklich den Durchschnitt.
Ich zeig Dir mal wie einfach das bei mir wäre - wobei ich nicht den Durchschnittswert der letzten beiden Minuten nehmen würde, sondern das Maximum:
Die aggregator Node bietet alles was Du brauchst:
Und hier der Flow zum Import:
Anstelle der InjectNodes -käme Deine ENERGY_Power-Node, Anstelle der Maschine fertig Deine WaMa off. Ob Du was machen willst, wenn WaMa eingeschaltet ist, musst Du wissen, kannst ja die switch NOde dann wieder entsprechend anpassen. Die switch Node ist jetzt auf >= 3 Watt als Indikator eingestellt, ob die Maschine läuft, das kann man auch auf 10 Watt einstellen, wenn Du da eine Hysterese einbauen willst.
-
ich hab mich jetzt noch mal selber daran versucht, nachdem ich aber deinem Post gelesen habe, merke ich gerade das ich wohl viel zu kompliziert denke
Gedankengang war der wenn die Steckdose einen Verbrauch > 15W liefert mittels einen Trigger den Start der WaMa zu dedektieren und wenn die Messwerte für 120sec kleiner 3 Watt sind, das fertig auszulösen. Musste aber schon selber feststellen das sobald der Wert kleiner 15 Watt ist, keine Werte mehr geliefert werden da natürlich der erste Switch dann nichts mehr durchlässt. Alles noch etwas verwirrend ...
Vielen Dank für deine Erläuterung. Habe mir dies eben importiert und hätte eigentlich erwartet das sobald hier ein wert < 3 Watt vorliegt, dauerhaft ausgelöst wird. Dem ist aber nicht so
Ich werde mich nach deinem Flow richten und versuchen das ganze so umzusetzen.
-
@finn sagte in Node Red - WaMa Status:
Vielen Dank für deine Erläuterung. Habe mir dies eben importiert und hätte eigentlich erwartet das sobald hier ein wert < 3 Watt vorliegt, dauerhaft ausgelöst wird. Dem ist aber nicht so Ich werde mich nach deinem Flow richten und versuchen das ganze so umzusetzen.
Falls Dein Datenpunkt mit der Power tatsächlich Nullwerte liefern würde falls die Steckdose ausgeschaltet ist, kannst Du das entweder am Anfang in der IN-Node abfangen oder am Ende mit einer rbe Node.
Bei der IN-Node kannst direkt angeben, dass nur bei Änderungen eine Nachricht ausgelöst wird oder sogar nur, wenn diese sich um einen bestimmten % ändert.
aber wenn DU das MAX nimmst spielt das auch keine Rolle.
Auslösen tut TASMOTA - diese IN-Nodes fragen also nicht dauernd den Zustand eines Datenpunktes ab, sondern reagieren nur, wenn diese vom Adapter oder sonst was aktualisiert werden. Wenn der Punkt also alle 5 Minuten auch in Ruhe aktualisiert wird, stell in der In-Node ein, dass nur dann geschickt werden soll, wenn sich was ändert. Vielleicht ist das eines der Verständnisprobleme.
-
@mickym
danke noch einmal für deine Hilfe! So schnell wäre ich ohne deine Hilfe nicht darauf gekommen, die rbe Node habe ich zwar am Anfang stehen, so funktioniert es aber wunderbarAuch das Verständniss ist dadurch klarer.
Vielleicht hilft der Flow dein ein oder anderen Neuling weshalb ich diese hier mal Poste
-
bitte comment löschen
-
@finn Wie in meinem Screenshot gezeigt. Die rbe Node am Anfang kannst Du Dir sparen. Man kann in der iobroker in Node direkt einstellen, dass nur geänderte Werte den Flow starten. - Ansonsten freut es mich, wenn es so klappt, wie Du es Dir vorstellst.