Hallo,
ich möchte gerne den Online/Offline Status von meinen Zigbee Geräten direkt auf der Übersichtsseite anzeigen lassen. Also eigentlich genau das, was unter Einstellungen --> Things zu sehen ist, aber für ein paar ausgewählte Geräte. Dafür wollte ich mir ein kleines Widget selbst erstellen, aber irgendwie kann ich nicht auf den Thing-Status zugreifen (in den Properties können nur Items ausgewählt werden?). Ich möchte ja eigentlich nur zu den Things das online/offline Symbol daneben haben (eben so wie in der Thing-Übersicht). Gibt es da eine einfache Abfrage, die ich im Widget verwenden kann? Vielleicht gibt es da auch ein fertiges Widget dafür, das ich nicht gefunden hab?
Vielen Dank!
Thing Status in Widget
-
- Beiträge: 31
- Registriert: 10. Jan 2023 09:52
Thing Status in Widget
das geht mit einem kleinen Umweg,
ich hab dazu eine Rule wo der Status von dem Thing abgefragt und in ein Item geschrieben wird.
ging vielleicht noch was einfacher zu machen, aber funktioniert!
die UID des Things findet man auf der Thing Übersichtsseite.
Gehe zur vollständigen Antwortich hab dazu eine Rule wo der Status von dem Thing abgefragt und in ein Item geschrieben wird.
Code: Alles auswählen
rule"Things testen"
when
Thing "avmfritz:FRITZ_DECT_200:192_168_178_3:087610076498" changed or //
Thing "avmfritz:FRITZ_DECT_200:192_168_178_3:087610144480" changed or //
Thing "deconz:onofflight:00212EFFFF072015:84182600000ee37a03" changed or // Osram 1
// deconz:onofflight:00212EFFFF072015:84182600000ee37a03
Thing "deconz:onofflight:00212EFFFF072015:7cb03eaa0a01f19a03" changed or // Osram 2
Thing "deconz:onofflight:00212EFFFF072015:7cb03eaa0a032a9c03" changed or // Osram 3
Thing "deconz:onofflight:00212EFFFF072015:7cb03eaa0a02a4e803" changed or // Osram 4
Thing "deconz:onofflight:00212EFFFF072015:5c0272fffecbc8b501" changed or // Ikea
Thing "deconz:onofflight:00212EFFFF072015:00124b001cd5f9dc01" changed or // eMylo 1
Thing "deconz:onofflight:00212EFFFF072015:00124b001cd5f9dc02" changed or // eMylo 2
Thing "deconz:onofflight:00212EFFFF072015:5c0272fffe287d630b" changed or // Lidl 1
Thing "deconz:onofflight:00212EFFFF072015:5c0272fffe88efa80b" changed or // Lidl 2
Thing "deconz:onofflight:00212EFFFF072015:84ba20fffe65527d01" changed or // Blitzwolf 1
Thing "deconz:onofflight:00212EFFFF072015:84ba20fffe6abc7f01" changed or // Blitzwolf 2
Thing "deconz:presencesensor:00212EFFFF072015:847127fffe27f0eb010500" changed or
Thing "deconz:presencesensor:00212EFFFF072015:847127fffe238dc9010500" changed or
Item teste_thing changed
then
var Status = getThingStatusInfo("avmfritz:FRITZ_DECT_200:192_168_178_3:087610076498").getStatus()
Thing_Steckdose1.postUpdate(Status.toString())
Status = getThingStatusInfo("avmfritz:FRITZ_DECT_200:192_168_178_3:087610144480").getStatus()
Thing_Steckdose2.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:84182600000ee37a03").getStatus()
// deconz:onofflight:00212EFFFF072015:84182600000ee37a03
Thing_osram1.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:7cb03eaa0a01f19a03").getStatus()
Thing_osram2.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:7cb03eaa0a032a9c03").getStatus()
Thing_osram3.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:7cb03eaa0a02a4e803").getStatus()
Thing_osram4.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:5c0272fffecbc8b501").getStatus()
Thing_ikea.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:00124b001cd5f9dc01").getStatus()
Thing_emylo1.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:00124b001cd5f9dc02").getStatus()
Thing_emylo2.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:5c0272fffe287d630b").getStatus()
Thing_lidl1.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:5c0272fffe88efa80b").getStatus()
Thing_lidl2.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:84ba20fffe65527d01").getStatus()
Thing_blitzwolf1.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:84ba20fffe6abc7f01").getStatus()
Thing_blitzwolf2.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:presencesensor:00212EFFFF072015:847127fffe27f0eb010500").getStatus()
Thing_Sensor1.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:presencesensor:00212EFFFF072015:847127fffe238dc9010500").getStatus()
Thing_Sensor2.postUpdate(Status.toString())
end
die UID des Things findet man auf der Thing Übersichtsseite.
-
- Beiträge: 286
- Registriert: 7. Mär 2021 14:49
Re: Thing Status in Widget
das geht mit einem kleinen Umweg,
ich hab dazu eine Rule wo der Status von dem Thing abgefragt und in ein Item geschrieben wird.
ging vielleicht noch was einfacher zu machen, aber funktioniert!
die UID des Things findet man auf der Thing Übersichtsseite.
ich hab dazu eine Rule wo der Status von dem Thing abgefragt und in ein Item geschrieben wird.
Code: Alles auswählen
rule"Things testen"
when
Thing "avmfritz:FRITZ_DECT_200:192_168_178_3:087610076498" changed or //
Thing "avmfritz:FRITZ_DECT_200:192_168_178_3:087610144480" changed or //
Thing "deconz:onofflight:00212EFFFF072015:84182600000ee37a03" changed or // Osram 1
// deconz:onofflight:00212EFFFF072015:84182600000ee37a03
Thing "deconz:onofflight:00212EFFFF072015:7cb03eaa0a01f19a03" changed or // Osram 2
Thing "deconz:onofflight:00212EFFFF072015:7cb03eaa0a032a9c03" changed or // Osram 3
Thing "deconz:onofflight:00212EFFFF072015:7cb03eaa0a02a4e803" changed or // Osram 4
Thing "deconz:onofflight:00212EFFFF072015:5c0272fffecbc8b501" changed or // Ikea
Thing "deconz:onofflight:00212EFFFF072015:00124b001cd5f9dc01" changed or // eMylo 1
Thing "deconz:onofflight:00212EFFFF072015:00124b001cd5f9dc02" changed or // eMylo 2
Thing "deconz:onofflight:00212EFFFF072015:5c0272fffe287d630b" changed or // Lidl 1
Thing "deconz:onofflight:00212EFFFF072015:5c0272fffe88efa80b" changed or // Lidl 2
Thing "deconz:onofflight:00212EFFFF072015:84ba20fffe65527d01" changed or // Blitzwolf 1
Thing "deconz:onofflight:00212EFFFF072015:84ba20fffe6abc7f01" changed or // Blitzwolf 2
Thing "deconz:presencesensor:00212EFFFF072015:847127fffe27f0eb010500" changed or
Thing "deconz:presencesensor:00212EFFFF072015:847127fffe238dc9010500" changed or
Item teste_thing changed
then
var Status = getThingStatusInfo("avmfritz:FRITZ_DECT_200:192_168_178_3:087610076498").getStatus()
Thing_Steckdose1.postUpdate(Status.toString())
Status = getThingStatusInfo("avmfritz:FRITZ_DECT_200:192_168_178_3:087610144480").getStatus()
Thing_Steckdose2.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:84182600000ee37a03").getStatus()
// deconz:onofflight:00212EFFFF072015:84182600000ee37a03
Thing_osram1.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:7cb03eaa0a01f19a03").getStatus()
Thing_osram2.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:7cb03eaa0a032a9c03").getStatus()
Thing_osram3.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:7cb03eaa0a02a4e803").getStatus()
Thing_osram4.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:5c0272fffecbc8b501").getStatus()
Thing_ikea.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:00124b001cd5f9dc01").getStatus()
Thing_emylo1.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:00124b001cd5f9dc02").getStatus()
Thing_emylo2.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:5c0272fffe287d630b").getStatus()
Thing_lidl1.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:5c0272fffe88efa80b").getStatus()
Thing_lidl2.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:84ba20fffe65527d01").getStatus()
Thing_blitzwolf1.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:onofflight:00212EFFFF072015:84ba20fffe6abc7f01").getStatus()
Thing_blitzwolf2.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:presencesensor:00212EFFFF072015:847127fffe27f0eb010500").getStatus()
Thing_Sensor1.postUpdate(Status.toString())
Status = getThingStatusInfo("deconz:presencesensor:00212EFFFF072015:847127fffe238dc9010500").getStatus()
Thing_Sensor2.postUpdate(Status.toString())
end
die UID des Things findet man auf der Thing Übersichtsseite.
OH 4.0.3 auf HP 26o G1 Dm Mini Pc mit MX_Linux
-
- Beiträge: 31
- Registriert: 10. Jan 2023 09:52
Re: Thing Status in Widget
Danke!
Ich dachte, es könnte auch ohne den "Umweg" über eigene Things gehen... Aber so werd ich es dann wohl machen.
Vielen Dank!
Ich dachte, es könnte auch ohne den "Umweg" über eigene Things gehen... Aber so werd ich es dann wohl machen.
Vielen Dank!
- udo1toni
- Beiträge: 13996
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Thing Status in Widget
Du meinst Items Es werden ja keine zusätzlichen Things benötigt, lediglich Items, welche den Status der Things widerspiegeln.
Die UI (also die normale Benutzeroberfläche) greift für jegliche Anzeige auf den openHAB (B)us zu.
Der Bus in openHAB verwendet Items, um die Status zu speichern.
Weiterhin kann man Events über den Bus bekommen, auch solche, die Things betreffen.
Diese Events haben aber keinen Status, somit kann openHAB auch den aktuellen Zustand nicht ermitteln.
Die UI hat andererseits nicht die Aufgabe, beliebige Datenpunkte dauerhaft zu überwachen und deren Status zu speichern, sie greift also auf den Bus zu und schaut dort nach, deshalb braucht es zwingend ein Item, welches den Zustand speichert.
Die UI (also die normale Benutzeroberfläche) greift für jegliche Anzeige auf den openHAB (B)us zu.
Der Bus in openHAB verwendet Items, um die Status zu speichern.
Weiterhin kann man Events über den Bus bekommen, auch solche, die Things betreffen.
Diese Events haben aber keinen Status, somit kann openHAB auch den aktuellen Zustand nicht ermitteln.
Die UI hat andererseits nicht die Aufgabe, beliebige Datenpunkte dauerhaft zu überwachen und deren Status zu speichern, sie greift also auf den Bus zu und schaut dort nach, deshalb braucht es zwingend ein Item, welches den Zustand speichert.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet
-
- Beiträge: 31
- Registriert: 10. Jan 2023 09:52
Re: Thing Status in Widget
Ah, okay, Danke für die Erklärung! Dann versteh ich das auch...
Und ja, ich meinte natürlich Items
Und ja, ich meinte natürlich Items