Hallo zusammen,
anbei ein kleines Beispiel, wie man den Status der LIVISI-Zentrale und der Binding-Verbindung überwachen kann.
Es ist hierüber auch leicht möglich, entsprechende Benachrichtigungen (Mail) oder Aktionen auszulösen (z. B. Binding-Restart)
Zunächst braucht ihr ein paar Items (festzulegen in einer .items-Datei):
String Bridge_Innogy_Status "Innogy (Bridge)" <Innogy>
String Bridge_Innogy_StatusDetail
String Bridge_Innogy_StatusDescription
String Bridge_Innogy_LastOffline
String Bridge_Innogy_LastOnline
Jetzt zur eigentlichen Überwachungsregel. Diese ist an Ereignisse eures Bridge-Things des SHC geknüpft.
Der Bezeichner des Things muss deshalb von Euch so angepasst, werden, dass es der Thing-ID Eures SHC entspricht.
rule "Bridge_Innogy_Update"
when
System started or
Thing "innogysmarthome:bridge:SMARTHOME01" changed
then
var thingStatusInfo = getThingStatusInfo("innogysmarthome:bridge:SMARTHOME01")
var String status = thingStatusInfo.getStatus().toString()
var String status_Detail = thingStatusInfo.getStatusDetail().toString()
var String status_Description = thingStatusInfo.getDescription()
if (status.toString() != Bridge_Innogy_Status.state.toString()) {
switch(status.toString()) {
case "ONLINE" : {
Bridge_Innogy_LastOnline.postUpdate(new DateTimeType())
}
case "OFFLINE" : {
val mailActions = getActions("mail","mail:smtp:srv1")
mailActions.sendMail("irgendwo@egal.de", "OpenHAB", "Innogy-Zentrale ist OFFLINE")
Bridge_Innogy_LastOffline.postUpdate(new DateTimeType())
}
}
}
logInfo("Innogy", "Der Status der Innogy-Zentrale ist " + status.toString())
Bridge_Innogy_Status.postUpdate(status)
Bridge_Innogy_StatusDetail.postUpdate(status_Detail)
Bridge_Innogy_StatusDescription.postUpdate(status_Description)
end
Display More
Die oben definierten Items könnt ihr dann in Eure Sitemap einbauen.
Beispielsweise so:
Text item=Bridge_Innogy_Status label="Innogy [%s]" icon="Innogy" valuecolor=[OFFLINE="#FF0000"] {
Frame label="Zentrale "{
Text item=Bridge_Innogy_Status label="Status [%s]" icon="systemstatus"
Text item=Bridge_Innogy_StatusDetail label="[%s]" visibility=[Bridge_Innogy_StatusDetail!="NONE"] icon=""
Text item=Bridge_Innogy_StatusDescription label="[%s]" visibility=[Bridge_Innogy_StatusDetail!="NONE"] icon=""
Text item=Bridge_Innogy_LastOffline label="Zuletzt Offline [%1$td.%1$tm.|%1$tH:%1$tM:%1$tS]" icon=""
Text item=Bridge_Innogy_LastOnline label="Zuletzt Online [%1$td.%1$tm.|%1$tH:%1$tM:%1$tS]" icon=""
}
}
Sieht dann hinterher so aus:
Die hier abgebildeten zusätzlichen Items "Letzte Prüfung", "Watchdog" und "Binding-Neustart" sind etwas komplizierter und ein anderes Thema (das aber auch funktioniert).
Viel Spass beim Nachbauen!
Gruß Ralph