NEWS
PV Überschuss Poolpumpe einschalten
-
@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.
-
@paul53 Hi! Ich muss das nochmal ausgraben. Kannst du mir bitte kurz geben wie du das schalten erst nach einer Sperrzeit wieder freigibst?
Ich bekomme es einfach nicht hin .... Ziel (zumindest mein Ansatz): das letzte Schaltdatum mit dem jetzigen zu vergleichen und wenn weniger als 5 oder 20min oder was auch immer der Zielwert ist die Funktion weiterlaufen zu lassen.
Falscher Ansatz oder schon richtiger Gedanke?Vielen Dank!
-
@drurob sagte: wie du das schalten erst nach einer Sperrzeit wieder freigibst?
Die Sperrvariable (Timervariable) wird nach Ablauf der Sperrdauer auf null gesetzt.
-
@paul53
oh man.... jetzt hab ich geschnallt wo der timeout wert herkommt... 5min = 300000ms?!dann steht ja schon alles da. Danke dir für die Erleuchtung!