Node-Red Shelly schalten abhängig von SOC und Überschuss

Servus zusammen,
ich möchte einen Shelly 1 Mini Gen3 nutzen um den potentialfreien Kontakt (Smart Grid) meiner Wärmepumpe zu schalten um einen 1x Warmwasseraufbereitung zu starten.

Der Schaltvorgang soll ich Abhängigkeit vom SOC und dem aktuellen Überschuss ausgelöst werden.

Also z.B.
Wenn SOC > 95% und Überschuss > 4000W dann schalte den Kontakt

Folgendes habe ich bereits ohne Probleme hinbekommen:

  • Shelly NUR in Abhängig des SOC zu schalten
  • Shelly NUR in Abhängigkeit des Überschusses zu schalten

Doch was nicht klappt ist beides zu kombinieren.

Folgenden Aufbau habe ich geplant:

Es wird eine Variable “Power” und eine Variable “SOC” erzeugt.
Alles 30sec werden die Schaltbedingungen mit Hilfe der Function überprüft
Das Ergebnis ist entweder “true” wenn die Bedingungen erfüllt sind oder “false” falls nicht.
Danach wird entweder “ON” über http an den Shelly geschickt oder “OFF”.

Hat jemand von euch was ähnliches bereits umgesetzt.
Die Bedingungen sollten ja eigentlich recht gängig sein - sprich einen Verbrauchen bei vollem Akku und noch vorhandenen Überschuss zu schalten.

Danke und Gruß,
Michael

1 Like

hallo,
ich steuere meine e-heizung ueber node-red. allerdings benutze ich einen function-node dafuer, denn es muessen jede menge kriterien und grenzwerte ueberwacht werden, abgesehen davon, gibt es auch noch zeitverzoegerungen. das war auf andere art und weise nicht realisierbar.

wenn du eine einfache loesung suchst, die du nur zusammen zu klicken brauchst, installier die ein limit-node und die logic-nodes, dann hast du eine auswertung fuer grenzwerte und eine und-verknuepfung. du kannst aber auch das summen-node installieren und in kombination mit dem limit- und dem change-node, deine eigene logic zusammen bauen. allerdings muessen die eingangsnachrichten unterschiedliche topics haben, sonst funktionieren diese nodes nicht!

meine heizungsregelung besteht zur zeit aus 166 zeilen javascript und ueber 20 weiterer nodes um die einzelnen shellys zu steuern oder den status in der gui anzuzeigen.

tschuess

Danke Dieter für deinen Tipp.
Mir war bislang garnicht bekannt, dass man weitere Nodes importieren kann :thinking:
Mit dem Logik-Node sollte das klappen.

Mich wundert es aber doch sehr, dass man hier im Forum relativ wenig dazu findet.
Die Anwendung sollte doch ziemlich gängig sein…

hallo,
du musst dazu nur den menuepunkt palette verwalten aufrufen.

tschuess

Hab es jetzt mal mit einem AND-Node versucht.
Klappt leider noch nicht so ganz.

Der AND-Node zeigt korrekt false oder true an aber der SWITCH-Node danach reagiert nicht darauf.

Hier mal ein paar Screenshots des Flows und der beiden Nodes sowie der Flow als *.txt




Flow.txt (7,5 KB)

1 Like

hallo,
benutz einen change-node anstatt des switchnodes und den beiden nachfolgenden nodes!

tschuess

1 Like

Ich habe noch nie eine UND Verknüpfung verwendet. Wenn du die Bedingungen in „Reihe“ schaltest ist es UND verknüpft, parallel wäre ODER

2 Likes

Mag vermutlich auch einfacher abbildbar sein aber so klappt es jetzt bei mir:

  • alle 30sec wird geprüft ob Schaltbedingung “mehr als 3500W Überschuss” und “SOC größer 99%” erfüllt sind
    - falls ja
    → Shelly/SmartGrid ON
    → 60min Timer startet
    → Fow wird bis der Timer abgelaufen ist unterbrochen
    → somit läuft die Wärmepumpe jetzt mind. 60min lang durch egal was der Überschuss oder der SOC machen bzw. solang bis die Solltemperatur im Speicher erreicht wird
    - falls nein
    → Shelly/SmartGrid OFF
    → Schaltbedingungen werden nach 30sec erneut geprüft
1 Like

Ich bilde aus den Überschusswerten ein Array aus 10 Werten alle 5 sek und rechne den Mittelwert um voreiliges schalten zu vermeiden.

Macht Sinn.
Hab ich eingefügt

Heho,
wärst du so nett diesen Flow zur Verfügung zu stellen?

Hier die *.txt des Flows
Flow.txt (9,5 KB)

1 Like

Dankeschön