NEWS
PV Überschuss Poolpumpe einschalten
-
Hallo
Ich bräuchte mal Hilfestellungwenn mein Datenpunkt PV-Leistung
0_userdata.0.A_Total_Power
2000 Watt erzeugt.......
soll meine Poolpumpe anspringen, in meinem Fall eine Dect Fritz Steckdose
fritzdect.2.DECT_087610340681.state
Wie könnte ich das mit einem Script lösen ?
Bin da noch AnfängerVielen Dank
-
@u66 Mit welchem Script bzw. Logikmaschine: Blockly, Javascript oder NodeRed?
-
@u66 sagte: Datenpunkt PV-Leistung
PV-Leistung oder PV-Überschuss (laut Überschrift)?
-
@mickym
Javascript wäre gut -
-
const vPower = '0_userdata.0.A_Total_Power'; const Schalter = 'fritzdect.2.DECT_087610340681.state'; on(vPower, function(dp) { if (dp.state.val >= 2000) { setState(Schalter, true); } else { setState(Schalter, false); } });
-
@ro75
Vielen Dank das werd ich testen.
Klasse -
@ro75 klick - klack - klick!
keine Hysterese?
keine Kompensation der Pumpenleistung?Dann schaltet die Steckdose dauernd an u d aus.
oder übersehe ich als js-Legastheniker etwas?
-
@homoran Dient als Basis. Ist ausbaufähig. Es ging ja darum wie man es realisieren kann und auf die Frage bezogen - ja.
-
@ro75 sagte in PV Überschuss Poolpumpe einschalten:
auf die Frage bezogen - ja.
ich bitte um Aufklärung!
Überschuss 2001W - Pumpe an, zieht 500W - Überschuss jetzt 1501W - Pumpe aus - Überschuss ist sofort wieder 2001W,.......
-
@homoran Nicht auf deine, sondern seine Frage. Wie gesagt... Basis nicht mehr.
-
@homoran
Im Prinzip geht es mir um die Poolwärmepumpe die einen sogenannten Schwimmschalter hat.
Bekommt die Wärmepumpe Wasser von der Umwälzpumpe läuft diese an.
Geht nun die Umwälzpumpe aus geht geht auch die Wärmepumpe aus.
Ist wie gesagt nur ein Idee um bei PV Überschuss das Poolwasser zu erwärmen.
eventuell kann /muß man den Überschuss auch höher ansetzen -
@u66 sagte in PV Überschuss Poolpumpe einschalten:
eventuell kann /muß man den Überschuss auch höher ansetzen
nein, man muss die Leistung der Pumpe ind der WP mit in die Berechnung einbeziehen und das Ausschalten erst dann machen, wenn Der Überschuss kleiner 2000-Leistungssumme ist.
zuzüglich ein wenig Spielraum (100w) -
Noch etwas modifiziert. Aber immer noch ausbaufähig.
const vPower = '0_userdata.0.A_Total_Power'; const Schalter = 'fritzdect.2.DECT_087610340681.state'; const vLeistungPumpe = 500; //Watt const vSpielraum = 100; //Watt var bSperre = false; on(vPower, function(dp) { if (bSperre == false) { bSperre = true; var vValue = dp.state.val; if (vValue >= (2000+vLeistungPumpe+vSpielraum)) { setState(Schalter, true); bSperre = false; } else { //nicht sofort schalten, 30 Sekunden warten und erneut prüfen setTimeout(function(){ if (vValue < (2000+vLeistungPumpe)) { setState(Schalter, false); bSperre = false; } else { bSperre = false; } },30000); } } });
-
Hausverbrauch 400 Watt
........................................................
Umwälzpumpe 350 Watt
Poolheizung 1600 Watt
........................................................
so sieht es ungefähr aus. -
@u66 sagte in PV Überschuss Poolpumpe einschalten:
Hausverbrauch 400 Watt
........................................................
Umwälzpumpe 350 Watt
Poolheizung 1600 Watt
........................................................
so sieht es ungefähr aus.dann erst ab 2200 anschalten und im Skript von @Ro75 1950 (W) bei Pumpe eintragen.
Dann bitte beobachten!
die Wärmepumpe braucht wahrscheinlich erhöhten Anlaufstrom -
@homoran
vielen Dank erstmal an alle für die schnelle Hilfe -
Ich noch mal
Hatte mir gerade überlegt das es wohl besser ist die Poolheizung auch im Script Zeitversetzt mit zu starten.
Poolheizung Schalter ist hier "tuya.0.46778228e09806828487.1"
Was muss ich im Script noch ändern wenn die "tuya.0.46778228e09806828487.1"
ca 3 sec später nach der Umwälzpumpe "fritzdect.2.DECT_087610340681.state" starten soll ?
Ausschalten können sich beide ja gemeinsam.Eingetragen hab ich Sie schon mal.....
const vPower = '0_userdata.0.Alpha-ESS.PV_Total_Power'; const Schalter = 'fritzdect.2.DECT_087610340681.state'; const Schalter = 'tuya.0.46778228e09806828487.1'; const vLeistungPumpe = 1950; //Watt const vSpielraum = 100; //Watt var bSperre = false; on(vPower, function(dp) { if (bSperre == false) { bSperre = true; var vValue = dp.state.val; if (vValue >= (2200+vLeistungPumpe+vSpielraum)) { setState(Schalter, true); bSperre = false; } else { //nicht sofort schalten, 30 Sekunden warten und erneut prüfen setTimeout(function(){ if (vValue < (2200+vLeistungPumpe)) { setState(Schalter, false); bSperre = false; } else { bSperre = false; } },30000); } } });
-
@u66 sagte in PV Überschuss Poolpumpe einschalten:
tuya.0.46778228e09806828487.1
Ich habe von den Tuya's keine Ahnung. Von daher nur so umgesetzt.
const vPower = '0_userdata.0.A_Total_Power'; const Schalter = 'fritzdect.2.DECT_087610340681.state'; const vLeistungPumpe = 500; //Watt const vSpielraum = 100; //Watt const TuyaPool = 'tuya.0.46778228e09806828487.1'; var bSperre = false; on(vPower, function(dp) { if (bSperre == false) { bSperre = true; var vValue = dp.state.val; if (vValue >= (2000+vLeistungPumpe+vSpielraum)) { setState(Schalter, true); setTimeout(function(){ setState(TuyaPool, true); },3000); bSperre = false; } else { //nicht sofort schalten, 30 Sekunden warten und erneut prüfen setTimeout(function(){ if (vValue < (2000+vLeistungPumpe)) { setState(Schalter, false); bSperre = false; } else { bSperre = false; } },30000); } } });
-
@u66 sagte: Umwälzpumpe 350 Watt
Poolheizung 1600 WattDann sollte die Hysterese ca. 2200 W betragen, wenn es sich tatsächlich um den PV-Überschuss handelt.
const idPower = '0_userdata.0.A_Total_Power'; const idSchalter = 'fritzdect.2.DECT_087610340681.state'; const idHeizung = 'tuya.0.46778228e09806828487.1'; const vLeistungPumpe = 1950; //Watt const vSpielraum = 250; //Watt var bSperre = null; on(idPower, function(dp) { if (dp.state.val >= 2000 + vSpielraum) { clearTimeout(bSperre); bSperre = null; if (!getState(idSchalter).val) { setState(idSchalter, true); setTimeout(function() { setState(idHeizung, true); }, 3000); } } else if (!bSperre && dp.state.val < 2000 - vLeistungPumpe) { //nicht sofort schalten, 30 Sekunden warten bSperre = setTimeout(function() { if (getState(idSchalter).val) { setState(idSchalter, false); setState(idHeizung, false); } }, 30000); } });