Fhem Lichtsteuerung via KODI, Problem beim Fortsetzen nach Pause

Begonnen von masked__rider, 05 Juli 2018, 12:00:07

Vorheriges Thema - Nächstes Thema

masked__rider

Hallo Gemeinde!

Nachdem ich mit KODI vom Pi3 zur OSMC Vero 4K umgesattelt habe, habe ich dann auch vom LD382 Led-Controller zum ESP Rgbww-Controller aus dem Forum hier gewechselt (hauptsächlich wegen der weichen Übergänge und umfangreicheren Möglichkeiten).

Nun habe ich folgendes Problem mit diesem Notify:
define notify_KODI_Licht notify KODI:playStatus.* { if (ReadingsVal("KODI", "type", "") eq "movie" or "episode"){
  if (ReadingsVal("KODI", "playStatus", "") eq "playing"){
       fhem("set led_stripe off");;
    }
    if (ReadingsVal("KODI", "playStatus", "") eq ("paused")){
       fhem("set led_stripe hsv 360,0,25 5");;
    }
if (ReadingsVal("KODI", "playStatus", "") eq ("stopped")){
       fhem("set led_stripe hsv 360,0,50 8");;
    }
   }
}


Es funktioniert alles wie gewollt, bis auf eine Sache. Nach pausieren des Films sollte der Controller die LED´s eigentlich wieder auf 0 dimmen. Das geschieht auch, allerdings erst 10-20 sek nach fortsetzen des Films. Wäre es möglich, dass der KODI playstatus zu spät weitergegeben wird? Hat jemand eine Idee woran das liegen könnte? Am RPi3 mit Libreelec hat das übrigens noch tadellos funktioniert, allerdings hatte ich da eben noch den alten Controller.

Beta-User

Glaskugel: Der Status wurde in dem Moment, in dem du ihn abfragst noch gar nicht aktualisiert. Warum nicht mit $EVENT? Also in die Richtung (für RAW-Editor):
define notify_KODI_Licht notify KODI:playStatus.* { if (ReadingsVal("KODI", "type", "") eq "movie" or "episode"){
  if ($EVENT eq "playing"){
       fhem("set led_stripe off");
  } elsif ($EVENT eq "paused"){
       fhem("set led_stripe hsv 360,0,25 5");
  } elsif ($EVENT eq "stopped"){
       fhem("set led_stripe hsv 360,0,50 8");
  }
}}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

masked__rider

Warum wirft er mir bei deinem Codeschnipsel einen Syntax Error? Seh den Fehler gerade nicht? "Missing right curly or square bracket at (eval 260) line 1, at end of line syntax error at (eval 260) line 1, at EOF"

Beta-User

Versuch's mal un DEF oder mit backslashs am Zeilenende
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

masked__rider

#4
Im DEF geändert nimmt er zumindest den Code. Funktionieren tut er aber nicht. Hab gerade in den Readings des XMBC addons nachgesehen, und so wird der playStatus eigentlich ohne Verzögerung aktualisiert . Allerdings nimmt er den playStatus "playing" nicht an, wenn ich fortfahre. Kann es eventuell sein, dass das von KODI falsch/nicht kommuniziert wird bzw. erst mit reichlich Verzögerung?

Edit: Auch die Chorus Weboberfläche von Kodi scheint nach einem "unpause" sich nicht zu aktualisieren und verbleibt auf dem Status "Pause". Erst nachdem ich die Seite manuell aktualisiere stimmt der Status wieder.

Beta-User

Na ja, ohne Event keine Reaktion...
Ggf. kannst du den Ausführungsteil des Codes über die Eingabezeile testen oder mit trigger.

Sorry nochmal wegen der fehlenden Backslashs zum Maskieren der Zeilenumbrüche.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors