NEWS
Verbraucher abhängig von der PV Leistung schalten
-
Hallo Community,
da bekannterweise der Einsatz einer Akkulösung für ein BKW grenzwertig ist, versuche ich meinen Eigenverbrauch durch erzeugungsabhängiges Schalten von Verbrauchern zu optimieren.
In meinem ersten Ansatz zum üben möchte ich den Kühl- und den Gefrierschrank nacheinander einschalten. Der Kühlschrank soll dabei als "Master" immer eingeschaltet sein. Solange dieser läuft, also selber Strom verbraucht, soll der Gefrierschrank ausgeschaltet sein.
Leider kriege ich da gerade keinen Fuß in die Türe. Vielleicht kann mich jemand bei den ersten Schritten unterstützen?
-
@opöl sagte: erzeugungsabhängiges Schalten von Verbrauchern
Dann muss die PV-Leistung (besser PV-Überschuss, wenn vorhanden) als Trigger dienen.
-
@paul53 ,
das ist mir klar und kommt später dazu.
Hier geht es mir erst einmal darum, den Gefrierschrank in Abhängigkeit von der Leistungsaufnahme des Kühlschranks ein- bzw. auszuschalten.
Dann geht das mit dem Testen auch besser, als wenn ich erst auf günstige PV Daten warten muss.Solange ich diese simple Logik nicht zum Laufen kriege, möchte ich an die komplexeren Sachen noch nicht dran. Das sind jetzt meine allerersten Blockly Versuche. Ein wirklich passendes Beispiel habe ich bisher noch nicht gefunden.
-
@opöl sagte in Verbraucher abhängig von der PV Leistung schalten:
Solange dieser läuft, also selber Strom verbraucht, soll der Gefrierschrank ausgeschaltet sein.
Bist du sicher, dass das dir und dem Gefrieschrank bekommt?
Die Diskussion auf diese Weise Energie zu sparen (und sich dafür gesundheitliche Probleme einzufangen) gab es schon.
-
@Homoran ,
ja, ich bin mir absolut sicher, dass das klappt.
Seit mehreren Monaten monitore ich die Geräte und zeichne mit Grafana die Daten auf. Es ist problemlos möglich, die Geräte bei zu wenig PV Ertrag nacheinander laufen zu lassen.
Temperaturmessungen haben zusätzlich bestätigt, das beim Gefrierschrank auch 2 Stunden ohne Strom ohne Beeinträchtigungen gehen. Beim Kühlschrank bin ich da vorsichtiger, das Bier soll schließlich kalt sein.Die Kühlgeräte habe ich deswegen als Einstieg gewählt, da man aufgrund der häufigen Einschaltvorgänge prima und zeitnahe testen kann. Im wahren Leben sollen später größere Verbraucher wie Kaffeemaschine, Backofen, Spül- und Waschmaschine etc. gegeneinander verriegelt werden, damit der Eigenverbrauch gesteigert werden kann.
Aber abgesehen davon gelingt es mir bisher nicht, mit diesem einfachen Script die Shellys zum Schalten zu bewegen. Ich habe da wohl noch ein grundsätzliches Verständnisproblem, daher bitte ich hier um Hilfe.
-
@opöl sagte: grundsätzliches Verständnisproblem, daher bitte ich hier um Hilfe.
Wenn der Gefrierschrank auf die Kühlschrankleistung (Kompressor) reagieren soll, muss die Kühlschrankleistung als Trigger dienen.
-
@paul53 ,
aber genau das mache ich doch:
- Der Trigger (Kühlschrank Shelly) ist "Wahr", also Triggerbedingung erfüllt. (Habe ich auch mit "Is online" versucht)
- Wenn der Kühlschrank Shelly >30 Watt sieht, soll der Gefrierschrank Shelly ausgeschaltet werden.
- Wenn der Kühlschrank Shelly <10 Watt sieht, soll der Gefrierschrank Shelly eingeschaltet werden.
- Dann das Ganze von vorne.
Wo ist denn da mein Denkfehler?
Im Übrigen sollte doch das Script nach Beendigung automatisch neu starten oder? -
@opöl sagte: Der Trigger (Kühlschrank Shelly) ist "Wahr", also Triggerbedingung erfüllt.
Aber nur einmal beim Einschalten des Shelly. Es muss die Änderung der Leistungsaufnahme getriggert werden (Ein- / Ausschalten des Kompressors).
-
@opöl sagte in Verbraucher abhängig von der PV Leistung schalten:
Wo ist denn da mein Denkfehler?
Das
Der Trigger (Kühlschrank Shelly) ist "Wahr", also Triggerbedingung erfüllt.
ist kein Trigger, sondern ein Dauerzustand.
Du musst also den Stromverbrauch beobachten und dessen Änderung als Auslöser für die weitere Logik nehmen. -
@opöl sagte in Verbraucher abhängig von der PV Leistung schalten:
Im Übrigen sollte doch das Script nach Beendigung automatisch neu starten oder?
Nein, Skripte laufen dauerhaft im Hintergrund und lauschen auf die Trigger.
-
@opöl sagte in Verbraucher abhängig von der PV Leistung schalten:
Im Übrigen sollte doch das Script nach Beendigung automatisch neu starten oder?
javascript arbeitet eventbasiert.
da werden keine Skripte gestartet oder gestoppt.
Es wird auf die Triggerbedingung geachtet, wenn die "auf einmal" zutrifft wird die folgende Logik abgearbeitet, bis sie zum nächsten mal wieder zutrifft. -
OK, Danke. Erster Denkfehler erkannt.
Jetzt gibt das Log korrekterweise "Gefrierschrank AUS" zurück, aber das Relais schaltet nicht ab.
Wie beende ich denn den Debug Modus?19:12:00.603 info javascript.0 (3567068) Start javascript script.js.common.Kühlgeräte 19:12:00.609 info javascript.0 (3567068) script.js.common.Kühlgeräte: subscribe: {"pattern":{"id":"shelly.0.shellyplusplugs#80646fe6cb98#1.Relay0.Power","change":"ne","q":0},"name":"script.js.common.Kühlgeräte"} 19:12:00.609 info javascript.0 (3567068) script.js.common.Kühlgeräte: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 19:13:00.218 info javascript.0 (3567068) script.js.common.Kühlgeräte: getState(id=shelly.0.shellyplusplugs#d4d4da7c2f68#1.Relay0.Power, timerId=undefined) => {"val":53.5,"ack":true,"ts":1696785179288,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1696785179288} 19:13:00.219 info javascript.0 (3567068) script.js.common.Kühlgeräte: setStateDelayed(id=shelly.0.shellyplusplugs#80646fe6cb98#1.Relay0.Switch, state=false, isAck=false, delay=5000, clearRunning=false) 19:13:00.220 error javascript.0 (3567068) script.js.common.Kühlgeräte: Gefrierschrank AUS 19:13:00.221 info javascript.0 (3567068) script.js.common.Kühlgeräte: getState(id=shelly.0.shellyplusplugs#d4d4da7c2f68#1.Relay0.Power, timerId=undefined) => {"val":53.5,"ack":true,"ts":1696785179288,"q":0,"from":"system.adapter.shelly.0","user":"system.user.admin","lc":1696785179288} 19:13:05.221 info javascript.0 (3567068) script.js.common.Kühlgeräte: setForeignState(id=shelly.0.shellyplusplugs#80646fe6cb98#1.Relay0.Switch, state={"val":false,"ack":false,"ts":1696785185221,"q":0,"from":"system.adapter.javascript.0","lc":1696785185221,"c":"script.js.common.Kühlgeräte"}) **19:13:05.222 warn javascript.0 (3567068) script.js.common.Kühlgeräte: setForeignState(id=shelly.0.shellyplusplugs#80646fe6cb98#1.Relay0.Switch, state={"val":false,"ack":false,"ts":1696785185221,"q":0,"from":"system.adapter.javascript.0","lc":1696785185221,"c":"script.js.common.Kühlgeräte"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist**
MOD-EDIT: Code in code-tags gesetzt!
-
@opöl sagte in Verbraucher abhängig von der PV Leistung schalten:
Wie beende ich denn den Debug Modus?
rechts oben im Editor ist der Button dafür
-
@opöl sagte: Wie beende ich denn den Debug Modus?
Rechts oben der Schraubenschlüssel.
-
@opöl ,
OK, ich glaube ich habe das mit dem Debug Modus gerade gefunden. Der ist wohl standardmäßig eingeschaltet,
Ich beobachte das Ganze jetzt erst mal eine Weile.
Beim nächsten Mal nutze ich auch die Code Tags.Vielen Dank für Eure Starthilfe, Ihr seid ein super Forum.
-
@opöl sagte in Verbraucher abhängig von der PV Leistung schalten:
Der ist wohl standardmäßig eingeschaltet,
nein