in OpenHAB 2.x wurde mittels einer rule einmal am Tag der Batteriezustand aller batteriebetriebenen Things überprüft und sobald ein Gerät bei 10% angekommen ist kam eine Pushover Nachricht. Leider funktioniert diese rule nach der Umstellung nicht mehr.
Da ich die rule nicht selbst geschrieben habe und mir bei so umfangreichen recht schwer tue, benötigt ich Eure Hilfe.
Wie ich in der Pushover Dokumentation entnommen habe ist die neue Schreibweise etwas anders. Leider habe ich bei der rule keine Ahnung wie diese dort einbauen soll.
Ich hoffe ihr könnt mir weiterhelfen.
Hier mal die Config:
Items (es sind natürlich mehrere, hier exemplarisch ein item)
Code: Alles auswählen
Group gBatteryStatus "Battery state" <measure_battery_75>
Number WZKR_Heizung_Battery "HZ_Wohnzimmer klein rechts [%s %%]" <battery> (gBatteryStatus)
Code: Alles auswählen
rule "Publish Battery Status"
when
Time cron "0 0 18 ? * * *"
then
val String ruleIdentifier = "Publish Battery Status"
val Integer batteryThreshold = 10 // %. This should be enough to change the battery within a few days
val StringBuilder aMessage = new StringBuilder
var Integer emptyBatteries = 0
emptyBatteries = gBatteryStatus.members.filter[ i | ((i.state instanceof DecimalType) && (i.state < batteryThreshold)) || ((i.state instanceof OnOffType) && (i.state == ON)) ].size
logInfo(ruleIdentifier, "Bei der täglichen Batterieprüfung wurden {} leere Batterien zum Melden gefunden!", emptyBatteries)
if (emptyBatteries != 0) {
aMessage.append("-> Batteriestatusreport <-\n")
gBatteryStatus.members.filter[ i | ((i.state instanceof DecimalType) && (i.state < batteryThreshold)) || ((i.state instanceof OnOffType) && (i.state == ON)) ].forEach[ aBattery |
aMessage.append(aBattery.label+": Batt="+aBattery.state+"%\n")
]
aMessage.append("-> Ende <-")
sendPushoverMessage(pushoverBuilder(aMessage.toString).withDevice("iPhoneXR"))
logInfo(ruleIdentifier, "Information zu {} leeren Batterien wurde veröffentlicht!", emptyBatteries)
}
end