NEWS
2 Werte Subtrtahieren in Node Red
-
@siporax Ja dann mach mal ein Screenshot und zeig den Status bzw. mach Debug Nodes dran. Wenn 100-100 = 0 rauskommt, dann ist das ja richtig.
Und es stimmt ja nicht, dass er nichts schreibt:
Der Datenpunkt wurde um 14:34 heute beschrieben.
-
@mickym said in 2 Werte Subtrtahieren in Node Red:
@siporax Ja dann mach mal ein Screenshot und zeig den Status bzw. mach Debug Nodes dran. Wenn 100-100 = 0 rauskommt, dann ist das ja richtig.
Und es stimmt ja nicht, dass er nichts schreibt:
Der Datenpunkt wurde um 14:34 heute beschrieben.
-
@siporax Na dann kommt doch das Ergebnis raus. Du musst doch nur die iobroker-Out Node wieder aktivieren.
Die Debug Node kannst wieder wegschmeissen - das ist doch nur zur Fehlersuche bzw. zur Demonstration. Und wie gesagt - ich sehe die Sonoff Node trigger meistens - dann könntest auch die einfache Lösung mit den 4 Nodes nehmen:
-
Sorry: </> Code einfügen hab ich kapiert, aber wie daraus einen Spoiler macht ???
Egal. Code in .txt. Habe mal die topics in flow Variable gepackt. Jetzt braucht man die iobrokerIn/Out nur noch wie gewohnt mit den DP verbinden.
Könnte man das so machen. (Ich lerne gern dazu)
-
-
@geschild So nun zu Deinem Flow.
Das wird zwar so funktionieren - aber in dem Fall finde ich es übertrieben Flow variablen zu setzen, nur um das topic zu vereinfachen. Insbesondere ändert sich der Wert dieser Flowvariablen ja nie. Das würde nur Sinn machen, wenn Du unabhängig die Initialisierung triggern würdest. Dann lieber wieder das topic direkt setzen:
-
-
Übrigens Deine Function Node
var topic = msg.topic; flow.set('teichPowTopic', topic); msg.payload = flow.get('teichPowTopic'); return msg;
kann man auch mit einer ChangeNode ohne Codieren machen.
Das macht das Gleiche:
-
@mickym said in 2 Werte Subtrtahieren in Node Red:
Übrigens Deine Function Node
var topic = msg.topic; flow.set('teichPowTopic', topic); msg.payload = flow.get('teichPowTopic'); return msg;
kann man auch mit einer ChangeNode ohne Codieren machen.
Das macht das Gleiche:
So habs zum rechnen gebracht steht zwar ein minus davor im Zielordner beim Ergebnis aber damit kann ich leben.
-
-
@siporax Das Minus kannst Du eliminieren, wenn Du die Subtraktion umdrehst oder halt den absoluten Wert nimmst.
Um den absoluten Wert zu erhalten - einfach die ChangeNode wie folgt ändern:
Oder alternativ mit -1 multiplizieren also
(payload-wr) * -1
-
@geschild sagte in 2 Werte Subtrtahieren in Node Red:
PS. Kannst du mir den elektrischen Aufbau von @siporax erklären?
Nee - das muss @siporax selbst machen - ich bin nur für die Logik in NodeRed zuständig.
-
@mickym said in 2 Werte Subtrtahieren in Node Red:
@geschild sagte in 2 Werte Subtrtahieren in Node Red:
PS. Kannst du mir den elektrischen Aufbau von @siporax erklären?
Nee - das muss @siporax selbst machen - ich bin nur für die Logik in NodeRed zuständig.
Habe eine Warnmeldungen
-
@siporax said in 2 Werte Subtrtahieren in Node Red:
@mickym said in 2 Werte Subtrtahieren in Node Red:
@geschild sagte in 2 Werte Subtrtahieren in Node Red:
PS. Kannst du mir den elektrischen Aufbau von @siporax erklären?
Nee - das muss @siporax selbst machen - ich bin nur für die Logik in NodeRed zuständig.
Habe eine Warnmeldungen
Wenn Wechselrichter ausgeschaltet ist hat der Teich dennoch Verbrauch der wird mir nicht dan angezeigt ?
-
- Also Du musst halt vorher mit der Logik klar kommen. Die Warnmeldungen kommen, weil Du versucht hast einen schreibgeschützten Wert im Sonoff Adapter zu beschreiben - das darfst Du halt nicht. Überprüfe Deine iobroker-Out Nodes. Bis auf die Werte, die Du zum Steuern verwendest, darf sonst nur der Adapter was reinschreiben.
Schreibgeschütze Werte erkennst Du an dem Schloss:
- Ich hab Dir ja gesagt Du sollst die einfache Variante nehmen und dann kannst Du wenn Du keinen Verbrauch auch 0 schreiben und den Wechselrichter ignorieren.
-
@mickym said in 2 Werte Subtrtahieren in Node Red:
- Also Du musst halt vorher mit der Logik klar kommen. Die Warnmeldungen kommen, weil Du versucht hast einen schreibgeschützten Wert im Sonoff Adapter zu beschreiben - das darfst Du halt nicht. Überprüfe Deine iobroker-Out Nodes. Bis auf die Werte, die Du zum Steuern verwendest, darf sonst nur der Adapter was reinschreiben.
Schreibgeschütze Werte erkennst Du an dem Schloss:
- Ich hab Dir ja gesagt Du sollst die einfache Variante nehmen und dann kannst Du wenn Du keinen Verbrauch auch 0 schreiben und den Wechselrichter ignorieren.
Versuche das morgen in Ruhe nochmal.
bekomme ich damit immer den Teichverbrauch angezeigt auch wenn der Wechselrichter nicht läuft ? -
@siporax Na wenn der Wechselrichter nicht läuft, was steht denn dann in dem Datenpunkt. Nein - woran erkennt man denn dass der nicht läuft. Wenn in dem Datenpunkt 0 steht ist es doch egal dann wird halt nichts abgezogen. Wie gesagt die Logik musst Du formulieren - am Besten als Text.
-
@mickym said in 2 Werte Subtrtahieren in Node Red:
@siporax Na wenn der Wechselrichter nicht läuft, was steht denn dann in dem Datenpunkt. Nein - woran erkennt man denn dass der nicht läuft. Wenn in dem Datenpunkt 0 steht ist es doch egal dann wird halt nichts abgezogen. Wie gesagt die Logik musst Du formulieren - am Besten als Text.
Genau wenn nicht abgezogen wird steht die null und der normale Wert soll dann angezeigt werden vom Teich Pow.
Das macht er auch schon nur steht ein minus davor was ja nicht stimmt.
Der Wert ansich stimmt aber schon mal als Zahl
Gerade getestet,Danke mal dafür.Mann würde es erkenen wen der Wert vom WR Fitz nicht mehr wie 0-15 Watt verbraucht im Standby in einer Minute.
Denke so könnte man das erkennen wann der Wechselrichter nichts Leistet. -
@siporax Dann musst Du halt die Werte über 1 Minute aufsummieren und dann mit einer Minute Verzögerung das ausgeben. Wenn die Summe oder Mittelwert innerhalb der Minute unter 15 ist, setzt Du den Wert des Wechselrichters einfach auf 0.
Schau mal: https://flows.nodered.org/node/node-red-contrib-aggregator
-
@mickym said in 2 Werte Subtrtahieren in Node Red:
@siporax Dann musst Du halt die Werte über 1 Minute aufsummieren und dann mit einer Minute Verzögerung das ausgeben. Wenn die Summe oder Mittelwert innerhalb der Minute unter 15 ist, setzt Du den Wert des Wechselrichters einfach auf 0.
Kann dir zwar folgen was du meinst aber kein Plan wie man das einstellt.
Auch würde dann das minus vor dem Wert noch bleiben.