OH2 to OH3, previousState und newState
Verfasst: 17. Mär 2021 17:55
Hallo,
ich hab nun auch den Schritt gewagt und mein Haussteuerung von OH2 auf OH3 geändert. Soweit läuft das neue System ausser die Aktivierung der Klimaanlage funktioniert nicht. hab auch gelesen dass es den OH2 Trigger im OH3 nicht mehr gibt, triggeringItem.name soll statt previousState und newState genommen werden. stimmt das oder hab ich hier was falsches gelesen?
wenn es stimmt, wie kann ich diesen neuen Trigger in den unterm Code einbauen, irgendwie versteh ich es nicht.
Danke
ich hab nun auch den Schritt gewagt und mein Haussteuerung von OH2 auf OH3 geändert. Soweit läuft das neue System ausser die Aktivierung der Klimaanlage funktioniert nicht. hab auch gelesen dass es den OH2 Trigger im OH3 nicht mehr gibt, triggeringItem.name soll statt previousState und newState genommen werden. stimmt das oder hab ich hier was falsches gelesen?
wenn es stimmt, wie kann ich diesen neuen Trigger in den unterm Code einbauen, irgendwie versteh ich es nicht.
Danke
Code: Alles auswählen
val telegramAction = getActions("telegram","telegram:telegramBot:2da85xxxxxx")
var Timer fronius_power_low_stiege = null
var Timer fronius_power_high_stiege = null
var Timer fronius_power_high_3000_stiege = null
var Timer setfan_stiegenhaus = null
var Timer settemp_stiegenhaus = null
var Timer klimaanlage_stiegenhaus_timer = null
var Timer fronius_power_grid_stiege = null
var Timer fronius_power_grid_stiege_vorwarnung = null
rule "Regelung_Klimaanlage_Stiegenhaus"
when
Item FroniusSymoInverter_ACPower changed
then
if(!(previousState instanceof Number)) {
logWarn("stromverkauf_stiege","previousState keine gültige Zahl! ({})",previousState)
return;
}
if(!(newState instanceof Number)) {
logWarn("stromverkauf_stiege","newState keine gültige Zahl! ({})",newState)
return;
}
if(previousState <= 2500 && newState > 2500) {
fronius_power_high_stiege?.cancel
fronius_power_high_stiege = createTimer(now.plusMinutes(5), [|
if(DaikinACUnit19216817859_Power.state == OFF && Winterbetriebautomatik.state == ON && Winterbetriebstiegenhaus.state == ON){
telegramAction.sendTelegram("%.6s W wird seit 5min produziert, Klima Stiegenhaus wird eingeschaltet", FroniusSymoInverter_ACPower.state.toString)
fronius_power_high_stiege = null
DaikinACUnit19216817859_Power.sendCommand("ON")
DaikinACUnit19216817859_Mode.sendCommand("HEAT")
DaikinACUnit19216817859_HomekitMode.sendCommand("HEAT")
DaikinACUnit19216817859_SetPoint.sendCommand("22")
DaikinACUnit19216817859_Fan.sendCommand("SILENCE")
}
])
}
if(previousState >= 2200 && newState < 2200) {
fronius_power_high_stiege?.cancel
}
if(previousState >= 1000 && newState < 1000) {
fronius_power_low_stiege?.cancel
fronius_power_low_stiege = createTimer(now.plusMinutes(10), [|
if(DaikinACUnit19216817859_Power.state == ON && Winterbetriebautomatik.state == ON && Winterbetriebstiegenhaus.state == ON){
telegramAction.sendTelegram("PV Leistung ist seit 10 Minuten unter 1000W, Stiegenhaus wird ausgeschaltet")
DaikinACUnit19216817859_Power.sendCommand("OFF")
fronius_power_low_stiege = null
}
])
}
if(previousState <= 1100 && newState > 1100) {
fronius_power_low_stiege?.cancel
}
end