☠️ ---Node-Red: Wen...
 
Benachrichtigungen
Alles löschen

☠️ ---Node-Red: Wenn-Dann-Sonst-Und-Oder logic Nodes--- .☠️

10 Beiträge
4 Benutzer
3 Likes
2,480 Ansichten
saugnapf
(@saugnapf)
Heroischer Stromgenerator
Beigetreten: Vor 2 Jahren
Beiträge: 1247
Themenstarter  

Hallo zusammen,

seit ein paar Wochen habe ich ein wenig mit Node-Red rumgetüftelt... ich nutze Node-Red direkt auf meinem internen GX-Gerät, und möchte dort auf den HA verzichten.

Nun hänge ich an einem Punkt, wo ich zwei (oder mehr) Bedingungen logisch verknüpfen möchte, und komme nicht so recht weiter... vielleicht gibt es hier einen Experten, der mir da ein wenig auf die Sprünge helfen könnte?

Folgendes möchte ich umsetzen: eine kleine Trinkwasser-Zirkulationspumpe soll unter bestimmten Bedingungen ein- und ausgeschaltet werden.

Bedingung 1 ist: eine eingestellte soll-Temperatur ist noch nicht erreicht.

Bedingung 2 ist: meine Solaranlage liefert eine Mindestmenge an Leistung.

Beide Bedingungen habe ich schon erstellt, es gibt zwei Knoten, ("compare temp" und compare power") die "on" ausgeben, wenn ihre jeweilige Bedingung erfüllt ist.

Die Pumpe soll aber nur dann einschalten, wenn beide Bedingungen erfüllt sind, und ausschalten, wenn eine der Bedingungen nicht mehr erfüllt ist. (also Zieltemperatur erreicht, oder PV-Leistung wird unterschritten.

Wie kann man sowas umsetzen? Ich dachte an WENN B1= "on" UND B2= "on" DANN -> Ausgabe "on" SONST -> Ausgabe "off"

Finde aber keinen geeigneten Node, der z.B. zwei Eingänge hat, die man dann vergleichen könnte.

Geschaltet wird dann über einen sonoff TH16, der mit tasmota geflasht ist. Ist ein Schalter mit Temperatur-Sensor. Funktioniert soweit auch schon. 

Mir fehlt nur die logische Verbindung zwischen "compare temp" und compare power" zum Knoten "switch".

Weiß da jemand weiter?

6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)

Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.


   
Zitat
saugnapf
(@saugnapf)
Heroischer Stromgenerator
Beigetreten: Vor 2 Jahren
Beiträge: 1247
Themenstarter  

Hier nochmal mit boolean-Node "and" und debug-Nodes:

oben debug 16 gibt die Temperatur aus: 22,1°C, diese wird in "compare temp" mit der eingestellten Temperatur verglichen --> Ausgabe "true" von debug 17.

debug 18 spuckt immer "true" aus.

Beide "true" gehen an den "and"-node. Der sollte nach meinem Verständnis dann ebenfalls "true" senden. Macht er aber nicht, debug 19 bleibt stumm.

6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)

Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.


   
AntwortZitat
saugnapf
(@saugnapf)
Heroischer Stromgenerator
Beigetreten: Vor 2 Jahren
Beiträge: 1247
Themenstarter  

Hab's nun hinbekommen... mit einem anderen logic-node aus "node-red-contrib-combine":

Das dashboard dazu schaut momentan so aus:

Da kann ich die Parameter mindest-SOC, mindest-PV-Leistung und maximal-Temperatur einstellen.

6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)

Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.


   
voltmeter reacted
AntwortZitat
voltmeter
(@voltmeter)
Yoda
Beigetreten: Vor 4 Jahren
Beiträge: 6709
 

das ist interessant kann bestimmt einiges davon auch gebrauchen

blöd nur dass mein raspberry keine temperatureingänge hat

 

Projekt 48kWh / 12kWp Inselanlage - SMA Sunny Island
Sind Photovoltaik-Inselanlagen meldepflichtig?
Warum braucht man keinen 3phasen Batteriewechselrichter?
-- Sammelthread PV Anlagen Beispiele Umsetzung --
Die "Energiewende" kostet eine Kugel Eis..... pro kWh.


   
AntwortZitat
saugnapf
(@saugnapf)
Heroischer Stromgenerator
Beigetreten: Vor 2 Jahren
Beiträge: 1247
Themenstarter  

Ich kenn mich da nicht so aus, aber man müsste wohl schon einen Temp-Sensor an die GPIOs hängen können.

Ist aber gar nicht nötig, den Sensor am RasPi anzuschließen:

"Geschaltet wird dann über einen sonoff TH16, der mit tasmota geflasht ist. Ist ein Schalter mit Temperatur-Sensor."

Also der Sensor ist am WLAN-Schalter angeschlossen.

Funktioniert inzwischen ganz gut... es kam noch eine "oder"-Bedingung dazu, nämlich wenn der Akku voll ist, ohne dass die drei anderen Bedingungen erfüllt sind, wird auch eingeschaltet, bis der Akku auf 97% runter ist, dann wird wieder ausgeschaltet.

Melde dich, wenn du das mal zum Import haben möchtest.

6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)

Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.


   
AntwortZitat
saugnapf
(@saugnapf)
Heroischer Stromgenerator
Beigetreten: Vor 2 Jahren
Beiträge: 1247
Themenstarter  

Etwas absolut schreckliches ist passiert: Von gestern auf heute (oder von vorgestern auf gestern) mag sich mein shelly nicht mehr mit dem mqtt-server im MP2 verbinden.

Es kommt immer eine Fehlermeldung, die ping Zeit wird überschritten.

Ich habe das nun ausgelagert, auf ein RasPi, insofern funktioniert das auch... aber warum nicht direkt im GX-device?

Hat jemand irgendwelche Erfahrungen oder Ideen dazu?

6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)

Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.


   
AntwortZitat
(@cacu15)
Vorsichtiger Stromfühler
Beigetreten: Vor 11 Monaten
Beiträge: 111
 

Bei @saugnapf, zum Ausgangsproblem:

 

ich speichere in solchen Fällen alle relevanten Zustände in Flow-Context Variablen. Die Nachrichten zu Zustandsänderungen kommen ja nie im gleichen Moment in Deinem Flow an. In Deinem Fall also die Temperatur und die Leistung der PV in jeweils einer Flow Variablen speichern, siehe dazu https://nodered.org/docs/user-guide/context

 

Danach kannst Du dann bei jedem Eintreffen einer neuen Zustandsinformation die Info aus den Flow-Variablen auslesen und über eine Bedingung prüfen, ob die gewünschten Bedingungen erfüllt sind. Mache ich zB für eine Taupunkt-Lüftung, die abhängig von Temperatur und relativer Luftfeuchtigkeit im Keller und außen die richtige (Feuchtigkeit senkende) Methode für die Lüftung ermittelt - Fenster öffnen oder Luftentfeuchter anstellen.

Diese r Beitrag wurde geändert Vor 10 Monaten von CaCu15

   
saugnapf reacted
AntwortZitat
(@cacu15)
Vorsichtiger Stromfühler
Beigetreten: Vor 11 Monaten
Beiträge: 111
 

Zu dem MQTT Problem: Hast Du den MP oder den Shelly in eine anderes IP Subnetz geschoben oder eine Firewall aufgesetzt oder an der Konfiguration einer Firewall etwas verändert? Oder hast Du den MQTT Server auf einen anderen Port gelegt oder auf TLS verschlüsselte Kommunikation umgestellt (das müsste eigentlich andere Fehlermeldung verursachen, aber man weiß ja nie, wie schlecht das übersetzt wird)


   
AntwortZitat
(@uli57)
Newbie
Beigetreten: Vor 6 Tagen
Beiträge: 1
 

@saugnapf Hallo ich habe mit die Logig Node installiert. Ich möchte nun fragen wie dein Funktions Node aufgebaut ist. Ich bin neu und arbeite mich schritt für Schritt in Node Red ein. Es wäre super wenn du mir deine compare funktionsnode ur Verfügung stellen könntest.


   
AntwortZitat
saugnapf
(@saugnapf)
Heroischer Stromgenerator
Beigetreten: Vor 2 Jahren
Beiträge: 1247
Themenstarter  

Hallo Uli, ich habe das so gemacht, wie @CaCu15 empfohlen hat. 👍

Also ich stelle eine gewünschte soll-Temperatur ein, z.B. über einen Schiebe-Regler im dashboard. Dieser Wert wird dann im flow gespeichert, das geht mit einem change-node.

Hier wird z.B. die Ziel-Temperatur, die ich einstelle, im flow "targetTemp" gespeichert, wird zur msg.payload, und kann dann im dashboard dargestellt werden.

Dieser einfache Ablauf schaut dann bei mir so aus:

Mein compare-funktions-node holt sich dann den im flow gespeicherten Wert "targetTemp" und vergleicht ihn mit der eingehenden payload, die vom Sensor kommt.

Ist der Wert des Sensors (msg.payload) kleiner als "targetTemp", wird "true" ausgegeben, ansonsten "false".

6x 300Wp = 1.8kWp an 3x EVT560 MicroInverter - MultiPlus-II GX mit 4x PylonTech US2000 (je 2,4kWh)

Hier klicken, wenn du Kollegen in deiner Umgebung finden möchtest.


   
AntwortZitat
☠️ ---Node-Red: Wen...
 
Teilen: