Module für XBMC

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

Vorheriges Thema - Nächstes Thema

P.A.Trick

Ich bekomme beim FHEM restart immer die folgende Warnung!

each on reference is experimental at ./FHEM/70_XBMC.pm line 661, <$fh> line 1785.


Ist nicht wirklich schlimm, aber mich nerven solche Meldungen :-)
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

vbs

Habs mal gefixt, mich hats auch schon gestört, aber hab gedacht es merkt keiner  8)

P.A.Trick

Zitat von: vbs am 22 November 2015, 19:32:34
Habs mal gefixt, mich hats auch schon gestört, aber hab gedacht es merkt keiner  8)

Hehe....Danke du bist ein Schatz!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Dersch

Zitat von: TeeVau am 20 November 2015, 14:56:28
Hi,

bei mir war das Problem, dass ich auch den Logitech Media Server auf dem selben Windows PC hatte, wo auch Kodi lief. Der Logitech Server öffnet ebenfalls einen Port 9090 für das CLI. Kodi läuft auch auf 9090 und das funktioniert natürlich nicht!

Hab den LMS auf 9091 gelegt und Kodi auf 9090 gelassen und nun funktioniert wieder alles. Kodi und LMS!

Nur habe ich keine andere Anwendung auf Port 9090 am laufen auf dem Rechner. Auch ein Ändern des ports auf einen beliebig anderen hat nichts geändert :(

P.A.Trick

Zitat von: vbs am 22 November 2015, 19:32:34
Habs mal gefixt, mich hats auch schon gestört, aber hab gedacht es merkt keiner  8)

Hm bei mir klappt es nicht!

Using a hash as a reference is deprecated at ./FHEM/70_XBMC.pm line 661, <$fh> line 1784.
each on reference is experimental at ./FHEM/70_XBMC.pm line 661, <$fh> line 1784.


Perl     : v5.20.2
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

vbs

Ja, hatte dich missverstanden. Ich dachte du wolltest eine Warning mehr und nicht eine weniger...  :P

Sorry, ist mir auch aufgefallen. Hab heute morgen schon einen neuen Versuch eingecheckt. Danke fürs melden!

P.A.Trick

Zitat von: vbs am 27 November 2015, 18:22:47
Ja, hatte dich missverstanden. Ich dachte du wolltest eine Warning mehr und nicht eine weniger...  :P

Sorry, ist mir auch aufgefallen. Hab heute morgen schon einen neuen Versuch eingecheckt. Danke fürs melden!

*gröhl* wie geil :-) You made my day! Vielen Dank ich teste morgen weiter!  8)
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

So getestet, Meldung ist weg! Vielen Dank vbs!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

hillbicks

Hi zusammen,

ich habe grade festgestellt das ein Reading dieses Moduls "thumbnail" ist. Leider wird der Pfad in dem Reading fuer mich nicht brauchbar zurueckgeliefert. Ein / im Pfad wird mit %2f encodiert, allerdings ist die korrekte Encodierung fuer ein / in URLs die %252f.

Wenn man den thumbnail nun per http aufrufen will, dann muss man in dem Link %2f durch %252f ersetzen und bekommt dann das aktuelle thumbnail angezeigt, ein Feature was ich sehr gerne fuer FTUI haette.

Waere es moeglich ein zusaetzliches Reading einzubauen, z.b. http_thumbnail und das besteht aus dem kompletten Code?

Man braeuchte dafuer:
1) Eine weitere Definition fuer den HTTP port (Standard 8080)
2) im reading thumbnail %2f mit %252f ersetzen
3) URL zusammenbauen: http://$Host:$HTTP_PORT/image/$HTTP_THUMBNAIL

Dann koennte man in den Oberflaechen fuer FHEM zu dem Titel, Laufzeit, etc auch das Cover anzeigen. Ich wuerde es auch selber machen, da muesste mir nur jemand Schuetzenhilfe leisten, ich weiss naemlich nicht wo ich da anfangen sollte.

Gruss

vbs

Ne ne, die URL-Kodierung für ein Slash '/' ist '%2f'. '%252f' wäre die doppelte Kodierung.

Davon abgesehen, tritt das bei mir so nicht auf. Müsstest mal ein konkretes Beispiel mit Logs posten, damit ich das verstehen kann.

Ansonsten wenn du Fragen zum Code hast, kannst du die auch gerne stellen.


hillbicks

#610
Ok, ich versuche es nochmal :)

Wenn ich die Weboberflaeche von KODI aufrufe und den Link vom Cover kopiere, dann sieht der folgendermassen aus:

http://192.168.0.5:8080/image/image://%252fmedia%252fnfs%252fMovies%252fZero.Dark.Thirty.2012%252fZero.Dark.Thirty.2012.tt1790885.tbn/

Der Wert von thumbnail im KODI Modul von fhem lautet hingegen:

image://%2fmedia%2fnfs%2fmovies%2fzero.dark.thirty.2012%2fzero.dark.thirty.2012.tt1790885.tbn/

Zum einen fehlt der vordere Teil mit http, host, port und /image/ UND der / fuer die Pfadangabe ist lediglich die einfach Kodierung, nicht die doppelte. Wenn ich an das thumbnail reading ein http://192.168.0.5:8080/image/ voranstelle und versuche das ueber den Browser aufzurufen, so bekomme ich kein Bild zurueck geliefert. Erst wenn ich die doppelte Kodierung anwende, wird mir im Browser auch das Bild angezeigt. Ich hoffe das war etwas klarer.

EDIT: Noch eine Ergaenzung: Was ich also machen moechte, das thumbnail reading zu duplizieren, die einfach Kodierung durch die doppelte zu ersetzen und ein http://192.168.0.5:8080/image/ voranzustellen. Wenn dieses reading dann http_thumbnail genannt wird, dann koennen ich das in einer Bedienoberflaeche fuer fhem sehr einfach einbinden und anzeigen lassen. Das soll das Ziel sein.

Bzgl. des Codes, mir ist z.b. gar nicht klar an welcher Stelle ein neuer Eintrag hinzukommen muesste, damit dieser ein "reading" von dem Modul wird, auf den dann auch andere Module zugreifen koennen. Irgendwo muss ja die html Seite  zusammengebaut werden. :)

vbs

Zitat von: hillbicks am 13 Dezember 2015, 20:33:53

Wenn ich die Weboberflaeche von KODI aufrufe und den Link vom Cover kopiere, dann sieht der folgendermassen aus:

http://192.168.0.5:8080/image/image://%252fmedia%252fnfs%252fMovies%252fZero.Dark.Thirty.2012%252fZero.Dark.Thirty.2012.tt1790885.tbn/
Glaube ich verstehe: Was du in Kodi siehst, ist ja die gleiche URI, aber eben nochmal in einen http-Link "verpackt", darum auch nochmals kodiert. Was du in FHEM siehst ist eben nur der eigentliche Inhalt. Du könntest dir als userReading ein eigenes "http_thumbnail" basteln, was die URL genau so anzeigt, wie du es brauchst. Du müsstest vermutlich nur das vorhandene Reading einmal URL-kodieren und deinen Kodi-Präfix "davor hängen.

Das müssen jedoch nicht immer Links sein, die auf Kodi zeigen. Bei mir steht zB drin:
image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f264492%2f4558744.jpg/
Also ein direkter Verweis auf thetvdb.

Zum Code:
Das Modul arbeitet da recht generisch: Normalerweise werden alle Datenfelder, die ein JSON-Nachrichten enthalten sind, 1:1 als FHEM-Reading angelegt. Du müsstest also irgendwo drauf achten, ob "thumbnail" reinkommt, und dann in dem Zuge dein eigens Reading anlegen. Aber wie gesagt: ich bin mir nicht sicher, ob die URLs immer so aussehen, wie jetzt in deinem Fall.

hillbicks

#612
Ah, ok. das klingt erstmal relativ simpel. Dann werde ich jetzt mal gucken wie ich ein solches userreadings zusammen bauen muss, das habe ich bisher noch nicht gemacht. Ich denke irgendwo im Forum/Wiki wird es da ja was geben. Das ist dann schonmal ein erster Schritt.

Danke Dir!

EDIT: Geschafft

Im KODI Modul ein userreadings Attribut mit dem folgenden Wert hinzufuegen:

http_thumbnail { my $val = (ReadingsVal("$name", "thumbnail", 0)); $val =~ s/\%2f/\%252f/g;; return "http://192.168.0.5:8080/image/".$val;; }

Anschliessend kann http_thumbnail abgefragt werden. Das funktioniert allerdings nur solange der Pfad lokal ist.

hillbicks

Ich schon wieder :)

Waere es vielleicht moeglich noch mehr Informationen von KODI ueber das Interface abzufragen? Ich waere noch sehr interessiert daran so Sachen wie Plot, Tagline, Director, Actor, jahr, Studio, etc. abfragen zu koennen.

Was muesste dafuer gemacht werden? 70_XBMC.pm anpassen nehme ich an und die zusaetzlichen Daten aus dem JSON feed abfragen? Wo werden die einzelnen Elemente dann den readings zugeordnet? Wenn mir jemand ein Beispiel geben koennte, dann wuerde ich mich auch selbst daran versuchen.

Danke schonmal!

vbs

Ich werde da bei Gelegenheit mal reinschauen. Mit etwas Glück ist es schnell gemacht.