Module für XBMC

Begonnen von Dennis B., 06 Januar 2013, 22:32:24

Vorheriges Thema - Nächstes Thema

vbs

Könntest du noch ergänzen, wie du das Device eingerichtet hast und noch einen Log mit mindestens verbose 4 anhängen? Ansonsten könnte ich nur raten. Danke!

Sent from my tablet

speex

Hi sorry,

eingerichtet habe ich es wie folgt, wenn ich das auf tcp umstelle bei default passiert nichts:
define wz_Kodi XBMC 192.168.1.102:8080 http "" ""
attr wz_Kodi icon rc_TV
attr wz_Kodi updateInterval 60
attr wz_Kodi webCmd shutdown


Im log mit verbose 4 erhalte ich folgende Werte ich hoffe das sind soweit die richtigen daten:
2015.08.15 22:47:51 4: XBMC_Call: Sending: {"params":{"properties":["volume","muted","name","version"]},"jsonrpc":"2.0","id":799605,"method":"Application.GetProperties"}
2015.08.15 22:47:51 4: XBMC_Call: Sending: {"params":{"properties":["skin","fullscreen"]},"jsonrpc":"2.0","id":746884,"method":"GUI.GetProperties"}
2015.08.15 22:47:51 4: XBMC_Call: Sending: {"jsonrpc":"2.0","id":"2189","method":"Player.GetActivePlayers"}
2015.08.15 22:47:51 4: XBMC_UpdatePlayerItem
2015.08.15 22:47:51 4: XBMC_UpdatePlayerItem - cancelled (disconnected or not playing)
2015.08.15 22:50:35 4: XBMC_Call: Sending: {"params":{"properties":["volume","muted","name","version"]},"jsonrpc":"2.0","id":53906,"method":"Application.GetProperties"}
2015.08.15 22:50:35 4: XBMC_Call: Sending: {"params":{"properties":["skin","fullscreen"]},"jsonrpc":"2.0","id":848762,"method":"GUI.GetProperties"}
2015.08.15 22:50:35 4: XBMC_Call: Sending: {"jsonrpc":"2.0","id":"618515","method":"Player.GetActivePlayers"}
2015.08.15 22:50:35 4: XBMC_UpdatePlayerItem
2015.08.15 22:50:35 4: XBMC_UpdatePlayerItem - cancelled (disconnected or not playing)
2015.08.15 22:51:18 4: XBMC_Call: Sending: {"params":{"volume":40},"jsonrpc":"2.0","method":"Application.SetVolume"}


Das ist noch mal ein Log wenn ich XBMC mit tcp konfiguriere:
2015.08.15 22:56:52 1: 192.168.1.102:8080 reappeared (wz_Kodi)
2015.08.15 22:56:52 4: XBMC_Call: Sending: {"params":{"properties":["volume","muted","name","version"]},"jsonrpc":"2.0","id":771355,"method":"Application.GetProperties"}
2015.08.15 22:56:52 4: XBMC_Call: Sending: {"params":{"properties":["skin","fullscreen"]},"jsonrpc":"2.0","id":339366,"method":"GUI.GetProperties"}
2015.08.15 22:56:52 4: XBMC_Call: Sending: {"jsonrpc":"2.0","id":"628446","method":"Player.GetActivePlayers"}
2015.08.15 22:56:52 4: XBMC_UpdatePlayerItem
2015.08.15 22:56:52 4: XBMC_UpdatePlayerItem - cancelled (disconnected or not playing)
2015.08.15 22:57:01 4: XBMC_Call: Sending: {"params":{"volume":78},"jsonrpc":"2.0","method":"Application.SetVolume"}


Ich höre auf jeden fall Musik währendessen bzw. bei Kodi läuft musik...

greets

vbs

Für HTTP und TCP laufen zwei unterschiedliche Server in Kodi, also auch unterschiedliche Ports. Wenn du TCP verwendest, musst du den Port auf 9090 umstellen.

speex

Danke für den Tipp aber das habe ich natürlich auch schon getestet aber auf tcp unter 9090 gibt es keine verbindung...

vbs

Zitat von: speex am 15 August 2015, 22:58:38
Das ist noch mal ein Log wenn ich XBMC mit tcp konfiguriere:
2015.08.15 22:56:52 1: 192.168.1.102:8080 reappeared (wz_Kodi)
2015.08.15 22:56:52 4: XBMC_Call: Sending: {"params":{"properties":["volume","muted","name","version"]},"jsonrpc":"2.0","id":771355,"method":"Application.GetProperties"}
2015.08.15 22:56:52 4: XBMC_Call: Sending: {"params":{"properties":["skin","fullscreen"]},"jsonrpc":"2.0","id":339366,"method":"GUI.GetProperties"}
2015.08.15 22:56:52 4: XBMC_Call: Sending: {"jsonrpc":"2.0","id":"628446","method":"Player.GetActivePlayers"}
2015.08.15 22:56:52 4: XBMC_UpdatePlayerItem
2015.08.15 22:56:52 4: XBMC_UpdatePlayerItem - cancelled (disconnected or not playing)
2015.08.15 22:57:01 4: XBMC_Call: Sending: {"params":{"volume":78},"jsonrpc":"2.0","method":"Application.SetVolume"}

Dann ging da scheinbar irgendwas schief beim Konfigurieren des Ports (oder es ist das falsche Log). Man sieht hier in deinem Log, dass es FHEM weiterhin auf Port 8080 versucht.

speex

#515
Der call auf Port 8080 ist korrekt, da Ich wie gesagt nur über diesen Port eine Verbindung zustande bekomme.

Ich bin inzwischen auch ein wenig weitergekommen,
das System auf dem Kodi läuft ist ein Intel nuc2820 - ubuntu server 14.04 und er hört auch einfach garnicht auf den Port 9090 sondern nur auf 8080.

Also muss ich von einer Fehlkonfiguration meines Kodi Systems ausgehen (sorry für die verwirrung).

Habe auch wie im Kodi Wiki beschrieben die häckchen gesetzt damit das json-rpc aktiviert wird/ist...
http://kodi.wiki/view/JSON-RPC_API#Enabling_JSON-RPC

Edit:
Ich glaube die Fehlerquelle gefunden zu haben, es scheint so als würde port 9090 auf ipv6 hören, wenn ich einen Netstat auf dem Kodi System ausführe:
sudo netstat -anp |grep 9090
tcp6       0      0 ::1:9090                :::*                    LISTEN      1285/kodi.bin


https://github.com/goldenratio/xbmc-web-remote/issues/19

EDIT die 2.te:

Nach umfangreicher bemühung der besten suchmaschine konnte ich das problem lösen, ubuntu legt offensichtlich gerne mal standardmäsig ipv6 adressen an auch wenns deaktiviert ist. Lösen konnte ich mein Problem indem ich noch mal im grub ipv6 disabled habe wie folgt: http://forum.kodi.tv/showthread.php?tid=218006&pid=1951149#pid1951149

sudo nano /etc/default/grub
Find the line that contain "GRUB_CMDLINE_LINUX_DEFAULT":

GRUB_CMDLINE_LINUX_DEFAULT=""
Add "ipv6.disable=1" to the boot option, then save your grub file:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
Finally, update grub:

sudo update-grub


Nun funktioniert es wie gewünscht, vielen Dank dennoch für die Hilfe.

greets

Schlimbo

Hallo zusammen,

ich habe bei meinem "XBMC - Device" das Attribut event-on-change-reading gesetzt:
attr raspbmc event-on-change-reading state,type,currentAlbum,currentArtist,currentTitle,currentTrack,playStatus,3dfile

also sollten ja nur die aufgelisteten Readings ein Event auslösen.

Folgender Readings lösen bei Änderungen aber auch Events aus:
sd_video0duration
sd_audio0channels
sd_video0stereomode
sd_video0aspect
sd_video0width
sd_video0height
sd_audio0language
sd_video0codec

Hat dieses Problem sonst noch jemand? Oder gibt es hier eine andere Lösung die unerwünschten Events zu unterdrücken?

Gruß Schlimbo

TWART016

Hallo TeeVau,

Zitat von: TeeVau am 27 September 2014, 14:14:12
Ich habe es mit eventghost gelöst. Das ruft einfach per http fhem Befehle auf.
Wie hast du Eventghost konfiguriert?
Ich möchte von FHEM auf einem Raspberry Pi ein Skript auf einem Windows PC mit installierten Eventghost ausführen.
Was muss ich noch machen?


Gruß
TWART016

Joker2002

Hallo miteinander,

ich bräuchte eure Hilfe. Ich schaffe es irgendwie nicht das XBMC Modul mit meinem Plex Client zum Laufen zu bringen.
JSON-RPC habe ich installiert und dann gemäß den Wiki Angegeben folgendes noch eingestellt:

HTTP: In System/Settings/Network/Services activate Allow control of Kodi via HTTP (see Enabling the webserver) 

Die Punkte:

Python: Always enabled
TCP: In System/Settings/Network/Services activate Allow programs on this system to control Kodi for localhost access only and Allow programs on other systems to control Kodi for access from other computers as well
Kann ich nicht in Plex eingeben, da diese nicht in den Settings vorhanden sind.
Dann habe ich Plex in FHEM (neueste Version) definiert:

define htpc XBMC 192.168.178.37 tcp # 32400

Anschließend habe ich noch den compatibilityMode auf PLEX gestellt.

Das Modul verbindet sich jedoch einfach nicht mit meinem Plex Client. Ich erhalte immer die Meldung ,,diconnected" und kann wie gesagt PLEX nicht steuern.
Habt ihr vielleicht eine Idee woran es liegen könnte ?

Wäre für jede Hilfe dankbar.

Hier ist übrigens der Auszug meines Plex Moduls in FHEM:

DEF 
192.168.178.37 tcp # 32400







DeviceName

192.168.178.37:9090


Host

192.168.178.37


NAME

PLEX


NEXT_OPEN

1441134505


NR

137


PARTIAL



Port

9090


Protocol

tcp


STATE

disconnected


TYPE

XBMC

justme1968

kannst es sein das du gerade plex und xbmc/kodi durcheinander schmeisst?

die config option die du erwähnst kenne ich nur von kodi. in plex musst du das guisettings.xml file editieren. siehe z.b. hier: http://forum.fhem.de/index.php/topic,10075.msg243251.html#msg243251.

die readings die es früher auch mit plex gab gibt es aber inzwischen alle nicht mehr. siehe weiter oben im thread.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Joker2002

Hallo,

zunächst einmal danke für die schnelle Antwort. Ich habe die von Dir oben genannte Vorgehensweise auch schon vorher ausprobiert. Das hat leider auch nicht zum gewünschten Erfolg geführt. Ich habe es nichtsdestotrotz noch einmal versucht. Also die  guisettings.xml  editiert.

Der Disconnect besteht aber nach wie vor :(

Joker2002

wie es scheint, bin ich einen kleinen Schritt weiter. Ich habe jetzt mal in den PLEX Settings einen Custom Port eingestellt und diesen dann in FHEM gemäß den Angaben ebenfalls eingegeben.

Jetzt steht im XMBC Modul von FHEM schonmal:

STATE

opened


PLEX reagiert jedoch auf keine aus FHEM abgeschickten Kommandos wie "Pause" :( 

Joker2002

Hm,irgendwie bekomme ich es einfach nicht zum Laufen. Ich habe, wie oben beschrieben jetzt den Status von PLEX auf "Opend". Steuern lässt sich Plex aber nicht und ich erhalte im Logfile von FHEM immer diese Fehlermeldung:


2015.09.03 21:32:23 1: 192.168.178.37:32400 disconnected, waiting to reappear (PLEX)
2015.09.03 21:32:28 1: 192.168.178.37:32400 reappeared (PLEX)
2015.09.03 21:32:48 1: 192.168.178.37:32400 disconnected, waiting to reappear (PLEX)
2015.09.03 21:32:53 1: 192.168.178.37:32400 reappeared (PLEX)
2015.09.03 21:33:13 1: 192.168.178.37:32400 disconnected, waiting to reappear (PLEX)
2015.09.03 21:33:17 1: 192.168.178.37:32400 reappeared (PLEX)
2015.09.03 21:33:37 1: 192.168.178.37:32400 disconnected, waiting to reappear (PLEX)


Habt ihr vielleicht noch einen Tipp für mich ?

vbs

Es sieht so aus als könnte FHEM zwar auf den Port connected, jedoch wird keine Antwort empfangen.
Probier mal bitte mit putty eine Telnet-Verbindung auf den Port zu machen und einen Request händisch zu schicken. Etwa so einen hier:
{"jsonrpc":"2.0","id":4,"method":"Playlist.GetPlaylists"}

Dann solltest du eine Antwort bekommen in der Art:
{"id":4,"jsonrpc":"2.0","result":[{"playlistid":0,"type":"audio"},{"playlistid":1,"type":"video"},{"playlistid":2,"type":"picture"}]}

Wenn das funktioniert, dann ist Plex korrekt eingerichtet und du redest mit dem richtigen Port.

Joker2002

Hallo vbs,
danke für Deine Hilfestellung. In der Tat ist es so, dass ich mich mit der angegeben IP und dem Port NICHT auf den Plex Client verbinden kann, obwohl die IP die richtige meines HTPC's ist und der port Manuell auch so in Plex eingestellt wurde; wie gesagt, lasse ich den Port weg habe ich noch nicht einmal den Status "opened".

Habt ihr vielleicht noch einen Tipp für mich damit ich PLEX bei mir ins FHEM einbinden kann ? Das Commandref gibt diesbezüglich leider auch nichts her  :(