NEWS
PV Überschuss Poolpumpe einschalten
-
@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); } });
-
@paul53
Danke für Deine schnelle Antwort"const idPower" ist eigentlich die aktuelle Leistung der PV die vom Dach kommt.
Dabei wird der Hausverbrauch mit ca 350 Watt abgedeckt und gleichzeitig der Speicher geladen.
der Überschuss wird eingespeist was aber keiner braucht bei 8 cent.
in meinem Fall ist das der Datenpunkt "0_userdata.0.Alpha-ESS.Grid_Total_Power"sollte dießer bei const idPower eingetragen werden ?
Wenn ja, hatte ich wohl einen Denkfehlermfg
-
@u66 sagte in PV Überschuss Poolpumpe einschalten:
ist eigentlich die aktuelle Leistung der PV die vom Dach kommt.
also doch nicht der Überschuss?
Aber das steht doch so im Threadtitel.und @paul53 hatte extra nochmal nachgefragt und keine Antwort bekommen.
@u66 sagte in PV Überschuss Poolpumpe einschalten:
Dabei wird der Hausverbrauch mit ca 350 Watt abgedeckt
das kannst du aber nicht fix annehmen.
Läuft der Staubsauger, der Föhn oder die Kaffeemaschine kommen Ruckzuck nochmal 1500-2000W dazu.
Dann fliegt dir die gesamte Steuerung um die Ohren. -
@homoran
Nein
Ich hatte ja oben geschrieben das ich den Überschuss den ich jetzt einspeise für die Poolheizung nehmen will.
Ich bin erst davon ausgegangen das man der Wert nimmt der vom Dach kommt. Aber das ist ja nicht der Überschuss.
Sorry
Anders gesagt, wenn keine 1950 Watt + 350 Watt Umwälzpumpe ins Netz eingespeist werden läuft auch meine Pollheizung nicht an -
@u66 sagte in PV Überschuss Poolpumpe einschalten:
Ich hatte ja oben geschrieben das ich den Überschuss den ich jetzt einspeise für die Poolheizung nehmen will.
eben!
daher gehen eir davon aus, dass du einen DP hast, in dem der Überschuss in Heller und Pfennig stehtnur damit kann man arbeiten
-
@u66 sagte in PV Überschuss Poolpumpe einschalten:
Ich bin erst davon ausgegangen das man der Wert nimmt der vom Dach kommt.
kannst du machen, aber dann läuft die Kaffee, der Föhn und der Staubsauger mit gekauftem Stro
-
@homoran and All
Wollte nur mitteilen das das Script einwandfrei funktioniert
Vielen Dank noch mal für die Unterstützung.
Ich habe jetzt doch den Wert der gesamten Power die vom Dach kommt genommen und so haut es hin.
Hier noch mal das Script was jetzt läuftconst vPower = '0_userdata.0.Alpha-ESS.PV_Total_Power'; const Schalter = 'tuya.0.46778228e09806828487.1'; const vLeistungPumpe = 360; //Watt const vSpielraum = 250; //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); } } });
-
@u66 sagte in PV Überschuss Poolpumpe einschalten:
den Wert der gesamten Power die vom Dach kommt genommen und so haut es hin.
das hat sogar den Vorteil, dass die Pumpe, und noch wichtiger die Wärmepumpe, nicht andauernd abgeschaltet wird, wenn durch die Nutzung eines Verbrauchers der Überschuss kurzfristig geringer würde.
-
Hi!
Was haltet ihr von diesem Schritt um das mit einem gleitenden Durchschnitt zu lösen?Gleitwert_PV = 0; Liste_PV = []; on({id: [].concat(['modbus.0.inputRegisters.13009_Export_power']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Liste_PV.push(getState("modbus.0.inputRegisters.13009_Export_power").val); if (Liste_PV.length >= 50) { Liste_PV.shift(); } Gleitwert_PV = Math.round(mathMean(Liste_PV));
-
@drurob sagte: mit einem gleitenden Durchschnitt zu lösen?
Der gleitende Durchschnitt zeigt die Vergangenheit. Eigentlich möchte man wissen, was demnächst passiert.
-
@paul53
Da bin ich ganz bei dir. Der gleitende Durchschnitt basiert auf den letzten 25 oder 50 oder 100 Werten. da die alle paar Sekunden reinkommen sind die ziemlich aktuell.
Wie möchtest du denn solch eine Zukunftssteuerung einbauen? Via Wettermodul? Das können wir hier gern mal "ausklabüstern" da mich sowas interessieren würde.
Oder hattet ihr das schon mit drin und ich hab es überlesen? -
@homoran
hallo noch mal zum Überschuss
habe ein zusätzliches Script für meine Klimaanlage
Diese soll starten, wenn die PV Leistung bei 3500 Watt liegt.
Leider pipt die Klima Anlage aller paar Sekunden ,wird die durch das Script immer abgefragt ?
oder was muss ich da ändern ?
Bin dankbar für jede Hilfemfg
code_text const vPower = '0_userdata.0.Alpha-ESS.PV_Total_Power'; const Klima = 'tuya.0.74500708e09806147e72.1'; const vSpielraum = 250; //Watt var bSperre = false; on(vPower, function(dp) { if (bSperre == false) { bSperre = true; var vValue = dp.state.val; if (vValue >= (3500+vSpielraum)) { setState(Klima, true); bSperre = false; } else { //nicht sofort schalten, 30 Sekunden warten und erneut prüfen setTimeout(function(){ if (vValue < (3500+vSpielraum)) { setState(Klima, false); bSperre = false; } else { bSperre = false; } },30000); } } });
-
@u66 sagte: starten, wenn die PV Leistung bei 3500 Watt liegt.
Versuche es mal so:
const idPower = '0_userdata.0.Alpha-ESS.PV_Total_Power'; const idKlima = 'tuya.0.74500708e09806147e72.1'; const vSpielraum = 1000; //Watt var bSperre = null; var klima = getState(idKlima).val; on(idPower, function(dp) { if (!bSperre) { let vValue = dp.state.val; if (vValue >= 3500) klima = true; else if (vValue < 3500 - vSpielraum) klima = false; if(klima != getState(idKlima).val) { setState(idKlima, klima); //5 Minuten warten und erneut prüfen bSperre = setTimeout(function() { bSperre = null; }, 300000); } } });
EDIT: Sperre geändert.
-
@paul53
Prima
hat auf Anhieb geklappt -
@u66 sagte: hat auf Anhieb geklappt
Habe es oben geändert, so dass die 5-Minuten-Sperre nur nach dem Schalten wirksam wird.
-
@paul53
Script mit Habpanel ein/aus
Jetzt hab auch hier im Forum gesucht aber nichts passendes gefunden.
Ist es denn möglich ein Script mit einem Button im Habpanel ein und auszuschalten ?
Kann mal sein das im Winter die Pumpe auch mal ohne PV Power laufen muss.könnte das zwar im Iobroker am PC ausschalten würde es aber gern am Iphone erledigen.Danke im Voraus
-
@u66 sagte: Script mit Habpanel ein/aus
Man schaltet keine Skripte ein/aus. Lässt sich die Poolpumpe per Habpanel ein- und ausschalten? Dann kann man das "manuelle" Einschalten detektieren und so eine weitere Sperre ergänzen.
const idPower = '0_userdata.0.Alpha-ESS.PV_Total_Power'; const idKlima = 'tuya.0.74500708e09806147e72.1'; const vSpielraum = 1000; //Watt var bSperre = null; var klima = getState(idKlima).val; var manuellEin = false; on(idPower, function(dp) { if (!bSperre && !manuellEin) { let vValue = dp.state.val; if (vValue >= 3500) klima = true; else if (vValue < 3500 - vSpielraum) klima = false; if(klima != getState(idKlima).val) { setState(idKlima, klima); //5 Minuten warten und erneut prüfen bSperre = setTimeout(function() { bSperre = null; }, 300000); } } }); on(idKlima, function(dp) { manuellEin = dp.state.val && dp.state.from != 'system.adapter.javascript.' + instance; });
-
@paul53 sagte in PV Überschuss Poolpumpe einschalten:
Danke, change:'ne' ist default, wusste ich nicht.
-
@paul53 said in PV Überschuss Poolpumpe einschalten:
Man schaltet keine Skripte ein/aus. Lässt sich die Poolpumpe per Habpanel ein- und ausschalten? Dann kann man das "manuelle" Einschalten detektieren und so eine weitere Sperre ergänzen.
Vielen Dank
Ja lässt sich ein/aus schalten
das wird ausprobiert.......
EDITfunktioniert, hab die anderen Scripte auch umgeschrieben.