PV Anlage und Klimaanlagen
Verfasst: 19. Aug 2020 09:09
Einen schönen Guten Morgen,
möchte mich zuerst vorstellen weil es mein erster Eintrag ist. Mein Name ist Norbert und ich bin 46 Jahre alt.
habe dieses Jahr eine PV und Klimaanlage Zuhause montiert und wollte diese beiden Anlagen mittels Hardware und der Software von Fronius miteinander verbinden. Leider kam es nach der Installation ganz anders, d.h. die Daikin Schnittstelle die meine Hardware benötigt hätte, wurde schon vom WLAN der Daikin Klimaanlage verwendet, deshalb habe ich eine andere Lösung suchen müssen um beide Komponenten miteinander zu verbinden.
nach kurzer Recherche bin ich auf OpenHab gestoßen und hab hier schon viel gelesen und auch umsetzen können (Danke). Leider bin ich nun zu einem Punkt gekommen wo ich Eure Hilfe benötige.
Ich hab eine Regel geschrieben die mir bei Über- und Unterschreiten eines Sollwertes per Telegram informiert. Die Regel funktioniert auch.
hier die Regel
jetzt wollte ich diese Regel mit einem Timer erweitern, d.h. sollte der Sollwert Unter- oder Überschritten werden, dann soll nach einer Zeit nochmals geprüft werden ob dieser Zustand noch immer Wahr oder Falsch ist.
sobald ich nun den Timer in dieser Regel verwende, funktioniert diese Regel nicht mehr und ich komme auch nicht drauf wo mein Fehler ist.
was hab ich Falsch gemacht oder wie kann ich die nochmalige Abfrage machen?
vielen Dank,
Norbert
möchte mich zuerst vorstellen weil es mein erster Eintrag ist. Mein Name ist Norbert und ich bin 46 Jahre alt.
habe dieses Jahr eine PV und Klimaanlage Zuhause montiert und wollte diese beiden Anlagen mittels Hardware und der Software von Fronius miteinander verbinden. Leider kam es nach der Installation ganz anders, d.h. die Daikin Schnittstelle die meine Hardware benötigt hätte, wurde schon vom WLAN der Daikin Klimaanlage verwendet, deshalb habe ich eine andere Lösung suchen müssen um beide Komponenten miteinander zu verbinden.
nach kurzer Recherche bin ich auf OpenHab gestoßen und hab hier schon viel gelesen und auch umsetzen können (Danke). Leider bin ich nun zu einem Punkt gekommen wo ich Eure Hilfe benötige.
Ich hab eine Regel geschrieben die mir bei Über- und Unterschreiten eines Sollwertes per Telegram informiert. Die Regel funktioniert auch.
hier die Regel
Code: Alles auswählen
rule "Produktion"
when
Time cron "0 30 21 ? * * *"
then
sendTelegram("bot1", "%.6s kW wurden Heute produziert", fronius_powerinverter_a7b6bf8b_inverterdatachanneldayenergy.state.toString)
sendTelegram("bot1", "%.6s MW wurden dieses Jahr produziert", fronius_powerinverter_a7b6bf8b_inverterdatachannelyear.state.toString)
end
rule "Strom_wird_zugekauft_verkauft"
when
Item fronius_powerinverter_a7b6bf8b_inverterdatachannelpac changed
then
if(!(previousState instanceof Number)) {
logWarn("stromkauf","previousState keine gültige Zahl! ({})",previousState)
return;
}
if(!(newState instanceof Number)) {
logWarn("stromkauf","newState keine gültige Zahl! ({})",newState)
return;
}
if(previousState >= 1000 && newState < 1000 && daikin_ac_unit_192_168_178_59_power.state == ON)
sendTelegram("bot1", "%.6s W wird produziert, du kannst die Klima ausschalten", fronius_powerinverter_a7b6bf8b_inverterdatachannelpac.state.toString)
else if(previousState <= 2000 && newState > 2000 && daikin_ac_unit_192_168_178_59_power.state == OFF)
sendTelegram("bot1", "%.6s W wird produziert, Klima einschalten", fronius_powerinverter_a7b6bf8b_inverterdatachannelpac.state.toString)
end
Code: Alles auswählen
var Timer fronius_power_low = null
rule "Produktion"
when
Time cron "0 30 21 ? * * *"
then
sendTelegram("bot1", "%.6s kW wurden Heute produziert", fronius_powerinverter_a7b6bf8b_inverterdatachanneldayenergy.state.toString)
sendTelegram("bot1", "%.6s MW wurden dieses Jahr produziert", fronius_powerinverter_a7b6bf8b_inverterdatachannelyear.state.toString)
end
rule "Strom_wird_zugekauft_verkauft"
when
Item fronius_powerinverter_a7b6bf8b_inverterdatachannelpac changed
then
if(!(previousState instanceof Number)) {
logWarn("stromkauf","previousState keine gültige Zahl! ({})",previousState)
return;
}
if(!(newState instanceof Number)) {
logWarn("stromkauf","newState keine gültige Zahl! ({})",newState)
return;
}
if(previousState >= 2000 && newState < 2000 && daikin_ac_unit_192_168_178_59_power.state == ON)
sendTelegram("bot1", "%.6s W wird produziert, warte noch", fronius_powerinverter_a7b6bf8b_inverterdatachannelpac.state.toString)
fronius_power_low?.cancel
fronius_power_low = createTimer(now.plusMinutes(5), [|
if(newState < 2000 && daikin_ac_unit_192_168_178_59_power.state == ON){
sendTelegram("bot1", "PV Leistung seit 5 Minuten zu gering")
fronius_power_low = null}
])
else if(previousState <= 2000 && newState > 2000 && daikin_ac_unit_192_168_178_59_power.state == OFF){
sendTelegram("bot1", "%.6s W wird produziert, Klima einschalten", fronius_powerinverter_a7b6bf8b_inverterdatachannelpac.state.toString)}
end
was hab ich Falsch gemacht oder wie kann ich die nochmalige Abfrage machen?
vielen Dank,
Norbert