KODI device passt "state"/"STATE" nur bei Aktualisierung des Browsers an

Begonnen von mtb, 20 März 2019, 13:15:03

Vorheriges Thema - Nächstes Thema

mtb

Hallo liebe Gemeinde,

bei Verwendung einer readingsGroup ist mir aufgefallen, dass sich dort der Status meines KODI-Devices nach dem ein- bzw. ausschalten des KODI nur ändert, wenn ich das Browserfenster aktualisiere. Bei Prüfung des eigentlichen KODI-Devices stellte ich fest, dass sich in diesem das "state"-Reading bzw. das STATE ebenfalls nicht sofort, sondern erst beim Browser-Refresh ändern.

An dieser Stelle sei betont, dass dies bei allen anderen Devices ausnahmslos auch ohne Refresh funktioniert. Auch im KODI selbst wird z.B. das "playStatus"-Reading sofort geändert, wenn man abspielt, pausiert oder stoppt.

Das KODI-Device is wie folgt definiert:

defmod kodi_wz KODI 192.168.2.103 tcp
attr kodi_wz alias Kodi
attr kodi_wz devStateIcon disconnected:general_aus@red opened:general_an@green:shutdown
attr kodi_wz event-on-change-reading playStatus
attr kodi_wz group Funktionen
attr kodi_wz room Wohnzimmer
attr kodi_wz updateInterval 60
attr kodi_wz webCmd shutdown


Als ggf. interessante Beobachtung sei erwähnt, dass sich das mit "devStateIcon" definierte Statusicon ebenfalls ohne Refresh ändert, obwohl sich das "state"-Reading bzw. das STATE eben nicht ohne Refresh ändern.

Warum ändert sich das "state"-Reading bzw. das STATE nicht ohne Refresh?
Habt ihr Ideen oder Tipps bzw. Zaunspfähle, die ihr mir vor den Kopf knallen könnt?

VG
Tim

frank

weil nur das reading playStatus events generiert.
attr kodi_wz event-on-change-reading playStatus
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

mtb

Hallo Frank,

vorab schon einmal Dank für Deine Zeit!
Bitte verzeih, dass ich nicht erwähnt habe, dass sich das KODI-Device auch komplett ohne das Attribut "event-on-change-reading" nicht anders verhält.

Aktuell also sieht das Device so aus:

defmod kodi_wz KODI 192.168.2.103 tcp
attr kodi_wz alias Kodi
attr kodi_wz devStateIcon disconnected:general_aus@red opened:general_an@green:shutdown
attr kodi_wz group Funktionen
attr kodi_wz room Wohnzimmer
attr kodi_wz updateInterval 60
attr kodi_wz webCmd shutdown


Im Anhang ein Screenshot vom Device mit obiger Konfiguration, der zeigt, dass das Symbol nach dem Einschalten stimmt, STATE aber "disconnected" zeigt.
Das "state"-Reading steht ebenfalls auf "disconnected".

Situation ist, wie erwähnt, unverändert. Im EventMonitor wird KODI beim ein- bzw. ausschalten als "CONNECTED" bzw. eben "DISCONNECTED" deklariert, aber das "state"-Reading bzw. das STATE werden noch immer nicht live geändert.

VG
Tim

DeeSPe

Zitat von: mtb am 20 März 2019, 13:58:55
Bitte verzeih, dass ich nicht erwähnt habe, dass sich das KODI-Device auch komplett ohne das Attribut "event-on-change-reading" nicht anders verhält.

Nach kurzem Blick in das Modul 70_KODI.pm ist das Verhalten durchaus richtig, denn es wird nirgends das Reading "state" beschrieben bzw. aktualisiert.
Und das Internal "STATE" nimmt vom Modul aus auch nur "Initialized", "Disabled" und "disconnected" an.

Gruß
Dan

EDIT: Und Änderungen an Internals (z.B. STATE) werden nicht per Longpoll propagiert, somit ist das Verhalten nachvollziehbar.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

mtb

Hallo Dan,

herzlichen Dank für die Klärung nach dem Blick auf das technische Innenleben!
Könntest Du mir aber noch kurz erklären, warum ...


attr kodi_wz devStateIcon disconnected:general_aus@red opened:general_an@green:shutdown


... eine sofortige Änderung des Icons zur Folge hat!? Auf welchem "Status" basiert diese Änderung?

VG
Tim

DeeSPe

Zitat von: mtb am 20 März 2019, 14:28:18
Hallo Dan,

herzlichen Dank für die Klärung nach dem Blick auf das technische Innenleben!
Könntest Du mir aber noch kurz erklären, warum ...


attr kodi_wz devStateIcon disconnected:general_aus@red opened:general_an@green:shutdown


... eine sofortige Änderung des Icons zur Folge hat!? Auf welchem "Status" basiert diese Änderung?

VG
Tim

Naja, STATE wird halt schon (intern) verändert/aktualisiert und deshalb auch das devStateIcon richtig angezeigt.
Nur wird STATE eben nicht per Longpoll aktualisiert, das devStateIcon aber doch.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

mtb