Modul für Kodi (ehemals 70_XBMC)

Begonnen von vbs, 02 Februar 2017, 23:11:10

Vorheriges Thema - Nächstes Thema

Ellert

Zitat von: mtb am 20 März 2019, 16:11:17
Hallo zusammen,

und auch von mir vorab schon einmal Dank an alle, die Mühe und Zeit in das Kodi-Modul gesteckt haben, welches ich weitestgehend erfolgreich und problemlos nutze.

Dennoch möchte ich mich kurz auf Beitrag #57 dieser Diskussion hier beziehen. Dort heißt es ...
Das stimmt leider nicht bedingungslos, da das "state"-Reading und STATE nicht ohne ein Browser-Refresh aktualisiert werden, wie mir im Beitrag https://forum.fhem.de/index.php/topic,98799.0.html erklärt wurde.

Wäre es möglich, im Modul umzusetzen, dass das "state"-Reading und STATE genau wie z.B. auch das "playStatus"-Reading direkt und sofort aktualisiert wird?

VG
Tim

Falls das umgesetzt wird, sollten die Schreibung des Events und des Readingwertes angeglichen werden, damit es für ein reales Ereignis nicht 2 gleichbedeutende Events gibt. Die Schreibung des Readingwertes sollte vom Event (Großschreibung) übernommen werden, sonst würden die bisherigen Eventhandler nicht mehr funktionieren.

vbs

Zitat von: mtb am 20 März 2019, 16:11:17
Dennoch möchte ich mich kurz auf Beitrag #57 dieser Diskussion hier beziehen. Dort heißt es ...
Zitat
Das Event CONNECTED bzw. das Reading state beziehen sich auf die Verbindung von FHEM zu Kodi. Sprich: Wenn sich FHEM zu Kodi verbunden hat bzw. die Verbindung beendet wird, wechselt state.

Das stimmt leider nicht bedingungslos, da das "state"-Reading und STATE nicht ohne ein Browser-Refresh aktualisiert werden, wie mir im Beitrag https://forum.fhem.de/index.php/topic,98799.0.html erklärt wurde.
Doch doch, es stimmt schon, dass state den Wert änder, wenn sich der Verbindungszustand ändert. Dass das im Browser nicht automatisch aktualisiert wird, ist mMn ein anderes Thema.

Zitat von: mtb am 20 März 2019, 16:11:17
Wäre es möglich, im Modul umzusetzen, dass das "state"-Reading und STATE genau wie z.B. auch das "playStatus"-Reading direkt und sofort aktualisiert wird?
Ich will nicht sagen, dass es nicht möglich ist - alles ist möglich - aber das Modul nutzt das Modul DevIO zur Verwaltung der Verbindung und auch des state-Readings. Offenbar hat man sich in DevIO dazu entschieden, state ohne Event zu aktualisieren. Es wird vermutl. Gründe geben, aber die kenne ich nicht. Darf man fragen, was du damit vor hast? Vielleicht gibt's ja ein Alternative.
Das Handling von state/STATE sorgt leider generell für einiges an Konfusion... (auch bei mir)

mtb

Hallo Ellert, hallo vbs,

danke für die Kommentare und Reaktionen zum Thema!
Da ich gern einen aktuellen An/Aus-Status vom KODI hätte, habe ich es mit dem vielversprechenden Reading "system" versucht, dass zumindest bei meinen Beobachtungen die Werte "wake" für an und "quit" für aus annimmt. Mit ...

defmod kodi_wz KODI 192.168.2.103 tcp
attr kodi_wz alias Kodi
attr kodi_wz devStateIcon (quit|disconnected):general_aus@red (wake|opened):general_an@green:shutdown

attr kodi_wz stateFormat system

attr kodi_wz updateInterval 60
attr kodi_wz webCmd shutdown

... wollte ich das Reading nun also zum Status machen, leider aber greift nach dem Ausschalten doch irgendwie das ursprünglliche state, welches interessanterweise sofort auf "disconnected" aktualisiert, was es ja sonst nicht macht. Naja, mit dem angepassten "devStateIcon" stimmt aber nun immerhin das Icon trotz des hin und hers, wenn auch nur "hintenrum"  ;)

VG
Tim

bmaehr

Zitat von: riker1 am 17 Oktober 2018, 18:37:43
Hi muss do gehen, klappt bei mir auf jeden Fall.
Welche Kodi Version nutzt du? Habe Leia , 18....

{fhem('set Kodi open plugin://plugin.audio.radio_de/station/'.$channel)}

geht auf jeden fall mit diversen channels, allerdings nicht beispielsweise harmony.fm 8441.
siehst du denn am Kodi das er anfängt etwas zu machen? Kreis dreht sich....

VG Thomas

Ich habe da jetzt ein richtig cooles Setup. Ich hab folgendes definiert:

define MediacenterKodiRadioRC remotecontrol
attr MediacenterKodiRadioRC rc_iconpath icons/remotecontrol
attr MediacenterKodiRadioRC rc_iconprefix radio_btn_
attr MediacenterKodiRadioRC row00 9111:antenne_bayern,2861:antenne_koblenz,2318:charivari
attr MediacenterKodiRadioRC sortby 01.03
define notify_MediacenterKodiRadioRC notify MediacenterKodiRadioRC { fhem('set MediacenterKodi open plugin://plugin.audio.radio_de/station/'.$EVENT) }

und zusätzlich unter www\images\default\remotecontrol icons für die (drei) Rediosender angelegt.

Nun hab ich in auf dem Webinterface drei schöne Knöpfe, mit denen ich direkt die Radiosender starten kann. Und noch besser: Sogar unter andFHEM hab ich die Knöpfe mit Icons und kann darüber die Radiosender wechseln.

Porsti

Zitat von: bmaehr am 26 März 2019, 02:46:40

define MediacenterKodiRadioRC remotecontrol
attr MediacenterKodiRadioRC rc_iconpath icons/remotecontrol
attr MediacenterKodiRadioRC rc_iconprefix radio_btn_
attr MediacenterKodiRadioRC row00 9111:antenne_bayern,2861:antenne_koblenz,2318:charivari
attr MediacenterKodiRadioRC sortby 01.03
define notify_MediacenterKodiRadioRC notify MediacenterKodiRadioRC { fhem('set MediacenterKodi open plugin://plugin.audio.radio_de/station/'.$EVENT) }


Hi,
muss ich da auf Kodi Seite noch einstellungen vornehmen?
Habe Libreelec mit Kodi 18.1 und radio.de als addon laufen. Bekomme es einfach nicht hin eine Radiostation über fhem auszuwählen.

Gruß
Porsti
____________________________________
fhem 6.2  auf Raspberry 3b
Homematic HM-CC-RT-DN / HM-TC-IT-WM-W-EU / HM-SEC-SCo / HM-LC-SW1-PL2
SIGNALduino, KNX (Merten, MDT, Siemens, ABB)

Frank_Huber

Zitat von: Porsti am 02 April 2019, 10:10:37
muss ich da auf Kodi Seite noch einstellungen vornehmen?
Habe Libreelec mit Kodi 18.1 und radio.de als addon laufen. Bekomme es einfach nicht hin eine Radiostation über fhem auszuwählen.

Gleiches LibreElec, Radio Auswahl:
(set Kodi open plugin://plugin.audio.radio_de/station/2241)

Wäre also die Frage wie dein Event aussieht. Musst vermutlich auf Eventpart$ wechseln

Porsti

#186
Hi,

darf ich mal fragen wie Ihr das Kodi Device angelegt habt damit das Funktioniert?

Bei mir es so:

Internals:
   CFGFN      ./FHEM/fhem_dev_kodi.cfg
   CHANGED   
   CHILDPID   
   DEF        192.168.10.20 tcp User Passwort
   DeviceName 192.168.10.20:9090
   FD         24
   FUUID      5c48823b-f33f-75cf-4c04-167e99c2c2291518
   Host       192.168.10.20
   LAST_RECV  1554210667
   NAME       WZ.KODI
   NR         191
   NextID     10
   PARTIAL   
   Password   xxxx
   Port       9090
   Protocol   tcp
   STATE      opened
   TYPE       KODI
   Username   xxx
   PendingEvents:
   PendingPlayerCMDs:
     24:
       method     Player.GetProperties
       params:
         properties:
           time
           totaltime
           repeat
           shuffled
           speed
           partymode

Ich kann Text Narichten an Kodi schicken und auch die Lautstärke ändern.
Bekomme auch alle readings aktualisiert.

Bekomme das nur mit dem Radio nicht hin  :'(

Gruß
Porsti
____________________________________
fhem 6.2  auf Raspberry 3b
Homematic HM-CC-RT-DN / HM-TC-IT-WM-W-EU / HM-SEC-SCo / HM-LC-SW1-PL2
SIGNALduino, KNX (Merten, MDT, Siemens, ABB)

vbs

Glaube, da ist dein passwort zu sehen!

Gesendet von Mobile


Frank_Huber

Zitat von: Porsti am 02 April 2019, 15:13:52
darf ich mal fragen wie Ihr das Kodi Device angelegt habt damit das Funktioniert?

so:
defmod Kodi KODI 192.168.99.999 tcp
attr Kodi stateFormat playStatus label
attr Kodi updateInterval 60

Porsti

Hi,

ich habe es nicht anders gemacht und kann das Radio einfach nicht starten.
Muss das Radio in Kodi aktiv sein? Kann ich dann nur umschalten?

Auch wenn ich den Befehl direkt ausführe

set WZ.KODI open plugin://plugin.audio.radio_de/station/15397

passiert einfach nichts.  :'(

Gruß
Porsti
____________________________________
fhem 6.2  auf Raspberry 3b
Homematic HM-CC-RT-DN / HM-TC-IT-WM-W-EU / HM-SEC-SCo / HM-LC-SW1-PL2
SIGNALduino, KNX (Merten, MDT, Siemens, ABB)

Frank_Huber

Gibt es die Station?
Wie hast die Nummer ermittelt?

Gesendet von meinem Doogee S60 mit Tapatalk


vbs

Poste doch bitte mal ein FHEM-Log und ein Kodi-Log mit verbose bzw. Debug.

Porsti

Hi,

habe es es mit diesem Radiosender und mit denen hier aus dem Thread probiert und immer das selbe nichts.

Bin leider nicht zuhause, kann von hier aus nur das Log der fhem Seite zeigen.
Habe hier 2 verschiedene Radiostationen probiert und das ist der Log mit verbose 5

2019.04.03 15:37:06 4: KODI_Call: Sending: {"method":"Player.Open","jsonrpc":"2.0","params":{"item":{"file":"plugin://plugin.audiolibrary scan.radio_de/station/15397"}}}
2019.04.03 15:37:06 5: SW: 7b226d6574686f64223a22506c617965722e4f70656e222c226a736f6e727063223a22322e30222c22706172616d73223a7b226974656d223a7b2266696c65223a22706c7567696e3a2f2f706c7567696e2e617564696f6c696272617279207363616e2e726164696f5f64652f73746174696f6e2f3135333937227d7d7d
2019.04.03 15:37:07 5: KODI_ProcessRead
2019.04.03 15:37:07 5: No PARTIAL buffer
2019.04.03 15:37:07 5: KODI_Read: Incoming data: {"jsonrpc":"2.0","method":"GUI.OnScreensaverDeactivated","params":{"data":{"shuttingdown":false},"sender":"xbmc"}}
2019.04.03 15:37:07 5: KODI_Read: Current processing buffer (PARTIAL + incoming data): {"jsonrpc":"2.0","method":"GUI.OnScreensaverDeactivated","params":{"data":{"shuttingdown":false},"sender":"xbmc"}}
2019.04.03 15:37:07 4: KODI_Read: Decoding JSON message. Length: 114 Content: {"jsonrpc":"2.0","method":"GUI.OnScreensaverDeactivated","params":{"data":{"shuttingdown":false},"sender":"xbmc"}}
2019.04.03 15:37:07 5: KODI_Read: Tail:
2019.04.03 15:37:07 5: KODI_Read: PARTIAL:
2019.04.03 15:37:19 4: KODI_Check
2019.04.03 15:37:19 4: KODI_CheckConnection: Connection still alive. Last data from Kodi received 12 s ago
2019.04.03 15:37:19 4: KODI_Call: Sending: {"method":"Application.GetProperties","id":997,"jsonrpc":"2.0","params":{"properties":["volume","muted","name","version"]}}
2019.04.03 15:37:19 5: SW: 7b226d6574686f64223a224170706c69636174696f6e2e47657450726f70657274696573222c226964223a3939372c226a736f6e727063223a22322e30222c22706172616d73223a7b2270726f70657274696573223a5b22766f6c756d65222c226d75746564222c226e616d65222c2276657273696f6e225d7d7d
2019.04.03 15:37:19 4: KODI_Call: Sending: {"params":{"properties":["skin","fullscreen","stereoscopicmode"]},"jsonrpc":"2.0","method":"GUI.GetProperties","id":998}
2019.04.03 15:37:19 5: SW: 7b22706172616d73223a7b2270726f70657274696573223a5b22736b696e222c2266756c6c73637265656e222c2273746572656f73636f7069636d6f6465225d7d2c226a736f6e727063223a22322e30222c226d6574686f64223a224755492e47657450726f70657274696573222c226964223a3939387d
2019.04.03 15:37:19 4: KODI_Call: Sending: {"id":"999","method":"Player.GetActivePlayers","jsonrpc":"2.0"}
2019.04.03 15:37:19 5: SW: 7b226964223a22393939222c226d6574686f64223a22506c617965722e476574416374697665506c6179657273222c226a736f6e727063223a22322e30227d
2019.04.03 15:37:19 4: KODI_UpdatePlayerItem
2019.04.03 15:37:19 4: KODI_UpdatePlayerItem - cancelled (disconnected or not playing)
2019.04.03 15:37:19 5: KODI_ProcessRead
2019.04.03 15:37:19 5: No PARTIAL buffer
2019.04.03 15:37:19 5: KODI_Read: Incoming data: {"id":997,"jsonrpc":"2.0","result":{"muted":false,"name":"Kodi","version":{"major":18,"minor":1,"revision":"newclock5_18.1-Leia","tag":"stable"},"volume":100}}{"id":998,"jsonrpc":"2.0","result":{"fullscreen":false,"skin":{"id":"skin.estuary","name":"Estuary"},"stereoscopicmode":{"label":"Deaktiviert","mode":"off"}}}{"id":"999","jsonrpc":"2.0","result":[]}
2019.04.03 15:37:19 5: KODI_Read: Current processing buffer (PARTIAL + incoming data): {"id":997,"jsonrpc":"2.0","result":{"muted":false,"name":"Kodi","version":{"major":18,"minor":1,"revision":"newclock5_18.1-Leia","tag":"stable"},"volume":100}}{"id":998,"jsonrpc":"2.0","result":{"fullscreen":false,"skin":{"id":"skin.estuary","name":"Estuary"},"stereoscopicmode":{"label":"Deaktiviert","mode":"off"}}}{"id":"999","jsonrpc":"2.0","result":[]}
2019.04.03 15:37:19 4: KODI_Read: Decoding JSON message. Length: 159 Content: {"id":997,"jsonrpc":"2.0","result":{"muted":false,"name":"Kodi","version":{"major":18,"minor":1,"revision":"newclock5_18.1-Leia","tag":"stable"},"volume":100}}
2019.04.03 15:37:19 4: KODI_Read: Decoding JSON message. Length: 158 Content: {"id":998,"jsonrpc":"2.0","result":{"fullscreen":false,"skin":{"id":"skin.estuary","name":"Estuary"},"stereoscopicmode":{"label":"Deaktiviert","mode":"off"}}}
2019.04.03 15:37:19 4: KODI_Read: Decoding JSON message. Length: 40 Content: {"id":"999","jsonrpc":"2.0","result":[]}
2019.04.03 15:37:19 5: KODI_Read: Tail:
2019.04.03 15:37:19 5: KODI_Read: PARTIAL:
2019.04.03 15:38:04 4: KODI_Call: Sending: {"params":{"item":{"file":"plugin://plugin.audiolibrary scan.radio_de/station/2861"}},"jsonrpc":"2.0","method":"Player.Open"}
2019.04.03 15:38:04 5: SW: 7b22706172616d73223a7b226974656d223a7b2266696c65223a22706c7567696e3a2f2f706c7567696e2e617564696f6c696272617279207363616e2e726164696f5f64652f73746174696f6e2f32383631227d7d2c226a736f6e727063223a22322e30222c226d6574686f64223a22506c617965722e4f70656e227d
2019.04.03 15:38:19 4: KODI_Check
2019.04.03 15:38:19 4: KODI_CheckConnection: Connection still alive. Last data from Kodi received 60 s ago
2019.04.03 15:38:19 4: KODI_Call: Sending: {"id":1000,"method":"Application.GetProperties","jsonrpc":"2.0","params":{"properties":["volume","muted","name","version"]}}
2019.04.03 15:38:19 5: SW: 7b226964223a313030302c226d6574686f64223a224170706c69636174696f6e2e47657450726f70657274696573222c226a736f6e727063223a22322e30222c22706172616d73223a7b2270726f70657274696573223a5b22766f6c756d65222c226d75746564222c226e616d65222c2276657273696f6e225d7d7d
2019.04.03 15:38:19 4: KODI_Call: Sending: {"params":{"properties":["skin","fullscreen","stereoscopicmode"]},"jsonrpc":"2.0","id":1001,"method":"GUI.GetProperties"}
2019.04.03 15:38:19 5: SW: 7b22706172616d73223a7b2270726f70657274696573223a5b22736b696e222c2266756c6c73637265656e222c2273746572656f73636f7069636d6f6465225d7d2c226a736f6e727063223a22322e30222c226964223a313030312c226d6574686f64223a224755492e47657450726f70657274696573227d
2019.04.03 15:38:19 4: KODI_Call: Sending: {"id":"1002","method":"Player.GetActivePlayers","jsonrpc":"2.0"}
2019.04.03 15:38:19 5: SW: 7b226964223a2231303032222c226d6574686f64223a22506c617965722e476574416374697665506c6179657273222c226a736f6e727063223a22322e30227d
2019.04.03 15:38:19 4: KODI_UpdatePlayerItem
2019.04.03 15:38:19 4: KODI_UpdatePlayerItem - cancelled (disconnected or not playing)
2019.04.03 15:38:19 5: KODI_ProcessRead
2019.04.03 15:38:19 5: No PARTIAL buffer
2019.04.03 15:38:19 5: KODI_Read: Incoming data: {"id":1000,"jsonrpc":"2.0","result":{"muted":false,"name":"Kodi","version":{"major":18,"minor":1,"revision":"newclock5_18.1-Leia","tag":"stable"},"volume":100}}{"id":1001,"jsonrpc":"2.0","result":{"fullscreen":false,"skin":{"id":"skin.estuary","name":"Estuary"},"stereoscopicmode":{"label":"Deaktiviert","mode":"off"}}}{"id":"1002","jsonrpc":"2.0","result":[]}
2019.04.03 15:38:19 5: KODI_Read: Current processing buffer (PARTIAL + incoming data): {"id":1000,"jsonrpc":"2.0","result":{"muted":false,"name":"Kodi","version":{"major":18,"minor":1,"revision":"newclock5_18.1-Leia","tag":"stable"},"volume":100}}{"id":1001,"jsonrpc":"2.0","result":{"fullscreen":false,"skin":{"id":"skin.estuary","name":"Estuary"},"stereoscopicmode":{"label":"Deaktiviert","mode":"off"}}}{"id":"1002","jsonrpc":"2.0","result":[]}
2019.04.03 15:38:19 4: KODI_Read: Decoding JSON message. Length: 160 Content: {"id":1000,"jsonrpc":"2.0","result":{"muted":false,"name":"Kodi","version":{"major":18,"minor":1,"revision":"newclock5_18.1-Leia","tag":"stable"},"volume":100}}
2019.04.03 15:38:19 4: KODI_Read: Decoding JSON message. Length: 159 Content: {"id":1001,"jsonrpc":"2.0","result":{"fullscreen":false,"skin":{"id":"skin.estuary","name":"Estuary"},"stereoscopicmode":{"label":"Deaktiviert","mode":"off"}}}
2019.04.03 15:38:19 4: KODI_Read: Decoding JSON message. Length: 41 Content: {"id":"1002","jsonrpc":"2.0","result":[]}
2019.04.03 15:38:19 5: KODI_Read: Tail:
2019.04.03 15:38:19 5: KODI_Read: PARTIAL:


Danke schon mal für eure Hilfe!!!!

Gruß
Porsti
____________________________________
fhem 6.2  auf Raspberry 3b
Homematic HM-CC-RT-DN / HM-TC-IT-WM-W-EU / HM-SEC-SCo / HM-LC-SW1-PL2
SIGNALduino, KNX (Merten, MDT, Siemens, ABB)

Frank_Huber

Zur Log Analyse kann ich nicht viel sagen, aber versuche es doch mal so:

- rufe in Kodi über das Radio Plugin deinen Stream auf.
- lese in FHEM das Wiedergabemedium ab (Reading "currentMedia"
- genau den Reading Inhalt im set befehl verwenden.

Auf diesen Weg habe ich mir die Befehle gebaut.

Falls das so dann nichtgeht würde ich vermuten es hängt an deinen separate Benutzer/Passwort Angaben.
Da nimmt Kodi das wohl nicht an. Meines läuft hier auf "Standart"

vbs

Sehe da erstmal nicht viel. Keine Reaktion von Kodi (außer Screensaver deaktiviert). Kann normal sein.

Interessant wird das Kodi-Log. Davon verspreche ich mir was.