NEWS
Steckdose schalten bei Einspeisung von PV
-
Hallo zusammen,
augrund der Neuanschaffung einer PV bin ich ich erst auf den iobroker aufmerksam geworden.
Das bietet ja tatsächlich so viele Möglichkeiten, klasseNun beschäftige ich mich mit dem Skripten.
Von meiner PV bekomme ich u.a. die Werte:
PV-Total-Power (Wie viel Strom kommt gerade vom Dach
GRID-Total-Power (Wieviel Strom wird gerade ins Hausnetz bzw in den Akku abgegeben. Wenn dieser Wert negativ ist, wird eingespeist)
Battery (Ladezustand des Akkus)Ich möchte erreichen, dass
WENN PV-Total-Power > 1500
UND
GRID-Total-Power < -800
UND
Battery 100%
eine Hue Steckdose angeschaltet wird. Die soll dann auch wieder ausgehen, wenn eine der drei Optionen nicht mehr zutrifft.
Das kann ja eigentlich nicht so schwer sein.. Über diese WENN, DANN-RULES habe ich es hinbekommen, möchte aber eher Blockly soweit verstehen, dass ich es damit hinbekomme und dann zukünftig nutzen kann.
Blockly umgewandelt in Javascript sieht so aus:
on({id: "0_userdata.0.Alpha-ESS.PV_Total_Power"/0_userdata.0.Alpha-ESS.PV_Total_Power/, change: "any"}, async function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
if (parseFloat('0_userdata.0.Alpha-ESS.PV_Total_Power') > 1500 && parseFloat('0_userdata.0.Alpha-ESS.Grid_Total_Power') < -800 && parseFloat('alpha-ess.0.Realtime.Battery_SOC') == 100) {
setState("hue.0.Steckdose.on"/Steckdose.on/, true);
console.log('Lampe an');
} else {
setState("hue.0.Steckdose.on"/Steckdose.on/, false);
console.log('Lampe aus');
}
});Im Log steht übrigens auch immer "Lampe aus".
Vielen Dank
André
-
@andremiba
Wozu sollen 3 Kriterien gut sein, wenn die wesentliche Information die Einspeiseleistung ist? Beispiel: Wenn der Akku voll geladen ist, schaltet die Ladung ab und der PV-Überschuss wird größer.
Außerdem muss man immer eine Hysterese vorsehen, damit nicht im Grenzbereich ständig geschaltet wird. Bei der Einspeiseleistung muss die Hysterese etwas größer sein als die Leistungsaufnahme des geschalteten Verbrauchers, denn der Verbraucher verändert die Einspeiseleistung.Vorschlag:
-
@paul53 muss bei kleiner 100 nicht false / falsch
-
@tt-tom sagte: muss bei kleiner 100 nicht false / falsch
Danke. Habe korrigiert.
-
@andremiba Eine Anmerkung am Rande: Hast Du bei der zu schaltenden Last die begrenzte Schaltleistung der Hue-Dosen im Blick - maximal 2300 Watt?
Einen Heizstab direkt mit der Dose anzusteuern ist ggfs. nicht besonders ratsam ...Anmerkung 2: Habe noch nie eine so einsilbige Technische Beschreibung gesehen - https://www.philips-hue.com/de-de/p/hue-smart-plug/8719514342309#specifications
Immerhin Abmessungen in cm mit drei(!) Nachkommastellen
-
@paul53 Hi, tatsächlich hast du recht, dass die 800 Einspeiseleistung als Auslöser reichen, ich verstehe auch, wie dein Beispiel abläuft. Vielen Dank. Da ich gerne auch selbst meinen Fehler finden möchte, hier das umgebaute Beispiel. Das sieht ja eigentlich total easy aus, funktioniert aber nicht und ich verstehe nicht, wieso
Vielleicht kannst du mir ja sagen was ich hier am Prinzip von Blockly falsch gemacht habe?@MartinP Das ist ein sehr guter Einwand, ich möchte diese Schaltungen grundlegend erstmal nur für das Laden des E-Bikes und die kleine Poolpumpe nutzen. Die Waschmaschine mit WLAN will ich dann auch mal direkt ansprechen, das wird dann aber die nächste Baustelle
-
@andremiba
Wenn "Grid_Total_Power" zum Vergleich herangezogen wird, sollte dieser DP auch als Trigger dienen. Um zu sehen, weshalb der Vergleich nicht so funktioniert wie erwartet, logge den Wert von "Grid_Total_Power".Das Skript wurde hoffentlich nicht unter der Gruppe "global" erstellt?
EDIT: Weshalb befindet sich "Grid_Total_Power" unter "0_userdata.0" (eigener Datenpunkt)?
-
@andremiba Spätestens bei der Waschmaschine ist da Obacht geboten, die haben teilweise deutlich mehr als 2300 Watt. An die Grenzen der Schaltleistung des Plug würde ich auch nicht gehen - dann hält das Relais darin womöglich nicht lange ...
-
@paul53 Ich habe nun Grid-Total-Power als Trigger benutzt. Macht natürlich Sinn, wenn man sich eh auf den Wert bezieht, klar.
Das Skript liegt in einer Untergruppe PV und die Werte auf die ich mich beziehe liegen in eigenen Datenpunkten, weil vom Adapter der PV die Werte der einzelnen Phasen nicht summiert ausgegeben werden.
Diese werden durch ein anderes Skript dann summiert als eigener Datenpunkt ausgegeben.@MartinP Das hab ich mich wohl missverständlich ausgedrückt.
Die Wasschmaschine ist eine LG Waschmaschine, die ebenfalls über einen Adapter angesprochen werden kann.
Das Skript möchte ich dann gerne so erweitern:
Wenn 2500 Einspeisung, dann schalte Waschmaschine ein, falls diese auf den Befehl wartet
wenn dann Anschließend noch mehr als 800 W eingespeist wird, wird Steckdose 1 eingeschaltet (Poolpumpe, für 3 Stunden
)
und wenn dann noch mehr als 800 W eingespeist werden, der Fahrrad-Akku geladen. So irgendwie -
@andremiba sagte: Grid-Total-Power als Trigger
Eine Objekt ID ist immer ein String und lässt sich nicht in eine Zahl wandeln.
DerWert
(unter "Trigger" wie beim Debug-Block) enthält den Wert des Trigger-Datenpunktes und muss nicht gewandelt werden.@andremiba sagte in Steckdose schalten bei Einspeisung von PV:
durch ein anderes Skript dann summiert als eigener Datenpunkt ausgegeben.
Skript bitte zeigen!
-
@paul53 Ja, klasse. So funktionierts.
Dann weiß ich jetzt wo mein Fehler war und kann das in künftigen Skripts gleich so machen.
Vielen Dank!Das Skript zum Summieren kommt von einem anderen User aus einem anderen Forum.
Möchte das ungerne hier einfach posten. -
@andremiba sagte: Möchte das ungerne hier einfach posten.
Weshalb? Ist es geheim?
Ich befürchte, dass evtl. nicht berücksichtigt wurde, dass die 3 Phasen-Leistungen unmittelbar nacheinander triggern und deshalb der Summen-DP 3 mal hintereinander aktualisiert wird - die ersten beiden Male mit einem falschen Wert. -
@andremiba
Kann eigentlich so nicht funktionieren, oder? Warum triggerst Du auf PV-Leistung und nicht die Einspeiseleistung wie @paul53 vorschlägt? Das Ziel ist doch primär, Netzbezug zu vermeiden? Hysterese auch wichtig, sonst kauft man mit der Einsparung durch PV-Nutzung neue Relais/Geräte. Größere Lasten würde ich mit einem Schütz schalten und weil da eine Verbrauchsmessung nicht möglich ist ggf. über Leitung*Zeit berechnen lassen (falls gewünscht).
Gruß
Flo
PS. Sitze an ähnlichem Problem und bekomme es nicht hin