PV Überschuss Regel wird nach einer Zeit nicht mehr getriggert
Verfasst: 4. Aug 2024 16:50
Hallo,
ich habe folgende Rule erstellt. Diese funktioniert auch. Aber nach einer Zeit X >einige Stunden bis Tage wird diese Rule nicht mehr getriggert. Im Log über den Port 9001 wird nichts angezeigt. Normal kommt alle paar Sekunden die Meldung: "PV-Rule", "Rule Routine gestartet" aber das kommt irgendwann nicht mehr.
Installiert ist das auf einem Raspberry 4 mit 2 GB RAM. Installiert ist Openhab 4.1.2.
Wenn ich lokal per Visual Studio die Rule neu speichere läuft Sie erstmal wieder und wird auch ohne Fehler im Log "eingelesen"
Der Pi steht bei meinen Eltern. Ich kann mich in das Netz nicht per VPN einloggen. Aber ich habe myopenhab eingerichtet und würde auch online sehen ob die Ausgänge vom Shelly geschaltet werden. Kann ich mich mit Visual Studio Code auch ohne vpn über myopenhab.org auf den Pi wählen?
Danbke für eure Hilfe
Gruß Michael
ich habe folgende Rule erstellt. Diese funktioniert auch. Aber nach einer Zeit X >einige Stunden bis Tage wird diese Rule nicht mehr getriggert. Im Log über den Port 9001 wird nichts angezeigt. Normal kommt alle paar Sekunden die Meldung: "PV-Rule", "Rule Routine gestartet" aber das kommt irgendwann nicht mehr.
Installiert ist das auf einem Raspberry 4 mit 2 GB RAM. Installiert ist Openhab 4.1.2.
Wenn ich lokal per Visual Studio die Rule neu speichere läuft Sie erstmal wieder und wird auch ohne Fehler im Log "eingelesen"
Der Pi steht bei meinen Eltern. Ich kann mich in das Netz nicht per VPN einloggen. Aber ich habe myopenhab eingerichtet und würde auch online sehen ob die Ausgänge vom Shelly geschaltet werden. Kann ich mich mit Visual Studio Code auch ohne vpn über myopenhab.org auf den Pi wählen?
Danbke für eure Hilfe
Gruß Michael
Code: Alles auswählen
var Timer tPV = null
var rulestate = 0
rule "PV steuert Relais"
when
Item solaxFeedInPower received update
then
if (rulestate == 0 && Automatikmodus.state == ON){
logInfo( "PV-Rule", "Rule Routine gestartet")
if (solaxFeedInPower.state > 975) {
logInfo( "PV-Rule", "Einspeisung >975W Timer 30 sek gestartet")
rulestate = 1
tPV = createTimer(now.plusSeconds(30), [|
if (solaxFeedInPower.state > 975 && shellymqttitema.state == "false"){
logInfo( "PV-Rule", "Relais 1 wird angeschaltet, Rule beendet")
ShellyPro3_Out1.sendCommand(ON)
rulestate = 0
tPV.cancel
return
}
if (solaxFeedInPower.state > 975 && shellymqttitema.state == "true" && shellymqttitemb.state == "false"){
logInfo( "PV-Rule", "Relais 2 wird angeschaltet, Rule beendet")
ShellyPro3_Out2.sendCommand(ON)
rulestate = 0
tPV.cancel
return
}
if (solaxFeedInPower.state > 975 && shellymqttitemb.state == "true"){
logInfo( "PV-Rule", "Relais 3 wird angeschaltet, Rule beendet")
ShellyPro3_Out3.sendCommand(ON)
rulestate = 0
tPV.cancel
return
}
])
}
if (solaxFeedInPower.state < 0) {
logInfo( "PV-Rule", "Einspeisung <0W Timer 30 sek gestartet")
rulestate = 1
tPV = createTimer(now.plusSeconds(30), [|
if (solaxFeedInPower.state < 0 && shellymqttitemc.state == "true"){
logInfo( "PV-Rule", "Relais 3 wird ausgeschalten, Rule beendet")
ShellyPro3_Out3.sendCommand(OFF)
rulestate = 0
tPV.cancel
return
}
if (solaxFeedInPower.state < 0 && shellymqttitemb.state == "true"){
logInfo( "PV-Rule", "Relais 2 wird ausgeschalten, Rule beendet")
ShellyPro3_Out2.sendCommand(OFF)
rulestate = 0
tPV.cancel
return
}
if (solaxFeedInPower.state < 0 && shellymqttitema.state == "true"){
logInfo( "PV-Rule", "Relais 1 wird ausgeschalten, Rule beendet")
ShellyPro3_Out1.sendCommand(OFF)
rulestate = 0
tPV.cancel
return
}
else {
logInfo( "PV-Rule", "Einspeisung nicht mehr über 1000W")
rulestate = 0
tPV.cancel
return
}
])
}
}
end