Seite 1 von 1

Schalter/Switch ausblenden wenn im WLAN nicht angemeldet

Verfasst: 11. Nov 2018 19:13
von chefffe
Hallo erstmal,

ich bin neu hier, hab mir die letzten Wochen einen Raspberry Pi mit Openhabian 2.3 installiert inklusive einem 7" Touchscreen.

Ich nutze das System unter anderem dafür um 3 Lampen mit TP Link Kasa HS100 Steckdosen zu schalten.
Eine Steckdose wird nur gelegentlich gebraucht, und ich würde sie gerne auf dem Touchscreen ausblenden wenn sie nicht im WLAN angemeldet ist.
Ich habe gesehen das dies über Sitemaps mit visibility machbar ist.

Ich nutze derzeit Habpanel (ohne sitemaps) und wollte fragen ob man dies auch ohne sitemaps realisieren kann?

Die Steckdosen nutzen das TP Link Smart Home Binding und wurden mittels PaperUI hinzugefügt (Things/Item).

Re: Schalter/Switch ausblenden wenn im WLAN nicht angemeldet

Verfasst: 11. Nov 2018 22:53
von sihui
Hier gibt es zwei unterschiedliche Lösungsansätze:

https://community.openhab.org/t/visibil ... anel/43208

Re: Schalter/Switch ausblenden wenn im WLAN nicht angemeldet

Verfasst: 13. Nov 2018 17:38
von chefffe
Danke, das werde ich mir mal anschauen!

Re: Schalter/Switch ausblenden wenn im WLAN nicht angemeldet

Verfasst: 13. Nov 2018 20:02
von chefffe
Habe die Vorschläge mal angeschaut.....

Wenn ich es richtig verstanden habe wird hier der Status/Wert von einem Switch abgefragt und dann andere items ausgeblendet oder ausgegraut.

Ich möchte die Präsenz im WLAN abfragen, sobald das Gerät sich anmeldet möchte ich den Switch im Habpanel einblenden.
Im LOG sieht die Anmeldung so aus:

[hingStausInfoChangedEvent] - 'tplinksmarthome:hs100:878115' changed from OFFLINE (COMMUNICATION_ERROR): No route to host (Host unreachable) to ONLINE

Wie kann ich darauf reagieren?

Re: Schalter/Switch ausblenden wenn im WLAN nicht angemeldet

Verfasst: 13. Nov 2018 22:38
von udo1toni
Das ist ein Thing, welches ONLINE geht. Das ist ein Event, welches Du über ein Item speichern kannst. z.B. ein ungebundenes Item

Code: Alles auswählen

Switch myThingOnline "my Thing [%s]"
und eine Rule:

Code: Alles auswählen

rule "myThing online"
when
    Thing 'tplinksmarthome:hs100:878115' changed
then
    var thingStatusInfo = getThingStatusInfo("tplinksmarthome:hs100:878115")
    if(thingStatusInfo !== null) {
        if(thingStatusInfo.getStatus.toString == "ONLINE")
            myThingOnline.postUpdate(ON)
        else if(thingStatusInfo.getStatus.toString == "OFFLINE")
            myThingOnline.postUpdate(OFF)
    }
end
Nun ist der Sting Status im Item gespeichert und kann in der Sitemap verwendet werden, um andere Items auszublenden.