Leider habe ich ein weiteres Problem mit einem weiteren notify.
Ich würde gerne in FHEM den aktuellen Titel, der in Kodi abgespielt wird, darstellen.
Dazu habe ich wie folgt Kodi eingebunden:
define Wohnzimmer.Kodi XBMC 192.168.178.21 tcp Kodi "PASSWORD"
attr EG.wz.Kodi devStateIcon opened:rc_GREEN:on disconnected:rc_RED:off Initialized:message_socket_disabled
attr EG.wz.Kodi event-on-change-reading .*
attr EG.wz.Kodi updateInterval 60
attr EG.wz.Kodi webCmd shutdown
Mit diesem Dummy möchte ich den aktuellen Titel anzeigen:
define Wohnzimmer.KodiTitle dummy
attr Wohnzimmerz.KodiTitle alias Aktueller Titel
Und hier das notify, das bei einer Änderungen in Kodi reagieren soll und den state des Dummy neu setzten soll:
define n_Wohnzimmer.KodiTitle notify Wohnzimmer.Kodi:currentTitle.* {fhem("setreading Wohnzimmer.KodiTitle state $EVENT");;}
Der Titel wird zwar aktualisiert und in den Dummy geschrieben, allerdings wie folgt:
currentTitle: NDR Talkshow
Vielleicht kann mir jemand einen Tipp geben wie ich currentTitle wegbekomme?
Schau mal in der Commandref nach $EVTPART1 !
Oh man, danke für den Schubs !
Läuft :-)
Ah, läuft doch nicht.
Mit $EVTPART1 komme ich ja nur an das erste Wort.
Also wenn $EVENT = currentTitle: Die Straßen von San Francisco
dann ist $EVTPART1 = Die
Wie kann ich denn den gesamten String extrahieren?
Funktionieren da regex? Also in etwa so was:
$PATTERN = /currentTitle: (.*)/u
Kodi:$PATTERN
my $pattern = $EVENT;
$pattern =~ s/currentTitle://;
Stichwort:
substitution
Gruß
Hans