da das xbmc modul nicht mehr besonders gut mit plex home theater zusammenarbeitet und alle anderen plex clients inklusive android und dem neuen plex media player gar nicht mehr damit arbeiten habe ich angefangen ein plex spezifisches modul zu entwickeln.
ich kann damit inzwischen alle plex server und clients im netz automatisch finden ohne irgend etwas pollen zu müssen. wenn ein player ausgeschaltet wird geht er in modul auf offline. wenn er eingeschaltet wird erscheint er wieder.
player die ich bis jetzt getestet habe sind plex home theater, plex media player, iOS, android (fire tv und tablet).
es ist möglich das abspielen zu starten, zu stoppen, lautstärke zu ändern, ...
was noch nicht geht ist automatisch bestimmte medien oder playlists zu suchen, zu listen und zu starten und ich habe noch keine meta information über das was gerade abgespielt wird. das soll aber alles noch kommen.
jetzt die eigentliche frage :) : gibt es noch andere plex anwender? wer hat interesse an so einem modul und was soll es können?
gruss
andre
edit: die erste version ist hier zu finden: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477)
Hallo Andre
Ich habe Plex mit verschiedenen Clients laufen. Derzeit ohne Fhem Anbindung.
- Plex Server auf Windows 8.1
- 1 Client Windows Phone 8.1
- 2 Client Windows 10
- 2 Client Android 4.4
- 1 Client Fire Tv Stick
- 1 Client Samsung UE48H6270
Könnte also plattformübergreifend testen wenn du möchtest.
Was genau möchtest du mit einen Fhem Modul für Plex automatisieren?
Ein Anwendungsfall für mich wäre zb. morgens eine Musik-Playlist im Badezimmer zu starten.
vg
Florian
Es gibt noch plex als distribution für raspberry pi.
Heißt glaub ich rasplex.
Plex auf meinen Samsung (65HU7590) habe ich auch.
Es gibt auch die Möglichkeit ein Apple TV per Proxy über die Trailerapp mit Plex zu verbinden.
Habe ich aber schon länger nicht mehr im Betrieb.
Gruß Robert
Hallo Andre,
ich habe auch Interesse an solch einem Modul.
Habe Rasplex und PlexApp auf nem Samsung TV und Android. PlexServer auf Ubuntu 14.04.
Könnte die ein oder andere Sache testen.
Aktuell binde ich zur Visualisierung und Steuerung der Clients die Plex-Web per Iframe ein. Das hat aber auch Nachteile.
Wenn das Modul steht, könnte man dann an eine GUI denken.
Bin auf jeden Fall gespannt, wie es hier weiter geht.
Risiko.
was ich eigentlich 'nur' wollte war play/pause events zu bekommen um das licht ein und aus zu schalten bzw. umgekehrt den film anzuhalten wenn jemand das licht an macht.
inzwischen geht: automatisches finden aller clients und server im netz, login zu myplex wenn plex home verwendet wird, blättern in der mediathek (sections,onDeck,nach jahr, nach interpret, album,...), starten eines beliebigen titels von einem beliebigen server auf einem beliebigen client (pht, pmp, iOS und android), abspielen starten, stoppen, pausieren, ...
es sollte mit jedem 'offiziellen' client funktionieren der sich auch über die aktuellen plex handy apps fernsteuern lässt.
was noch nich geht: selber playlisten erstellen/verwalten, ...
was noch kommen soll: erzeugen von fhem devices für die einzelnen clients und server (dann muss man nicht immer überall ip adressen angeben) auswerten der timeline (aktueller abspielstatus) und anzeigen in readings, cover, poster, ...
mal sehen was sich noch automatisieren lässt.
was leider (erst mal) garnicht geht ist eine nachricht von fhem als popup auf dem client anzeigen. das gibt das neue api (noch) nicht her.
gruss
andre
Helfe auch gerne, da ich Plex praktisch in täglichen Einsatz habe (2 x PMS auf 2x QNAP NAS lokal und remote, iPhone, Desktop PHS, Mac, iPad, Rasplex). Damit sollte man testen können.
Bin allerdings FHEM Anfänger und erst kürzlich stolzer Besitzer eines RPI mit FHEM als Basis für das hoffentlich bald hochfunkionale Smart Home :)
Hier mal ne blöde Anfängerfrage: wie kann ich das neue Modul installieren? :'(
nachdem ich es hier gepostet habe kannst du es ins FHEM verzeichnis kopieren.
aber erst dann :)
nächste woche denke ich.
gruss
andre
super, freue mich darauf!
so... anbei eine aller erste test version.
bitte zuerst das perl mode
IO::Socket::Multicast installieren. z.b. mit
cpan install IO::Socket::Multicast.
ohne das multicast modul werden weder server noch clients automatisch erkannt. das ist aber wichtig das das modul nicht blockierend arbeitet und komplett ohne polling auskommt. das funktioniert nur wenn sich clients und server automatisch melden. es ist zwar zum teil schon funktionalität eingebaut um server und client ip adressen in den defines anzugeben, das ist aber zumindest vorerst noch nicht gut benutzbar. eventuell kommt hier später noch mal etwas.
wie wird das ganze genutzt:
- anlegen des master devices in fhem: define <plex> plex
- ungetestet: falls plex home verwendet wird: user und password des myPlex accounts in den beiden entsprechenden attributen setzen. die werte werden intern verschleiert gespeichert und dargestellt. die klartext version bekommt man mit set <plex> showAccount zu sehen.
- das neu angelegte plex device sollte automatisch alle im netz vorhanden server und clients finden. es sollten entsprechende meldungen im log auftauchen. get <plex> servers und get <plex> clients zeigt was gefunden wurde.
- durchsuchen der media library: get <plex> ls [<server>] [<key>]
mit diesem kommando kann man sich durch alle medien hangeln. wenn mehr als ein server vorhanden ist muss dieser mit angegeben werden. ls ohne key listet die Bibliotheken auf oberster ebene. den in der linken spalte angezeigten key kann man verwenden um sich jeweils eine ebene tiefer zu gelangen.
beispiel: get <plex> ls
Plex Library
key type title
1 artist Musik
2 ...
wenn der angezeigte key nicht mit einem / anfängt sind wie in einem filesystem jeweils die bisherigen keys und der neue key mit / getrennt aneinander zu hängen.
get plex ls /1
Musik
key type title
all All Artists
albums By Album
collection By Collection
decade By Decade
folder By Folder
genre By Genre
year By Year
recentlyAdded Recently Added
search?type=9 Search Albums...
search?type=8 Search Artists...
search?type=10 Search Tracks...
je nach library stehen auf dieser ebene die unterschiedlichsten filter zur verfügung.
get plex ls /1/albums
Musik ; By Album
key type title
/library/metadata/133999/children album ...
/library/metadata/134207/children album ...
/library/metadata/168437/children album ...
/library/metadata/82906/children album ...
...
sobald ein key in der ersten spalte mit einem / anfängt kann er beim ls direkt angegeben werden: get <plex> ls /library/metadata/133999/children.
- zu bestimmten medien typen lässt sich mit get <plex> detail [<server>]<key> zusätzliche information anzeigen
- für die gefunden player wird automatisch ein fhem device angelegt. diese devices enthalten in den internals und readings informationen über den player und den aktuellen abspielt zustand. die fhem devices werden nur angelegt wenn der player aktivität meldet.
- mit set <player> mirror [<server>] <key> kann der preplay screen zu einem eintrag aufgerufen werden.
- mit set <player> play [<server>] <key> kommando können einzelne titel abgespielt werden.
es gibt eine variante des kommandos das über das master device arbeitet: set <plex> <client> play [<server>] <key>
- pause, play, stop, volume, seekTo <ms> sollten klar sein
- das ganze ist getestet mit relativ aktuellen version von plex media server, plex home theater und den iOS und android apps. der neue plex media player funktioniert im prinzip auch, hat aber selber noch ein paar probleme und verhaspelt sich manchmal.
- <server> und <client> können in allen kommandos jeweils als ip adresse, fhem device oder plex machineIdentifier angegeben werden
was noch nicht geht:
abspielen von alben oder serien. zur zeit gehen nur die medien auf unterster ebene. ich habe noch nicht verstanden wie play queues funktionieren.play listen- das modul sollte nicht auf dem gleichen rechner laufen wie einer der plex clients. sonst gibt es konflikte bei der automatischen erkennung. beim server bin ich mir hier noch nicht sicher.
was noch kommt:
- eigene filter
- suchen
- mehr und bessere readings im player device
- mehr und besser formatierte ausgaben zu einzelnen medien
- ...
gruss
andre
ps: vielleicht mag ja schon mal jemand eine wiki seite anfangen und das hier dorthin übernehmen :)
edit 02.11.2015: aufbereitete ausgabe von get servers und get clients, ausgabe von daten aus myPlex. WICHTIG: diese version geht erst mit einem HttpUtils update vom 03.11.2015
edit 05.11.2015: ein paar kleinere fehler behoben. autodetect ReusePort, multicast bug fix, broadcast eingebaut. WICHTIG: diese version geht erst mit einem HttpUtils update vom 05.11.2015
edit 06.11.2015: neues kommando
get <plex> [<server>] search <keywords> um die mediathek nach Schlüsselworten zu durchsuchen
edit 08.11.2015: neues kommando
set <player> playAlbum [<server>] <key> spielt ein komplettes album ab. neues kommando
get <plex> [<server>] playlists listet die auf dem server vorhanden playlisten auf.mehr geht mit den playlisten noch nicht. ich denke ich habe aber jetzt das prinzip verstanden. erstellen/verändern/abspielen von playlisten kommt bald.
edit 21.11.2015:
- in verbindung mit einem aktuellen fhem werden ls, search und detail kommandos asynchron im hintergrund ausgeführt und das ergebniss erst angezeigt sobald es da ist.
- in verbindung mit einer aktuellen fhemweb version werden die ergebnisse von ls, search und detail provisorisch als html aufbereitet. d.h. wenn man die kommandos aus fhemweb verwendet sind poster zu sehen. keys, alben und künstler sind links über die man sich durch die mediathek klicken kann. in der detail ansicht zu einem titel gibt es links um die Wiedergabe auf allen playern zu starten die gerade online sind.
- neue attribute
ignoredClients und
ignoredServers- neues attribut
responder: da mit gibt sich fhem als plex player aus und kann mit der plex remote app (zur zeit nur iOS) gesteuert werden. zur zeit werden die kommandos der remote hartcodiert auf einem device mit namen sonos_Esszimmer ausgeführt. d.h. fhem spielt proxy zwischen plex und sonos. in dieser version muss der sonos device name angepasst werden um es zu testen. in der nächsten version wird plex automatisch ein proxy device pro sonos player angeboten.
mit etwas handarbeit kann man die aufrufe an das sonos device auch durch beliebige andere geräte die sich extern steuern lassen und die ein per url gestreiftes mp3 file wiedergeben können ersetzen. vermutlich gibt es noch die ein oder andere stelle die probleme macht, aber prinzipiell kann man damit jedes beliebige gerät an eine plex mediathek hängen.
diese proxy devices erscheinen im netz als mehr oder weniger 'normale' plex player und werden auch vom fhem modul als solche erkannt. d.h. es wird per autocrate ein fhem device dafür angelegt.
es wären also auch solche dinge möglich:
fhem device mit play/pause/... kommandos -> fhem plex proxy -> headless kommandozeilen player auf einem rasberry pi im netz.
das einzige das sich nicht über fhem zaubern lässt wenn das eigentliche device das nicht unterstütz ist die synchrone multiroom wiedergebe. die einzelnen 'fake' plex player sind alle unabhängig voneinander.
-
get <plex> [<server>] m3u [album] und
get <plex> [<server>] pls [album] liefert für ein album eine playlist im m3u bzw. pls format die mit anderen playern (z.b. sonos) verwendet werden kann.
- diverse weitere neue set und get kommandos
edit 28.11.2015: cover bilder repariert.
edit 31.03.2016: http handling repariert
edit: 08.05.2015: das modul ist inzwischen eingecheckt und wird per update verteilt.
Super!
War problemlos zu installieren -> DANKE!
"Werde da gleich noch etwas rumspielen", aber zunächst: bei "GET ls" kommt bei mir: "unknown media type".
Als FHEM noob habe weder viel Erfahrung mit FHEM noch kenne ich das XBMC modul... Was mache ich falsch? :-[
was hast du genau eingegeben?
eigentlich nichts sondern auf GET <plex> ls geklickt...
habe es auch mit der IP des Servers probiert, aber die gleiche Meldung
so doof! -> nach dem Neustart funktioniert es! MEA CULPA!!!
Hallo,
ein kleines Feedback:
1. Ein Roku Streaming Stick wird wohl als Client erkannt, ist dann später aber nicht als device/player im plex Raum.
2. Fehlermeldungen im Log:
2015.11.02 23:39:08 2: PMS: http request (http://192.168.2.54:8324/player/timeline/subscribe?protocol=http&port=34269&commandID=95) failed: connect to to http://192.168.2.54:8324 timed out
2015.11.02 23:46:08 2: PMS: http request (http://192.168.2.43:32500/player/timeline/subscribe?protocol=http&port=34269&commandID=4) failed: read from to http://192.168.2.43:32500 timed out
2015.11.02 23:49:58 2: PMS: http request (http://192.168.2.43:32500/player/timeline/subscribe?protocol=http&port=34269&commandID=13) failed: 192.168.2.43: Connection refused
2015.11.03 00:28:17 2: PMS: http request (http://192.168.2.20:32400/resources) failed: read from to http://192.168.2.20:32400 timed out
2015.11.03 00:28:18 2: PMS: http request (http://192.168.2.20:32400/clients) failed: read from to http://192.168.2.20:32400 timed out
2015.11.03 00:34:11 2: PMS: http request (http://192.168.2.43:32500/player/timeline/subscribe?protocol=http&port=34269&commandID=11) failed: 192.168.2.43: Connection refused
Diese Fehlermeldungen erscheinen recht häufig. Weiß nicht, ob diese Bedeutung haben. Scheint sich mit sich selbst zu verbinden zu versuchen <-> ggf. weil Server & Client die selbe IP haben. 192.168.2.20 ist beispeilsweise ein Win 10 mit PMS + PHT, 192.168.2.43 das iPhone. Nur 192.168.2.54 sollte der Roku HDMI-Stick sein = eigentlich kein Server.
Hallo,
auch ein kleines Feedback.
Läuft schon mal prima.
Server und Clients werden erkannt. Es werden aber nicht alle Clients per autocreate angelegt. In meinem Fall nur ein Client. Auch nach mehrfachen Neustart nicht.
Im Log und per Abfrage mit get ist aber zu sehen, dass alle Clients erkannt werden.
Die Abfrage der Details habe ich noch nicht verstanden.
Sollte man nicht per get plex details /library/metadata/18 die Metadaten (in diesem Fall zu einem Film) abfragen können?
Auf jeden Fall schon mal ein dickes Lob und weiter so.
Risiko.
Hallo,
ich bin auch noch ganz neu seit dem Wochenende dabei. Bei mir erscheint beim versuch des define ein "ERR_CONNECTION_RESET" des Browsers der FHEM ist danach auch erst einem Dienstneustart wieder verfügbar.
Im Logfile wird leider kein Eintrag erzeugt.
An welchem Anfängerfehler scheitere ich?
wohl zu früh gefreut mit der Lösung - wäre ein "define myPlex plex" richtig oder "define myPlex plex 192.168.1.xx"
viele Grüße
Marcus
ich hier: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477) eine neue version hochgeladen. bitte morgen mal testen und mir die ausgabe von get <plex> servers und get <plex> clients zukommen lassen.
@maddhin: auf welches device hast du das get ls gemacht?
die player werden erst dann angelegt wenn sie das erste mal etwas abspielen.
die timeline urls sind die subscribe nachricht um über den playstatus informiert zu werden. jeder request an ein device wird ein mal wiederholt. dann wird der client aus der subscribe liste entfernt. ohne die subscription sendet der client keine informationen an fhem.
ich habe den zeitpunkt der subscription jetzt etwas verändert. schau mal ob es weniger meldungen sind.
zeig mal bitte die ausgabe von 'get <plex> <ip> resources' bei den devices die die timeline meldung bringen.
ist dein pms auf dem port 32400 zu erreichen?
@Risiko: die clients werden erst angelegt wenn sie eine bestimmte nachricht senden. das passiert normalerweise nur wenn sie etwas abspielen.
get <plex> details <key> sollte die details zu einem film liefern. wenn das nicht der fall ist: was steht im log?
@tenya: wo hast du welche ip angegeben? das master device solltest du ohne alles anlegen und vorher IO::Socket::Multicast installieren.
gruss
andre
Hallo Andre,
IO::Socket::Multicast habe ich installiert und auch den pi mal rebootet.
Mit "define myPlex plex" schiesse ich immer meinen fhem server ab.
Gibt es eventuell noch Abhängigkeiten? Ich habe am laufen: Homebridge, ZWave, FB_Callmonitor, Viera
EDIT
So nachdem ich dann doch mal im Anfängerforum war und das Verbose Level auf 5 gesetzt habe gibt es folgenden Log Eintrag:
2015.11.02 23:47:35 5: Loading ./FHEM/37_plex.pm
Your vendor has not defined Socket macro SO_REUSEPORT, used at /usr/lib/perl/5.14/IO/Socket/INET.pm line 193
2015.11.02 23:47:43 5: Initializing Type Library:
ich gehe jetzt aber auch erstmal schlafen.
zunächst zu dem Roku:
ein get clients gibt u.a. ein
$VAR1 = {
'title' => 'Roku Stick - 2LA54K072729',
'deviceClass' => 'stb',
'protocolCapabilities' => 'timeline,playback,navigation,playqueues',
'name' => 'Roku Stick - 2LA54K072729',
'port' => '8324',
'platform' => 'Roku',
'machineIdentifier' => 'Plex2LA54K072729',
'protocolVersion' => '1',
'host' => '192.168.2.54',
'address' => '192.168.2.54',
'online' => 0,
'protocol' => 'plex',
'product' => 'Plex for Roku',
'platformVersion' => '6.2 build 6005',
'version' => '4.0.5'
};
Aber der client wird nicht angelegt oder angezeigt, auch nicht nach Nutzung / play.
Mehr später zu den anderen Punkten.
Zitat von: justme1968 am 02 November 2015, 22:51:35
@Risiko: die clients werden erst angelegt wenn sie eine bestimmte nachricht senden. das passiert normalerweise nur wenn sie etwas abspielen.
get <plex> details <key> sollte die details zu einem film liefern. wenn das nicht der fall ist: was steht im log?
gruss
andre
Hallo Andre,
das RasPlex wird nicht per autocreate angelegt, auch wenn ich auf dem Client was abspiele. Evtl. sendet der Client die Nachricht nicht, habe ich nicht geprüft.
Habe den Client über den machineIdentifier manuell angelegt und es funktioniert.
Die Abfrage der details geht leider nicht. Im Log (Level 5) steht nichts, da der Befehl nicht ausgeführt wird
Unknown argument details, choose one of clients servers ls sessions details onDeck
Kleine Warnung:
PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/37_plex.pm line 673.
Update der Client-Readings:
Diese werden nur aktualisiert, wenn manuell mann ein get <client> timeline ausführt.
Die Änderungen (play, pause, etc.) scheinen aber erkannt zu werden.
Logeintrag bspw.
Plex:timelineListener: refreshing timeline subscriptions
Plex: requesting http://192.168.178.26:3005/player/timeline/subscribe?protocol=http&port=56736&commandID=52
Plex:timelineListener: refreshing timeline subscriptions
Plex: requesting http://192.168.178.26:3005/player/timeline/subscribe?protocol=http&port=56736&commandID=56
Risiko
@tenya: was ist denn das für eine platform? das geht tief im socket modul schief. bitte ändere mal im modul ReusePort=>1 auf ReusePort=>0. kommt mehrfach vor.
@maddhin: timeline ist da. geht ein get <player> timeline? bitte setz mal verbose 5 und schau ob es im log fehlermeldungen gibt.
gibt es im log eine discovered: meldung wenn der player online kommt?
@Risiko: hast du die myPlex zugangsdaten im master device angegeben? was gibt ein get clients?
gibt es im log eine discovered: meldung wenn der player online kommt?
es muss detail heissen nicht details :(
gruss
andre
@justme - ein RaspberryPi letztes Wochenende frisch mit FHEM in Betrieb genommen. Ich teste es heute abend.
Vielen Dank auch für deine Mühe :-)
noch etwas: wenn ein player nicht automatisch als online erkannt wird bitte mal ein set <plex> online <player> probieren.
gruss
andre
Zitat von: justme1968 am 03 November 2015, 09:12:07
@maddhin: timeline ist da. geht ein get <player> timeline? bitte setz mal verbose 5 und schau ob es im log fehlermeldungen gibt.
gibt es im log eine discovered: meldung wenn der player online kommt?
Ein discovered habe ich nicht direkt gesehen. Aber vielleicht hilft folgendes weiter:
2015.11.03 22:35:05 5: PMS:timelineListener: timeline sender 192.168.2.54 connected to 50893
2015.11.03 22:35:05 5: PMS:timelineListener:50893: close
2015.11.03 22:35:05 4: http://192.168.2.54:8324/player/timeline/subscribe?protocol=http&port=59339&commandID=3: HTTP response code 200
2015.11.03 22:35:05 4: HttpUtils http://192.168.2.54:8324/player/timeline/subscribe?protocol=http&port=59339&commandID=3: Got data, length: 0
2015.11.03 22:35:05 4: HttpUtils http://192.168.2.54:8324/player/timeline/subscribe?protocol=http&port=59339&commandID=3: Zero length data, header follows:
2015.11.03 22:35:05 4: Date: Tue, 3 NOV 2015 14:35:4 GMT
2015.11.03 22:35:05 4: Server: Plex
2015.11.03 22:35:05 4: Connection: close
2015.11.03 22:35:05 4: Content-Length: 0
2015.11.03 22:35:05 4: Content-Type: text/html
2015.11.03 22:35:05 4: Accept-Ranges: bytes
2015.11.03 22:35:05 5: PMS: received
2015.11.03 22:35:06 5: PMS:timelineListener: timeline sender 192.168.2.54 connected to 50894
2015.11.03 22:35:06 5: PMS:timelineListener:50894: close
2015.11.03 22:35:06 5: PMS: from: 192.168.2.20
2015.11.03 22:35:06 5: PMS: M-SEARCH * HTTP/1.1
2015.11.03 22:35:06 4: FHEMWEB:192.168.2.20:64316 POST /fhem?detail=PMS&dev.getPMS=PMS&cmd.getPMS=get&arg.getPMS=clients&val.getPMS=&XHR=1&addLinks=1; BUFLEN:0
2015.11.03 22:35:06 5: Cmd: >get PMS clients<
2015.11.03 22:35:06 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/37_plex.pm line 656.
2015.11.03 22:35:06 4: name: /fhem?detail=PMS&dev.getPMS=PMS&cmd.getPMS=get&arg.getPMS=clients&val.getPMS=&XHR=1&addLinks=1 / RL:183 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.11.03 22:35:07 5: PMS:timelineListener: timeline sender 192.168.2.54 connected to 50895
2015.11.03 22:35:07 5: PMS:timelineListener:50895: close
2015.11.03 22:35:08 5: PMS:timelineListener: timeline sender 192.168.2.54 connected to 50896
2015.11.03 22:35:08 5: PMS:timelineListener:50896: close
2015.11.03 22:35:09 5: PMS:timelineListener: timeline sender 192.168.2.54 connected to 50897
2015.11.03 22:35:09 5: PMS:timelineListener:50897: close
2015.11.03 22:35:10 5: PMS:timelineListener: timeline sender 192.168.2.54 connected to 50898
2015.11.03 22:35:10 5: PMS:timelineListener:50898: close
2015.11.03 22:35:10 5: PMS: from: 192.168.2.30
2015.11.03 22:35:10 5: PMS: M-SEARCH * HTTP/1.1
sowie
<Server name="PrecisionM4500" host="192.168.2.20" address="192.168.2.20" port="3005" machineIdentifier="fc921028-4da5-489d-bbe0-671e8c5a7895" version="1.4.1.469-47a90f01" protocol="plex" product="Plex Home Theater" deviceClass="HTPC" protocolVersion="1" protocolCapabilities="navigation,playback,timeline,mirror,playqueues" />
<Server name="Roku Stick - 2LA54K072729" host="192.168.2.54" address="192.168.2.54" port="8324" machineIdentifier="Plex2LA54K072729" version="4.0.5" protocol="plex" product="Plex for Roku" deviceClass="stb" protocolVersion="1" protocolCapabilities="timeline,playback,navigation,playqueues" />
</MediaContainer>
2015.11.03 22:35:01 5: Triggering fc9210284da5489dbbe0671e8c5a7895 (1 changes)
2015.11.03 22:35:01 5: Notify loop for fc9210284da5489dbbe0671e8c5a7895 presence: present
2015.11.03 22:35:01 3: PMS: client discovered: 192.168.2.54
2015.11.03 22:35:01 4: PMS: requesting http://192.168.2.54:8324/resources
2015.11.03 22:35:01 4: HttpUtils url=http://192.168.2.54:8324/resources
2015.11.03 22:35:01 4: http://192.168.2.30:32400/clients: HTTP response code 200
2015.11.03 22:35:01 4: HttpUtils http://192.168.2.30:32400/clients: Got data, length: 703
2015.11.03 22:35:01 5: PMS: received <?xml version="1.0" encoding="UTF-8"?>
<MediaContainer size="2">
<Server name="PrecisionM4500" host="192.168.2.20" address="192.168.2.20" port="3005" machineIdentifier="fc921028-4da5-489d-bbe0-671e8c5a7895" version="1.4.1.469-47a90f01" protocol="plex" product="Plex Home Theater" deviceClass="HTPC" protocolVersion="1" protocolCapabilities="navigation,playback,timeline,mirror,playqueues" />
<Server name="Roku Stick - 2LA54K072729" host="192.168.2.54" address="192.168.2.54" port="8324" machineIdentifier="Plex2LA54K072729" version="4.0.5" protocol="plex" product="Plex for Roku" deviceClass="stb" protocolVersion="1" protocolCapabilities="timeline,playback,navigation,playqueues" />
</MediaContainer>
2015.11.03 22:35:01 4: http://192.168.2.54:8324/resources: HTTP response code 200
2015.11.03 22:35:01 4: HttpUtils http://192.168.2.54:8324/resources: Got data, length: 304
2015.11.03 22:35:01 5: PMS: received <MediaContainer><Player platformVersion="6.2 build 6005" version="4.0.5" protocolVersion="1" machineIdentifier="Plex2LA54K072729" protocolCapabilities="timeline,playback,navigation,playqueues" deviceClass="stb" title="Roku Stick - 2LA54K072729" platform="Roku" product="Plex for Roku" /></MediaContainer>
2015.11.03 22:35:01 4: PMS:timelineListener: adding timeline subscription for 192.168.2.54
2015.11.03 22:35:01 4: PMS: requesting http://192.168.2.54:8324/player/timeline/subscribe?protocol=http&port=59339&commandID=1
2015.11.03 22:35:01 4: HttpUtils url=http://192.168.2.54:8324/player/timeline/subscribe?protocol=http&port=59339&commandID=1
2015.11.03 22:35:01 5: PMS: from: 192.168.2.20
2015.11.03 22:35:01 5: PMS: M-SEARCH * HTTP/1.1
2015.11.03 22:35:01 5: PMS:timelineListener: timeline sender 192.168.2.54 connected to 50888
2015.11.03 22:35:01 5: PMS:timelineListener:50888: close
2015.11.03 22:35:01 4: http://192.168.2.54:8324/player/timeline/subscribe?protocol=http&port=59339&commandID=1: HTTP response code 200
2015.11.03 22:35:01 4: HttpUtils http://192.168.2.54:8324/player/timeline/subscribe?protocol=http&port=59339&commandID=1: Got data, length: 0
2015.11.03 22:35:01 4: HttpUtils http://192.168.2.54:8324/player/timeline/subscribe?protocol=http&port=59339&commandID=1: Zero length data, header follows:
2015.11.03 22:35:01 4: Date: Tue, 3 NOV 2015 14:35:0 GMT
2015.11.03 22:35:01 4: Server: Plex
2015.11.03 22:35:01 4: Connection: close
2015.11.03 22:35:01 4: Content-Length: 0
2015.11.03 22:35:01 4: Content-Type: text/html
2015.11.03 22:35:01 4: Accept-Ranges: bytes
2015.11.03 22:35:01 5: PMS: received
2015.11.03 22:35:02 5: PMS:timelineListener: timeline sender 192.168.2.54 connected to 50889
2015.11.03 22:35:02 5: PMS:timelineListener:50889: close
2015.11.03 22:35:03 5: PMS:timelineListener: timeline sender 192.168.2.54 connected to 50890
2015.11.03 22:35:03 5: PMS:timelineListener:50890: close
2015.11.03 22:35:04 5: PMS:timelineListener: timeline sender 192.168.2.54 connected to 50891
2015.11.03 22:35:04 5: PMS:timelineListener:50891: close
2015.11.03 22:35:04 4: http://192.168.2.20:3005/resources: HTTP response code 200
2015.11.03 22:35:04 4: HttpUtils http://192.168.2.20:3005/resources: Got data, length: 373
2015.11.03 22:35:04 5: PMS: received <?xml version="1.0" encoding="utf-8" ?>
Der Roku Stick scheint also soweit zu funkionieren, aber er wird halt nicht erstellt.
Was mit aufgefallen ist, dass der machineIdentifier beim Stick zu fehlen scheint. ein get clients gibt folgendes:
from discovery:
ip updatedAt name machineIdentifier
192.168.2.54 2015-11-03 22:35:01 Roku Stick - 2LA54K072729
192.168.2.20 2015-11-03 22:35:04 PrecisionM4500 fc921028-4da5-489d-bbe0-671e8c5a7895
get <player> timeline get nicht weil der device nicht erstellt/angezeigt wird. Hoffe das hilft.
Zitat von: justme1968 am 02 November 2015, 22:51:35
zeig mal bitte die ausgabe von 'get <plex> <ip> resources' bei den devices die die timeline meldung bringen.
ist dein pms auf dem port 32400 zu erreichen?
vom Roku
$VAR1 = {
'Server' => [],
'Player' => [
{
'title' => 'Roku Stick - 2LA54K072729',
'machineIdentifier' => 'Plex2LA54K072729',
'port' => '8324',
'protocolCapabilities' => 'timeline,playback,navigation,playqueues',
'deviceClass' => 'stb',
'product' => 'Plex for Roku',
'platformVersion' => '6.2 build 6005',
'version' => '4.0.5',
'protocolVersion' => '1',
'platform' => 'Roku'
}
]
};
Ports sollten intern alle 32400 sein. Der 192.168.2.30 hat extern 32402 (Portfreigabe 32402 -> 32400) . Aber das sollte nicht relevant sein.
Mit PHT scheint alles es zu funktionieren. Da kommt mehr "timeline" info wie key, location, etc.
der stick scheint sich zu connecten aber schickt keine daten. sehr seltsam.
wenn es kein player device gibt kannst du get <pms> <ip> timeline verwenden.
kannst du mir das ding mal ausliehen? das wäre vermutlich das aller einfachste.
gruss
andre
das get <pms> <ip> timeline bekomme ich nicht hin. Ich gebe get PMS 192.168.2.54 timeline ein -> Unknown argument 192.168.2.54, choose one of clients servers
ggf. hilft das, das kam als ich den Roku nach längerer Pause wieder benutzt habe
2015.11.04 00:18:13 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/37_plex.pm line 1384.
2015.11.04 00:18:48 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/37_plex.pm line 1078.
Generell ist mir der Roku nicht so wichtig, ich habe mir nur darauf konzentriert, weil der in Europa wohl eher selten ist. In den USA ist der allerdings ziemlich populär. Ausleihen ist schwierig, bin höchstwahrscheinlich ~8000km gen Osten von Dir entfernt:)
Von mir aus ist es kein Problem sich erstmal auf Grundlegendes zu konzentrieren, als mit dem Roku Zeit zu verlieren. Aber ggf. hilft die Sache mit dem Roku generelle Dinge zu finden/erklären.
Nebenbei und wahrscheinlich ne Anfängerfrage: wie kann ich den Status abfragen - z.B. "spielt Video/Musik" ab oder ist anwesend etc?
ok. das ausleihen wird wirklich umständlich :)
laut plex sollte es mit dem roku stick genau so gehen wir mit allen anderen playern.
kannst du ein mal eine verbindung zwischen handy app im remote modus und dem stick per wireshark mitschneiden?
app starten, auf remote umschalten einen film wählen und abspielen. dann pause und stop.
der ganze status steht in readings sobald das mit der timeline funktioniert.
gruss
andre
Das Wireshark werde ich versuchen - wird aber etwas dauern bis ich das zum Laufen bekommen habe. Frühestens morgen.
Von App auf Roku geht im Moment nicht - da gibt es wohl ein Plex-internes Problem. Vielleicht liegt das Ganze dann auch an Plex per se?
Mit Status meinte ich eher wie ich den Status in einem notify nutzen kann -> wenn PHT etwas (bestimmtes) abspielt, mache das Licht aus, etc. Das wäre super.
Gesendet von iPhone mit Tapatalk
Zitat von: justme1968 am 03 November 2015, 09:12:07
@tenya: was ist denn das für eine platform? das geht tief im socket modul schief. bitte ändere mal im modul ReusePort=>1 auf ReusePort=>0. kommt mehrfach vor.
gruss
andre
danke das hat jetzt erstmal funktioniert. Ich dachte erst es liegt an einem alten Kernel aber das Raspian ist auf 4.1.
Mir kommt es primär auch auf Play/Pause Funktion an das hat jetzt am FireTV funktioniert. Den Rasplex muss ich noch manuell bekannt machen.
Demnächst wird noch ein AppleTV 4 als Player einziehen - die App wurde ja nun veröffentlicht.
@maddhin: ich habe vielleicht eine idee woran es liegt wenn die subscription nicht geht. ohne den machineIdentifier im request kann es sein das der client das ganze ignoriert. ich verstehe aber nicht warum der machineIdentifier nicht da ist. er taucht an allen möglichen stellen auf. kannst du bitte mal ein list auf das pms device machen?
den status bekommst du ganz normal wie sonst auch in fhem über ein notify.
@tenya: ich habe inzwischen eingebaut das das vorhanden sein von ReusePort automatisch erkannt wird.
gruss
andre
Hallo Andre,
anbei das list. Habe einige Werte, die mir sensibel erschienen (PW, etc) geändert.
Internals:
HAS_IO::Socket::Multicast 1
NAME PMS
NR 65
NTFY_ORDER 50-PMS
STATE ???
TYPE plex
commandID 25
token Zsxxxxxxx7t
Clients:
192.168.2.20:
address 192.168.2.20
contentType plex/media-server
host e3f9a4d771bf4a4daafbxxxxxxxxx.plex.direct
name PrecisionM4500
online 1
port 32400
resourceIdentifier 53cdeff0c090xxxxxxxxxxxxxxxx84d4ea9
updatedAt 1446630703.26401
version 0.9.12.16.1509-8e31408
192.168.2.54:
address 192.168.2.54
deviceClass stb
host 192.168.2.54
machineIdentifier Plex2LA54K072729
name Roku Stick - 2LA54K072729
online 1
platform Roku
platformVersion 6.2 build 6005
port 8324
product Plex for Roku
protocol plex
protocolCapabilities timeline,playback,navigation,playqueues
protocolVersion 1
title Roku Stick - 2LA54K072729
updatedAt 1446640290.45996
version 4.0.5
Helper:
Discoverclients:
FD 19
NAME PMS:clientDiscovery
NR 73
PNAME PMS
PORT 32412
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
interval 10
Phash:
Discoverclients2:
FD 20
NAME PMS:clientDiscovery2
NR 74
PNAME PMS
PORT 32413
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
Phash:
Discoverclients3:
FD 21
NAME PMS:clientDiscovery3
NR 75
PNAME PMS
PORT 32415
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
Phash:
Discoverserver:
FD 18
NAME PMS:serverDiscovery
NR 72
PNAME PMS
PORT 32414
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
interval 10
Phash:
Timelinelistener:
CONNECTS 25
FD 22
NAME PMS:timelineListener
NR 76
PNAME PMS
PORT 45971
STATE accepting
TEMPORARY 1
TYPE plex
interval 30
Connections:
Phash:
Subscriptions:
192.168.2.54 192.168.2.54
Myplex-devices:
publicAddress xxx.xxx.xxx.155
Device:
HASH(0xxxxx8)
HASH(0x1xxxxxx18)
HASH(0x1fxxx)
HASH(0x1exxxx)
HASH(0x1xxxx8)
HASH(0x1fxxx40)
HASH(0x1fxxxx88)
HASH(0x2xx50)
HASH(0x1xxxfaf8)
HASH(0x1f47xxxx)
HASH(0x1f47dc8)
[+ weitere HASH Einträge]
Myplex-servers:
friendlyName myPlex
identifier com.plexapp.plugins.myplex
machineIdentifier 6bcc2dccbxxxxxxxxxxx7ac8546
size 1
Server:
HASH(0x2xxxxx)
Servers:
192.168.2.20:
address 192.168.2.20
contentType plex/media-server
host e3f9a4xxxxxxxxxxxxx.plex.direct
name PrecisionM4500
online 1
port 32400
resourceIdentifier 53cdeff0c09xxxxxx511384d4ea9
updatedAt 1446641008.99098
version 0.9.12.16.1509-8e31408
192.168.2.30:
address 192.168.2.30
contentType plex/media-server
host dc6xxxxxxxxx9ee929e5b.plex.direct
name NASMT
online 1
port 32400
resourceIdentifier 75exxxxxxxxxxxxx420421c0a2fb13b
updatedAt 1446641008.93711
version 0.9.12.16.1509-8e31408
Attributes:
password crypt:xxxxxxxxxxxxxxxxx
room plex
user crypt:xxxxxxxxxxxxxxxx
Zitat von: justme1968 am 03 November 2015, 09:12:07
@Risiko: hast du die myPlex zugangsdaten im master device angegeben? was gibt ein get clients?
gibt es im log eine discovered: meldung wenn der player online kommt?
Nein habe keine myPlex Daten angegeben.
Ja es gibt die Meldung:
Plex: client discovered: 192.168.178.26
Ein get clients liefert:
$VAR1 = {
'resourceIdentifier' => 'd53f831b-9565-46cf-a4c7-b32bc9035106',
'platform' => 'Linux',
'machineIdentifier' => 'd53f831b-9565-46cf-a4c7-b32bc9035106',
'host' => '192.168.178.26',
'name' => 'RasPlex',
'contentType' => 'plex/media-player',
'address' => '192.168.178.26',
'version' => '0.7.0',
'online' => 1,
'platformVersion' => ' (#1 Wed Jul 8 19:28:36 2015)',
'product' => 'plexhometheater',
'protocolCapabilities' => 'navigation,playback,timeline,mirror,playqueues',
'port' => '3005',
'deviceClass' => 'HTPC',
'protocol' => 'plex',
'title' => 'RasPlex',
'protocolVersion' => '1'
};
Das mit dem autocreate ist mir nicht so wichtig, da es mit dem manuellem Anlegen funktioniert.
Zitat von: justme1968 am 03 November 2015, 09:12:07
es muss detail heissen nicht details :(
Ok. In der Dropdown-Box von FHEMWEB und der Fehlermeldung steht details.
Was ist nun mit der Aktualisierung der Readings? Diese werden nicht automatisch aktualisiert. Auf diese Frage bist du leider nicht eingegangen. :-[
Gibt es schon eine Möglichkeit an die Zusatzinformationen wie Coverbild, etc zu kommen. In detail ist das nicht mit dabei?
Vielen Dank und weiter so.
Ich habe gestern etwas "rumgespielt" und beispielsweise das Licht auszuschalten wenn ein Player etwas abspielt.
Zumindest in meinem Setup funkioniert das noch nicht richtig. Mal wird e.g. das iPhone & der Status sofort erkannt, mal bleibt das iPhone komplett 'disappeared' selbst nach FHEM Neustart und manuellem 'discover'.
Mit PHT (habe die Userdaten hinterlegt) scheint das besser zu funktioneren, aber auch nicht richtig, so wird beispielsweise der Player erkannt aber der Status bleibt bzw. geht auf 'pause' obwohl ein Video abgespielt wird.
Roku, wie erwähnt.
Das ist jetzt ein eher unspezifischer 'es geht nicht' Thread aber ich wollte es erwähnen. Sobald ich hier ein Muster erkenne, werde ich es melden.
Im Moment habe ich die Vermutung, dass das Modul zwar funktioniert, wenn sich Player 'neu' (beim Module und PMS) anmelden und dann etwas abspielen, aber das Modul ein Problem hat wenn es 'erst später' d.h. wenn z.B. Player schon spielen gestartet wird. In dem 'Player schon gestartet und das Modul kommt hinzu' -Modus scheint irgendetwas zu hängen/blockieren und diese Status halten sich recht hartnäckig. Mein iPhone war 'disappeared' über 3-4 Neustarts bis es dann 'plötzlich' wieder funkioniert hat.
Wenn das nur bei mir so ist, sind das vielleicht nur Erscheinungen, die nur kurz nach dem Starten von FHEM auftauchen und nach einer gewissen Zeit verschwinden. Ggf. liegt dies an einem Abfrageintervall oder an welchem Server sich der device anmeldet (habe im Netzwerk 2 Server, einer permanent/NAS und einer temp via Win10).
also: es gibt zwei dinge die auf jeden fall funktionieren müssen dammit das modul wie vorgesehen funktioniert:
- die player müssen automatisch erkannt werden. ich habe einen kleinen fix eingebaut der das für pmp und iOS verbessern sollte. das geschieht durch udp multicast über die gruppe 239.0.0.250. ich habe inzwischen rausgefunden das sie die roku player scheinbar probleme mit multicast haben und statt dessen broadcast auf die ...255 des lokalen netzes verwenden. hier würde wireshark helfen.
- die subscription für die timeline muss funktionieren. darüber kommt der aktuelle status des players. das geht nur wenn ich den machineIdentifier habe. den habe ich normalerweise nur wenn die erkennung geht. wenn die subscription erfolgreich ist gibt es readings zum aktuellen titel inklusive cover, volume und abspielstatus.
bei mir funktioniert beides absolut zuverlässig egal wie oft ich welchen player starte oder stoppe. das einzige problem das ich bei mir sehe ist das ein plex server der nachträglich ins netz komme noch als client erkannt wird. wenn der server läuft bevor das fhem modul gestartet wird passt alles. da bin ich noch dran. pht wird sofort erkannt da es sich selber meldet, die anderen player inklusive iOS und android app werden spätestens nach 10 sekunden erkannt da zur zeit die multicast nachricht zum suchen nur alle 10 sekunden gesendet wird. mit verbose 4 oder 5 sollte man das auch im log sehen.
für das manuelle abfragen von zusatzinformation bin ich noch am überlegen wie das am besten passieren kann. zur zeit ist das die stelle an der noch blockierend gefragt wird um die antwort auch anzuzeigen.
ich habe hier: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477) ein kleines update hoch geladen.
gruss
andre
Danke, Andre! Ich muss das nochmal testen aber es kann gut sein, dass das das 2. Server Problem ist.
Gesendet von iPhone mit Tapatalk
bitte testet mal die beiden folgenden kleinen perl programme:
jeweils in ein file schreiben und mit perl <filename> starten. es müsste dann von jedem gerade erreichbaren player eine antwort kommen. nach ein paar sekunden kann man das programm dann abbrechen. wenn mit der broadcast version eine antwort kommt bitte auch mal die 255.255.255.255 in die broadcast adresse eures nettes ändern. meist x.y.z.255.
vor allem beim roch stick bin ich gespannt ob und auf welche der beiden varianten eine antwort kommt.
gruss
andre
broadcast:
#!/usr/bin/perl
use strict;
use warnings;
use IO::Socket::INET;
$| = 1;
my $socket = new IO::Socket::INET ( Proto => 'udp', Broadcast => 1, ) or die "ERROR in Socket Creation : $!\n";
my $hispaddr = sockaddr_in(32412, inet_aton('255.255.255.255'));
print "broadcast:\n";
$socket->send("M-SEARCH * HTTP/1.1", 0, $hispaddr) or die "ERROR: send failed : $1\n";
while( 1 ) {
my ($datagram,$flags);
#$flags = MSG_DONTWAIT;
$socket->recv($datagram,1024,$flags);
print "Got message from ", $socket->peerhost, ":", $socket->peerport, ", flags ",$flags || "none",": $datagram\n";
}
multicast:
#!/usr/bin/perl -w
use strict;
use warnings;
use IO::Socket::Multicast;
$|++;
my $message = IO::Socket::Multicast->new(Proto => 'udp', Timeout => 5)
or die "Can't make UDP socket: $@";
#$message->mcast_add('239.0.0.250') || die "Couldn't set group: $!\n";
print "multicast:\n";
$message->mcast_send("M-SEARCH * HTTP/1.1", '239.0.0.250:32412');
while( 1 ) {
my ($datagram,$flags);
#$flags = MSG_DONTWAIT;
$message->recv($datagram,1024,$flags);
print "Got message from ", $message->peerhost, ":", $message->peerport, ", flags ",$flags || "none",": $datagram\n";
}
ich habe jetzt ins modul zusätzlich zum multicast auch noch broadcast eingebaut da ich gemerkt habe das die erkennung des iOS players per multicast nur von einem mac aus zuverlässig funktioniert hat. von einem linux rechner aus ging es nur mit broadcast.
vielleicht löst das auch das problem den roku stick (und den rasplex player) zu erkennen.
@Risiko: das autocreate an sich ist zwar nicht wichtig, aber wenn das automatische erkennen eines players (das eben auch indirekt zum autocreate verwendet wird) nicht funktioniert dann funktioniert auch das subscribe für die timeline nicht und die readings werden nicht aktualisiert.
gruss
andre
Ok. Danke für die Infos.
Werde morgen die neue Version testen
Bekomme jetzt die Fehlermeldung:
use of uninitialized value in subroutine entry at ./FHEM/37_plex.pm line 100.
Bad arg length for Socket::inet_ntoa, length is 0, should be 4 at ./FHEM/37_plex.pm line 100
und FHEM stürzt ab.
es gibt hier: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477) ein kleines update. neu ist das search kommando für eine freitext suche in der mediathek.
@Risiko: du kannst die zeile erst mal komplett auskommentieren. die wird intern noch nicht weiter benutzt.
gruss
andre
Hallo andre,
habe die letzte Version getestet. Leider kein Unterschied betreffs dem Rasplex Client.
Das search funktioniert.
Anbei ein list.
Was könnte ich dir noch liefern\beitragen?
bitte nimm mal die beiden kleinen test programme oben und schau ob sie was ausgeben. wenn da nichts kommt würde es helfen wenn du per wireshark mal mitschneiden kannst ob und wie die handy app den player findet.
geht es den player per Hand auf online zu schalten wie oben beschrieben?
gruss
andre
Hallo Andre,
ich hab zwar jetzt nicht die zeit und die muse mich mit solchen konstrukten auseinander zu setzen, frage mich aber ob du Sonos und Plex verknüpft hast...
Zitat von: justme1968 am 07 November 2015, 12:06:07
bitte nimm mal die beiden kleinen test programme oben und schau ob sie was ausgeben. wenn da nichts kommt würde es helfen wenn du per wireshark mal mitschneiden kannst ob und wie die handy app den player findet.
Hallo.
Bekomme bei beiden (multicast und broadcast) jeweils genau eine Antwort.
Got message from 192.168.178.26:32412, flags none: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: d53f831b-9565-46cf-a4c7-b32bc903xxxxx
Device-Class: HTPC
Name: RasPlex
Port: 3005
Product: plexhometheater
Protocol: plex
Protocol-Capabilities: navigation,playback,timeline,mirror,playqueues
Protocol-Version: 1
Version: 0.7.0
Bei broadcast musste ich allerdings die IP auf mein Netz anpassen. Mit 255.255.255.255 ging es nicht.
Zitat von: justme1968 am 07 November 2015, 12:06:07
geht es den player per Hand auf online zu schalten wie oben beschrieben?
Ja scheint zu gehen.
Clients:
192.168.178.26:
address 192.168.178.26
contentType plex/media-player
deviceClass HTPC
host 192.168.178.26
machineIdentifier d53f831b-9565-46cf-a4c7-b32bc9035xxx
name RasPlex
online 1
platform Linux
platformVersion (#1 Wed Jul 8 19:28:36 2015)
port 3005
product plexhometheater
protocol plex
protocolCapabilities navigation,playback,timeline,mirror,playqueues
protocolVersion 1
resourceIdentifier d53f831b-9565-46cf-a4c7-b32bc90xxxx
title RasPlex
updatedAt 1446915297.61626
version 0.7.0
Der Client selber (manuell angelegt nicht per autocreate) ist aber disappeared
DEF d53f831b-9565-46cf-a4c7-b32bc9035106
NAME RasPlex
NR 17
NTFY_ORDER 50-RasPlex
STATE disappeared
TYPE plex
deviceClass HTPC
hostname kvmhost
id 8673fc435843d259eb4d4d88d6exxxx
machineIdentifier d53f831b-9565-46cf-a4c7-b32bc903xxxx
platform Linux
platformVersion (#1 Wed Jul 8 19:28:36 2015)
product plexhometheater
protocolCapabilities navigation,playback,timeline,mirror,playqueues
version 0.7.0
Readings:
2015-11-05 18:30:18 presence present
2015-11-05 18:30:11 state disappeared
Erst wenn ich manuell die timeline abfrage, wird auch der state passend geändert.
Werde mir wohl doch mir mal wireshark ansehen müssen, oder hat du noch eine Idee?
@der-Lolo: nein. das ist auf plex seite leider (noch?) nicht vorgesehen. plex und sonos greifen aber auf das gleiche filesystem zu.
aber: wenn das fhem modul für plex so weit ist sollte es möglich sein die urls zum streamen einzelner titel abzufragen und dann über das sonos modul abspielen zu lassen. damit würde man dann um das 65000 titel limit herum kommen. der plex server sollte dabei auch in der Lage sein titel im falschen format zu remuxen oder zu transponieren.
@Risiko: der player wird erkannt. nur die subscription schein nicht zu funktionieren. ich installiere mir nächste woche mal rasplex und schaue woran es liegt. ich vermute es ist irgendeine dumme kleinigkeit die in der url oder dem header fehlt. alle anderen clients gehen ja schliesslich auch...
ansonsten habe ich hier: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477) ein kleines update hochgeladen. es gibt ein neues kommando playAlbum um ein komplettes album abzuspielen. da ich jetzt verstanden habe wie playlists und playqueues funktionieren kommt hier demnächst mehr. ich weiss inzwischen auch wie man die library nach allen möglichen kriterien filtern kann. auch hierzu demnächst mehr.
das reading für das cover bild zeigt zur zeit noch auf das umskalierte bild aus der mediathek. der plex server kann die bilder aber direkt live skalieren und in einer besseren größe zurück geben. das bauche ich noch ein dann kann man die verkleinerten bilder direkt im fhem frontend verwenden.
gruss
andre
kurzer zwischenstand:
- ich habe gerade einen fhem patch in arbeit mit dem auch get kommandos asynchron ausgeführt werden können.
damit blockieren auch lange dauernde search, ls oder detail kommandos fhem nicht mehr.
das ergebniss wird angezeigt sobald es da ist. in fhemweb in einem popup fenster.
- cover werden jetzt automatisch über den plex server skaliert. ein beispiel im angehängten screenshot.
- rasplex ist noch in arbeit
- gibt es etwas neues zum roku stick?
das nächste update gibt es wenn der oben erwähnte patch in fhem integriert ist.
gruss
andre
hi,
ich nutze auch plex, unter anderem auf einem Apple TV3 und Fire-TV-Stick sowie IOS und Android App.
Da ich auch deinen Threat zu Homekit verfolge, wäre es natürlich der Hammer, wenn eine plex-Anbindung an Homekit möglich wären und man dann Siri sagen könnte, dass man Film X auf Gerät Y sehen möchte. ;D
Nur mal so, falls du noch Input brauchst.
Ansonsten wieder mal besten Dank für die geleistete Arbeit!
@Risiko: welche rasplex version verwendet du? ich habe es mit einer 1.0 version getestet und das erkennen und die subscription mit autocreate und aktuellen playstatus reading funktioniert.
@l2r: das ein und aus schalten wird sicher gehen aber der siri wortschatz lieht nicht im homebridge einflussbereich. so lange es hier kein api von apple gibt lässt sich leider nichts machen. ich vermute aber das mit dem neuen appletv4 eventuell mal was kommt.
gruss
andre
@Risiko: ich habe noch etwas gefunden das eventuell deine probleme mit rasplex in der alten version erklären kann.
anbei eine version zum testen. es sollte auch mit einem 'normalen' fhem ohne die oben erwähnten patches laufen.
ansonsten gibt es in dieser version auch für die player ein get <player> detail das informationen zum aktuellen titel ausspuckt.
was alles in der detail ansicht angezeigt wird und wie es formatiert ist erst mal nur rein provisorisch.
gruss
andre
edit: der rasplex fix ist jetzt in der normalen version enthalten: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477)
Hallo Andre,
super Arbeit. RasPlex in Version 0.7.0 funktioniert jetzt (autocreate + Aktualisierungen)
Die Abfrage mit detail (über server und client funktioniert), jedoch bei mir ohne Cover sondern nur die Beschreibung.
Werde demnächst mal näher schauen.
Vielen Dank und weiter so.
so... noch mal ein kurzes update:
- rudi hat einen patch von mir bekommen mit dem sich auch lange dauernde get kommandos wie z.b. search asynchron abwickeln lassen ohne das fhem blockiert
- ich kann über das plex modul und fhemweb interaktiv (fast) die ganze mediathek durchklicken und mir übersichtslisten oder details zur library, playlisten, onDeck, alben, künstlern, titlen, ... anzeigen lassen
- die infos sind jeweils untereinander verlinkt und man kann sich von einem eintrag zu allen zugehörigen klicken. von titeln zu alben zu künstler und umgekehrt. von serien zu sesions zu titeln und ebenfalls umgekehrt
- in der jeweiligen detail ansicht kann man jedes album/titel/episode/film per klick auf jedem player der gerade online ist starten.
- das gui dazu schaut ziemlich hässlich aus :) aber das ganze ist zur zeit mehr test tool um zu sehen ob sich mit dem modul alles steuern lässt und funktioniert
zum sonos support:
- ich kann jeden audio titel über das modul direkt vom plex server an einen sonos player streamen
- das geht auch mit transcoding für formate und bitraten die der sonos player nicht unterstützen würden
- zur zeit ist es aber auf einzelne titel beschränkt. mit ein bisschen basteln könnte man das aber auch für alben und playlisten einbauen. ich weiss nicht ob das jemand verwenden würde. das 65k limit der sonos player liesse sich damit problemlos umgehen
gruss
andre
Sorry, die Arbeit hält mich in den letzten Tagen sehr auf Trab, aber gute Neuigkeiten: mit der neuen Version funkioniert auch der Roku streaming stick! Herzlichen Dank, Andre!
Wenn ich das jetzt richtig gesehen habe, funktionieren auf jeden Fall autocreate + Statusaktualisierungen. Abgespielter Titel und andere Readings scheinen (noch) nicht zu funktionieren - hierzu muss ich aber wohl noch mehr testen.
@ Sonos Support Diskussion:
ich habe zwar kein Sonos aber mehrere Squeezeboxen. Die funktionieren ja auch mit FHEM und für Sonos gibt es wahrscheinlich auch ein Modul. Insofern ist mir nicht 100% klar wo die Reise mit Sonos Support gehen soll.
Super wäre es natürlich schon, wenn das FHEM-Plex-Modul Sonos, Squeezeboxen (SB) und andere Lautsprecher in Plex einbinden könnten. Für den Logitech Media Server (LMS), der die SB steuert gibt es Plugins, die die SBs via Airplay/(Sh)Airport sichtbar machen und so für Plex zugänglich. Aber wenn ich richtig informiert bin spielt Plex immer nur auf einem Gerät ab. D.h. die ganze "multiroom" Funkionalität von Sonos und SB kann nicht genutzt werden.
Ohne das jetzt 1000%tig durchdacht zu haben, würde ich sagen, dass es ggf. mehr Sinn macht, im FHEM-SB-Modul, FHEM-Sonos-Modul, etc. 'generic Plex devices' zu erstellen, die dann zum Abspielen eingebunden werden können. Damit könnte man dann via Sonos/SB auch die Plex-clients steuern.
Im FHEM-Plex-Modul (und natürlich Plex!) könnte man dann einen device 'Play-via-Sonos' / 'play-via-LMS' haben. Dann kann man am TV seine Musik raussuchen und via Sonos/SB abspielen und steuern. Sonos und SB haben ja gute Apps dafür. Die Steuerung über Plex erscheint mir kompliziert solange Plex nicht irgendwie 'multiroom' Features und Sonos/SB-Support direkt einbaut (eher unwahrscheinlich, ggf. kann jemand ein Plex-Plugin schreiben).
Bottom line: es wäre gut Sonos/SB devices einzubinden weil man dann Musik über einzele Lautsprecher ausgeben kann. Aber - in Bezug auf Musik - ist der Mehrwert beschränkt, da das über die SB/Sonos Apps ja eigentlich besser funktioniert.
Plex hat jetzt ja neue Musik Features zum Entdecken von Musik, etc -> insofern wäre das sicherlich für den einen oder anderen eine Freude dann die Musik direkt auf ordentlichen Lautsprechern abspielen zu können. Insofern macht die Implementierung Sinn solange der Aufwand im Rahmen ist.
Genial fände ich eine 'wirkliche' Integration so dass die Musik über mehrere, synchronisierte Lautsprecher ausgegeben werden kann, etc.
zu sonos:
- ich kann inzwischen auch komplette alben mit fhem von plex an einen sonos player schicken.
das hat den nachteil das die steuerung nur aus fhem heraus erfolgen kann.
- ich bastle gerade an einem proxy um die plex app zu verwenden die sich dann zu diesem proxy verbinden kann wie zu jedem anderen plex player um audio auf den sonos playern abzuspielen.
- ich schaue mir gerade an wie aufwändig es ist einen zweiten proxy für die gegenrichtung zu bauen mit dem die plex mediathek direkt als dienst in der sonos app erscheint.
das ganze ist aber noch ohne zeitplan :)
wie und ob man das dann auf andere ausgabe geräte erweitern kann weiss ich noch nicht. eventuell ist es auch besser die beiden proxies nicht in fhem sondern als node.js dienst zu implementieren. mal sehen...
@maddhin: weisst du schon ob das mit der timeline und den readings geht? wenn nicht bitte mal mit verbose 5 schauen.
gruss
andre
Hi,
Ihr seid genial! Plex hat mir im fhem noch gefehlt. Ich nutze den PS3-plex-client und werde morgdn mal testen ob der sich einbinden lässt. Sonst kommt eben das pht auf dem nuc zurück. Tausend Dank!
zum Roku:
timeline bringt folgendes:
$VAR1 = {
'Timeline' => [
{
'port' => '32400',
'controllable' => 'stop,stepBack,stepForward,seekTo,playPause',
'duration' => '1273320',
'ratingKey' => '3970',
'key' => '/library/metadata/3970',
'machineIdentifier' => 'xxxxxxxxxxxxxxxxxxxxxxxx3b',
'address' => '192-168-2-30.dc6xxxxxxxxxxxxxx29e5b.plex.direct',
'type' => 'video',
'containerKey' => '/playQueues/1052',
'playQueueItemID' => '5238',
'state' => 'playing',
'protocol' => 'https',
'repeat' => '0',
'playQueueVersion' => '1',
'shuffle' => '0',
'playQueueID' => '1052',
'time' => '179000'
},
{
'type' => 'music',
'state' => 'stopped',
'repeat' => '0',
'controllable' => 'stop,stepBack,stepForward,seekTo,playPause,shuffle,repeat',
'shuffle' => '0'
},
{
'state' => 'stopped',
'controllable' => 'stop,playPause,shuffle',
'type' => 'photo'
}
],
'commandID' => '9',
'location' => 'fullScreenVideo'
};
get details bringt ein "unknown media type".
Etwas komisch: ich habe zunächst eine TV Show abgespielt, hier wurden die Readings zunächst nicht angezeigt. Als ich danach ein Album abgespietl habe, wurden die Readings angezeigt, allerdings "flackert" 'currentTitel', 'section' und 'type' zwischen den alten(!) TV Show Daten und dem akutellen Song. D.h. der Name der Episode und des Liedes wechseln sich unregelmäßig ab (synchron dazu section+type). Flackert = Wechsel alle 1-3 sek.
Das ist mit aktuellstem PMS 9.14.2 und auf meinem inzwischen etwas schwachen Qnap NAS TS-239proII.
Mit aktuellem 'stable' 9.12.16 PMS auf Win10 laufen die Readings problemlos. Ich gehe daher davon aus, dass das Problem beim NAS liegt (oder PMS 9.14.2) und man sagen kann, dass der Roku stick nun auch (voll) funktioniert!
Danke, Andre!
ich habe hier: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477) eine neue version hoch geladen.
neu ist:
- in verbindung mit einem aktuellen fhem werden ls, search und detail kommandos asynchron im hintergrund ausgeführt und das ergebniss erst angezeigt sobald es da ist.
- in verbindung mit einer aktuellen fhemweb version werden die ergebnisse von ls, search und detail provisorisch als html aufbereitet. d.h. wenn man die kommandos aus fhemweb verwendet sind poster zu sehen und keys, alben und kühnster sind links durch die man sich durch die mediathek klicken kann. in der detail ansicht zu einem titel gibt es links um die wiedergabe auf allen playern zu starten die gerade online sind.
- neue attribute ignoredClients und ignoredServers
- neues attribut responder: da mit gibt sich fhem als plex player aus und kann mit der plex remote app (zur zeit nur iOS) gesteuert werden. zur zeit werden die kommandos der remote hartcodiert auf einem device mit namen sonos_Esszimmer ausgeführt. d.h. fhem spielt proxy zwischen plex und sonos. in dieser version muss der sonos device name angepasst werden um es zu testen. in der nächsten version wird plex automatisch ein proxy device pro sonos player angeboten.
mit etwas handarbeit kann man die aufrufe an das sonos device auch durch beliebige andere geräte die sich extern steuern lassen und die ein per url gestreiftes mp3 file wiedergeben können ersetzen. vermutlich gibt es noch die ein oder andere stelle die probleme macht, aber prinzipiell kann man damit jedes beliebige gerät an eine plex mediathek hängen.
diese proxy devices erscheinen im netz als mehr oder weniger 'normale' plex player und werden auch vom fhem modul als solche erkannt. d.h. es wird per autocrate ein fhem device dafür angelegt.
es wären also auch solche dinge möglich:
fhem device mit play/pause/... kommandos -> fhem plex proxy -> headless kommandozeilen player auf einem rasberry pi im netz.
das einzige das sich nicht über fhem zaubern lässt wenn das eigentliche device das nicht unterstütz ist die synchrone multiroom wiedergebe. die einzelnen 'fake' plex player sind alle unabhängig voneinander.
- diverse neue set und get kommandos
gruss
andre
Hallo Andre,
bis auf Cover-Bilder (Details werden aber angezeigt) funktioniert das schon super.
Hast du Pläne das Modul so zu erweitern, dass man z.B. ein widget für FTUI oder FHEMWEB aufsetzen könnte? Meine hier vorallem das Browsen und Zuweisen von Medieninhalten zu einem Player.
Ich würde gern die PlexWeb-App ersetzen, was aber sicherlich viel Arbeit bedeutet.
Risiko.
was stimmt bei den cover bildern nicht?
es wird definitiv kein plexweb ersatz.
aber eine darstellung des aktuellen zustandes über ein widget oder eine readingsGroup kommt auf jeden fall noch.
auch das browsen soll noch in einem fenster möglich werden. das ganze wird aber nicht so funktionieren das man viele icons wie in plex sieht sondern eher das man sich über einer liste entlang hangeln kann wie im sonos controller.
das zuweisen an einen player geht ja jetzt schon. es muss nur etwas hübscher werden.
die infrastruktur sollte es dann möglich machen das auch für andere frontends umzusetzen.
gruss
andre
noch was hatte ich vergessen zu erwähnen:
- get <plex> [<server>] m3u [album] und get <plex> [<server>] pls [album] liefert für ein album eine playlist im m3u bzw. pls format die mit anderen playern (z.b. sonos) verwendet werden kann.
gruss
andre
Super Arbeit bisher. Sorry für die dumme Frage, aber wie kann ich meinen Rasplex Player manuell hinzufügen? Er wird zwar erkannt über get clients, aber scheinbar nichts über autocreate angelegt.
sobald er etwas abspielt sollte er auch angelegt werden.
von hand kannst du ihm mit define <name> plex <id> anlegen. <id> ist der machineIdentifier.
aber wenn das automatisch anlegen nicht geht funktioniert das timeline senden nicht und du wirst keine readings bekommen.
funktioniert ein get <plex> timeline <client> ?
gruss
andre
Nein das funktioniert leider nicht. Den timeline-Befehl gibt es auch nicht zum auswählen. Wenn ich den in der Eingabe oben manuell eingebe dann erscheint der Fehler "Unknown argument timeline, choose one of clients:noArg servers:noArg ls search sessions:noArg detail onDeck:noArg recentlyAdded:noArg playlists:noArg"
Wenn ich den Player nun manuell eingebe habe ich den Timeline-Befehl aber ich bekomme als Antwort nur "$VAR1 = 'http://192.168.178.85:3005/player/timeline/poll?&wait=0&commandID=2: empty answer received';" egal ob etwas abgespielt wird oder nicht
Zitat von: justme1968 am 27 November 2015, 08:05:33
was stimmt bei den cover bildern nicht?
Dem img tag wir eine falsche Url (IP: 10.0.1.21) zugewiesen. Siehe Anhang. Scheint die von deinem Server zu sein ;)
Zitat von: justme1968 am 27 November 2015, 08:05:33
es wird definitiv kein plexweb ersatz.
Das habe ich auch nicht erwartet.
Zitat von: justme1968 am 27 November 2015, 08:05:33
aber eine darstellung des aktuellen zustandes über ein widget oder eine readingsGroup kommt auf jeden fall noch.
auch das browsen soll noch in einem fenster möglich werden. das ganze wird aber nicht so funktionieren das man viele icons wie in plex sieht sondern eher das man sich über einer liste entlang hangeln kann wie im sonos controller.
das zuweisen an einen player geht ja jetzt schon. es muss nur etwas hübscher werden.
Ok. Da bin ich mal gespannt und warte ab.
Zitat von: justme1968 am 27 November 2015, 08:05:33
die infrastruktur sollte es dann möglich machen das auch für andere frontends umzusetzen.
Ja genau dahin zielte meine Frage! Super.
Auch hier bin ich gespannt wie es weiter geht und hoffe das man dann einen Unterbau zum Aufsetzen hat.
Nochmal danke für das Engagement.
Risiko.
du hast recht. da war noch etwas...
da ist noch die ip meines servers fest eingetragen. ändere einfach alle 10.0.1.21 auf die ip deines servers.
ist im nächsten update repariert.
gruss
andre
ich habe hier: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477) eine neue version hoch geladen bei der die cover nicht mehr nur bei mir gehen sollten :).
gruss
andre
1. Bei mir wird - unter Readings - kein Coverbild angezeigt (mit PHT) -> muss man das 'abrufen' oder sollte das einfach angezeigt werden? Die URL ist da.
2. Wäre es möglich die Squeezeboxen auch zu integrieren so wie die Sonos? Das wäre super.
Danke, Andre, für Deine Arbeit hier!
in den readings wird (ur zeit) kein bild angezeigt. nur der link zum bild.
beim blättern im browser durch die ls, ondeck, playlists und detail ausgaben werden bilder mit angezeigt.
das reading mit der url ist dazu da um es z.b. in einer readingsGroup oder aufbereitet als devStatIcon zu verwenden. wie genau das endgültig aussehen wird weiss ich noch nicht.
das mit der squeezebox geht im prinzip. ich habe aber keine und da wird es schwierig das zu bauen :) was genau musst du denn tun um auf einem player ein m3u oder pls playlist abzuspielen?
gruss
andre
das mit dem Coverbild habe ich jetzt auch verstanden, danke!
Für die Squeezeboxen gibts zwei Module SB_PLAYER und SB_SERVER -> das müsste eigentlich gut dokumentiert sein. Wenn man hier Dein Modul als 'virtual SB-player' integriert müßte eigentlich auch multiroom funktionieren (mindestens über die SB-Steuerung dann).
wenn ich ein get <plex> ls oder get <plex> onDeck mache, bekomme ich beim PHT player nur ein "unknown media type". Sonst scheint aber alles zu funktionieren (readings stimmen).
Zitat von: justme1968 am 28 November 2015, 16:48:16
ich habe hier: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477) eine neue version hoch geladen bei der die cover nicht mehr nur bei mir gehen sollten :).
Danke. Funktioniert.
@maddhin: du musst das auf das server device machen. nicht auf die player.
gruss
andre
Zitat von: justme1968 am 29 November 2015, 17:22:06
@maddhin: du musst das auf das server device machen. nicht auf die player.
Macht Sinn - dann habe ich aber mal ne ganz blöde Frage :-[: wo finde ich den/die server device(s)? Bei mir wurden zwar player (und master device) angelegt, aber keine server. <Get servers> zeigt aber alle Server.
Wenn ls/onDeck nur für server devices verfügbar ist, wäre es ggf. gut das bei player devices nicht anzeigen zu lassen -> macht das Modul sicher vor Dödel wie mir.
du hast recht war blöd formuliert. bis jetzt hat man normalerweise keine server devices. ich habe das master device gemeint. also master device oder server device.
die kommandos sind im prinzip auch in den playern vorhanden du musst dann aber der server explizit angeben. schau noch mal hier: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477) wie das funktioniert.
gruss
andre
Zitat von: justme1968 am 30 November 2015, 08:45:46
du hast recht war blöd formuliert. bis jetzt hat man normalerweise keine server devices. ich habe das master device gemeint. also master device oder server device.
die kommandos sind im prinzip auch in den playern vorhanden du musst dann aber der server explizit angeben. schau noch mal hier: http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (http://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477) wie das funktioniert.
hm, ich glaube eher bei mir ist was faul (entweder FHEM oder ich selbst...), ein get PMS ls [192.168.2.30] (mit oder ohne Server, mit oder ohne Klammer, PMS ist mein master device) in der Kommandozeile bringt nur ein:
Unknown argument ls, choose one of clients:noArg servers:noArg
Auf der FHEM Seite des master device kann ich nur ein <get> <clients> oder <servers> machen; ls oder onDeck, etc gibt es nicht.
Stehe ich hier jetzt voll auf der Leitung oder ist hier was faul?
ist der server als online eingetragen wenn du ein get servers machst?
gruss
andre
Zitat von: justme1968 am 30 November 2015, 11:55:28
ist der server als online eingetragen wenn du ein get servers machst?
ja, unter "onl." steht "yes" - auch aktuelle Update-Zeit.
bitte schalte mal verbose 5 ein und zeig mir das log.
gruss
andre
irgendwie war mein Log-File zu voll und hat meinen Firefox immer zum Absturz gebracht. Mit dem Dezember-File geht es jetzt.
Komischerweise geht <get PMS ls> nun. Der Abruf mit server ip scheitert zwar weiterhin, aber immerhin. Vielleicht geht das mit dem Server nur, wenn auch mind. 2 Server vorhanden sind? Werde das weiter prüfen und mich wieder melden, wenn ich es nicht hinbekomme.
Eigentlich wäre es doch gut server devices zu haben? Zum einen zum 'Browsen' und ggf. kann man später weitere Funktionen wie 'update library', etc hinzufügen. Dann könnte man beispielsweise die PMS-Maintenance laufen lassen, wenn niemand zu Hause ist, etc. Nur so als Idee, das muss ja heute keine Priorität haben.
Hallo,
das freut mich das jemand ein Plex Modul baut, bis jetzt hab ich mich mit rexexp an der session xml bedient.
jemand schon Erfahrung mit dem Modul und der Samsung TV plex app gemacht, leider wird die nicht als Client gefunden, alle anderen Androide basierenden (firestick, plex auf tab) werden wunderbar gefunden.
Danke
Gruß
lässt sich die samsung app mit der plex app steuern?
was steht bei verbose 5 im log? was gibt ein get clients? ist der tv gar nicht mit in der liste oder ist er offline?
gruss
andre
ich habe weiter oben zwei perl scripte für die broadcast und multicast erkennung gepostet. was sagen die?
Erstmal danke das es dieses Modul gibt, bin neu im Bezug auf fhem und homeautomation, habe das Modul in den Ordner kopiert und es scheint auch alles zu klappen, allerdings habe ich keine Autocreat befehle und es wird auch nur mein Plex Server zuverlässig erkannt, der Enigma 2 Receiver mit Dreamplex kommt nur manchmal zum Vorschein. hier mal ein Auszug aus dem Logfile:
2015.12.14 10:22:02 5: MyPlex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2015.12.14 10:22:02 5: MyPlex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2015.12.14 10:22:02 5: MyPlex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2015.12.14 10:22:02 5: MyPlex:serverDiscoveryMcast: sending multicast discovery message to 32414
2015.12.14 10:22:02 5: MyPlex:clientDiscoveryMcast: sending multicast discovery message to 32412
2015.12.14 10:22:02 5: MyPlex: from: 10.0.0.17
2015.12.14 10:22:02 5: MyPlex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Name: DiskStation
Port: 32400
Resource-Identifier: 230aa54f5536adafe8cb170140bca073d95ddc5f
Updated-At: 1450000389
Version: 0.9.12.19.1537-f38ac80
2015.12.14 10:22:02 5: MyPlex: from: 10.0.0.17
2015.12.14 10:22:02 5: MyPlex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Name: DiskStation
Port: 32400
Resource-Identifier: 230aa54f5536adafe8cb170140bca073d95ddc5f
Updated-At: 1450000389
Version: 0.9.12.19.1537-f38ac80
2015.12.14 10:22:02 5: MyPlex: from: 10.0.0.2
2015.12.14 10:22:02 5: MyPlex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 6f61c9b1-efdd-4bbe-a17a-fd6e9060740e
Name: DreamPlex
Port: 32400
Product: Solo2
(10.0.0.2)Version: 2.1.3
Protocol: plex
Protocol-Version: 1
Protocol-Capabilities: playback, navigation
Device-Class: stb
2015.12.14 10:22:02 2: MyPlex: unhandled message from 10.0.0.2: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 6f61c9b1-efdd-4bbe-a17a-fd6e9060740e
Name: DreamPlex
Port: 32400
kann auch keine Device anlegen, wobei das vermutlich auch ein meinem aktuellem Wissenstand in Bezug auf FHEM liegen kann ;-)
lässt sich der dreamplex client mit der plex app fernsteuern ? dann sollte es eigentlich gehen. auf den ersten blick sehe ich nich warum die unhandled message erzeugt wird statt den player zu erkennen.
bitte bau mal in 37_plex.pm nach zeile 2303 my $params = plex_msg2hash($msg);
einLog 1, Dumper $params;
ein und zeig was dann im log steht.
gruss
andre
Hallo, nach ändern der Zeile steht das im Logfile:
2015.12.14 20:09:29 1: $VAR1 = {
'updatedAt' => '1450000389',
'version' => '0.9.12.19.1537-f38ac80',
'name' => 'DiskStation',
'port' => '32400',
'resourceIdentifier' => '230aa54f5536adafe8cb170140bca073d95ddc5f',
'contentType' => 'plex/media-server'
};
2015.12.14 20:09:29 1: $VAR1 = {
'hTTP/1.0 200 OK
ContentType' => 'plex/media-player
Resource-Identifier'
};
Danke für deine Hilfe
und über die Plex App funktioniert die Steuerung des DreamPlex auf der VU solo2
ok... ich sehe was schief geht aber verstehe noch nicht warum. irgendetwas verstümmelt die nachrichten.
kannst du das bitte noch mal mit verbose 5 machen und die zeilen davor und danach auch posten?
und dann bitte mal die beiden test routinen von hier: http://forum.fhem.de/index.php/topic,43052.msg355152.html#msg355152 (http://forum.fhem.de/index.php/topic,43052.msg355152.html#msg355152) ausführen, die ausgabe in ein file umleiten und hier anhängen?
gruss
andre
ich habe doch noch eine idee...
bitte teste mal die angehängte version.
gruss
andre
edit: test version entfernt
Hi, Vielen Dank für Deine Unterstützung, habe die Datei mal eingespielt, Anbei das Log mit Verbose Level 5
2015.12.14 21:34:07 5: MyPlex:serverDiscoveryMcast: sending multicast discovery message to 32414
2015.12.14 21:34:07 5: MyPlex:clientDiscoveryMcast: sending multicast discovery message to 32412
2015.12.14 21:34:07 5: MyPlex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2015.12.14 21:34:07 5: MyPlex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2015.12.14 21:34:07 5: MyPlex: from: 10.0.0.17
2015.12.14 21:34:07 5: MyPlex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Name: DiskStation
Port: 32400
Resource-Identifier: 230aa54f5536adafe8cb170140bca073d95ddc5f
Updated-At: 1450000389
Version: 0.9.12.19.1537-f38ac80
2015.12.14 21:34:07 5: MyPlex: from: 10.0.0.17
2015.12.14 21:34:07 5: MyPlex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Name: DiskStation
Port: 32400
Resource-Identifier: 230aa54f5536adafe8cb170140bca073d95ddc5f
Updated-At: 1450000389
Version: 0.9.12.19.1537-f38ac80
2015.12.14 21:34:08 5: MyPlex: from: 10.0.0.2
2015.12.14 21:34:08 5: MyPlex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 6f61c9b1-efdd-4bbe-a17a-fd6e9060740e
Name: DreamPlex
Port: 32400
Product: Solo2
(10.0.0.2)Version: 2.1.3
Protocol: plex
Protocol-Version: 1
Protocol-Capabilities: playback, navigation
Device-Class: stb
2015.12.14 21:34:08 2: MyPlex: unhandled message from 10.0.0.2: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 6f61c9b1-efdd-4bbe-a17a-fd6e9060740e
Name: DreamPlex
Port: 32400
Product: Solo2
(10.0.0.2)Version: 2.1.3
Protocol: plex
Protocol-Version: 1
Protocol-Capabilities: playback, navigation
Device-Class: stb
2015.12.14 21:34:08 5: MyPlex: from: 10.0.0.2
2015.12.14 21:34:08 5: MyPlex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 6f61c9b1-efdd-4bbe-a17a-fd6e9060740e
Name: DreamPlex
Port: 32400
Product: Solo2
(10.0.0.2)Version: 2.1.3
Protocol: plex
Protocol-Version: 1
Protocol-Capabilities: playback, navigation
Device-Class: stb
2015.12.14 21:34:08 2: MyPlex: unhandled message from 10.0.0.2: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 6f61c9b1-efdd-4bbe-a17a-fd6e9060740e
Name: DreamPlex
Port: 32400
Product: Solo2
(10.0.0.2)Version: 2.1.3
Protocol: plex
Protocol-Version: 1
Protocol-Capabilities: playback, navigation
Device-Class: stb
Deinen vorherigen Vorschlag werde ich dann morgen machen......vielen dank für deine Hilfe, Hab jetzt gesehen das sich meine Plex App jetzt als Client eingetragen hat....ist ja schon mal ein Anfang :) :) :)
ich habe die version hier: http://forum.fhem.de/index.php/topic,43052.msg374517.html#msg374517 (http://forum.fhem.de/index.php/topic,43052.msg374517.html#msg374517) noch mal etwas angepasst.
bitte versuch es noch mal damit.
gruss
andre
Hallo Andre,
Habe die Version mal eingespielt, jetzt kommen im Log keine Fehler mehr, aber das Device wird nicht angelegt........Soll ich die 2 Dateien erstellen aus deinem Vorschlag?
lg
Michael
das device wird war angelegt wenn der player etwas abspielt. was gibt ein get clients? wird der player als online angezeigt?
gruss
andre
Get Client ergibt das:
clients from discovery:
ip updatedAt onl. name machineIdentifier
10.0.0.2 2015-12-15 09:44:06 yes DreamPlex 781441a8-a1ce-4733-86a9-e53260796b58
Und get Session ein kleiner Auszug:
'summary' => "Clarke erwacht auf einer Quarant\x{c3}\x{a4}nestation in der Unterkunft der Mountainmen. Kann sie Dante, dem Pr\x{c3}\x{a4}sidenten der Bewohner des Mount Weather, vertrauen? Und wo ist der Rest der 100? Lincoln versucht indes, Octavia zu retten. Sie wurde von einer vergifteten Pfeilspitze getroffen.",
'guid' => 'com.plexapp.agents.thetvdb://268592/2/1?lang=de',
'art' => '/library/metadata/1976/art/1447609642',
'grandparentThumb' => '/library/metadata/1976/thumb/1447609642',
'Player' => [
{
'machineIdentifier' => '781441a8-a1ce-4733-86a9-e53260796b58',
'title' => 'DreamPlex',
'platform' => 'iOS',
'product' => 'DreamPlex',
'state' => 'playing'
}
],
'index' => '1',
'parentIndex' => '2',
'year' => '2014'
}
],
'size' => '1'
};
das schaut doch gut aus. wenn der client als online angezeigt wird sollte beim abspielen auch ein fhem device mit den readings angelegt werden.
gruss
andre
hmmmmm macht er aber nicht?? werde mal das ganze Zeugs neu starten, vielleicht hilft das dem System auf die Sprünge.
lg
Michael
dann muss mehr im log stehen.
was gibt ein list auf das plex device ?
gruss
andre
Grade im FHEM Log nachgesehen, folgendes ist dort zu finden
2015.12.15 11:46:48 1: PERL WARNING: Use of uninitialized value $cmd in string eq at ./FHEM/37_plex.pm line 1546.
2015.12.15 11:46:48 1: PERL WARNING: Use of uninitialized value $cmd in string ne at ./FHEM/37_plex.pm line 1560.
2015.12.15 11:46:48 1: PERL WARNING: Use of uninitialized value $cmd in string eq at ./FHEM/37_plex.pm line 1562.
2015.12.15 11:46:48 1: PERL WARNING: Use of uninitialized value $cmd in string eq at ./FHEM/37_plex.pm line 1567.
2015.12.15 11:46:48 1: PERL WARNING: Use of uninitialized value $cmd in concatenation (.) or string at ./FHEM/37_plex.pm line 1579.
Sollte der Server auch als fhem device angelegt werden?
Hab jetzt mal die Ausgabe von get server und get client, das einzige autocreat macht er beim iPhone, und da sind die Buchstaben als Großbuchstaben übermittelt??
servers from discovery:
ip updatedAt onl. name machineIdentifier
10.0.0.17 2015-12-15 13:18:31 yes DiskStation 230aa54f5536adafe8cb170140bca073d95ddc5f
clients from discovery:
ip updatedAt onl. name machineIdentifier
10.0.0.2 2015-12-15 13:22:07 yes DreamPlex 781441a8-a1ce-4733-86a9-e53260796b58
10.0.0.1 2015-12-15 12:40:57 no iPhone von xxxxxxx xxxxxx 8C1F527A-8DC6-4BC1-AD23-F34EB3AFB4C6
Erstellt wird nur in device:
plex
Plex for iOS
disappeared
Aus der fhem config das einzige angelegte Device
define 8C1F527A8DC64BC1AD23F34EB3AFB4C6 plex 8C1F527A-8DC6-4BC1-AD23-F34EB3AFB4C6
attr 8C1F527A8DC64BC1AD23F34EB3AFB4C6 alias Plex for iOS
attr 8C1F527A8DC64BC1AD23F34EB3AFB4C6 room flex
Und bei dem wird auch der Status immer aktuell gehalten
es werden nur devices für die clients angelegt.
ich brauche die ausgabe von list und das komplette log.
was bekommst du unter http://10.0.0.2/resources (http://10.0.0.2/resources) ?
gruss
andre
Unter 10.0.0.2:32400/resources bekomme ich folgendes
<?xml version="1.0" encoding="utf-8"?>
<MediaContainer><Player protocolCapabilities='playback, navigation' product='10.0.0.2' platformVersion='2.1.3' platform='Enigma2' machineIdentifier='781441a8-a1ce-4733-86a9-e53260796b58' title='DreamPlex' protocolVersion='1' deviceClass='stb'/></MediaContainer>
und im Fhem über get Plex 10.0.0.2 resources folgendes
$VAR1 = {
'Server' => [],
'Player' => [
{
'protocolVersion' => '1',
'port' => '32400',
'machineIdentifier' => '781441a8-a1ce-4733-86a9-e53260796b58',
'deviceClass' => 'stb',
'product' => '10.0.0.2',
'platform' => 'Enigma2',
'title' => 'DreamPlex',
'protocolCapabilities' => 'playback, navigation',
'platformVersion' => '2.1.3'
}
]
};
Und das List Plex
Internals:
CFGFN
HAS_IO::Socket::Multicast 1
NAME Plex
NR 72
NTFY_ORDER 50-Plex
STATE ???
TYPE plex
commandID 4
fhemHostname fhem
fhemIP 10.0.0.20
id 4c7d1c8368261d7446f7a2bf0d1b58eb
Clients:
10.0.0.1:
address 10.0.0.1
contentType plex/media-player
deviceClass phone
machineIdentifier 8C1F527A-8DC6-4BC1-AD23-F34EB3AFB4C6
name iPhone von Michael Nedoma
online 0
platform iOS
platformVersion 9.2
port 32500
product Plex for iOS
protocol plex
protocolCapabilities playback,playqueues,timeline
protocolVersion 1
resourceIdentifier 8C1F527A-8DC6-4BC1-AD23-F34EB3AFB4C6
title iPhone von Michael Nedoma
updatedAt 1450179657.44904
version 4.0.8
10.0.0.2:
(10.0.0.2)Version 2.1.3
address 10.0.0.2
contentType plex/media-player
deviceClass stb
machineIdentifier 781441a8-a1ce-4733-86a9-e53260796b58
name DreamPlex
online 1
platform Enigma2
platformVersion 2.1.3
port 32400
product Solo2
protocol plex
protocolCapabilities playback, navigation
protocolVersion 1
resourceIdentifier 781441a8-a1ce-4733-86a9-e53260796b58
title DreamPlex
updatedAt 1450187636.60911
Helper:
Discoverclientsbcast:
FD 21
NAME Plex:clientDiscoveryBcast
NR 76
PNAME Plex
PORT 32412
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
interval 10
Clients:
Phash:
Servers:
Discoverclientslisten:
FD 22
NAME Plex:clientDiscoveryPHT
NR 77
PNAME Plex
PORT 32413
STATE listening
TEMPORARY 1
TYPE plex
multicast 1
Clients:
Phash:
Servers:
Discoverclientsmcast:
FD 20
NAME Plex:clientDiscoveryMcast
NR 75
PNAME Plex
PORT 32412
STATE discovering
TEMPORARY 1
TYPE plex
interval 10
multicast 1
Clients:
Phash:
Servers:
Discoverservermcast:
FD 18
NAME Plex:serverDiscoveryMcast
NR 73
PNAME Plex
PORT 32414
STATE discovering
TEMPORARY 1
TYPE plex
interval 10
multicast 1
Clients:
Phash:
Servers:
Discoverserversbcast:
FD 19
NAME Plex:serverDiscoveryBcast
NR 74
PNAME Plex
PORT 32414
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
interval 10
Clients:
Phash:
Servers:
Subscriptionsfrom:
Timelinelistener:
CONNECTS 4
FD 23
NAME Plex:timelineListener
NR 78
PNAME Plex
PORT 50633
STATE accepting
TEMPORARY 1
TYPE plex
interval 30
Clients:
Connections:
Helper:
Phash:
Servers:
Subscriptionsto:
Servers:
10.0.0.17:
address 10.0.0.17
contentType plex/media-server
machineIdentifier 230aa54f5536adafe8cb170140bca073d95ddc5f
name DiskStation
online 1
port 32400
resourceIdentifier 230aa54f5536adafe8cb170140bca073d95ddc5f
updatedAt 1450187636.59446
version 0.9.12.19.1537-f38ac80
Subscriptionsfrom:
Attributes:
verbose 0
Mit Log meinst du das aktuelle Fhem logfite?
ok...
das problem ist das der player hat die timeline capability nicht hat. d.h. er kann nicht von sich aus melden was er gerade tut.
du kannst mal ein get plex 10.0.1.2 timeline eingeben. was steht dann im log?
du kannst das player device von hand anlegen: define dreamplex plex 781441a8-a1ce-4733-86a9-e53260796b58.
dann solltest du mit set dreamplex pause bzw. set dreamplex play das abspielen pausieren und wieder starten können wenn du über die app etwas gestartet hast. siehst du in der app wenn du über fhem oder eine zweite app pausierst oder neu startest?
gruss
andre
Hi Andre,
Wenn der Player aus ist, kommt folgendes:
$VAR1 = {
'commandID' => '1',
'location' => 'navigation',
'Timeline' => [
{
'time' => '0',
'seekRange' => '0-0',
'type' => 'music',
'state' => 'stopped'
},
{
'time' => '0',
'seekRange' => '0-0',
'type' => 'photo',
'state' => 'stopped'
},
{
'location' => 'navigation',
'time' => '0',
'type' => 'video',
'state' => 'stopped'
}
]
};
und beim Abspielen kommt:
$VAR1 = 'http://10.0.0.2:32400/player/timeline/poll?&wait=0&commandID=2: empty answer received';
Pause geht nicht, aber wenn ich auf dem IOS Remote pause mache kann ich mit play wieder starten
wenn du mit iOS pausierst und über fhem wieder startest siehst du das in iOS? wenn ja wie schnell ?
was gibt ein get plex 10.0.1.2 subscribe im log? ändert sich etwas an den readings im player device?
gruss
andre
Hi Andre,
Habe heute mal meine Vu Solo2 neu geflasht, Dreamplex neu rauf gemacht, jetzt habe ich bei get Plex 10.0.0.2 timeline
$VAR1 = 'http://10.0.0.2:32400/player/timeline/poll?&wait=0&commandID=4: Can\'t connect(1) to http://10.0.0.2:32400: IO::Socket::INET: connect: Connection refused';
Denke da hat es noch was mit den Einstellungen......werde mal versuchen das wieder hinzubekommen......
nimm mal bitte die subscribe variante. das ist auch das was das fhem modul normalerweise verwendet.
bei allem anderen müsste das modul pollen. das will ich unbedingt vermeiden.
bitte teste auch das noch mal:
Zitatwenn du mit iOS pausierst und über fhem wieder startest siehst du das in iOS? wenn ja wie schnell ?
gruss
andre
hi,
ich hab hab auch noch ne kleine Ungereimtheit.
Ich habe den Plex-Server auf einer Diskstation installiert. Als Clients nutze ich zum einen Plex auf dem IPhone (läuft) und die Plex-App auf dem Fire-TV-Stick (läuft teilweise).
Beide Clients werden sauber erkannt und auch angelegt.
Schaue ich mir einen Film über den Fire-TV-Stick an, dann kann ich diesen zwar über FHEM pausieren, anschließend wieder starten klapper allerdings nicht. So als würde FHEM den Status nicht richtig mitbekommen. Bei Video steht auch noch play.
Ist das ein bekanntes Problem?
Gruß Michael
Hi andre,
wenn ich das über iOS mache (starten, dann pausieren und wieder über fhem starte) wird das in realtime aktualisiert, ohne Verzögerung
lg
Mike
@l2r: werden die anderen readings aktualisiert? werden die internals (beim browser refresh) aktualisiert?
das ganze liegt daran das im modul eine logik eingebaut ist das play und pause nur gesendet werden wenn es nicht gleich dem aktuellen stand ist. weil bei manchen playern beides ein toggle kommando ist. die eingebaute logik funktioniert natürlich nur wenn die readings korrekt aktualisiert werden.
@Mike70: was passiert bei get plex 10.0.1.2 subscribe und was steht dann im log?
gruss
andre
Hi andre,
tja, denke jetzt hab ich was kaputt gemacht >:(
Unknown argument subscribe, choose one of clients:noArg servers:noArg ls search sessions:noArg detail onDeck:noArg recentlyAdded:noArg playlists:noArg detail:noArg resources:noArg timeline:noArg
mehr kommt nicht mehr :'( :'(
Denke nochmal alles von vorne
lg Mike
Hi Andre,
Denke das mit dem DreamPlex wird nichts, habe jetzt mal einen Rasplex eingerichtet, und alles geht Wunderbar.........dürfte wirklich an dem Dreamplex vom Enigma Receiver liegen.........aber trotzdem Vielen Dank für deine Unterstützung und auch vielen Dank für das Tolle Plex Modul
lg
Mike
Danke für den Hinweis. Ich hab jetzt alles nochmal neu gestartet und nix geändert, jetzt werden aber die Readings aktualisiert und es ist so, wie es sein sollte.
Vielen Dank für das Plex-Modul :)
Ich konnte es gestern ohne große Probleme in meine FHEM-Installation integrieren und mit meinem Rasplex verbinden. Der automatische Lichtszenen-Wechsel beim Abspielen eines Films ist einfach genial :D
Bei mir ist ein Rasplex in der Version 1.0 im Einsatz und ich habe das Problem das der Client ca. alle 10sek seinen Status (online/offline) wechselt. Ein Autocreate findet nicht statt dementsprechend auch keine timeline verfügbar.
Im Log erscheint:
2016.01.10 10:23:20 3: PMS: client disappeared: 192.168.1.33
2016.01.10 10:23:25 3: PMS: client discovered: 192.168.1.33
2016.01.10 10:23:30 2: PMS: http request (http://192.168.1.33:3005/resources) failed: http://192.168.1.33:3005/resources: empty answer received
bzw. verbose level 5
Anscheinend grade online
Content-Type: plex/media-player
Resource-Identifier: 41361a46-51b1-4aeb-a062-bca86d04ec11
Device-Class: HTPC
Name: RasPlex
Port: 3005
Product: plexhometheater
Protocol: plex
Protocol-Capabilities: navigation,playback,timeline,mirror,playqueues
Protocol-Version: 1
Version: 1.0.0
2016.01.10 10:31:23 3: PMS: client discovered: 192.168.1.33
2016.01.10 10:31:23 4: PMS: requesting http://192.168.1.33:3005/resources
2016.01.10 10:31:23 4: HttpUtils url=http://192.168.1.33:3005/resources
2016.01.10 10:31:23 5: PMS: from: 192.168.1.33
2016.01.10 10:31:23 5: PMS: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 41361a46-51b1-4aeb-a062-bca86d04ec11
Device-Class: HTPC
Name: RasPlex
Port: 3005
Product: plexhometheater
Protocol: plex
Protocol-Capabilities: navigation,playback,timeline,mirror,playqueues
Protocol-Version: 1
Version: 1.0.0
offline
2016.01.10 10:32:55 5: PMS:serverDiscoveryBcast: sending broadcast discovery message to 32414
2016.01.10 10:32:55 5: PMS:serverDiscoveryBcast: sending broadcast discovery message to 32414
2016.01.10 10:32:55 4: PMS: http request (http://192.168.1.33:3005/resources) failed: http://192.168.1.33:3005/resources: empty answer received; retrying
2016.01.10 10:32:55 5: (http://192.168.1.33:3005/resources)
2016.01.10 10:33:00 4: HttpUtils url=http://192.168.1.33:3005/resources
2016.01.10 10:33:00 2: PMS: http request (http://192.168.1.33:3005/resources) failed: http://192.168.1.33:3005/resources: empty answer received
2016.01.10 10:33:00 3: PMS: client disappeared: 192.168.1.33
Ein Aufruf von 192.168.1.33:3005/resources bringt:
<MediaContainer>
<Player title="RasPlex" protocol="plex" protocolVersion="1" protocolCapabilities="navigation,playback,timeline,mirror,playqueues" machineIdentifier="41361a46-51b1-4aeb-a062-bca86d04ec11" product="Plex Home Theater" platform="Linux" platformVersion=" (#1 SMP Fri Oct 30 04:46:53 UTC 2015)" deviceClass="pc"/>
</MediaContainer>
Mein FHEM läuft ebenfalls auf einem zweiten Raspi.
EDIT: Vielleicht noch eine Besonderheit bei mir - der Server ist nur über myplex user password ansprechbar auch wenn er lokal steht.
Mein Problem hat sich soeben mit einem Update auf FHEM 5.7 erledigt. Nach dem Neustart wurde promt der Client per autocreate angelegt und erste pause /resume Tests funktionieren :D
Ahoi,
ich bekomme es nicht hin, dass die Readings aktualisiert werden, obwohl der Listener läuft und auch die Clients unter Subscriptionto anzeigt werden.
Entsprechend hab ich das genannte Play/Pause Problem. Wenn ich manuell über FHEMWEB ein get timeline auf dem Client zwischendurch ausführe wird der Status aktualisiert.
Als Testdevice hier verwende ich "Manuels Shield" (IP: 10.0.0.123)
Auszug verb Log:
2016.03.30 14:08:32 4: plex:timelineListener: refreshing timeline subscriptions
2016.03.30 14:08:32 5: plex:timelineListener: sending subscribe message to 10.0.0.123:32500
2016.03.30 14:08:32 4: plex: requesting http://10.0.0.123:32500/player/timeline/subscribe?protocol=http&port=40273&commandID=7
2016.03.30 14:08:32 5: plex:timelineListener: sending subscribe message to 10.0.0.101:32500
2016.03.30 14:08:32 4: plex: requesting http://10.0.0.101:32500/player/timeline/subscribe?protocol=http&port=40273&commandID=8
2016.03.30 14:08:32 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2016.03.30 14:08:32 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2016.03.30 14:08:32 5: plex: from: 10.0.0.10
2016.03.30 14:08:32 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: d3800465405942ce979313f83853581c.plex.direct
Name: Manuels Server
Port: 32400
Resource-Identifier: 6e96e35ac4411bd56ca1ef9ea9f7483d2a916e4b
Updated-At: 1459337682
Version: 0.9.16.3.1840-cece46d
2016.03.30 14:08:32 5: plex: from: 10.0.0.123
2016.03.30 14:08:32 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 935845f92fd5b78-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1459339511
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 4.23.3.552
Device-Class: mobile
Protocol: plex
Name: Manuels SHIELD
2016.03.30 14:08:32 5: plex: received Failure: 200 OK
2016.03.30 14:08:32 5: plex: http request (http://10.0.0.123:32500/player/timeline/subscribe?protocol=http&port=40273&commandID=7) received code : Failure: 200 OK
2016.03.30 14:08:32 5: plex: received Failure: 200 OK
2016.03.30 14:08:32 5: plex: http request (http://10.0.0.101:32500/player/timeline/subscribe?protocol=http&port=40273&commandID=8) received code : Failure: 200 OK
list plex:
Internals:
HAS_IO::Socket::Multicast 1
NAME plex
NR 424
NTFY_ORDER 50-plex
STATE ???
TYPE plex
commandID 180
fhemHostname server
fhemIP 10.0.0.10
id cba1c336463dfe8e935cf8310592cd6a
token xxxxxxx
Clients:
10.0.0.101:
address 10.0.0.101
contentType plex/media-player
deviceClass mobile
machineIdentifier 9e45a3e213a9dd91-com-plexapp-android
name Manuels BRAVIA
online 1
platform Android
platformVersion 5.1.1
port 32500
product Plex for Android
protocol plex
protocolCapabilities timeline,playback,navigation,mirror,playqueues
protocolVersion 1
resourceIdentifier 9e45a3e213a9dd91-com-plexapp-android
title Manuels BRAVIA
updatedAt 1459342301.1479
version 4.23.3.552
10.0.0.121:
address 10.0.0.121
contentType plex/media-player
deviceClass mobile
host 10.0.0.121
machineIdentifier 42fbee715612d73b-com-plexapp-android
name Manuels Z2 Tablet
online 1
platform Android
platformVersion 5.1.1
port 32500
product Plex for Android
protocol plex
protocolCapabilities timeline,playback,navigation,mirror,playqueues
protocolVersion 1
resourceIdentifier 42fbee715612d73b-com-plexapp-android
title Manuels Z2 Tablet
updatedAt 1459342300.85403
version 4.23.3.552
10.0.0.123:
address 10.0.0.123
contentType plex/media-player
deviceClass mobile
host 10.0.0.123
machineIdentifier 935845f92fd5b78-com-plexapp-android
name Manuels SHIELD
online 1
platform Android
platformVersion 6.0
port 32500
product Plex for Android
protocol plex
protocolCapabilities timeline,playback,navigation,mirror,playqueues
protocolVersion 1
resourceIdentifier 935845f92fd5b78-com-plexapp-android
title Manuels SHIELD
updatedAt 1459342300.76396
version 4.23.3.552
10.0.0.151:
address 10.0.0.151
contentType plex/media-player
deviceClass tablet
machineIdentifier 4DDCCE41-C3C5-4B3A-9A20-3703D974106A
name Karen Anne's iPad
online 0
platform iOS
platformVersion 9.0.2
port 32500
product Plex for iOS
protocol plex
protocolCapabilities playback,playqueues,timeline
protocolVersion 1
resourceIdentifier 4DDCCE41-C3C5-4B3A-9A20-3703D974106A
title Karen Anne's iPad
updatedAt 1459341727.04161
version 4.0.15
Helper:
Discoverclientsbcast:
FD 46
NAME plex:clientDiscoveryBcast
NR 428
PNAME plex
PORT 32412
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
interval 10
Clients:
Phash:
Servers:
Discoverclientslisten:
FD 47
NAME plex:clientDiscoveryPHT
NR 429
PNAME plex
PORT 32413
STATE listening
TEMPORARY 1
TYPE plex
multicast 1
Clients:
Phash:
Servers:
Discoverclientsmcast:
FD 45
NAME plex:clientDiscoveryMcast
NR 427
PNAME plex
PORT 32412
STATE discovering
TEMPORARY 1
TYPE plex
interval 10
multicast 1
Clients:
Phash:
Servers:
Discoverservermcast:
FD 43
NAME plex:serverDiscoveryMcast
NR 425
PNAME plex
PORT 32414
STATE discovering
TEMPORARY 1
TYPE plex
interval 10
multicast 1
Clients:
Phash:
Servers:
Discoverserversbcast:
FD 44
NAME plex:serverDiscoveryBcast
NR 426
PNAME plex
PORT 32414
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
interval 10
Clients:
Phash:
Servers:
Subscriptionsfrom:
Timelinelistener:
CONNECTS 5
FD 48
NAME plex:timelineListener
NR 430
PNAME plex
PORT 54760
STATE accepting
TEMPORARY 1
TYPE plex
interval 30
Clients:
Connections:
Plex:timelinelistener:44466:
FD 30
NAME plex:timelineListener:44466
NR 804
PNAME plex
PORT 54760
STATE listening
TEMPORARY 1
TYPE plex
buf
machineIdentifier 9e45a3e213a9dd91-com-plexapp-android
Phash:
Helper:
Phash:
Servers:
Subscriptionsto:
10.0.0.101 10.0.0.101
10.0.0.121 10.0.0.121
10.0.0.123 10.0.0.123
Myplex-devices:
publicAddress 62.133.194.158
Device:
HASH(0x60d21e0)
HASH(0x632cf40)
HASH(0x632d288)
HASH(0x67ace98)
HASH(0x67c4480)
HASH(0x6158e28)
HASH(0x6288548)
HASH(0x67ee1f0)
HASH(0x67ad2a0)
HASH(0x67ad7e0)
HASH(0x67eeb38)
HASH(0x67ada38)
HASH(0x67b2750)
HASH(0x67b29d8)
HASH(0x67ca378)
HASH(0x67b2ee8)
HASH(0x67b3170)
Myplex-servers:
friendlyName myPlex
identifier com.plexapp.plugins.myplex
machineIdentifier 5fa27c55c109dd168f8738164e1c2d75e9b44a5d
size 4
Server:
HASH(0x60cee90)
HASH(0x67c9d78)
HASH(0x63278a8)
HASH(0x67c9c88)
Servers:
10.0.0.10:
address 10.0.0.10
contentType plex/media-server
host d3800465405942ce979313f83853581c.plex.direct
machineIdentifier 6e96e35ac4411bd56ca1ef9ea9f7483d2a916e4b
name Manuels Server
online 1
port 32400
resourceIdentifier 6e96e35ac4411bd56ca1ef9ea9f7483d2a916e4b
updatedAt 1459342300.76155
version 0.9.16.3.1840-cece46d
Subscriptionsfrom:
Attributes:
password crypt:xxxxx
user crypt:xxxxxxx
Die Devices (Clients und Master) mehrmals gelöscht und neu anlegen lassen, aber ich bekomme nicht hin, dass er die Readings automatisch aktualisiert.
@justme1968 hast du da noch ne Idee?
Vielen Dank
Manuel
es gibt hier: https://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (https://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477) eine neue version mit einem fix im http handling. eventuell hilft das bei dir.
gruss
andre
hier: https://forum.fhem.de/index.php/topic,51619.msg432921.html#msg432921 (https://forum.fhem.de/index.php/topic,51619.msg432921.html#msg432921) gibt es ein neues modul das für harmony anwender interessant sein sollte.
gruss
andre
Hi,
die neue Version macht leider keinen Unterschied:
Bekomme immer noch den Fehler (sofern der überhaupt das Problem ist):
2016.04.01 11:10:05 5: plex: received Failure: 200 OK
2016.04.01 11:10:05 5: plex: http request (http://10.0.0.123:32500/player/timeline/subscribe?protocol=http&port=50179&commandID=49) received code : Failure: 200 OK
Anderes Thema: mir ist noch ein kleiner Fehler aufgefallen.
header => { 'X-Plex-Provides' => 'controler',
müsste
header => { 'X-Plex-Provides' => 'controller',
heißen
MfG
Manuel
das 'Failure: 200 OK' ist das was dein player sendet. ich habe keine ahnung warum. das ist doch ein normaler android player ?
den tippfehler habe ich korrigiert. sollte aber keine auswirkungen weiter haben.
gruss
andre
Hi,
ja an sich ist 200 ja OK, mich irritierte das "Failure" davor, aber wenn Plex das natürlich so sendet, kannst du da wenig dran tun.
Ist die Plex App auf AndroidTV, die sich meines Wissens nicht von der "normalen" Android unterscheidet.
Hab das ganze auf meinem Android Tablet bzw. Handy auch nicht zum Laufen bekommen.
Das Ipad meiner Frau funktioniert.
Läuft die Abfrage der beiden gleich? Also auch über subscribe timeline?
Kannst du mir kurz bestätigen ob ich das "System" richtig verstehe:
Wenn ich den subscribe mache fragt der Server über plex:timelineListener:<randomport> die http_api des Clients ab und hält die Verbindung offen um evtl. Veränderungen zu erkennen?
Wenn dem so ist, würde ich einfach mal den Port mitsniffen um zu sehen was da so kommt, außer du hast ne andere Idee.
Vielen Dank
Manuel
ja. es funktionier überall gleich und der port sollte offen bleiben.
bei mir funktionieren Ohr und pmp auf einem mac, alter und neuer iOS client, fire tv und android auf einem tablet.
gruss
andre
Hi,
ich liebe das plex Modul und habe es seit einer Weile erfolgreich im Einsatz, habe aber einen schrägen Fehler unter iOS. Ich habe bei mir mehrere iOS Clients, 1 Nvidia Shield Box (Android) mit Plex, nen Mac und nen Windows Recner. Seit geraumer Zeit hatte ich es unter iOS, das der Plex Cient immer mal wieder abschmiert. Ich schaue was und schwups bin ich wieder im Homescreen. Das kann manchmal 4-5x in der Stunde sein an unterschiedlichen Stellen, manchmal nur 1x. Unter allen anderen Clients hatte ich das Problem nicht.
Als ich meinen Raspi mit Fhem mal neu gemacht habe, war dieser Mal ein paar Stunden aus. In der Zeit hatte ich absolut keine Probleme mit Plex. Nachdem Fhem mit dem Plex-Modul wieder lief gingen die Abstürze wieder los. Also habe ich mal das Plex-Modul im Fhem deaktiviert, sonst nichts, und auch dann hatte ich keinerlei Probleme mehr unter iOS. Kennt das Problem jemand? Genau genommen bräuchte ich im Fhem nur die Verbindung vom Plex Modul zur Shield. ich bräuchte die anderen Clients die er da immer automatisch erkennt garnicht. Kann ich das Modul irgendwie so konfigurieren das es nichts mehr im Netz macht sondern sich strikt nur mit dem einen Client verbindet?
Ich würde ungern auf dieses grossartige Modul verzichten (wie auf so vieles andere von justme1968, vielen vielen Dank).
Gruss,
H
du kannst über das ignoredClients attribut alle clients ausschließen die dich nicht interessieren.
es ist eine liste von regex dir auf die ip adressen und den machineIdentifier gematched wird. ich glaube es geht komma und leerzeichen als trenner.
für die version die ich irgendwann mal einchecke ist auch eine whitelist geplant :)
gruss
andre
Hi und vielen Dank!
Ich habe dort mal die IP Adresse sowie die ID versucht, aber es funktionierte nicht. Ich denke mal ich habe das Format irgendwie falsch. Nur das eine oder andere scheint nicht zu reichen. Ich wäre dir dankbar für ein Beispiel. Sorry für die Umstände. :/
Gruß,
H
was genau hast du denn eingetragen?
das mit der regex war mein fehler. regex geht in der hier gerosteten version noch gar nicht. d.h. du musst die clients die ignoriert werden sollen 1:1 eintragen: attr <plex> ignoredClients 10.0.1.15,10.0.1.12,...
was steht bei verbose 5 im log ?
gruss
andre
Hi und danke für die schnelle Rückmeldung.
Hm, ok, genauso habe ich es gemacht. Ich habe die IP eingegeben vom iPad welches das Plex Modul ignorieren soll. Muss Fhem danach neu gestartet werden? ich habe es einmal mit und ohne gelöschtem Device-Eintrag dafür gemacht, aber entweder hat ers immer wieder angelegt oder man konnte direkt den Status verfolgen was gerade im Plex Client vor sich ging.
Ich bin gerade aufm Sprung, werde aber morgen das Debug-Level hochschrauben und den Log-Eintrag zu posten. Danke auf jeden Fall schonmal.
Gruss,
H
es müsste reichen wenn du plex auf dem iPad komplett beendest und neu startest.
wenn das neigt gehe starte mal FHEM neu.
gruss
andrs
Hi andre,
nach einem Neustart von FHEM war alles in Ordnung. Der Client wird erfolgreich ignoriert. Vielen Dank.
Gruss,
H
jetzt wo du dein Problem mit den Abstürzen beschreibst, fällt mir ein, dass ich das gleiche Problem bei meinem Apple TV4 auch habe. Ich hab's aber bis grade nicht mit Plex und FHEM in Verbindung gebracht.
Ich werde mir das auch nochmal genauer anschauen und ggf. Erkenntnisse posten.
Gruß Michael
es gibt manchmal abstürze auf plex seite die man auch reproduzieren kann wenn man z.b. die android app über ein iOS gerät steuert oder umgekehrt. ich tippe mal darauf das es daran liegt das diese nicht primär für die steuerung von aussen gedacht sind und das dies deshalb nicht so gut getestet wird.
wenn das halbwegs reproduzierbar ist wäre es schön wenn ich bug reports bei plex auf macht. wenn das niemand meldet wird es nie repariert.
bei den desktop playern ist mir das noch nie passiert.
gruss
andre
@justme
Danke für deine Arbeit.
Mal ne Frage ist eigentlich abzusehen, wann das Modul Offiziell wird?
das hängt davon ab wie viele echte anwender es gibt :)
das modul ist seit eben eingecheckt und ab morgen per update verfügbar.
gruss
andre
Zitat von: justme1968 am 08 Mai 2016, 21:43:52
das modul ist seit eben eingecheckt und ab morgen per update verfügbar.
gruss
andre
Ich freue mich ein Keks :)))
Seit einer Woche beschäftige ich mich mit FHEM und eben gerade nach dem Update über das Plex Modul sehr gefreut! :)))
Auf dem ersten Blick sieht alles super aus ("On Deck" etc.).
Beschäftige mich die Tage mal damit.
Vielen Dank dafür!
Grüße
Miles
Hallo Andre,
super, dass du das Modul offiziell aufgenommen hast.
Wenn ich einen Track (key=/library/metadata/250) abspielen möchte, stürzen alle meine Clients ab.
Server-Version: 0.9.16.6
Clients:
Plex for Android - Version 4.25.2.588 (Handy, Tablet und FireTV)
plexhometheater- Version 1.4.1.dev-git (ubuntu)
Bin mir aber sicher, dass es mit einer älteren Plexversion schon mal funktioniert hat.
Das Modul sendet:
http://192.168.178.28:32500/player/playback/playMedia?key=/library/metadata/250&machineIdentifier=b907d71c65720b6fb7aaa44061c98628cbb8f7bf&address=192.168.178.220&port=32400&commandID=181
PlexWeb (2.6.1) sendet (mittels wireshark ermittelt)
http://192.168.178.28:32500/player/playback/playMedia?key=/library/metadata/250&offset=0&machineIdentifier=b907d71c65720b6fb7aaa44061c98628cbb8f7bf&protocol=http&address=192.168.178.220&port=32400&containerKey=/playQueues/557?own=1&window=200&commandID=2
also ohne Angabe von containerKey.
Keine Ahnung was 'containerKey' hier bedeutet. Es handelt sich hierbei um einen einzelnen Track und nicht um eine Playlist.
Es wird aber immer eine temporäre Playlist durch PlexWeb am Client erzeugt!! (Keine Playlist auf dem Server)
Wenn man sich mittels PlexWeb neu mit dem Client verbindet, wechselt die Id von 'playQueues' bei gleichem Track.
Kann das jemand bestätigen?
Hat Plex da was an der Syntax geändert!? oder hat sonst jemand eine Idee?
Risiko
Nachtrag:Habe hier was dazu gefunden:
https://github.com/plexinc/plex-media-player/wiki/Remote-control-API
ZitatProtocol-Version (default is 0, 1 means you support this new API).
Zitat/player/playback/playMedia now accepts key, offset, machineIdentifier, address, port, protocol, token, and containerKey parameters instead of the previous path parameter.
Nachtrag 2Ich habe noch etwas weiter recherchiert.
PlexWeb legt vor dem eigentlichen Play-Befehl mit POST doch eine Queue an bzw. lässt sie vom Server anlegen.
http://192.168.178.220:32400/playQueues?type=audio&uri=.......
und bekommt vom Server die ID, welche dann bei 'containerKey' verwendet wird.
Mittels
http://192.168.178.220:32400/playQueues/<ID> bekommt man dann auch die Info's zur Queue
Ärgerlich ist aktuell, dass die Clients beim Abspielen von Tracks ohne Queue abschmieren.
@Andre: Könntest du dir vorstellen die 'playQueues' mit ins Modul aufzunehmen?Den vollständige Log von wireshark könnte ich zur Verfügung stellen.
Hallo miteinander,
nachdem Plex nun auch ,,offiziell" in FHEM eingecheckt ist, wollte ich meine vorhandenen Plex Clients mit FHEM Steuern.
Hierzu habe ich erst einmal die notwendige Vorraussetzung für das Plex Modul geschaffen mit:
sudo apt-get install libio-socket-multicast-perl
danach:
define Plex plex 192.168.172.19
So sieht also mein Modul in FHEM aus:
Internals:
CFGFN
DEF 192.168.172.19
NAME Plex
NR 420
NTFY_ORDER 50-Plex
STATE ???
TYPE plex
fhemHostname (none)
fhemIP 192.168.172.19
id f0a378f803b546078e0e8371011aad76
port 32400
server 192.168.172.19
Clients:
Servers:
192.168.172.19:
address 192.168.172.19
host 192.168.172.19
machineIdentifier 3d628a86ff9b98292f78af28d462e42fa6e8af2f
name HTPC
online 1
port 32400
updatedAt 1463180083.94096
version 0.9.16.6.1993-5089475
Attributes:
room Multimedia_Zubehör
Nun habe ich aber bereits folgendes Problem. Wie man sehen kann, steht unter ,,State": nur ? ? ?
Zur Befehlsauswahl stehen folgende Befehle zur Verfügung:
playlistAdd
playlistCreate
playlistREmove
restartDiscovery
showAccount
subscribe
unsubscribe
unwachted
watched.
Weitere Clients werden nicht vom Plex Modul hinzugefügt und ich kann meine vorhandene Clients bisher auch nicht ansteuern.
Ich habe mir die Commandref bzgl. des Plex Moduls mehrmals durchgelesen, weiss allerdings nicht, wo ich den Fehler begangen haben könnte.
Habt Ihr vielleicht einen Tipp für mich ?
@Risiko: ich habe es gerade mit plex ht 1.4.1 und openpht 1.5.1 getestet und kann das problem nicht reproduzieren.
das fhem modul verwendet das neue api, sendet bei play (playMedia) für einen titel aber nur den key und legt keine playqueue an. playQueues sind schon eingebaut und werden verwendet wenn du mit playAlbum ein komplettes album abspielst.
hast du das play auf eine player device gemacht oder auf das server device?
@Joker2002: leg das plex master device an ohne eine ip anzugeben. der server wird automatisch gesucht und die player dann angelegt sobald sie im netz sind bzw. sobald sie das erste mal etwas spielen.
gruss
andre
Habe es ausprobiert und ich möchte ein dickes Danke dafür sagen. Plex nutze ich schon länger und nun hat das Smart-Home endlich auch Steuerungsmöglichkeiten.
Das Abspielen von Playlisten funktioniert bei mir noch nicht, Plex für Android auf Kitkat beendet sich dabei und das Plex Home Theater reagiert gar nicht drauf. So wie ich gelesen habe, ist das wohl noch ein offener Punkt (?).
Das Abspielen von einzelnen Titeln und Alben funktioniert wunderbar, juhu :D
lg
aeronaut
playlisten lassen sich anzeigen, erzeugen, ändern und löschen. mehr noch nicht. zum abspielen muss vermutliche wie bei den alben eine playqueue angelegt werden. das ist bis jetzt nur für die alben eingebaut.
wie hast du versucht sie abzuspielen?
gruss
andre
Ich habs so versucht:
set 7118ee6315124e6cbaf1ccf1a8523de5 play /playlists/60267/items
Das ist eine Musik-Playlist.
Zitat von: justme1968 am 21 Mai 2016, 17:39:21
@Risiko: ich habe es gerade mit plex ht 1.4.1 und openpht 1.5.1 getestet und kann das problem nicht reproduzieren.
das fhem modul verwendet das neue api, sendet bei play (playMedia) für einen titel aber nur den key und legt keine playqueue an. playQueues sind schon eingebaut und werden verwendet wenn du mit playAlbum ein komplettes album abspielst.
hast du das play auf eine player device gemacht oder auf das server device?
Ja, mit OpenPHT (1.5.2) gehen einzelne Tracks ohne playQueues. Mit Plex für Android v4.25.2.588 gehen einzelne Tracks leider nicht. >:(
Das Abspielen von Alben geht aber (da hier eine playQueue angelegt wird).
Das Pausieren und Stoppen geht leider nicht, da hier der Typ video und nicht music verwendet wird
/player/playback/stop?type=video&commandID=11
Bei OpenPHT geht das mit Typ video auch bei Musik (noch)
Hab alles über den Player gesteuert.
@aeronaut: das ist noch nicht eingebaut. vermutlich muss man für eine playlist auch wieder selber eine playqueue erzeugen. das schaue ich mir demnächst an. auch wegen dem abspielen einzelner titel.
@Risiko: ich habe eben eine version eingecheckt die versucht für die playback kommandos den aktuellen medien type aus der timeline zu bestimmen. zusätzlich kann man den typ (video,music,photo) als optionalen paramter mit angeben.
das erstellen der playqueue auch für einzelne title schaue ich mir an. ich weiss aber nicht wann ich dazu komme.
gruss
andre
Vielen Dank.
Wenn ich es zeitlich schaffe, kann ich dir evtl. auch nen patch liefern.
Hab mir heute den Code im Modul etwas angesehen und denke so schwer ist das nicht.
gibt es noch jemanden der plex und sonos verwendet und über die sonos player auf die plex music library zugreifen will? z.b. um das 65000 titel limit zu umgehen?
ich habe gerade eine erweiterung des plex moduls angefangen mit der man direkt aus dem sonos controller die plex library ansprechen kann wie jeden anderen online dienst. da dabei die sonos player nicht mehr direkt indizieren kann so auch auf mehr als auf 65000 titel zugegriffen werden.
falls jemand demnächst testen mag bitte melden.
gruss
andre
Hört sich spannend an, bisher nutze ich Sonos mit einer abgesteckten Bibliothek. Plex habe ich noch nicht im Einsatz, hab's aber gerade auf einer Synology DS1813+ installiert und lasse gerade die Tracks importieren.
Wäre für mich interessant. Haber > 65000 Titel.
Habe bisher aber kein Plex, habe aber auch Synology im Einsatz.
ich habe eben ein update eingecheckt:
- statt mit myPlex account und password es ist möglich sich für myPlex per pin anzumelden
hierzu wird statt der user und password attribute mit get <plex> pin eine pin erzeugt die man unter https://plex.tv/pin bestätigt um das fhem modul zu authentifizieren. wenn man autosave deaktiviert hat muss man danach in fhem ein mal save aufrufen damit das token permanent gespeichert wird.
- neues attribut httpPort
hier mit lässt sich der von modul verwendete http port auf einen festen einstellen und wird nicht mehr dynamisch bestimmt.
- es ist eine erste version der SMAPI unterstützung eingecheckt mit dem ein SONOS system direkt auf die PMS libraries zugreifen kann.
- diverse kleiner bug fixes
um die PLEX/SONOS anbindung zu testen:
- das SONOS modul in fhem verwenden und die player devices zu erzeugen (das ist nur einmalig zur Registrierung nötig)
- mit dem httpPort attribut einen festen (und auf dem fhem rechner unbenutzten) port vergeben
- mit set <plex> smapiRegister das plex server device bei den sonos playern registrieren
alternativ wenn das SONOS modul nicht installiert ist: set <plex> smapiRegister <ip> mit der ip des/der sonos player aufrufen. - im sonos system über Musikdienste hinzufügen PLEX als dienst bekannt machen
- danach ist PLEX als musikquelle auswählbar und lässt sich ganz normal verwenden
anmerkungen:
- es werden nur musik und premium musik sections angezeigt
- es ist (noch) kein transcoding eingebaut. d.h. das sonos system muss mit den verwendeten formaten klar kommen
- die anfragen an den plex server die vom sonos system kommen werden (im gegensatz zu allen anderen) noch synchron und blockierend ausgeführt
- die Info & Optionen seite zeigt zum teil noch falsche dinge an
gruss
andre
Hallo Andre,
hier der besagte Patch.
1. playAlbum ist mit in der set-List, wenn der Client playQueues unterstützt
2. Den Befehl zur Erstellung der playQueue auf dem Server entsprechend PlexWeb angepasst
Somit funktioniert es jetzt bei plex für Android und OpenPHT.
Weiterhin kann man bei playAlbum auch einen einzelnen Track angeben.
Risiko
Nachtrag: Noch kleinen Fehler mit der Set-List behoben
danke. schaut gut aus. hab es eingecheckt.
falls du zeit und lust hast kannst du mal schauen wie das abspielen einer playlist funktioniert bzw. die die anderen player das machen :).
den key für die playlist kann man scheinbar nicht direkt angeben. eventuell muss man die playlist auslesen und dann alle elemente in die playQueue eintragen.
vermutlich wäre es dann gut etwas zur playQueue hinzufügen. das könnte man dann auch gleich als set kommando einbauen.
gruss
andre
Ja, kann machen. Wird aber etwas dauern.
Anbei nochmal ein patch für playAlbum in der FHEMWEB DropDown list.
ist eingecheckt.
gruss
andre
Ging doch schneller als gedacht. :)
Anbei ne Version um playlists abzuspielen:
Syntax: set <name> playAlbum /playlists/<ID>
Bin damit nicht ganz glücklich. Würde lieber playAlbum in playQueue umbenennen oder alternativ ein playPlaylist einführen. Was meinst du?
Wollen wir das eigentlich hier weiter abhandeln oder lieber im Developer Bereich?
Risiko.
das war wirklich schnell. war ja ganz einfach :)
wie wäre es nur ein play kommando zu haben das automatisch das richtige macht?
deine aktuelle playAlbum version kommt ja schon mit alben und einzelnen titeln zurecht und sie funktioniert auch für filme und anderen videos. da man die playlisten direkt am key erkennen kann man sie auch mit dem gleiche kommando behandeln.
dieses kommend würde ich dann play nennen und as aktuelle play in playMedia umbenennen damit es erst mal noch da ist falls es probleme gibt.
hast du eine idee wie man resume mit der playqueue macht?
als nächstes könnte man dem neuen play kommando auch gleich mehrere keys auf der kommandozeile übergeben und daraus die playqueue erzeugen. auch das anhängen von titeln zur aktuellen playqueue wäre glaube ich praktisch :)
Ja die Idee mit nur einem play Befehl kam mir dann auch.
Anbei der Patch altes play ohne Queue ist nun playMedia und neues play ist mit Queue (Album, Playlists, einzelne Tracks)
Das mit play resume habe ich auf die Schnelle noch nicht ganz durchschaut. Da könnte noch noch was falsch sein.
ich habe noch zwei kleinigkeiten umgestellt. dann es schaut gut aus. bei mir funktioniert alles. auch resume.
es gibt zwei play kommandos. eins mit paramter -> das spielt den key ab, eins ohne key das toggelt bei alten playern zwischen play und pause bzw. spielt bei neuen playern nach pause weiter.
es gibt auch zwei resume. eins mit parameter -> das video wird da gestartet wo man zuletzt aufgehört hat (das verwendet erst mal immer noch playMedia) und eins ohne key das ist ein workaround für die alten player bei denen play ein toggle kommando ist. dieses resume spielt nur weiter wenn der player gerade nicht spielt.
dann habe ich aber die abfrage zum aktuellen play zustand sich beim zweiten play von oben eingebaut und das zweite resume ist eigentlich überflüssig.
ich hab diese version mal eingecheckt. ich hoffe es funktioniert auch bei allen anderen.
gruss
andre
Super. Vielen Dank.
Das anhängen von Titeln zur PlayQueue schaue ich mir bei Gelegenheit mal an. Auch das Shuffle abspielen steht noch auf meiner ToDo-Liste.
funktioniert set <player> shuffle 1
nicht ?
gruss
andre
Ich habe die neue Playlistenfunktion mal getestet und muss sagen: sie funktioniert tadellos. Danke dafür, damit ist die Plex-Integration für mich richtig nutzbar geworden.
lg
aeronaut
Zitat von: justme1968 am 30 Mai 2016, 20:54:10
funktioniert set <player> shuffle 1
nicht ?
Nee leider nicht.
Shuffle ist in controllable nicht enthalten, obwohl es in der timeline enthalten ist.
Meine Idee wäre eher die PlayQueue shuffelt zu erstellen. z.B. Play (PlayList oder Album) shuffle
schau mal ob das kommando geht wenn man dafür die prüfung auf controllable raus nimmt.
ich glaube shuffle kann man nur so explizit ein und aus schalten und nicht in der playlist mit anzugeben,
gruss
andre
Zitat von: justme1968 am 31 Mai 2016, 20:12:34
schau mal ob das kommando geht wenn man dafür die prüfung auf controllable raus nimmt.
ich glaube shuffle kann man nur so explizit ein und aus schalten und nicht in der playlist mit anzugeben,
Denke schon.
&shuffle=0
bei der PlayQueue
Schaue ich mir aber nochmal an.
Zitat von: justme1968 am 31 Mai 2016, 20:12:34
schau mal ob das kommando geht wenn man dafür die prüfung auf controllable raus nimmt.
Werde ich mal versuchen.
Anbei erstmal ein Patch für pause<->resume
1. Erkennung currentMediaType
2. Timeline nach dem Set nach 2s abfragen um den neuen Status zu bekommen. Der Player sendet selbst keine neue Timeline. Evtl. hast du hierfür aber eine bessere Idee.
Zitat von: justme1968 am 31 Mai 2016, 20:12:34
schau mal ob das kommando geht wenn man dafür die prüfung auf controllable raus nimmt.
Ja geht. Es wird die PlayQueue auf dem Server geändert.
Mit shuffle=0 erhält man die ursprüngliche playQueue zurück.
.. mal ne doofe Frage. Da stand, das Modul ist per update verfügbar, warum habe ich es nicht in der Distribution?
Zu welcher Version sind hier immer die Diffs eingestellt?
was für eine distribution?
der fhem update geht mit dem update kommando in FHEM.
gruss
andte
Hab 5.7
Nach update
Define plex plex
Unknown module plex
5..7 sag noch nichts.
schau ins log. vermutlich fehlt dir ein perl nodul. z.b. XML::Simple.
sorry, hatte restart vergessen ... :(
Danke für die Unterstützung.
@Risiko:
Zitat1. Erkennung currentMediaType
hab ich eingecheckt
Zitat2. Timeline nach dem Set nach 2s abfragen um den neuen Status zu bekommen. Der Player sendet selbst keine neue Timeline. Evtl. hast du hierfür aber eine bessere Idee.
ich habe eben noch ein problem bei play/pause behoben und eingecheckt.
was du hier meinst verstehe ich aber nicht. wenn man pausiert wechselt bei allen meinen playern state auf pause und beim weiter spielen auf playing. unabhängig davon ob das pausieren direkt am player macht oder aus fhem heraus. grade getestet mit pht, pmp und iOS. bei meinen letzten tests war das auch bei android auf dem tablet und auf dem fire tv der fall. d.h. die timeline kommt wie sie soll. das läuft ja über die bestehende timeline subscription.
gruss
andre
Zitat von: justme1968 am 01 Juni 2016, 22:29:25
ich habe eben noch ein problem bei play/pause behoben und eingecheckt.
was du hier meinst verstehe ich aber nicht. wenn man pausiert wechselt bei allen meinen playern state auf pause und beim weiter spielen auf playing. unabhängig davon ob das pausieren direkt am player macht oder aus fhem heraus. grade getestet mit pht, pmp und iOS. bei meinen letzten tests war das auch bei android auf dem tablet und auf dem fire tv der fall. d.h. die timeline kommt wie sie soll. das läuft ja über die bestehende timeline subscription.
Es geht jetzt.
Ich hatte aber das Problem, dass bei pause der Player zwar pausierte aber der state auf playing blieb. Ich nahm an, dass der Player keine neue timeline sendet.
Erst wenn ich manuell get timeline ausgeführt hatte, passte auch der state wieder. Kann das jetzt aber nicht mehr nachvollziehen.
Hallo Andre,
ein Patch für die "richtigen" controllable Daten statt der letzten in der timeline.
Weiterhin noch zwei Warnungen behoben.
danke. das geht ja wie am fließband :)
habs eingecheckt.
gruss
andre
Hallo Andre,
neuer Patch um noch shuffle, repeat, playQueueID und playQueueItemID als Reading anzubieten.
Mit playQueueID und playQueueItemID kann man zukünftig Details zur aktuellen PlayQueue und aktuellem Track der Queue anbieten. Auch eine Vorschau auf der\die nächsten Titel wären machbar.
Bei Stop werden jetzt alle Readings gelöscht, welche nicht mehr aktuell\vorhanden sind. Hier bin ich aber noch etwas unsicher.
Evtl. ist es besser die Readings nur zu leeren statt zu löschen. Was meinst du?
Risiko
sorry. hat ein bisschen länger gedauert.
ich habe den patch im prinzip zu eingecheckt. beim plex_readingsBulkUpdateIfChanged brauchst du nicht mehr zu prüfen ob der wert defined ist. das macht die routine selber schon.
zum löschen der readings habe ich noch ein removeUnusedReadings attribut eingeführt. zur zeit nur mit den möglichen werten 0 und 1. zum überschreiben mit einem leeren string könnte man dann 2 verwenden.
wenn ein player offline geht werden die readings auch gelöscht.
das ganze das konfigurierbar machen ist sinnvoll weil man sonst z.b. nicht mehr automatisch den letzten titel wieder starten oder weiter spielen lassen kann wenn ein player erscheint.
das deletereading würde ich gerne noch nach readingsEndUpdate schieben. dann kann man im stop event noch auf die readings zugreifen.
gruss
andre
Zitat von: justme1968 am 13 Juni 2016, 18:27:00
sorry. hat ein bisschen länger gedauert.
Kein Problem. Danke.
Bin auch erstmal verhindert. Geht aber sicherlich hier noch weiter.
Ich habe ebente gerade ein Update gemacht, hierbei würde eine neue Version von Plex installiert.
Seit dem bekomme ich:
configfile: Cannot load module plex
Cannot load module plex
Cannot load module plex
Cannot load module plex
sorry. hab es repariert.
ab morgen im update oder jetzt im svn.
gruss
andre
Zitat von: justme1968 am 15 Juni 2016, 08:23:02
sorry. hab es repariert.
ab morgen im update oder jetzt im svn.
gruss
andre
Alles klar danke.
Bei mir werden momentan keine Clients mehr automatisch erkannt.
Hat jemand das gleiche Problem?
Am Anfang wo ich es das erste mal in Betrieb genommen habe wurden die Clients automtisch im Raum Plex angelegt.
Komischerweise haben die bei mir erkannten Clients keinerlei Get/Set-Befehle mehr. Es handelt sich um RasPlex Clients die auch aller per Autodiscovery gefunden werden. Der aktuelle Titel wird korrekt angezeigt ... nur steuern kann ich sie nicht (mehr).
seit wann ist das so?
Seit min. einem Monat. Hatte es vorher leider lange nicht verwendet.
--> 37_plex.pm 11716 2016-06-25 17:57:29Z justme1968
Ich merke gerade dass ich auch das stateFormat-Attribut des Player-Devices nicht ändern kann. Es erscheint weder in der Auswahlliste, noch kann es manuell angepasst werden. Oder wird dieses Attribut eventuell gar nicht unterstützt?
stateFormat & co war noch nicht eingebaut. das geht ab dem update morgen.
wegen dein rasplex problemen: kannst du bitte noch mal prüfen ob es geht? wenn nicht geht es mit einer alten version?
gruss
andre
servus,
besteht die Möglichkeit auf einen entfernten Plexserver zuzugreifen? Er scheint bei mir immer die lokale IP zu nutzen und nicht die öffentliche...
Der Server wird bei mir nie als online angezeigt.
server und clients werden nur im lokalen netz automatisch gefunden.
einen entfernten server musst du von hand mit define <name> plex <ip> anlegen.
gruss
andre
hallo andre,
in Verbindung mit Plex Home scheint das aber nicht zu funktionieren, da zwingend eine Authenthfizierung erfolgen muss. Der reine Zugriff über die IP ist damit nicht mehr möglich.
ZitatWhen you become part of a Home, your Server automatically changes some security-related settings, one of which requires authentication for all access to the Server.
das modul kann sich per pin oder user/password in einem home authentifizieren. ich weiss aber nicht ob das nur für eigene oder auch fremde server funktioniert.
taucht der entfernte server in der liste bei einem get <plex> servers auf wenn du plex ohne server ip definierst und dich per pin oder user/password bei plex home angemeldet hast? mit welcher ip steht er dort?
ich habe keinen fremden/freigegeben server und kann es selber nicht testen.
der server taucht mit der lokalen ip auf wenn ich mich per pin angemeldet habe.
ich schau mal ob ich rausfinde wie das mit der externen ip funktioniert.
gruss
andre
also... prinzipiell habe ich es auch mit externen/remote servern am laufen. kommt demnächst.
ich muss mir nur überlegen wie man das transparent integrieren kann. ich habe noch keine gute idee wie man automatisch erkennen kann ob ein server nur remote oder auch lokal erreichbar ist.
gruss
andre
Zunächst mal vielen Dank für das geniale Modul.
Habe mich riesig gefreut, als ich mit ActivePerl und Diskstation nun einen Weg gefunden habe, den Multicast zu nutzen und danach alle Devices sauber erstellt worden sind.
Nun wollte mich gerade mit den nun vielfältig verfügbaren Möglichkeiten der Integration (Lichtszenarien abhängig vom Play-Status) beschäftigen, als mir aufgefallen ist, dass regelmäßig Connections zwischen meinen Devices getrennt werden.
Zum Beispiel habe ich einen kleine Windows-Box mit (open) PHT am Fernseher, die ich mit Android Handy/Tablet "füttere".
Dazu wähle ich etwa am Handy den Film aus, dann das als Abspiel-Gerät die (Bee) Box und los geht's.
Normalerweise kann ich dann Pausieren, Vor-/Zurück-Hüpfen und ähnliches. Wenn nun FHEM läuft (mit plex-Modul), ist nach wenigen Sekunden die sonst permanente Connection zwischen Controller (Handy) und Renderer (Beebox) getrennt. Baue ich die Connection wieder auf, ist sie auch im Nu erneut getrennt.
Stoppe ich FHEM (den Dienst auf des Diskstation) ist wieder alles gut (so wie mit laufendem FHEM ohne plex-Modul früher).
Neuestes Update habe ich mir schon geholt.
Ich denke, das FHEM-Modul stört durch den Aufbau der eigenen Verbindung die andere bereits bestehende.
Kann das jemand nachvollziehen bzw. beheben?
Grüße (auch an die geniale Gemeinde hier),
Alex.
bei den normalen playern habe ich das noch nicht beobachtet. machen der apps für android und iOS vertragen mehrere remote verbindungen manchmal nicht so gut. das kann man auch nachstellen wenn man sich mit zwei handys zu so einem player verbindet. das ist eher ein bug im player als im fhem modul.
bei pht,pmp und openpht habe ich das aber noch nicht bemerkt.
gruss
andre
Danke für den Tipp!
Habe mit ignoredClients alle Android-Devices (sind bei mir eh nur Controller) verbannt und schon ist wieder Ruhe...
Grüße,
Alex.
anbei eine erste test version die auch mit entfernten und freigegebenen servern klar kommen sollte.
- get <plex> servers listet auch entfernte und freigegebene server auf
- set <plex> autocreate <machineIdentifier> legt für diese server ein fhem device an (optional)
- get <plex> <machineIdentifier> ls ... listet die mediathek eines entfernten/freigebenen servers
- set <player> play <server machineIdentifier> <key> startet den titel/album/... eines entfernten server auf <player>
achtung: aktuell werden die ip adressen der myplex server nur ein mal beim starten ausgelesen. die aktualisierung fehlt noch
was noch kommt:
- das handling mehrere server ist noch nicht besonders schön
- für jeden player einen aktuellen default server setzen. dann muss er beim play kommando nicht immer angegeben werden.
- ...
gruss
andre
edit 2016-10-22: diesen stand so eingecheckt
Hallo Andre,
ist es möglich das ich mir per pushalot oder pushover eine Meldung schicke wenn ein Film vom Plex Server gestartet wird?
MFG Benjamin
die server erzeugen kein event wenn etwas gestartet wird. nur die clients.
wenn es um die clients in deinem netz geht kannst du das per notify machen.
wenn es darum geht das du mitbekommst wenn jemand remote etwas bei dir abspielt geht das aktuell nicht. man könnte das currently playing pollen. ich schaue mal ob das funktioniert.
gruss
andre
Schon mal herzlichen Dank. Es geht in der Tat um die eingeladen Freunde sprich Remote User.
Gesendet mit Tapatalk
ich glaube ich habe eine sehr nette methode gefunden. mal sehen wie ich das einbaue und wo ich die readings und events hin stecke.
kannst du mir bitte mal die ausgabe von get <plex> sessions schicken während jemand remote bei dir etwas abspielt?
gruss
andre
Klar kein Problem kann ich aber erst heute Abend liefern
habe heute mal das modul probiert einzubinden ... geht nicht.. status bleibt auf ??? keine meldungen im log. woran kann es liegen ?
Internals:
DEF srv00
NAME plexsrv
NOTIFYDEV global
NR 123
NTFY_ORDER 50-plexsrv
STATE ???
TYPE plex
fhemHostname SRV00
fhemIP 192.168.2.9
id e51214e1f6f78bccee2d062b48a142fc
machineIdentifier srv00
Clients:
Myplex-servers:
Servers:
Attributes:
DbLogExclude .*
room Plex
keinen server angeben. nurdefine plex plex
das ist der 'master' define der clients und server automatisch selber findet. und die player per autocreate anlegt.
wenn du den server im define mit angibst wird nicht mehr automatisch gesucht. und das device macht von sich aus erst mal nichts. get und set kommandos gibt es trotzdem.
je nach server configuration (wenn du myPlex verwendest) musst du das plex device noch mit get pin und registrierung bei plex.tv/pin für deinen server zulassen.
gruss
andre
Zitat von: justme1968 am 27 Oktober 2016, 21:52:35
keinen server angeben
wäre was für die cmd-ref oder nicht?! dann sagt er
Zitatgive ip or install IO::Socket::Multicast to use server and client autodiscovery
das modul habe ich installiert
EDIT: fhem nahc install per cpan neustarten ::)
ja. die commandref ist noch nicht sehr vollständig.
aber siehe erster beitrag der und dann: https://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477 (https://forum.fhem.de/index.php/topic,43052.msg353477.html#msg353477).
gruss
andre
wenn du nicht myPlex verwendest und trotzdem authentifizierung brauchst: die user und password attribute setzen.
gruss
andre
was sollte denn dann bei raus kommen?alles so gemacht, ich kann mit get clients zb clients sehen aber readings habe ich immer noch nicht. STATE ist ???
set <plex> autocreate <machineIdentifier> bringt unknown server: <machineIdentifier>
irgendwelche player werden auch nicht angelegt
das server device hat keine readings. es ist vor allem zum durchsuchen der library.
die player devices werden angelegt sobald sie das erste mal etwas abspielen.
Angeregt durch einen anderen Thread habe ich mir auf der Synology Plex installiert.
Läuft alles soweit.
Jetzt habe ich mit define <Device> plex 192.168.0.4 das ganze in fhem definiert.
Leider zeigt das Device nur STATE ? ? ?
Ich habe auch nur die Möglichkeit ein set <Device> autocreate auszuwählen.
Mache ich das mit set <Device> autocreate 192.168.0.4, kommt unknown server: 192.168.0.4
Version ist: 37_plex.pm 12406 2016-10-22 14:00:24Z justme1968
Was mache ich falsch?
Hier noch das List:
Internals:
.triggerUsed 1
CFGFN
DEF 192.168.0.4
NAME qfPlexServer
NOTIFYDEV global
NR 1263
NTFY_ORDER 50-qfPlexServer
STATE ???
TYPE plex
fhemHostname qfserver
fhemIP 192.168.0.5
id 1b885e5c8f458c41ef9c713ecb79a604
port 32400
server 192.168.0.4
Clients:
Helper:
Timelinelistener:
FD 45
NAME qfPlexServer:timelineListener
NR 1264
PNAME qfPlexServer
PORT 38573
STATE accepting
TEMPORARY 1
TYPE plex
interval 30
Connections:
Phash:
Subscriptionsto:
Myplex-servers:
Servers:
Attributes:
password crypt:6b5a645600080a0605
user crypt:5552455e144a7246425b5a5b5257410f5d4b174a5003
Zitat von: justme1968 am 28 Oktober 2016, 08:39:06
die player devices werden angelegt sobald sie das erste mal etwas abspielen.
mein iphone spielt seit 30minuten und wird nicht als player angelegt
die session kann ich aber sehen mit get sessions (das fenster wird zwar elendig groß angezeigt aber er zeigts)
@Mitch: keinen server im define angeben: https://forum.fhem.de/index.php/topic,43052.msg511249.html#msg511249 (https://forum.fhem.de/index.php/topic,43052.msg511249.html#msg511249).
@chris1284:
ist der player im gleichen netz? die broadcast nachrichten setzen das voraus.
siehst du im log das ein player erkannt wurde wenn du ihn startest?
was passiert wenn du den player von hand mit define <name> plex <machineid> von hand anlegst?
geht dann ein set <name> subscribe? ist er dann steuerbar?
für player die nicht im gleichen netz sind (vor allem für remote zugriff) baue ich gerarde eine erweiterung ein.
das dauert aber noch ein bisschen.
gruss
andre
ok. bin unterwegs. das wird das problem sein.
müsste der fehm-plex-controller in fhem nicht aber das serverdevice anlegen? der ist sogar auf der selben maschine wie fhem.
autocreate <id des servers> geht nicht, da sagt er immer unbekannter server
läuft alles unter linux?
server devices werden nicht automatisch angelegt. die werden zur zeit nur für externe server gebraucht.
intern geht alles auch ohne dir server devices. und die meisten haben eh nur einen server dann geht es direkt über das master device.
das autocreate ist dür externe/gesharete server.
wobei über vpn erstellt er auch kein device obwohl er die session sieht und auch diese mit interner ip angezeigt wird
ja, alles unter linux
die broadcast nachrichten gehen nicht über vpn. da bist du nicht mehr im selben netz.
noch mal zur erklärung:
- in plex gibt es unterschiedliche rollen für geräte: server, clients und remote controls
- manche geräte haben mehrere rollen (die mobil apps sind z.b. player, remote controll und optional server)
- das fhem master modul kann alle drei rollen haben
- wenn das fhem modul ohne weiteren paramter definiert wird ist es das 'master' modul
lauscht erst mal was es noch für geräte gibt und hat keine eigenen readings.
über das master modul lassen sich player steuern und server abfragen.
nur geräte im gleichen netz können dynamisch erkannt werden.
- für dynamisch erkannte player wird automatisch ein fhem device angelegt. dieses hat dann
readings zum aktuellen zustand und kommandos um diesen einen player zu steuern
- bei allen kommandos an player und server kann der server von dem die daten kommen sollen angegeben werden.
wird er nicht angegeben wird der default server verwendet. da die meisten nur einen server im eigenen netz haben
kommt man normalerweise ohne angabe des server aus
- remote server können mit dem autocreate befehl als device angelegt werden.
alles was dynamisch passiert basiert auf broadcast nachrichten die auf das gleiche netz beschränkt sind.
alles was ausserhalb des gleichen netzes passiert braucht einen anderen mechanismus. der ist aktuell nur für remote server eingebaut. noch nicht für remote clients.
gruss
andre
zurück zu hause und ein paar minuten film abspielen wure das iphone angelegt. das ipad erkennt er auch nach 30 minuten nicht
lege ich per hand an und sage im fhem-master set subscribe änder sich nicht wirklich was am ipad device. er erkennt das es plex for ios ist aber und present/absent/disappered aber mehr auch nicht.
die internal sehen auch anderst aus, readings füllt er nicht
Zitatipad
Internals:
CFGFN
DEF entfernt
NAME plex_iPad
NOTIFYDEV global
NR 226
NTFY_ORDER 50-plex_iPad
STATE disappeared
TYPE plex
deviceClass tablet
fhemHostname SRV00
fhemIP 192.168.2.9
id entfernt
machineIdentifier entfernt
platform
platformVersion
product Plex for iOS
protocolCapabilities playback,playqueues,timeline
version 4.4
Readings:
2016-10-28 15:58:15 presence absent
2016-10-28 15:58:15 state disappeared
Clients:
Myplex-servers:
Servers:
Attributes:
DbLogExclude .*
room plex
Zitatiphone
Internals:
DEF entfernt
NAME plex_iPhone
NOTIFYDEV global
NR 124
NTFY_ORDER 50-plex_iPhone
STATE disappeared
TYPE plex
fhemHostname SRV00
fhemIP 192.168.2.9
id entfernt
machineIdentifier entfernt
Readings:
2016-10-28 14:41:55 cover http://192.168.2.9:32400/library/metadata/158/thumb/1477510694
2016-10-28 14:41:55 currentTitle 300
2016-10-28 14:41:55 duration 01:56:38
2016-10-28 14:41:55 key /library/metadata/158
2016-10-28 14:41:55 location fullScreenVideo
2016-10-28 14:42:05 playQueueID 16
2016-10-28 14:42:05 playQueueItemID 289
2016-10-28 15:35:58 presence absent
2016-10-28 14:41:55 section Filme
2016-10-28 14:41:55 server entfernt
2016-10-28 15:35:58 state disappeared
2016-10-28 14:41:55 type movie
2016-10-28 14:42:01 volume 87
Clients:
Myplex-servers:
Servers:
Attributes:
DbLogExclude .*
room plex
das lustge ist er endeck das pad offerbar
Zitatclients from discovery:
ip updatedAt onl. name machineIdentifier
192.168.2.37 2016-10-28 21:32:19 no CTI iPhone
192.168.2.49 2016-10-28 21:46:53 yes CTI iPad
er sendet auch fleißig die broadcasts
Zitat
2016.10.28 21:53:50.755 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2016.10.28 21:53:50.755 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2016.10.28 21:53:50.755 5: plex: from: 192.168.2.9
2016.10.28 21:53:50.755 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: .plex.direct
Name: SRV00
Port: 32400
Resource-Identifier:
Updated-At: 1477684205
Version: 1.1.4.2757-24ffd60
2016.10.28 21:53:55.757 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2016.10.28 21:53:55.757 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2016.10.28 21:53:55.758 5: plex: from: 192.168.2.9
2016.10.28 21:53:55.758 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: .plex.direct
Name: SRV00
Port: 32400
Resource-Identifier:
Updated-At: 1477684205
Version: 1.1.4.2757-24ffd60
offenbar kann das modul nicht mit der ipadversion. per hand angelegt kann das modul nur den status disappeared setzen so wie es aussieht. steuern und andere readings gehen nicht ... android phone wird direkt angeleg. windows 10 würde ich ja auch testen aber die app ist so bescheiden, findet den server nicht mal (und das ist laut bewertungen wohl schon ne weile so)
ios sollte eigentlich funktionieren.
siehst du mit verbose 5 das das ipad auf die discovery nachrichten reagiert? die antworten vom ipad sehr ich im log oben nicht nur von server.
wenn das schon nicht geht gibt es ein problem mit dem broadcast bei dir.
kannst du mit der android app das ipad steuern?
steuern und alles andere geht nur wenn der player als anwesend erkannt wird.
sobald ich die remote player eingebaut habe gehen auch player die nicht als im lokalen netz anwesend erkannt werden.
wird der plex web player erkannt wenn du in plex web etwas abspielst?
gruss
andre
Zitatwird der plex web player erkannt
webclients werden nicht angezeigt / angelegt. im webfrióntend selbst ist er zu sehen
Zitatproblem mit dem broadcast
würde ich zustimmen wenn es alle geräte betrifft aber nicht bestimmte / nur eines
Zitatkannst du mit der android app das ipad steuern?
nein, die sieht das pad nicht
sieht mir fast so aus als würde auf dem pad eine art "firewall" alles eingehende blocken
dass das ipad on ist merkt fhem ja und setzt es appeared
Hallo zusammen,
bin durch Zufall auf Plex gestossen, und habe es zum Test installiert. Bin erstmal sehr positiv überrascht. Finde Klasse Videos Photos und
Musik von einem Ort aus zu starten. Der WAF Faktor ist auch im Moment recht hoch.
Vorher hatte ich den Logitech Media Server getestet, da ist es schon alles weniger intuitiv.
Eigentlich hatte ich den LMS installiert um in FHEM eine Sprachausgabe zu ermöglichen über Text2Speech.
Nun ist die erste Frage gleich, geht sowas über Plex? Und wenn ja, würde ich mich über ein kleines Beispiel freuen.
Und eine weiter Frage hinterher, habt ihr in Plex ein Internetradio definieren können?
Danke im Voraus
Gruß Eddie
1. Leider wird der Plex-Client von meiner XBOX-One nicht erstellt. Mit get Plex Clients
wird der Client aber
angezeigt. Alle anderen Clients wurden automatisch hinzugefügt. (Benutze myPlex über Pin)
2. Beim AppleTV wollte ich gerne das beim starten des Films die Lampen auf gedimmt werden:
plex.appletv.video.playing set HUEGroup6 bri dim20%
mache ich hier was falsch?
Danke.
Hallo,
hab das problem das bei mir fhemIP auf das externe interface meines Servers gesetzt wird. Dadurch sind natürlich keine clients verfügbar.
Soweit ich gesehen habe gibt es bei der freien Plex version keine Möglichkeit den Dienst auf ein Interface zu binden.
Gibt es eine Möglichkeit das InternalReading auf das interne Interface zu legen?
Gruß
Eisix
@chris1284:broadcast/multicast probleme haben schon mehrfach einzelne geräte typen betroffen. d.h. nur iOS oder nur android. bei meinen tests hat es sogar einen unterschied gemacht auf welchem system (linux/mac os) das fhem modul lief.
sobald ich dazu komme teste ich iOS noch mal.
@meddie: tts hat mit plex und dem plex modul nichts zu tun. eventuell könnte man
@steffisb: 1. wo wird die xbox angezeigt? user discovered clients oder my plex clients?
2. schau mal im event monitor wie das event genau heisst.
@Eisix: die server ip hat nichts mit der client discovery zu tun. so lange dein plex server auch intern über die externe ip erreichbar ist sollte es keine weiteren probleme machen. ich baue aber ein attribut ein um die fhemIP zu konfigurieren.
gruss
andre
Zitat@steffisb: 1. wo wird die xbox angezeigt? user discovered clients oder my plex clients?
myplex
die aktuelle version steuert nur devices die durch die discovery automatisch erkannt werden und lokal sind.
devices die nur in myplex zu sehen sind gelten als remote.
die version die ich hier schon habe kann auch mit diesen umgehen.
kommt im nächsten update.
gruss
andre
schau mal im event monitor wie das event genau heisst.
Hier das Event:
plex plex.appletv photo:stopped video:buffering music:stopped
und hier der Code im DEF: plex.appletv.stopped ;set hueBridge1_HUEGroup0 blink 2 2
Habe mal zum testen blink 2 2 genommen.
define <name> notify plex.appletv:.*video.playing.* set hueBridge1_HUEGroup0 blink 2 2
Hallo,
weiss jemand welche Gruppe ich meinem fhem user geben muss damit ich den Socket aufmachen kann?
Verbose 5 gibt auch nicht mehr.
Plex: failed to start timeline listener started: IO::Socket::INET: Permission denied
Gruß
Eisix
ändern des httport behebt das Problem.
Gruß
Eisix
eigentlich wird der port dynamisch vergeben wenn das attribut nicht gesetzt ist und die meldung sollte nicht erscheinen.
das fest setzen ist normalerweise nicht nötig. wenn du das attribut auf einen wert <1024 gesetzt hast lösche es oder setz es auf einen freien port > 1024.
gruss
andre
Hallo liebe Community,
ich weiß ehrlich nicht was ich falsch mache aber wenn ich das Modul anlege dann findet er auch meinen Plex Server und auch mein AppleTV das funktioniert alles sehr gut!
Aber wenn ich jetzt z.b ein "get PlexServer ls 1/all/" mache bekomme ich immer nur ein "!!! Connection lost, trying a reconnect every 5 seconds !!!".
Manche gehen aber also wenn ich über byFirstLetter gehe dann kann ich mir z.B. alle mit a anzeigen aber wenn ich mir dann ein Film anschauen möchte,
z.b. "get PlexServer details /library/metadata/670" wird mir alles angezeigt aber das Cover Bild bekomme ich auch nicht. Er findet das Bild nicht.
User und Passwort habe ich hinterlegt und bei den httpPort habe ich auch gesetzt "32400"
Hat jemand eine Idee was ich hier falsch mache?
Danke schon mal für eure Antworten
geht ein einfaches ls ohne parameter?
gruss
andre
Zitat von: justme1968 am 14 November 2016, 15:28:10
geht ein einfaches ls ohne parameter?
gruss
andre
Ja das geht da bekomme ich die Folder angezeigt
und da gibt es eine library 1 ?
wenn ja geht 1/all ohne den / an schluss ?
wenn nein was steht bei verbose 5 im log?
Ja das geht dann bekomme ich die Auflistung.
Wenn ich dann aber auf "All" klicke dann bekomme ich die Fehlermeldung
Ich habe mal 2 Screenshots angehangen Ich hoffe dann wird klar was ich meine :-)
und noch mal einen Auszug aus dem Log:
2016.11.14 16:05:51 4: PlexServer: requesting http://192.168.10.69:32400/library/metadata/2
2016.11.14 16:05:51 5: PlexServer: received <?xml version="1.0" encoding="UTF-8"?>
<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="1" librarySectionTitle="Filme" librarySectionUUID="778e3e26-edb7-4f63-a796-a6d0ec2b9d11" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1478606526">
<Video ratingKey="2" key="/library/metadata/2" guid="com.plexapp.agents.imdb://tt2194499?lang=de" librarySectionID="1" studio="Working Title Films" type="movie" title="Alles eine Frage der Zeit" originalTitle="About Time" contentRating="R" summary="In einer Neujahrsnacht wird Tim von seinem Vater ein Familiengeheimnis anvertraut: Jeder Mann in seiner Familie besitzt seit je her die Fähigkeit, in der Zeit zu reisen. Tim kann zwar nicht die Weltgeschichte verändern, wohl aber den Verlauf seines eigenen Lebens. Und so beschließt er, die Welt für sich etwas aufzubessern, indem er eine Freundin in der Vergangenheit für sich zu gewinnen versucht. Das stellt sich allerdings als weitaus schwieriger heraus als gedacht, als er sich in Mary verliebt. Denn die Zeit lässt nur bedingt mit sich spielen..." rating="7.6" year="2013" thumb="/library/metadata/2/thumb/1477828510" art="/library/metadata/2/art/1477828510" duration="7402112" originallyAvailableAt="2013-11-08" addedAt="1390753725" updatedAt="1477828510" chapterSource="mixed">
<Media videoResolution="1080" id="2" duration="7402112" bitrate="6080" width="1920" height="800" aspectRatio="2.35" audioChannels="6" audioCodec="dca" videoCodec="h264" container="mkv" videoFrameRate="24p" audioProfile="dts" videoProfile="high">
<Part id="2" key="/library/parts/2/1390753725/file.mkv" duration="7402112" file="Z:\Alles eine Frage der Zeit German DL 1080p.mkv" size="5625358138" audioProfile="dts" container="mkv" videoProfile="high">
<Stream id="182" streamType="1" default="1" codec="h264" index="0" bitrate="3682" language="English" languageCode="eng" bitDepth="8" cabac="1" chromaSubsampling="4:2:0" codecID="V_MPEG4/ISO/AVC" duration="7402110" frameRate="23.976" frameRateMode="cfr" hasScalingMatrix="0" height="800" level="41" pixelFormat="yuv420p" profile="high" refFrames="5" scanType="progressive" width="1920" />
<Stream id="183" streamType="2" selected="1" default="1" codec="dca" index="1" channels="6" bitrate="768" language="Deutsch" languageCode="ger" audioChannelLayout="5.1(side)" bitDepth="24" bitrateMode="cbr" codecID="A_DTS" duration="7402112" profile="dts" samplingRate="48000" />
<Stream id="184" streamType="2" codec="dca" index="2" channels="6" bitrate="1509" language="English" languageCode="eng" audioChannelLayout="5.1(side)" bitDepth="24" bitrateMode="cbr" codecID="A_DTS" duration="7402112" profile="dts" samplingRate="48000" />
<Stream id="185" streamType="3" default="1" forced="1" codec="srt" index="3" language="Deutsch" languageCode="ger" codecID="S_TEXT/UTF8" format="srt" />
</Part>
</Media>
<Genre id="14" tag="Komödie" />
<Genre id="15" tag="Drama" />
<Genre id="16" tag="Science Fiction" />
<Director id="1" tag="Richard Curtis" />
<Writer id="2" tag="Richard Curtis" />
<Producer id="17" tag="Tim Bevan" />
<Producer id="18" tag="Eric Fellner" />
<Producer id="19" tag="Nicky Kentish Barnes" />
<Country id="20" tag="United Kingdom" />
<Role id="3" tag="Rachel McAdams" role="Mary" />
<Role id="4" tag="Bill Nighy" role="Dad" />
<Role id="5" tag="Domhnall Gleeson" role="Tim" />
<Role id="6" tag="Tom Hollander" role="Harry" />
<Role id="7" tag="Margot Robbie" role="Charlotte" />
<Role id="8" tag="Lindsay Duncan" role="Mum" />
<Role id="9" tag="Lee Asquith-Coe" role="Bin Man" />
<Role id="10" tag="Vanessa Kirby" role="Joanna" />
<Role id="11" tag="Lisa Eichhorn" role="Mary's Mother, Jean" />
<Role id="12" tag="Lydia Wilson" role="Kit Kat" />
<Role id="13" tag="Matthew C. Martino" role="Commuter" />
</Video>
</MediaContainer>
2016.11.14 16:05:55 5: PlexServer:timelineListener:57273: keepalive
2016.11.14 16:05:55 5: PlexServer: POST /:/timeline HTTP/1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Host: 192.168.10.34:32400
Accept: */*
Accept-Encoding: gzip
X-Plex-Platform: Chrome
X-Plex-Platform-Version: 51.0
X-Plex-Product: Plex Web
X-Plex-Device-Name: Plex Web (Chrome)
X-Plex-Version: 2.10.10
X-Plex-Client-Identifier: q3cukjqcgchtnv82yaw6ogvi
Content-Length: 453
Content-Type: application/x-www-form-urlencoded
<MediaContainer commandID="191" location="navigation">
<Timeline controllable="playPause,stop,skipPrevious,skipNext,seekTo,stepBack,stepForward,subtitleStream,volume" seekRange="0-0" time="0" type="video" />
<Timeline controllable="playPause,stop,skipPrevious,skipNext,seekTo,repeat,volume" seekRange="0-0" time="0" type="music" />
<Timeline controllable="playPause,stop,skipPrevious,skipNext" seekRange="0-0" time="0" type="photo" />
</MediaContainer>
2016.11.14 16:05:55 5: PlexServer:timelineListener:57273: add header: HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
2016.11.14 16:05:55 4: PlexServer:timelineListener:57273: disconnected
2016.11.14 16:05:59 5: PlexServer:serverDiscoveryMcast: sending multicast discovery message to 32414
2016.11.14 16:05:59 5: PlexServer:clientDiscoveryMcast: sending multicast discovery message to 32412
2016.11.14 16:05:59 5: PlexServer:serverDiscoveryBcast: sending broadcast discovery message to 32414
2016.11.14 16:05:59 5: PlexServer:clientDiscoveryBcast: sending broadcast discovery message to 32412
2016.11.14 16:05:59 5: PlexServer: from: 192.168.10.69
2016.11.14 16:05:59 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-player
Device-Class: pc
Name: Plex Web (Chrome)
Port: 32400
Product: Plex Web
Protocol: plex
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Protocol-Version: 1
Resource-Identifier: 5splycuhj8aor
Version: 2.10.10
2016.11.14 16:05:59 5: PlexServer: from: 192.168.10.69
2016.11.14 16:05:59 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-player
Device-Class: pc
Name: Plex Web (Chrome)
Port: 32400
Product: Plex Web
Protocol: plex
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Protocol-Version: 1
Resource-Identifier: 5splycuhj8aor
Version: 2.10.10
2016.11.14 16:05:59 5: PlexServer: from: 192.168.10.69
2016.11.14 16:05:59 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: c2a0968793b84b078c72065817aae4f5.plex.direct
Name: PlexPC
Port: 32400
Resource-Identifier: 8856616004e473d39259533324297ef25e56846e
Updated-At: 1479135515
Version: 1.2.7.2987-1bef33a
2016.11.14 16:05:59 5: PlexServer: from: 192.168.10.69
2016.11.14 16:05:59 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: c2a0968793b84b078c72065817aae4f5.plex.direct
Name: PlexPC
Port: 32400
Resource-Identifier: 8856616004e473d39259533324297ef25e56846e
Updated-At: 1479135515
Version: 1.2.7.2987-1bef33a
2016.11.14 16:05:59 5: PlexServer: from: 192.168.10.69
2016.11.14 16:05:59 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-player
Device-Class: pc
Name: Plex Web (Chrome)
Port: 32400
Product: Plex Web
Protocol: plex
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Protocol-Version: 1
Resource-Identifier: q3cukjqcgchtnv82yaw6ogvi
Version: 2.10.10
2016.11.14 16:05:59 5: PlexServer: from: 192.168.10.69
2016.11.14 16:05:59 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-player
Device-Class: pc
Name: Plex Web (Chrome)
Port: 32400
Product: Plex Web
Protocol: plex
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Protocol-Version: 1
Resource-Identifier: q3cukjqcgchtnv82yaw6ogvi
Version: 2.10.10
2016.11.14 16:06:04 4: PlexServer: requesting http://192.168.10.69:32400/library/metadata/2
2016.11.14 16:06:04 5: PlexServer: received <?xml version="1.0" encoding="UTF-8"?>
<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="1" librarySectionTitle="Filme" librarySectionUUID="778e3e26-edb7-4f63-a796-a6d0ec2b9d11" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1478606526">
<Video ratingKey="2" key="/library/metadata/2" guid="com.plexapp.agents.imdb://tt2194499?lang=de" librarySectionID="1" studio="Working Title Films" type="movie" title="Alles eine Frage der Zeit" originalTitle="About Time" contentRating="R" summary="In einer Neujahrsnacht wird Tim von seinem Vater ein Familiengeheimnis anvertraut: Jeder Mann in seiner Familie besitzt seit je her die Fähigkeit, in der Zeit zu reisen. Tim kann zwar nicht die Weltgeschichte verändern, wohl aber den Verlauf seines eigenen Lebens. Und so beschließt er, die Welt für sich etwas aufzubessern, indem er eine Freundin in der Vergangenheit für sich zu gewinnen versucht. Das stellt sich allerdings als weitaus schwieriger heraus als gedacht, als er sich in Mary verliebt. Denn die Zeit lässt nur bedingt mit sich spielen..." rating="7.6" year="2013" thumb="/library/metadata/2/thumb/1477828510" art="/library/metadata/2/art/1477828510" duration="7402112" originallyAvailableAt="2013-11-08" addedAt="1390753725" updatedAt="1477828510" chapterSource="mixed">
<Media videoResolution="1080" id="2" duration="7402112" bitrate="6080" width="1920" height="800" aspectRatio="2.35" audioChannels="6" audioCodec="dca" videoCodec="h264" container="mkv" videoFrameRate="24p" audioProfile="dts" videoProfile="high">
<Part id="2" key="/library/parts/2/1390753725/file.mkv" duration="7402112" file="Z:\Alles eine Frage der Zeit German DL 1080p.mkv" size="5625358138" audioProfile="dts" container="mkv" videoProfile="high">
<Stream id="182" streamType="1" default="1" codec="h264" index="0" bitrate="3682" language="English" languageCode="eng" bitDepth="8" cabac="1" chromaSubsampling="4:2:0" codecID="V_MPEG4/ISO/AVC" duration="7402110" frameRate="23.976" frameRateMode="cfr" hasScalingMatrix="0" height="800" level="41" pixelFormat="yuv420p" profile="high" refFrames="5" scanType="progressive" width="1920" />
<Stream id="183" streamType="2" selected="1" default="1" codec="dca" index="1" channels="6" bitrate="768" language="Deutsch" languageCode="ger" audioChannelLayout="5.1(side)" bitDepth="24" bitrateMode="cbr" codecID="A_DTS" duration="7402112" profile="dts" samplingRate="48000" />
<Stream id="184" streamType="2" codec="dca" index="2" channels="6" bitrate="1509" language="English" languageCode="eng" audioChannelLayout="5.1(side)" bitDepth="24" bitrateMode="cbr" codecID="A_DTS" duration="7402112" profile="dts" samplingRate="48000" />
<Stream id="185" streamType="3" default="1" forced="1" codec="srt" index="3" language="Deutsch" languageCode="ger" codecID="S_TEXT/UTF8" format="srt" />
</Part>
</Media>
<Genre id="14" tag="Komödie" />
<Genre id="15" tag="Drama" />
<Genre id="16" tag="Science Fiction" />
<Director id="1" tag="Richard Curtis" />
<Writer id="2" tag="Richard Curtis" />
<Producer id="17" tag="Tim Bevan" />
<Producer id="18" tag="Eric Fellner" />
<Producer id="19" tag="Nicky Kentish Barnes" />
<Country id="20" tag="United Kingdom" />
<Role id="3" tag="Rachel McAdams" role="Mary" />
<Role id="4" tag="Bill Nighy" role="Dad" />
<Role id="5" tag="Domhnall Gleeson" role="Tim" />
<Role id="6" tag="Tom Hollander" role="Harry" />
<Role id="7" tag="Margot Robbie" role="Charlotte" />
<Role id="8" tag="Lindsay Duncan" role="Mum" />
<Role id="9" tag="Lee Asquith-Coe" role="Bin Man" />
<Role id="10" tag="Vanessa Kirby" role="Joanna" />
<Role id="11" tag="Lisa Eichhorn" role="Mary's Mother, Jean" />
<Role id="12" tag="Lydia Wilson" role="Kit Kat" />
<Role id="13" tag="Matthew C. Martino" role="Commuter" />
</Video>
</MediaContainer>
2016.11.14 16:06:05 5: PlexServer:timelineListener:57298: keepalive
2016.11.14 16:06:05 5: PlexServer: POST /:/timeline HTTP/1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Host: 192.168.10.34:32400
Accept: */*
Accept-Encoding: gzip
X-Plex-Platform: Chrome
X-Plex-Platform-Version: 51.0
X-Plex-Product: Plex Web
X-Plex-Device-Name: Plex Web (Chrome)
X-Plex-Version: 2.10.10
X-Plex-Client-Identifier: q3cukjqcgchtnv82yaw6ogvi
Content-Length: 453
Content-Type: application/x-www-form-urlencoded
<MediaContainer commandID="191" location="navigation">
<Timeline controllable="playPause,stop,skipPrevious,skipNext,seekTo,stepBack,stepForward,subtitleStream,volume" seekRange="0-0" time="0" type="video" />
<Timeline controllable="playPause,stop,skipPrevious,skipNext,seekTo,repeat,volume" seekRange="0-0" time="0" type="music" />
<Timeline controllable="playPause,stop,skipPrevious,skipNext" seekRange="0-0" time="0" type="photo" />
</MediaContainer>
2016.11.14 16:06:06 5: PlexServer:timelineListener:57298: add header: HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
2016.11.14 16:06:06 4: PlexServer:timelineListener:57298: disconnected
2016.11.14 16:06:09 4: PlexServer:timelineListener: refreshing timeline subscriptions
2016.11.14 16:06:09 5: PlexServer:timelineListener: sending subscribe message to 192.168.10.69:32400
2016.11.14 16:06:09 4: PlexServer: requesting http://192.168.10.69:32400/player/timeline/subscribe?protocol=http&port=32400&commandID=192
2016.11.14 16:06:09 5: PlexServer:serverDiscoveryMcast: sending multicast discovery message to 32414
2016.11.14 16:06:09 5: PlexServer:clientDiscoveryMcast: sending multicast discovery message to 32412
2016.11.14 16:06:09 5: PlexServer:serverDiscoveryBcast: sending broadcast discovery message to 32414
2016.11.14 16:06:09 5: PlexServer:clientDiscoveryBcast: sending broadcast discovery message to 32412
2016.11.14 16:06:09 5: PlexServer: from: 192.168.10.69
2016.11.14 16:06:09 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: c2a0968793b84b078c72065817aae4f5.plex.direct
Name: PlexPC
Port: 32400
Resource-Identifier: 8856616004e473d39259533324297ef25e56846e
Updated-At: 1479135515
Version: 1.2.7.2987-1bef33a
2016.11.14 16:06:09 5: PlexServer: from: 192.168.10.69
2016.11.14 16:06:09 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: c2a0968793b84b078c72065817aae4f5.plex.direct
Name: PlexPC
Port: 32400
Resource-Identifier: 8856616004e473d39259533324297ef25e56846e
Updated-At: 1479135515
Version: 1.2.7.2987-1bef33a
2016.11.14 16:06:09 5: PlexServer: from: 192.168.10.69
2016.11.14 16:06:09 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-player
Device-Class: pc
Name: Plex Web (Chrome)
Port: 32400
Product: Plex Web
Protocol: plex
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Protocol-Version: 1
Resource-Identifier: 5splycuhj8aor
Version: 2.10.10
2016.11.14 16:06:09 5: PlexServer: from: 192.168.10.69
2016.11.14 16:06:09 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-player
Device-Class: pc
Name: Plex Web (Chrome)
Port: 32400
Product: Plex Web
Protocol: plex
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Protocol-Version: 1
Resource-Identifier: 5splycuhj8aor
Version: 2.10.10
2016.11.14 16:06:09 5: PlexServer: from: 192.168.10.69
2016.11.14 16:06:09 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-player
Device-Class: pc
Name: Plex Web (Chrome)
Port: 32400
Product: Plex Web
Protocol: plex
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Protocol-Version: 1
Resource-Identifier: q3cukjqcgchtnv82yaw6ogvi
Version: 2.10.10
2016.11.14 16:06:09 5: PlexServer: from: 192.168.10.69
2016.11.14 16:06:09 5: PlexServer: HTTP/1.0 200 OK
Content-Type: plex/media-player
Device-Class: pc
Name: Plex Web (Chrome)
Port: 32400
Product: Plex Web
Protocol: plex
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Protocol-Version: 1
Resource-Identifier: q3cukjqcgchtnv82yaw6ogvi
Version: 2.10.10
2016.11.14 16:06:09 5: PlexServer:timelineListener:57305: keepalive
2016.11.14 16:06:09 5: PlexServer: POST /:/timeline HTTP/1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Host: 192.168.10.34:32400
Accept: */*
Accept-Encoding: gzip
X-Plex-Platform: Chrome
X-Plex-Platform-Version: 51.0
X-Plex-Product: Plex Web
X-Plex-Device-Name: Plex Web (Chrome)
X-Plex-Version: 2.10.10
X-Plex-Client-Identifier: q3cukjqcgchtnv82yaw6ogvi
Content-Length: 453
Content-Type: application/x-www-form-urlencoded
<MediaContainer commandID="192" location="navigation">
<Timeline controllable="playPause,stop,skipPrevious,skipNext,seekTo,stepBack,stepForward,subtitleStream,volume" seekRange="0-0" time="0" type="video" />
<Timeline controllable="playPause,stop,skipPrevious,skipNext,seekTo,repeat,volume" seekRange="0-0" time="0" type="music" />
<Timeline controllable="playPause,stop,skipPrevious,skipNext" seekRange="0-0" time="0" type="photo" />
</MediaContainer>
2016.11.14 16:06:09 5: PlexServer:timelineListener:57305: add header: HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
2016.11.14 16:06:09 4: PlexServer:timelineListener:57305: disconnected
2016.11.14 16:06:09 5: PlexServer: received
Danke schon mal
@pi200: ich habe eben eine neue version eingecheckt: https://forum.fhem.de/index.php/topic,60779.msg521782.html (https://forum.fhem.de/index.php/topic,60779.msg521782.html)
ich glaube das mit dem behobenen utf8 problem auch dein reconnect behoben sein müßte.
gruss
andre
Hallo,
Log Einträge nach update und restart.
2016.11.15 10:55:21 3: Plex: server discovered: 192.168.10.100
2016.11.15 10:55:21 3: Plex: notification websocket opened to 192.168.10.100
2016.11.15 10:55:21 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 2300.
2016.11.15 10:55:21 3: Plex: notification websocket: Switching Protocols ok
2016.11.15 10:55:22 1: PERL WARNING: Odd number of elements in anonymous hash at ./FHEM/74_Unifi.pm line 894.
Gruß
Eisix
Zitat von: justme1968 am 14 November 2016, 22:09:32
@pi200: ich habe eben eine neue version eingecheckt: https://forum.fhem.de/index.php/topic,60779.msg521782.html (https://forum.fhem.de/index.php/topic,60779.msg521782.html)
ich glaube das mit dem behobenen utf8 problem auch dein reconnect behoben sein müßte.
gruss
andre
Super! es funktioniert nun alles 100% danke für die Schnelle Reaktion!
Mein Plex-Xbox-Client wird immer noch nicht gefunden. :(
wie oben beschrieben: von hand anlegen
Zitatwie oben beschrieben: von hand anlegen
wo oben? sorry ::)
in dem verlinkten thread zum update
mein Log wird seit gestern mit folgender Fehlermeldung vollgeschrieben.
192.168.1.100 ist die IP von meinem Plex server
plex: notification websocket opened to 192.168.1.100
2016.11.16 11:49:36 2: plex: notification websocket: Switching Protocols failed
ist interessanterweise nicht direkt nach nem Update aufgetreten sonder erst später
jemand ne idee?
gruß Michael
setz mal bitte verbose auf 5 und zeig was der server genau antwortet.
danach kannst du verbose auf 1 setzen. dann ist die meldung erst mal weg.
gruss
andre
2016.11.16 12:03:26 5: plex:timelineListener:45688: keepalive
2016.11.16 12:03:26 5: plex: POST /:/timeline HTTP/1.1
X-Plex-Client-Platform: Android
X-Plex-Version: 5.1.2.271
X-Plex-Client-Identifier: 9d9f5f5479604df6-com-plexapp-android
X-Plex-Device-Name: BRAVIA 4K 2015
X-Plex-Platform: Android
X-Plex-Platform-Version: 5.1.1
X-Plex-Provides: player,controller
X-Plex-Product: Plex for Android
X-Plex-Device: BRAVIA 4K 2015
X-Plex-Model: SVP-DTV15
X-Plex-Device-Vendor: Sony
X-Plex-Device-Screen-Resolution: 1920x1080 (Android TV)
X-Plex-Device-Screen-Density: 320
X-Plex-Username: elsi89
Accept-Language: de-de
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; BRAVIA 4K 2015 Build/LMY48E.S265)
Host: 192.168.1.104:38017
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
Content-Length: 1055
<?xml version="1.0" encoding="UTF-8"?>
<MediaContainer location="navigation" commandID="4" machineIdentifier="9d9f5f5479604df6-com-plexapp-android" >
<Timeline controllable="skipPrevious,skipNext,stop" state="stopped" itemType="photo" type="photo" /><Timeline controllable="playPause,stop,volume,shuffle,repeat,seekTo,skipPrevious,skipNext,stepBack,stepForward" state="stopped" itemType="music" type="music" /><Timeline playQueueVersion="1" address="192-168-1-100.bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct" volume="19" time="5846285" guid="com.plexapp.agents.imdb://tt4997398?lang=de" token="" url="null" ratingKey="6530" playQueueItemID="552" state="playing" containerKey="/playQueues/75" duration="6636000" machineIdentifier="b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c" protocol="https" subtitleStreamID="0" key="/library/metadata/6530" controllable="playPause,stop,volume,audioStream,subtitleStream,seekTo,skipPrevious,skipNext,stepBack,stepForward" itemType="video" playQueueID="75" port="32400" type="video" audioStreamID="25010" /></MediaContainer>
2016.11.16 12:03:26 5: plex:timelineListener:45688: add header: HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
2016.11.16 12:03:27 5: plex:timelineListener:45688: keepalive
2016.11.16 12:03:27 5: plex: POST /:/timeline HTTP/1.1
X-Plex-Client-Platform: Android
X-Plex-Version: 5.1.2.271
X-Plex-Client-Identifier: 9d9f5f5479604df6-com-plexapp-android
X-Plex-Device-Name: BRAVIA 4K 2015
X-Plex-Platform: Android
X-Plex-Platform-Version: 5.1.1
X-Plex-Provides: player,controller
X-Plex-Product: Plex for Android
X-Plex-Device: BRAVIA 4K 2015
X-Plex-Model: SVP-DTV15
X-Plex-Device-Vendor: Sony
X-Plex-Device-Screen-Resolution: 1920x1080 (Android TV)
X-Plex-Device-Screen-Density: 320
X-Plex-Username: elsi89
Accept-Language: de-de
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; BRAVIA 4K 2015 Build/LMY48E.S265)
Host: 192.168.1.104:38017
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
Content-Length: 1055
<?xml version="1.0" encoding="UTF-8"?>
<MediaContainer location="navigation" commandID="4" machineIdentifier="9d9f5f5479604df6-com-plexapp-android" >
<Timeline controllable="skipPrevious,skipNext,stop" state="stopped" itemType="photo" type="photo" /><Timeline controllable="playPause,stop,volume,shuffle,repeat,seekTo,skipPrevious,skipNext,stepBack,stepForward" state="stopped" itemType="music" type="music" /><Timeline playQueueVersion="1" address="192-168-1-100.bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct" volume="19" time="5847281" guid="com.plexapp.agents.imdb://tt4997398?lang=de" token="" url="null" ratingKey="6530" playQueueItemID="552" state="playing" containerKey="/playQueues/75" duration="6636000" machineIdentifier="b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c" protocol="https" subtitleStreamID="0" key="/library/metadata/6530" controllable="playPause,stop,volume,audioStream,subtitleStream,seekTo,skipPrevious,skipNext,stepBack,stepForward" itemType="video" playQueueID="75" port="32400" type="video" audioStreamID="25010" /></MediaContainer>
2016.11.16 12:03:27 5: plex:timelineListener:45688: add header: HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
2016.11.16 12:03:28 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2016.11.16 12:03:28 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2016.11.16 12:03:28 5: plex: from: 192.168.1.100
2016.11.16 12:03:28 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1479293995
Version: 1.2.7.2987-1bef33a
2016.11.16 12:03:28 3: plex: notification websocket opened to 192.168.1.100
2016.11.16 12:03:28 5: plex: from: 192.168.1.96
2016.11.16 12:03:28 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1479294207
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.1.2.271
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2016.11.16 12:03:28 2: plex: notification websocket: Switching Protocols failed
2016.11.16 12:03:28 5: plex:timelineListener:45688: keepalive
2016.11.16 12:03:28 5: plex: POST /:/timeline HTTP/1.1
X-Plex-Client-Platform: Android
X-Plex-Version: 5.1.2.271
X-Plex-Client-Identifier: 9d9f5f5479604df6-com-plexapp-android
X-Plex-Device-Name: BRAVIA 4K 2015
X-Plex-Platform: Android
X-Plex-Platform-Version: 5.1.1
X-Plex-Provides: player,controller
X-Plex-Product: Plex for Android
X-Plex-Device: BRAVIA 4K 2015
X-Plex-Model: SVP-DTV15
X-Plex-Device-Vendor: Sony
X-Plex-Device-Screen-Resolution: 1920x1080 (Android TV)
X-Plex-Device-Screen-Density: 320
X-Plex-Username: elsi89
Accept-Language: de-de
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; BRAVIA 4K 2015 Build/LMY48E.S265)
Host: 192.168.1.104:38017
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
Content-Length: 1055
<?xml version="1.0" encoding="UTF-8"?>
<MediaContainer location="navigation" commandID="4" machineIdentifier="9d9f5f5479604df6-com-plexapp-android" >
<Timeline controllable="skipPrevious,skipNext,stop" state="stopped" itemType="photo" type="photo" /><Timeline controllable="playPause,stop,volume,shuffle,repeat,seekTo,skipPrevious,skipNext,stepBack,stepForward" state="stopped" itemType="music" type="music" /><Timeline playQueueVersion="1" address="192-168-1-100.bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct" volume="19" time="5848282" guid="com.plexapp.agents.imdb://tt4997398?lang=de" token="" url="null" ratingKey="6530" playQueueItemID="552" state="playing" containerKey="/playQueues/75" duration="6636000" machineIdentifier="b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c" protocol="https" subtitleStreamID="0" key="/library/metadata/6530" controllable="playPause,stop,volume,audioStream,subtitleStream,seekTo,skipPrevious,skipNext,stepBack,stepForward" itemType="video" playQueueID="75" port="32400" type="video" audioStreamID="25010" /></MediaContainer>
2016.11.16 12:03:28 5: plex:timelineListener:45688: add header: HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
2016.11.16 12:03:29 5: plex:timelineListener:45688: keepalive
2016.11.16 12:03:29 5: plex: POST /:/timeline HTTP/1.1
X-Plex-Client-Platform: Android
X-Plex-Version: 5.1.2.271
X-Plex-Client-Identifier: 9d9f5f5479604df6-com-plexapp-android
X-Plex-Device-Name: BRAVIA 4K 2015
X-Plex-Platform: Android
X-Plex-Platform-Version: 5.1.1
X-Plex-Provides: player,controller
X-Plex-Product: Plex for Android
X-Plex-Device: BRAVIA 4K 2015
X-Plex-Model: SVP-DTV15
X-Plex-Device-Vendor: Sony
X-Plex-Device-Screen-Resolution: 1920x1080 (Android TV)
X-Plex-Device-Screen-Density: 320
X-Plex-Username: elsi89
Accept-Language: de-de
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; BRAVIA 4K 2015 Build/LMY48E.S265)
Host: 192.168.1.104:38017
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
Content-Length: 1055
<?xml version="1.0" encoding="UTF-8"?>
<MediaContainer location="navigation" commandID="4" machineIdentifier="9d9f5f5479604df6-com-plexapp-android" >
<Timeline controllable="skipPrevious,skipNext,stop" state="stopped" itemType="photo" type="photo" /><Timeline controllable="playPause,stop,volume,shuffle,repeat,seekTo,skipPrevious,skipNext,stepBack,stepForward" state="stopped" itemType="music" type="music" /><Timeline playQueueVersion="1" address="192-168-1-100.bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct" volume="19" time="5849270" guid="com.plexapp.agents.imdb://tt4997398?lang=de" token="" url="null" ratingKey="6530" playQueueItemID="552" state="playing" containerKey="/playQueues/75" duration="6636000" machineIdentifier="b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c" protocol="https" subtitleStreamID="0" key="/library/metadata/6530" controllable="playPause,stop,volume,audioStream,subtitleStream,seekTo,skipPrevious,skipNext,stepBack,stepForward" itemType="video" playQueueID="75" port="32400" type="video" audioStreamID="25010" /></MediaContainer>
2016.11.16 12:03:29 5: plex:timelineListener:45688: add header: HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
2016.11.16 12:03:30 5: plex:timelineListener:45688: keepalive
2016.11.16 12:03:30 5: plex: POST /:/timeline HTTP/1.1
X-Plex-Client-Platform: Android
X-Plex-Version: 5.1.2.271
X-Plex-Client-Identifier: 9d9f5f5479604df6-com-plexapp-android
X-Plex-Device-Name: BRAVIA 4K 2015
X-Plex-Platform: Android
X-Plex-Platform-Version: 5.1.1
X-Plex-Provides: player,controller
X-Plex-Product: Plex for Android
X-Plex-Device: BRAVIA 4K 2015
X-Plex-Model: SVP-DTV15
X-Plex-Device-Vendor: Sony
X-Plex-Device-Screen-Resolution: 1920x1080 (Android TV)
X-Plex-Device-Screen-Density: 320
X-Plex-Username: elsi89
Accept-Language: de-de
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; BRAVIA 4K 2015 Build/LMY48E.S265)
Host: 192.168.1.104:38017
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
Content-Length: 1055
<?xml version="1.0" encoding="UTF-8"?>
<MediaContainer location="navigation" commandID="4" machineIdentifier="9d9f5f5479604df6-com-plexapp-android" >
<Timeline controllable="skipPrevious,skipNext,stop" state="stopped" itemType="photo" type="photo" /><Timeline controllable="playPause,stop,volume,shuffle,repeat,seekTo,skipPrevious,skipNext,stepBack,stepForward" state="stopped" itemType="music" type="music" /><Timeline playQueueVersion="1" address="192-168-1-100.bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct" volume="19" time="5850274" guid="com.plexapp.agents.imdb://tt4997398?lang=de" token="" url="null" ratingKey="6530" playQueueItemID="552" state="playing" containerKey="/playQueues/75" duration="6636000" machineIdentifier="b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c" protocol="https" subtitleStreamID="0" key="/library/metadata/6530" controllable="playPause,stop,volume,audioStream,subtitleStream,seekTo,skipPrevious,skipNext,stepBack,stepForward" itemType="video" playQueueID="75" port="32400" type="video" audioStreamID="25010" /></MediaContainer>
2016.11.16 12:03:30 5: plex:timelineListener:45688: add header: HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
2016.11.16 12:03:31 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2016.11.16 12:03:31 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2016.11.16 12:03:31 5: plex: from: 192.168.1.100
2016.11.16 12:03:31 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1479293995
Version: 1.2.7.2987-1bef33a
2016.11.16 12:03:31 3: plex: notification websocket opened to 192.168.1.100
2016.11.16 12:03:31 5: plex: from: 192.168.1.96
2016.11.16 12:03:31 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1479294209
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.1.2.271
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2016.11.16 12:03:31 2: plex: notification websocket: Switching Protocols failed
@Andre: Hast du denn schon ne idee woran das liegen könnte oder was da schief läuft?
hab mal alles geupdated, auch die CPAN-Pakete. Leider kein Erfolg.
Mit Verbos 1 ist erstmal ruhe, das ist ja aber eher behandeln von Symptomen als der Ursache
Gruß Michael
ich komme erst am wochenende zum schauen.
gruss
andre
alles klar.
thx
nach dem Update bekomme ich vom Client (Plex.Xbox) keine Readings mehr. Plex.AppleTV geht.
an der lokalen discovery hat sich nichts geändert. es ist nur noch eine discovery über den server dazu gekommen.
kannst du bitte noch. so mit alter und neuer version testen?
taucht die xbox beim get clients auf?
gruss
andre
clients from discovery: da nicht aber unter Myplex ist die XBOX da.
und wenn du auf die alte version zurück gehst?
mache ich gerne :)aber wie :-[
im fhem svn kannst du auf alle
versionen zugreifen. du kannst sie runterlasen und ins FHEM verzeichnis kopieren. dann am besten fhem neu starten.
Hallo, ich habe in letzter Zeit ein sehr merkwürdiges Problem mit dem Plex Modul; kann es irgendwie auch kaum beschreiben.
Mein Problem ist, dass ich sowohl im Plex MEdia Player, wie auch im Plex Home Theater nicht immer alle "Befehle" zur Verfügung habe (beispielsweise dem "Pause" Befehl).
Aufgefallen ist mir das, als bei einem Telefonanruf der Plex Media Player eben nicht auf "Pause" gestellt hat, was er sonst eigentlich immer tat.
Folgende Befehle kann ich derzeit über das "set" Kommando aufrufen:
autocreate
home
mirror
music
play
playmedia
playlistadd
playlistcreate
playlistremove
resume
unwatched
watched
alle anderen "Player" wie dem auf meinem iPad oder iPhone verrichten Ihren Dienst mit den Befehlen ohne Probleme bzw. dort ist "Play/Pause" vorhanden.
Hier mal ein List meines Plex Media Players
DEF jnnuy5getwfm9529
NAME Plex_HTPC2
NOTIFYDEV global
NR 312
NTFY_ORDER 50-Plex_HTPC2
STATE stopped
TYPE plex
currentServer 3d629a86ff9b98292f78af28d463e42fa7e8af2g
deviceClass pc
fhemHostname FHEMPI
fhemIP 192.168.178.21
id f0a378f802b546088e0e8471011aad76
machineIdentifier jnnuy5getwfm9529
platform windows
platformVersion 10
product Plex Media Player
protocolCapabilities navigation,playback,timeline,mirror,playqueues
version 1.2.0.481-b45bbf24
Readings:
2016-12-02 15:43:31 key /library/metadata/87315
2016-12-02 15:51:57 location navigation
2016-12-02 15:43:32 playQueueID 1789
2016-12-02 15:43:32 playQueueItemID 4082
2016-12-01 22:36:45 presence present
2016-12-02 15:43:32 repeat 0
2016-12-02 15:43:31 server 3d629a86ff9b98292f78af28d463e42fa7e8af2g
2016-12-02 15:43:32 shuffle 0
2016-12-02 15:51:57 state stopped
2016-12-02 15:43:31 volume 100
Clients:
Helper:
Myplex-servers:
Servers:
Attributes:
alias Plex Media Player
room Multimedia
Zitat
@meddie: tts hat mit plex und dem plex modul nichts zu tun. eventuell könnte man
Hallo Andre, Du hast ein Satz angefangen aber glaube ich nicht zu ende geschrieben, was könnte man evtl. ?
Danke
Gruß Eddie
Hallo,
nachdem ich nun das Plex-Modul auf meinem Raspi definiert habe wird mein Server auch erkannt.
Das Problem ist nur, dass egal was ich mit einem GET abfrage immer ein "Unauthorized" zurückbekomme.
Kann mir jemand vielleicht auf die Sprünge helfen?
Vielen Dank und schöne Grüße
wolf
wenn du myPlex verwendest: mit pin oder user/password autorisieren.
gruss
andre
Danke, hat geklappt!!
Hallo,
ich hebe gerade versucht, Plex in FHEM einzurichten. Aber auf den Befehl
define Plex plex
bekomme ich nur die Fehermeldung
ZitatCannot load module plex
Vorher hatte ich auf dem RPI3 noch ausgeführt:
sudo apt-get install libio-socket-multicast-perl
und dann den RPI3 neu gestartet.
Nebenbei: Das Modul STV läuft seit einigen Tagen auch nicht mehr.
RPI3 und FHEM sind auf dem neuesten Stand.
Viele Grüße
Stephan
schau ins log. vermutlich fehlt noch JSON oder XML.
gruss
andre
Hallo,
JSON ist defnitiv geladen. Aber XML anscheinend noch nicht. Ich habe mit
sudo apt-get install libxml-simple-perl
auf dem RPI3 nachinstalliert. Danach funktionierte
define Plex plex
ohne Probleme.
Vielen Dank für den schnellen Hinweis!
Stephan
[Btw: STV wurde gerade korrigiert und sollte morgen nach dem Update wieder laufen.]
Moin,
habe das plex device erstellt und bekomme bei "get PMSEN ls" allerdings stets UnAuthorized als Antwort.
Habe lediglich einen PlexServer unter Win7 am laufen.
Die Angabe von user bzw. password ändert an der Meldung leider nichts.
Hier der output von list PMSEN:
Internals:
DEF 192.168.178.20
NAME PMSEN
NOTIFYDEV global
NR 280
NTFY_ORDER 50-PMSEN
STATE initialized
TYPE plex
fhemHostname raspberrypi
fhemIP 192.168.178.27
id 4cb15206ccdc40823fb31bf91509eb4b
port 32400
server 192.168.178.20
Readings:
2017-03-11 23:40:23 state initialized
Clients:
Helper:
Myplex-servers:
Servers:
192.168.178.20:
online 0
Attributes:
room plex
verbose 5
plex will wohl nach http://192.168.178.20:32400/library/sections zugreifen, darf aber nicht?
Kann mir jemand helfen woran es liegen könnte?
thor42
hast du einen myplex account?
wenn du user/password verwendest muss in in den internals muss ein token zu sehen sein. wenn nicht ist beim login etwas schief gegangen. dazu sollte etwas im log stehen. eventuell verbose 4 oder 5 setzen.
versuch mal die authoriserung per pin.
Hatte verbose auf 5 gesetzt. Im Log ist lediglich das html snippet mit UnAuthorized zu sehen:
2017.03.12 09:07:26 4: PMSEN: requesting http://192.168.178.20:32400/library/sections
2017.03.12 09:07:26 5: PMSEN: received <html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></body></html>
Die Ausgabe ändert sich nicht, unabhängig, ob user/passwort angegeben oder nicht.
Was genau ist ein myPlex Account?
Ich vermute mal der Einlogvorgang unter https/plex.tv. Dort gibt's username/email und passwort. Keine Pin vergeben.
wenn du usr/password angegeben hast muss noch mehr im log stehen. weiter vorne wenn das modul startet und sich versuch das token zu holen.
mit einem pin kannst du unter https://www.plex.tv/link/ geräte zu deinem account hinzufügen.
die pin erzeugst du im plex device und trägst sie dort ein.
Beim Neustart von fhem kommen folgende Meldung, allerdings nicht was ich als Token ansehen würde:
2017.03.12 11:04:29 3: Plex: server discovered: 192.168.178.20
2017.03.12 11:04:29 4: Plex: requesting http://192.168.178.20:32400/clients
2017.03.12 11:04:29 3: Plex: notification websocket opened to 192.168.178.20
2017.03.12 11:04:29 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 2299.
2017.03.12 11:04:29 5: Plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.03.12 11:04:29 5: Plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.03.12 11:04:29 5: Plex: from: 192.168.178.20
2017.03.12 11:04:29 5: Plex: HTTP/1.0 200 OK^M
Content-Type: plex/media-server^M
Host: c4a4906f834b4739a10d87bfebb4326a.plex.direct^M
Name: Volker-PC^M
Port: 32400^M
Resource-Identifier: cc54d89d7377df6be90b5adc7f1585c7839102c6^M
Updated-At: 1489313064^M
Version: 1.4.3.3433-03e4cfa35^M
^M
2017.03.12 11:04:31 2: Plex: notification websocket: Switching Protocols failed
2017.03.12 11:04:31 5: Plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.03.12 11:04:31 5: Plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.03.12 11:04:31 5: PMSEN: received <html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></body></html>
2017.03.12 11:04:32 5: Plex: from: 192.168.178.20
2017.03.12 11:04:32 5: Plex: HTTP/1.0 200 OK^M
Das geht dann immer so weiter...
das token wird nur geholt wenn du user und password angegeben hast oder dich per pin authentifizierst.
Da username und passwort nicht funktionieren, wie wäre die Authentifizierung per PIN zu machen?
Etwas umständlich, wenn man nicht weiß, wie der vorgesehene Weg ist.
a) in fhem 'get Plex pin' eingeben.
b) in plex.tv einloggen.
c) plex.tv/pin aufrufen und die aus a) erhaltene 4-stellige Kombination eingeben.
Jetzt lässt sich 'get Plex ls' aufrufen. Später dann e.g. get 'Plex ls 5/all'
Habe stets mit PMSEN versucht etwas zu werden ;-) ...
naja... das pairen per pin ist seit einer ganzen weile der standard für jeden neuen player der auf einem plex server zugreifen darf.
das listen der library normalerweise über das plex device für den server. nicht über die player devices.
Zitat von: justme1968 am 25 Mai 2016, 23:09:59
anmerkungen:
- es werden nur musik und premium musik sections angezeigt
- es ist (noch) kein transcoding eingebaut. d.h. das sonos system muss mit den verwendeten formaten klar kommen
- die anfragen an den plex server die vom sonos system kommen werden (im gegensatz zu allen anderen) noch synchron und blockierend ausgeführt
- die Info & Optionen seite zeigt zum teil noch falsche dinge an
gruss
andre
Hallo Andre,
ich würde das gerne mal ausprobieren.
Was verstehst Du unter 'Musik und Premium Musik"?
Was hat "Anfragen ... blockierend" für Auswirkungen für mich?
Danke und Gruß,
Kurt
musik im gegensatz zu video.
probier es aus.
gruss
andre
hi Andre,
sry wenn ich dich auch hier nerve ...
seit einiger Zeit bekomme ich folgende Meldung im Log:
Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 4145.
Use of uninitialized value in string eq at ./FHEM/37_plex.pm line 4075.
Leider bin ich noch nicht zu genauerer Fehleranalyse gekommen.
gruß Michael
Zitat von: l2r am 06 April 2017, 22:07:46
hi Andre,
sry wenn ich dich auch hier nerve ...
seit einiger Zeit bekomme ich folgende Meldung im Log:
Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 4145.
Use of uninitialized value in string eq at ./FHEM/37_plex.pm line 4075.
Leider bin ich noch nicht zu genauerer Fehleranalyse gekommen.
gruß Michael
Bei mir das Gleiche. Die Meldung kommt ca. jede Sekunde und haut damit das Logfile voll.
Was kann man da tun?
die meldung sollte morgen weg sein.
bitte vor dem update mal das log mit verbose 4 (oder 5) zeigen.
gruss
andre
hi,
hier mal ein Log-Auszug mit Verbose 5:
017.04.10 08:20:23 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:20:23 5: plex: from: 192.168.1.100
2017.04.10 08:20:23 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:20:23 5: plex: from: 192.168.1.96
2017.04.10 08:20:23 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805222
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:20:34 4: plex:timelineListener: refreshing timeline subscriptions
2017.04.10 08:20:34 5: plex:timelineListener: sending subscribe message to 192.168.1.96:32500
2017.04.10 08:20:34 4: plex: requesting http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2522
2017.04.10 08:20:34 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:20:34 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:20:34 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:20:34 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:20:34 5: plex: from: 192.168.1.100
2017.04.10 08:20:34 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:20:34 5: plex: from: 192.168.1.100
2017.04.10 08:20:34 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:20:34 5: plex: received Failure: 200 OK
2017.04.10 08:20:34 5: plex: http request (http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2522) received code : Failure: 200 OK
2017.04.10 08:20:34 5: plex: from: 192.168.1.96
2017.04.10 08:20:34 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805233
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:20:45 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:20:45 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:20:45 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:20:45 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:20:46 5: plex: from: 192.168.1.100
2017.04.10 08:20:46 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:20:46 5: plex: from: 192.168.1.96
2017.04.10 08:20:46 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805245
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:20:46 5: plex: from: 192.168.1.100
2017.04.10 08:20:46 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:20:55 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:20:55 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:20:55 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:20:55 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:20:55 5: plex: from: 192.168.1.100
2017.04.10 08:20:55 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:20:55 5: plex: from: 192.168.1.100
2017.04.10 08:20:55 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:20:55 5: plex: from: 192.168.1.96
2017.04.10 08:20:55 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805255
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:21:04 4: plex:timelineListener: refreshing timeline subscriptions
2017.04.10 08:21:04 5: plex:timelineListener: sending subscribe message to 192.168.1.96:32500
2017.04.10 08:21:04 4: plex: requesting http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2523
2017.04.10 08:21:04 5: plex: received Failure: 200 OK
2017.04.10 08:21:04 5: plex: http request (http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2523) received code : Failure: 200 OK
2017.04.10 08:21:05 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:21:05 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:21:05 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:21:05 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:21:05 5: plex: from: 192.168.1.100
2017.04.10 08:21:05 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:05 5: plex: from: 192.168.1.100
2017.04.10 08:21:05 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:05 5: plex: from: 192.168.1.96
2017.04.10 08:21:05 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805265
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:21:15 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:21:15 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:21:15 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:21:15 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:21:15 5: plex: from: 192.168.1.100
2017.04.10 08:21:15 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:15 5: plex: from: 192.168.1.100
2017.04.10 08:21:15 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:15 5: plex: from: 192.168.1.96
2017.04.10 08:21:15 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805275
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:21:25 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:21:25 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:21:25 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:21:25 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:21:25 5: plex: from: 192.168.1.100
2017.04.10 08:21:25 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:25 5: plex: from: 192.168.1.100
2017.04.10 08:21:25 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:25 5: plex: from: 192.168.1.96
2017.04.10 08:21:25 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805285
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:21:34 4: plex:timelineListener: refreshing timeline subscriptions
2017.04.10 08:21:34 5: plex:timelineListener: sending subscribe message to 192.168.1.96:32500
2017.04.10 08:21:34 4: plex: requesting http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2524
2017.04.10 08:21:34 5: plex: received Failure: 200 OK
2017.04.10 08:21:34 5: plex: http request (http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2524) received code : Failure: 200 OK
2017.04.10 08:21:35 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:21:35 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:21:35 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:21:35 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:21:35 5: plex: from: 192.168.1.100
2017.04.10 08:21:35 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:35 5: plex: from: 192.168.1.100
2017.04.10 08:21:35 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:35 5: plex: from: 192.168.1.96
2017.04.10 08:21:35 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805295
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:21:45 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:21:45 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:21:45 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:21:45 5: plex: from: 192.168.1.100
2017.04.10 08:21:45 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:45 5: plex: from: 192.168.1.100
2017.04.10 08:21:45 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:46 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:21:46 5: plex: from: 192.168.1.96
2017.04.10 08:21:46 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805305
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:21:55 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:21:55 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:21:55 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:21:55 5: plex: from: 192.168.1.100
2017.04.10 08:21:55 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:55 5: plex: from: 192.168.1.100
2017.04.10 08:21:55 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:21:56 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:21:56 5: plex: from: 192.168.1.96
2017.04.10 08:21:56 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805315
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:22:04 4: plex:timelineListener: refreshing timeline subscriptions
2017.04.10 08:22:04 5: plex:timelineListener: sending subscribe message to 192.168.1.96:32500
2017.04.10 08:22:04 4: plex: requesting http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2525
2017.04.10 08:22:04 5: plex: received Failure: 200 OK
2017.04.10 08:22:04 5: plex: http request (http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2525) received code : Failure: 200 OK
2017.04.10 08:22:05 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:22:05 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:22:05 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:22:05 5: plex: from: 192.168.1.100
2017.04.10 08:22:05 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:05 5: plex: from: 192.168.1.100
2017.04.10 08:22:05 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:06 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:22:06 5: plex: from: 192.168.1.96
2017.04.10 08:22:06 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805325
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:22:15 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:22:15 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:22:15 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:22:15 5: plex: from: 192.168.1.100
2017.04.10 08:22:15 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:15 5: plex: from: 192.168.1.100
2017.04.10 08:22:15 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:16 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:22:16 5: plex: from: 192.168.1.96
2017.04.10 08:22:16 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805335
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:22:26 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:22:26 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:22:26 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:22:26 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:22:26 5: plex: from: 192.168.1.100
2017.04.10 08:22:26 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:26 5: plex: from: 192.168.1.100
2017.04.10 08:22:26 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:26 5: plex: from: 192.168.1.96
2017.04.10 08:22:26 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805345
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:22:34 4: plex:timelineListener: refreshing timeline subscriptions
2017.04.10 08:22:34 5: plex:timelineListener: sending subscribe message to 192.168.1.96:32500
2017.04.10 08:22:34 4: plex: requesting http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2526
2017.04.10 08:22:34 5: plex: received Failure: 200 OK
2017.04.10 08:22:34 5: plex: http request (http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2526) received code : Failure: 200 OK
2017.04.10 08:22:36 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:22:36 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:22:36 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:22:36 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:22:36 5: plex: from: 192.168.1.100
2017.04.10 08:22:36 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:36 5: plex: from: 192.168.1.100
2017.04.10 08:22:36 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:36 5: plex: from: 192.168.1.96
2017.04.10 08:22:36 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805355
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:22:46 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:22:46 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:22:46 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:22:46 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:22:46 5: plex: from: 192.168.1.100
2017.04.10 08:22:46 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:46 5: plex: from: 192.168.1.100
2017.04.10 08:22:46 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:46 5: plex: from: 192.168.1.96
2017.04.10 08:22:46 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805366
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:22:56 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:22:56 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:22:56 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:22:56 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:22:56 5: plex: from: 192.168.1.100
2017.04.10 08:22:56 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:56 5: plex: from: 192.168.1.100
2017.04.10 08:22:56 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491789186
Version: 1.4.4.3495-edef59192
2017.04.10 08:22:56 5: plex: from: 192.168.1.96
2017.04.10 08:22:56 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491805376
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
2017.04.10 08:23:04 4: plex:timelineListener: refreshing timeline subscriptions
2017.04.10 08:23:04 5: plex:timelineListener: sending subscribe message to 192.168.1.96:32500
2017.04.10 08:23:04 4: plex: requesting http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2527
2017.04.10 08:23:04 5: plex: received Failure: 200 OK
2017.04.10 08:23:04 5: plex: http request (http://192.168.1.96:32500/player/timeline/subscribe?protocol=http&port=40476&commandID=2527) received code : Failure: 200 OK
kruz vorher hatte ich den Fehler aber nicht mehr, bzw er tritt nur sporadisch auf.
Gruß Michael
ich brauche das log kurz vor und nach dem fehler von oben :)
okay, dann warte ich mal bis der Fehler wieder auftritt und dann bekommst du dein log.
Gruß Michael
Bitteschön.
ich habe jetzt noch ein paar Zeilen davor und danach mit reingepackt
2017.04.10 08:43:22 5: plex: from: 192.168.1.96
2017.04.10 08:43:22 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Resource-Identifier: 9d9f5f5479604df6-com-plexapp-android
Product: Plex for Android
Port: 32500
Protocol-Version: 1
Updated-At: 1491806601
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Version: 5.5.0.227
Device-Class: mobile
Protocol: plex
Name: BRAVIA 4K 2015
Use of uninitialized value in string eq at ./FHEM/37_plex.pm line 4075.
Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 4145.
2017.04.10 08:43:23 4: plex: unhandled websocket text type: : {"NotificationContainer":{"type":"update.statechange","size":1,"AutoUpdateNotification":[{"key":"https://plex.tv/updater/releases/2044","version":"1.5.3.3580-4b377d295","added":"(Web) Updated Plex Web to 3.2.1.","fixed":"(Photos) Large libraries could be slow to load under certain circumstances (#6615)","downloadURL":"https://plex.tv/downloads/latest/1?channel=16&build=windows-i386&distro=english&X-Plex-Token=2p6ypmZBfc42eUxtyY6h","state":"available"}]}}
Use of uninitialized value in string eq at ./FHEM/37_plex.pm line 4075.
Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 4145.
2017.04.10 08:43:24 4: plex: unhandled websocket text type: : {"NotificationContainer":{"type":"update.statechange","size":1,"AutoUpdateNotification":[{"key":"https://plex.tv/updater/releases/2044","version":"1.5.3.3580-4b377d295","added":"(Web) Updated Plex Web to 3.2.1.","fixed":"(Photos) Large libraries could be slow to load under certain circumstances (#6615)","downloadURL":"https://plex.tv/downloads/latest/1?channel=16&build=windows-i386&distro=english&X-Plex-Token=2p6ypmZBfc42eUxtyY6h","state":"downloading","progress":0}]}}
2017.04.10 08:43:24 5: plex:timelineListener:56435: keepalive
2017.04.10 08:43:24 5: plex: POST /:/timeline HTTP/1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Host: 192.168.1.104:44027
Accept: */*
Accept-Encoding: gzip
X-Plex-Platform: Firefox
X-Plex-Platform-Version: 52.0
X-Plex-Product: Plex Web
X-Plex-Device-Name: Plex Web (Firefox)
X-Plex-Version: 3.1.1
X-Plex-Client-Identifier: nh73chld1e
Content-Length: 452
Content-Type: application/x-www-form-urlencoded
<MediaContainer commandID="30" location="navigation">
<Timeline controllable="playPause,stop,skipPrevious,skipNext,seekTo,stepBack,stepForward,subtitleStream,volume" seekRange="0-0" time="0" type="video" />
<Timeline controllable="playPause,stop,skipPrevious,skipNext,seekTo,repeat,volume" seekRange="0-0" time="0" type="music" />
<Timeline controllable="playPause,stop,skipPrevious,skipNext" seekRange="0-0" time="0" type="photo" />
</MediaContainer>
2017.04.10 08:43:24 5: plex:timelineListener:56435: add header: HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
2017.04.10 08:43:24 4: plex:timelineListener:56435: disconnected
Use of uninitialized value in string eq at ./FHEM/37_plex.pm line 4075.
Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 4145.
2017.04.10 08:43:25 4: plex: unhandled websocket text type: : {"NotificationContainer":{"type":"reachability","size":1,"ReachabilityNotification":[{"reachability":true}]}}
Use of uninitialized value in string eq at ./FHEM/37_plex.pm line 4075.
Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 4145.
2017.04.10 08:43:25 4: plex: unhandled websocket text type: : {"NotificationContainer":{"type":"update.statechange","size":1,"AutoUpdateNotification":[{"key":"https://plex.tv/updater/releases/2044","version":"1.5.3.3580-4b377d295","added":"(Web) Updated Plex Web to 3.2.1.","fixed":"(Photos) Large libraries could be slow to load under certain circumstances (#6615)","downloadURL":"https://plex.tv/downloads/latest/1?channel=16&build=windows-i386&distro=english&X-Plex-Token=2p6ypmZBfc42eUxtyY6h","state":"downloaded"}]}}
2017.04.10 08:43:31 5: plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2017.04.10 08:43:31 5: plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2017.04.10 08:43:31 5: plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2017.04.10 08:43:31 5: plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2017.04.10 08:43:31 5: plex: from: 192.168.1.100
2017.04.10 08:43:31 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-player
Device-Class: pc
Name: Plex Web (Firefox)
Port: 32400
Product: Plex Web
Protocol: plex
Protocol-Capabilities: timeline,playback,navigation,mirror,playqueues
Protocol-Version: 1
Resource-Identifier: nh73chld1e
Version: 3.1.1
2017.04.10 08:43:31 5: plex: from: 192.168.1.100
2017.04.10 08:43:31 5: plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: bfa48aeb4f4b4aea81b2d69b046dadbe.plex.direct
Name: SERVER
Port: 32400
Resource-Identifier: b7f5d1f61bcdffa8179c88c1f0a0cd5de566c38c
Updated-At: 1491806589
Version: 1.4.4.3495-edef59192
Gruß Michael
sehr gut. danke. da wird scheinbar eine update info geschickt.
die meldungen sollten ab morgen weg sein.
Hallo,
Ich nutze plex mit fhem jetzt ein paar Tage und wollte mir nun im FTUI eine kleine "was wird gerade gezeigt" Page basteln.
Funktioniert auch eigentlich ganz gut, aber ich bekomme das Cover nicht angezeigt.
Ich nutze myPlex mit PIN, sehe alle meine Clients und Server , kann auch über fhem die Clients steuern.
Wenn ich das Reading Cover nutzen will, bekomme ich "Zugriff verweigert" das gleiche bei "get ... details"
Erst wenn ich meinen X-Plex-Token an die URL anhänge funktioniert es.
Bisher habe ich es nicht geschafft, das automatisch zu machen - aber ich bin auch wirklich schlecht im programmieren ;)
Gibt es eine Möglichkeit, das man das X-Plex-Token vielleicht per Attribut automatisch anhängen kann, die ich bisher übersehen habe, oder mache ich etwas komplett anderes falsch?
Danke
Falko
für ftui ist es das einfachste ist wenn du dir für das cover ein user reading anlegst mit der url aus dem aus dem cover reading und dem token aus ReadingsVal($name, '.token', undef);
was genau geht bei get details nicht?
gruss
andre
Danke für den Tipp mit den userreadings, werde mir das mal anschauen.
Wenn ich den Link aus Cover direkt aufrrufe bekomme ich
401 Unauthorized
Wenn ich get... details nutzen, bekomme ich erstmal kein "Overlay" Fenster (im Gegensatz zu get Servers oder get Clients, da bekomme ich das eingeblendet, bei get pin auch nicht)
Im Log steht dann folgendes
2017.04.23 19:30:58 1: $VAR1 = {
'body' => [
{
'h1' => [
'401 Unauthorized'
]
}
],
'head' => [
{
'title' => [
'Unauthorized'
]
}
]
};
2017.04.23 19:30:58 3: WEB_192.168.0.77_54946 asyncOutput: device gone, output was: <html>unknown media type</html>
Wenn ich nun den x-plex-Token (wie in https://support.plex.tv/hc/en-us/articles/204059436-Finding-an-authentication-token-X-Plex-Token beschrieben) anhänge (an die URL oder eben den key-reading, dann klappt alles (abgesehen vom Oberlay-Fenster)
Aber das sollte ja dann mit dem userreading in Griff zu bekommen sein.
Danke
Gruß
Falko
ja. die links direkt gehen nicht. früher war es möglich auch ohne token die bilder abzufragen und ich wollte sie nicht automatisch in die readings stecken weil man mit dem token im prinzip kompletten zugriff auf den server hat.
bekommst du bei einemget <name> ls
das overlay fenster?
gruss
andre
Ok, das macht Sinn mit dem Token.
Bei ls auch kein Fenster, nur im Log Einträge die mit
<html>Unauthorized</html>
endet
Im Prinzip die gleiche letzte Zeile wie im letzten Post.
Davor eine Liste aller Clients und Server (sind einige)
Gruß
Falko
bist du sicher das das anmelden per pin geklappt hat?
bitte mag das noch mal und dann schau ob fhem in der device liste auf dem plex server auftaucht.
geht das get ls dann?
gruss
andre
Jap, ich war sicher ;)
in der FHME stand auch in der LIste auf dem Plex-Server.
Aber ich habe es nochmal alles gelöscht und alles neu gemacht.
Die Clients werden zwar gerade noch nicht erkannt, da ich sie (von hier) nicht starten kann, aber zumindest bekam ich den PIN diesmal per Fenster angezeigt.
Also war wohl doch irgendwas nicht ganz richtig.
werde get ls dann heute abend testen.
Danke
Falko
Hmm,
gleicher Effekt, steuern geht, readings werden gefüttert, get clients/Server zeigt alles an (auch myPlex Systeme, die bisher nicht online waren) ls und Details ist wieder nur im Log mit Unauthorized.
Habe es noch zweimal probiert und immer das gleiche.
Nächste Schritt ist wohl mal ein Plex ohne meinen Zugang bzw. anderem und/oder saubere fhem Installation.
welche version des plex moduls verwendest du? welche version hat dein plex server?
Plex läuft mit zwei lokalen Servern mit Version 1.5.5.3634 - auf zwei Rechnern
Clients sind Android und iOS jeweils aktuell - Nummern müßte ich raussuchen.
und das Plex-Modul von Dir sollte auch aktuell sein - ist vom 10.4.2017, steht noch 13957 davor.
Grüße
Falko
fang mal bitte mit einem einzigen server an.
wie schaut das define aus?
mein Define ist
Define <name> plex <ServerIP>
hatte es ohne IP aber auch schon mit IP.
Derzeit eben mit IP des einen Servers
Jetzt habe ich ein neues seltsames Verhalten ;)
Wenn ich ein get ls oder Details mache - bekomme ich auch das Overlay...... sobald ich in einen anderen Raum (oder auch auf log) klicke.
gruß
Falko
Neuer Fhem Server ohne jegliche weiter Konfiguration hat nichts gebracht.
Das gleiche Verhalten - mal sehen, wann ich mal einen Plex ohne Home aufsetzten kann.
Das ist ja der nächste Schritt.
Aber ich habe nun sooft alle angelegt und gelöscht.
Was ist richtig?
Master mit
define meinplex plex
anlegen
Die Clients kommen alle per autocreate und die Server nicht (auch wenn sie erkannt werden)
Muss/sollte ich die Server noch anlegen?
Und dann als
define meinersterserver plex 192.168.1.1
define meinzweiterserver plex 192.168.1.2
Zumindest bei meinem zweiten Server war der State immer ???
Nochmal vielen Dank für jede Idee
Gruß
Falko
lass mal die server komplett weg und mach das get ls auf das master device.
Auf beiden fhem Instanzen die gleiche Meldung
Unknown argument ls, choose one of clients:noArg servers:noArg pin:noArg
im Dropdown-Menü bekomme ich beim Master auch nur Client, Server und PiN angeboten.
Beim Client aus ls und den Rest
Hallo,
ich habe seit einiger Zeit ständig folgende Logeinträge:
}
'token' => '5i58n5BDqSV7qCvyk7CQ'
},
}
'version' => '0.9.16.3.1840-cece46d'
'updatedAt' => '1493273201.2469',
'resourceIdentifier' => 'a2efefdab953ef408fff84d29af3fcca507ab00c',
'port' => '32400',
'online' => 1,
'name' => 'Film-Server',
'machineIdentifier' => 'a2efefdab953ef408fff84d29af3fcca507ab00c',
'host' => '36482c056bec45ba801da88a33d91764.plex.direct',
'contentType' => 'plex/media-server',
'address' => '192.168.1.31',
'192.168.1.31' => {
'servers' => {
},
'size' => '0'
'machineIdentifier' => '9a7c7ea8d3b3cc089f8d4053548790ee236dbfe0',
'identifier' => 'com.plexapp.plugins.myplex',
'friendlyName' => 'myPlex',
'Server' => [],
'myPlex-servers' => {
},
'publicAddress' => '81.173.143.69'
],
}
'version' => '4.4'
'vendor' => '',
'token' => '47Htt7rwGhF2LmjgTBUs',
'screenResolution' => '1536x2048',
'screenDensity' => '2',
'publicAddress' => '89.0.71.112',
'provides' => 'client,controller,sync-target,player',
'productVersion' => '4.4',
'product' => 'Plex for iOS',
'platformVersion' => '9.3.5',
'platform' => 'iOS',
'name' => 'iPad',
'model' => '3,3',
'lastSeenAt' => '1477941552',
'id' => '78895354',
'device' => 'iPad',
'createdAt' => '1477771862',
'clientIdentifier' => 'E8BC3E3B-E246-459B-AF54-EFA346733EE6',
],
}
'version' => '2'
'totalSize' => '0',
'itemsCompleteCount' => '0',
{
'SyncList' => [
],
}
'uri' => 'http://192.168.1.55:32500'
{
'Connection' => [
{
},
'version' => '2.12.9'
'vendor' => '',
'token' => 'y4UtPU5SSoD1x194hY9S',
'screenResolution' => '1680x920,1680x1050',
'screenDensity' => '',
'publicAddress' => '78.34.172.41',
'provides' => '',
'productVersion' => '2.12.9',
'product' => 'Plex Web',
'platformVersion' => '11.0',
'platform' => 'Internet Explorer',
'name' => 'Plex Web (Internet Explorer)',
'model' => 'hosted',
'lastSeenAt' => '1485875526',
'id' => '97080628',
'device' => 'Windows',
'createdAt' => '1485875516',
'clientIdentifier' => '83a6146e-b45e-4ca4-8466-0e4230e56b97',
{
},
'version' => '2.5.9'
'vendor' => '',
'token' => '7hWnAghpixeyFs3dGz6S',
'screenResolution' => '',
'screenDensity' => '',
'publicAddress' => '81.173.183.209',
'provides' => '',
'productVersion' => '2.5.9',
'product' => 'Plex Web',
'platformVersion' => '11.0',
'platform' => 'Internet Explorer',
'name' => 'Plex Web (Internet Explorer)',
'model' => '',
'lastSeenAt' => '1486580086',
'id' => '98416534',
'device' => 'Windows',
'createdAt' => '1486402703',
'clientIdentifier' => 'j58n30c6yijw',
{
},
'version' => '4.8'
'vendor' => 'Apple',
'token' => 'pByt9yR2g2fQGyaaVgJA',
'screenResolution' => '750x1334',
'screenDensity' => '2',
'publicAddress' => '87.78.228.73',
'provides' => 'client,controller,sync-target,player,pubsub-player',
'productVersion' => '4.8',
'product' => 'Plex for iOS',
'platformVersion' => '10.2.1',
'platform' => 'iOS',
'name' => 'Saschas iPhone',
'model' => '9,3',
'lastSeenAt' => '1488521943',
'id' => '78801605',
'device' => 'iPhone',
'createdAt' => '1477732560',
'clientIdentifier' => 'B752084A-EE93-4355-8CB6-9600E0FA2DB3',
],
}
'version' => '2'
'totalSize' => '0',
'itemsCompleteCount' => '0',
{
'SyncList' => [
],
}
'uri' => 'http://192.168.1.213:32500'
{
'Connection' => [
{
},
'version' => ''
'vendor' => '',
'token' => 'pLzxFUVnx8s7Fp3Zbxzn',
'screenResolution' => '',
'screenDensity' => '',
'publicAddress' => '82.94.168.43',
'provides' => '',
'productVersion' => '',
'product' => 'plex-for-sonos',
'platformVersion' => '0.1.0',
'platform' => 'Sonos',
'name' => 'Sonos',
'model' => '',
'lastSeenAt' => '1491508527',
'id' => '98358073',
'device' => '',
'createdAt' => '1486363795',
'clientIdentifier' => '94-9F-3E-07-EB-C8:B',
{
},
'version' => '0.0'
'vendor' => '',
'token' => '5i58n5BDqSV7qCvyk7CQ',
'screenResolution' => '',
'screenDensity' => '',
'publicAddress' => '78.34.183.111',
'provides' => 'controller',
'productVersion' => '0.0',
'product' => 'FHEM',
'platformVersion' => '',
'platform' => 'linux',
'name' => 'SmartHome-Server',
'model' => '',
'lastSeenAt' => '1493064268',
'id' => '79211879',
'device' => '',
'createdAt' => '1477921096',
'clientIdentifier' => '45763fabae131217b9ab71b7090d275b',
{
},
'version' => '0.9.16.3.1840-cece46d'
'vendor' => 'synology',
'token' => 'sfyRLyKbFebLxa9QWuyW',
'screenResolution' => '',
'screenDensity' => '',
'publicAddress' => '81.173.143.69',
'provides' => 'server',
'productVersion' => '0.9.16.3.1840-cece46d',
'product' => 'Plex Media Server',
'platformVersion' => '2.6.32.12 (#8451 Wed Jan 4 00:36:00 CST 2017)',
'platform' => 'Linux',
'name' => 'Film-Server',
'model' => 'arm',
'lastSeenAt' => '1493210840',
'id' => '78859312',
'device' => 'DiskStation',
'createdAt' => '1477760463',
'clientIdentifier' => 'a2efefdab953ef408fff84d29af3fcca507ab00c',
],
}
'uri' => 'http://192.168.1.31:32400'
{
'Connection' => [
{
'Device' => [
'myPlex-devices' => {
'id' => '45763fabae131217b9ab71b7090d275b',
},
}
}
'websocket' => 1
'servers' => {},
'phash' => $VAR1,
'myPlex-servers' => {},
'machineIdentifier' => 'a2efefdab953ef408fff84d29af3fcca507ab00c',
'helper' => {},
'clients' => {},
'buf' => '',
'address' => '192.168.1.31',
'TYPE' => 'plex',
'TEMPORARY' => 1,
'STATE' => 'listening',
'PORT' => 56694,
'PNAME' => 'Plex',
'NR' => 839,
'NAME' => 'Plex:websocket:a2efefdab953ef408fff84d29af3fcca507ab00c',
'FD' => 51,
'CD' => bless( \*Symbol::GEN94, 'IO::Socket::INET' ),
'.triggerUsed' => 1,
'a2efefdab953ef408fff84d29af3fcca507ab00c' => {
'websockets' => {
},
'subscriptionsTo' => {}
'servers' => {},
'phash' => $VAR1,
'myPlex-servers' => {},
'interval' => 30,
'helper' => {},
'connections' => {},
'clients' => {},
'TYPE' => 'plex',
'TEMPORARY' => 1,
'STATE' => 'accepting',
'PORT' => 44206,
'PNAME' => 'Plex',
'NR' => 838,
'NAME' => 'Plex:timelineListener',
'FD' => 47,
'CL' => undef,
'CD' => bless( \*Symbol::GEN85, 'IO::Socket::INET' ),
'.triggerUsed' => 1,
'timelineListener' => {
},
'servers' => {}
'phash' => $VAR1,
'myPlex-servers' => {},
'multicast' => 1,
'interval' => 10,
'helper' => {},
'clients' => {},
'TYPE' => 'plex',
'TEMPORARY' => 1,
'STATE' => 'discovering',
'PORT' => 32414,
'PNAME' => 'Plex',
'NR' => 833,
'NAME' => 'Plex:serverDiscoveryMcast',
'FD' => 42,
'CD' => bless( \*Symbol::GEN80, 'IO::Socket::Multicast' ),
'.triggerUsed' => 1,
'discoverServersMcast' => {
},
'servers' => {}
'phash' => $VAR1,
'myPlex-servers' => {},
'interval' => 10,
'helper' => {},
'clients' => {},
'broadcast' => 1,
'TYPE' => 'plex',
'TEMPORARY' => 1,
'STATE' => 'discovering',
'PORT' => 32414,
'PNAME' => 'Plex',
'NR' => 834,
'NAME' => 'Plex:serverDiscoveryBcast',
'FD' => 43,
'CD' => bless( \*Symbol::GEN81, 'IO::Socket::INET' ),
'.triggerUsed' => 1,
'discoverServersBcast' => {
},
'servers' => {}
'phash' => $VAR1,
'myPlex-servers' => {},
'multicast' => 1,
'interval' => 10,
'helper' => {},
'clients' => {},
'TYPE' => 'plex',
'TEMPORARY' => 1,
'STATE' => 'discovering',
'PORT' => 32412,
'PNAME' => 'Plex',
'NR' => 835,
'NAME' => 'Plex:clientDiscoveryMcast',
'FD' => 44,
'CD' => bless( \*Symbol::GEN82, 'IO::Socket::Multicast' ),
'.triggerUsed' => 1,
'discoverClientsMcast' => {
},
'servers' => {}
'phash' => $VAR1,
'myPlex-servers' => {},
'multicast' => 1,
'helper' => {},
'clients' => {},
'TYPE' => 'plex',
'TEMPORARY' => 1,
'STATE' => 'listening',
'PORT' => 32413,
'PNAME' => 'Plex',
'NR' => 837,
'NAME' => 'Plex:clientDiscoveryPHT',
'FD' => 46,
'CD' => bless( \*Symbol::GEN84, 'IO::Socket::Multicast' ),
'.triggerUsed' => 1,
'discoverClientsListen' => {
},
'servers' => {}
'phash' => $VAR1,
'myPlex-servers' => {},
'interval' => 10,
'helper' => {},
'clients' => {},
'broadcast' => 1,
'TYPE' => 'plex',
'TEMPORARY' => 1,
'STATE' => 'discovering',
'PORT' => 32412,
'PNAME' => 'Plex',
'NR' => 836,
'NAME' => 'Plex:clientDiscoveryBcast',
'FD' => 45,
'CD' => bless( \*Symbol::GEN83, 'IO::Socket::INET' ),
'.triggerUsed' => 1,
'discoverClientsBcast' => {
Leider hat das "Forum" einen Teil vom Log abgeschnitten. Woher kommen diese Logeinträge?
Gruß, Sascha
und hier noch der Rest vom Logeintrag:
'helper' => {
'fhemIP' => '192.168.1.81',
'fhemHostname' => 'SmartHome-Server',
'clients' => {},
'TYPE' => 'plex',
'STATE' => 'running',
},
}
'VAL' => 'running'
'TIME' => '2017-04-26 21:02:41',
'state' => {
},
'VAL' => '5i58n5BDqSV7qCvyk7CQ'
'TIME' => '2016-10-31 14:38:16',
'.token' => {
'READINGS' => {
'NTFY_ORDER' => '50-Plex',
'NR' => 738,
'NOTIFYDEV' => 'global',
'NAME' => 'Plex',
'HAS_IO::Socket::Multicast' => 1,
'.triggerUsed' => 1,
2017.04.27 08:06:45 1: {
Gruß, Sascha
Zitat von: justme1968 am 21 November 2015, 12:55:12
- neues attribut responder: da mit gibt sich fhem als plex player aus und kann mit der plex remote app (zur zeit nur iOS) gesteuert werden. zur zeit werden die kommandos der remote hartcodiert auf einem device mit namen sonos_Esszimmer ausgeführt. d.h. fhem spielt proxy zwischen plex und sonos. in dieser version muss der sonos device name angepasst werden um es zu testen. in der nächsten version wird plex automatisch ein proxy device pro sonos player angeboten.
Hallo Andre,
ich sehe genau einen Sonos Proxy.
Wo kann ich denn "Sonos_Esszimmer" durch den von mir gewünschten namen ersetzen?
Danke und Gruß,
Kurt
Funktioniert das Plugin auch wenn FHEM und der Plex Server in unterschiedlichen Subnetzen sind? Habe meinen Plex server erfolgreich einbinden können, auch ein get <plex> clients zeigt mir clients an. Es werden allerdings keine Player als separate devices angelegt, und auch keine events erzeugt wenn ich was abspiele oder stoppe.
@Kurt77: das musst du zur zeit noch im modul quelltext anpassen.
@MarkusN: 90% der automatischen erkennung basiert auf mutlicast und broadcast nachrichten die normalerweise nicht über ein netz hinaus kommen.
du kannst für die client und server defines auch ip adressen vorgeben aber aktuell wird vermutlich einiges damit nicht so glatt laufen. autocreate ist dabei z.b. komplett inaktiv.
die clients in deiner liste müssten über myplex rein kommen. der myplex status ist aber niemals komplett aktuell.
ich würde fhem und den plex server ins gleiche netz stellen. das macht wirklich vieles einfacher. und die clients eigentlich auch.
gibt es einen grund warum du das nicht machst?
Hi Andre,
ich habe das Modul mal kurz bei mir angetestet. Leider zeigt er mir meinen Server nicht an (bei "get plex servers").
Wenn ich allerdings meine verfügbaren Clients anzeigen lasse, taucht mein Server mit auf, sogar als Server:
clients from myPlex:
ip lastSeenAt name product clientIdentifier provides
2017-05-23 19:52:57 Plex-NAS-01 Plex Media Server meineigenerwilderidentifieralsersatz1234 server
Wie kann ich ihn denn dazu bewegen, für diesen Server ein Device anzulegen?
Ich habe schon versucht mittels "set plex autocreate <obenangegebeneid>" den Server zu "erzwingen", erhalte dabei aber nur die Fehlermeldung, dass der Server nicht gefunden werden konnte :(
Danke schon mal...
Grüße
Reiner
das autocreate ist für die clients.
ist dein server in einem anderen netz? wenn ja ist das erst mal nicht so gut. alles was automatisch erkannt wird geht per broadcast. und das geht dann natürlich nicht.
der weg über myplex ist noch nicht komplett eingebaut.
leg mal das plex device mit der ip deines servers an und schau ob es dann geht.
Hi Andre,
die befinden sich nur drei IP-Adressen auseinander :)
Soll ich das Device mit der IP-Adresse des Servers zusätzlich definieren? Das habe ich getan, aber da stehen immer drei Fragezeichen als Status...
Grüße
Reiner
dann ist etwas komisch...
läuft auf deinem fhem system zufällig ein sonos controller mit? oder ein plex player?
in beiden fällen kann es sein das die ports für broadcast nachrichten exklusiv belegt sind und das modul die nachrichten nicht bekommt.
bitte schau mal ins log und schau was bei list TYPE=plex für devices auftauchen. da sollten diverse broadcast und multicast listener dabei sein. eventuell siehst du mit verbose 5 auf das plex device mehr.
gruss
andre
Hi Andre,
natürlich läuft mein Sonos-Modul :)
Aber ansonsten ist der Pi eigentlich exklusiv für Fhem zuständig (wie üblich ein Headless Debian Wheezy).
Das list hat folgendes ergeben:
0CD0011FB6D2473B9F242E8F1F51C12B
8e902fc1c5ae7b036d91d15c124a1b1e
plex
plex:clientDiscoveryBcast
plex:clientDiscoveryMcast
plex:clientDiscoveryPHT
plex:serverDiscoveryBcast
plex:serverDiscoveryMcast
plex:timelineListener
plex:timelineListener:56800
plex:timelineSubscription:192.168.0.11:43624
plexserver
Das Device "plex" ist das ursprünglich von mir angelegte Device, "plexserver" ist das mit der IP-Adresse angelegte...
Grüße
Reiner
dein sonos modul ist kein problem. nur der original sonos kontroller zumindest auf dem mac.
das schaut ok aus. die devices werden alle gestartet. sehr komisch.
ich hänge nachher mal ein kleines debug programm an um die server discovery nachrichten zu triggern. mal sehen wie es damit ist.
ich bin gerade etwas ratlos.
bitte zeig noch mal ein list vom plex device.
gruss
andre
wie gesagt bin ich gerade noch ziemlich ratlos ...
bitte starte mal den angehängten debug code einfach auf der kommandozeile mit perl gdm.pl
es sollte sofort eine antwort von deinem server zurück kommen.
gruss
andre
Hi Andre,
gefunden :)
Ich hatte im Plex-Server eine Einstellung deaktiviert, die sich für mich nach einer Client-Funktionalität angehört hatte:
[] Lokale Netzwerkerkennung (GDM) aktivieren
Dieses erlaubt dem Media Server, das lokale Netzwerk nach anderen Servern und Wiedergabegeräten zu durchsuchen.
Entgegen meiner Erwartung, dass das nur zum Auffinden anderer Server benötigt wird, ist es das prinzipielle Abschalten jeglicher Multicast-Reaktion *dieses* Servers...
Sorry für den Umstand...
Grüße
Reiner
sehr schön.
gruss
andre
Hi Andre,
gibt es eigentlich eine Möglichkeit den Plex-Key zu einem Dateinamen herauszufinden?
Ich versuche das "gesehen"-Flag von Mediaportal zu Plex hin zu übertragen, und habe dabei als Schlüssel nur den Dateinamen.
Dabei ist dieser natürlich nicht komplett identisch, sondern unterscheidet sich am Anfang (Plex greift lokal zu, mein Mediaportal-Client per Netzwerk-Freigabe)...
Ich habe in der Doku dazu leider nichts gefunden...
Danke schon mal...
Grüße
Reiner
nicht direkt. aber wenn du beim ls über die file namen gehst sollte in der ausgabe jeweils key und filename stehen.
gruss
ansre
Hi Andre,
wie mache ich das denn?
Wenn ich ein "get .. ls" mache, erhalte ich ja diese Ergebnisfenster. In diesen ist nirgendwo ein Dateiname angegeben, sondern immer nur dieser Plex-Interne Key...
Was muss/kann ich denn dafür tun?
Grüße
Reiner
Hi Andre,
wie fragst du denn den Plex-Server ab?
Ich habe mich mal kurz eingelesen, und wenn man eine URL wie die folgende zum Auflisten z.B. meines Movie-Folders verwendet, dann erhält man in der Ergebnis-Struktur direkt die Dateinamen des Bündels mit:
http://[PMS-IP]:32400/library/sections/3/all?X-Plex-Token=MyToken
3 => Meine Filme-Bereichs-ID
Die dort erhaltene Struktur enthält dann für jeden Filme-Eintrag (meistens) einen Part:
<Part id="45" key="/library/parts/45/1456347171/file.mkv" duration="6116811" file="/volume1/Video/HD/11.6 - The French Job 2013 1080p.mkv" size="5880365076" audioProfile="dts" container="mkv" videoProfile="high"/>
Wenn man das gleich mit in einer Ergebnisstruktur hätte, könnte ich direkt in der Liste nach dem Dateinamen suchen :)
Ist das bei deiner Methodik ähnlich?
Grüße
Reiner
hallo reiner,
das abfragen geschieht im prinzip genau so. der server präsentiert den inhalt der media db als eine art directory struktur an der man sich lang hangeln dann.
gibt einfach mal ein get <plex> ls 3 ein. jede key in der linken spalte der ausgabe kannst du dann an das 3 an hängen. also get <plex> ls 3/actor oder get <plex> ls 3/decade oder get <plex> ls 3/all oder ...
und so weiter.
hier gibt es auch ein by folder. ich bin davon ausgegangen das hier nicht nur die folder struktur beachtet wird, sondern auch der die aktuelle folder ebene mit zurück geliefert wird. das scheint aber nicht so zu sein. oder ich habe es übersehen.
es auch die möglichkeit nach bestimmten kriterien zu suchen. das geht über die keys die mit search beginnen.
wenn in einem ls der key in der linken spalte direkt mit einem / beginnt kann man ihn beim get ls direkt angeben oder ein get detail darauf machen.
es wird aber nur ein kleiner teil der informationen ausgegeben. im prinzip nur das was nötig ist um sich am baum von hand oder per klick entlang zu hangeln und einen titel zu starten.
die frage wäre jetzt was genau hast du vor :) möchtest du die komplette db auf ein mal in einer art dump?
das kann ich einbauen.
oder möchtest du die info zu einen bestimmten titel. dann könnte man über die search keys gehen.
dann würde ich den pfad zur get detail ausgabe hinzufügen.
gruss
andre
Hi Andre,
naja... ich bräuchte ja irgendwie eine Liste mit <Pfad> -> <Key> Paaren, damit ich die von Plex nicht angebotene Suche nach Dateinamen abbilden kann.
Da das bei mir so einige Dateien sind, sollte man das einmal am Tag ermitteln, und irgendwo als Perl-Hash zum schnellen Verwenden ablegen :)
Die komplette DB als Dump wäre definitiv zu viel des Guten (zumindest für meine Belange). Da kommen sicherlich ein paar hundert MB zusammen...
So wie ich das gesehen habe, wird bereits auf der Auflistungsseite alles im XML mitgeliefert (aber nur, wenn man diese von mir beschriebene Webabfrage macht, bei UPnP über DLNA sind nur sehr wenige Informationen enthalten, deshalb meine Frage :) )
Das bedeutet, dass ich einmal am Tag diese Listen für Video und Serien abfragen würde, und mir die zwei Informationen in ein Hash legen würde. Anschließend kann man die Suche nach Pfaden ermöglichen, und mit dem damit ermittelten Key dann normal über das Modul das Gesehen-Flag setzen...
Hast du denn für deine Abfragen dieses X-Plex-Token bereits zur Verfügung? Dann wäre das ja einfach einbaubar :)
Notfalls würde es ja reichen, wenn du diesen Key als Get-Abfrage liefern kannst, dann kann ich die Funktionalität auch in eine eigene myUtils legen.
Ich könnte mir aber auch Vorstellen, dass es vielleicht auch andere gibt, die mal sorum suchen müssen...
Grüße
Reiner
ohne das token könnte das modul so gut wie nichts tun :)
probier mal die angehängte version. die kennt zusätzlich zum ls kommando noch ein files kommando. hier wird zusätzlich noch der file name in klammern am ende jeder zeile ausgegeben.
alle anderen möglichkeiten sind gleich wie bei ls. es gehen also dinge wie:
get <plex> files 3/all
get <plex> files 3/search?type=1&query=French
get <plex> files 3/unwatched
get <plex> files /library/metadata/42390
gruss
andre
Hi Andre,
kann es sein, dass du die falsche Datei angehangen hast :)
Bei mir taucht das mit den Files nicht auf, und ein Blick in den Quelltext bringt da auch wenig...
Grüße
Reiner
das file ist schon das richtige. das files kommando taucht aber beim get ? nicht mit auf.
das kommando solltest du in zeile 1580 finden.
gruss
andre
Hi Andre,
in die Falle getappt :)
Aber wenn ich den Befehl, wie von dir angegeben, ausführe, erhalte ich dasselbe Ergebnis wie bei ls.
Ich sehe keinerlei Dateinamen oder Pfade...
Ich erhalte allerdings ein leeres Fenster, wenn ich z.B.
get plex files 3/unwatched
angebe...
wenn ich es mit
get plex files 3
versuche, erhalte ich ein leeres Fenster und die normale Liste von "ls"...
Was mache ich denn falsch?
Noch was anderes: Kann man diese Ergebnisse eigentlich auch Maschinenlesbar erhalten? Für FhemWeb ist das ja super, aber zum weiterverarbeiten doch eher unpraktisch :)
Grüße
Reiner
hallo reiner,
filenamen werden nur ausgegeben wenn du auch auf einer ebene bist die files kennt. bei get plex files 3 gibt es noch keine titel, also auch keine filenamen. get plex files 3/unwatched sollte aber hinter den titeln ganz rechts welche zeigen.
leere fenster sollte es nie geben. mach mal bitte einen screenshot. und bitte teste mal per telnet.
über das format reden wir wenn alles andere geht :) aber auch für alles andere ist es nicht ganz so schlimm wie es ausschaut. zwischen den spalten sind tabs, der key ist immer die erste spalte und der filename steht ganz am ende in klammern.
gruss
andre
Hi Andre,
ich habe mal einen Screenshot angehangen, denn ich mit Aufruf von "get plex files" und anschließendem durchklicken bis zu Recently Added erhalte.
Wenn ich die Fenster mit OK der Reihe nach schließe, sehe ich als "oberstes" Fenster ein leeres (2. Screenshot).
Bei Telnet:
fhem> get plex files
fhem>
Plex Library
Directory
key type title
3 movie Filme
6 movie Heimvideos
9 artist Musik
7 movie TV-Aufnahmen
2 show TV-Serien
bzw.:
hem> get plex files 3/recentlyAdded
fhem>
Filme: Filme ; Recently Added
Video
key type nr title
/library/metadata/59694 movie Guardians of the Galaxy (/volume1/Video/HD/Guardians of the Galaxy 2014 DTS-5.1 8Bit 1080p.mkv)
/library/metadata/59693 movie Der Babadook (/volume1/Video/HD/Der Babadook 2014 DTS-5.1 8Bit 1080p.mkv)
Da tauchen die Dateinamen auf... scheint also ein Problem der Darstellung für Fhemweb zu sein.
Super, wenn man das gleich als Perl-Hash (z.B. per Dumper rausgeschrieben) bekommen könnte, könnte ich mit einem einfach Map meine Pfad -> Key Struktur bekommen, und damit meine Suche (bzw. das Ergebnis dazu) :)
Grüße
Reiner
das liegt dararan das beim durcklicken die jeweiligen links noch fest mit ls statt dem tatsächlich verwendeten kommando (ls oder file) erzeugt werden. ich war noch am überlegen ob und wie ich das kommando für die linkerzeugung mit durchreichte.
wenn du in fhemweb ein get plex files 3/recentlyAdded direkt eingibst sollten im popup auch die files mit auftauchen.
das leere fenster verstehe ich allerdings nicht. das sollte es nicht geben.
um die daten direkt als hash zu bekommen ist es vermutlich das beste wenn ich dir eine plex_Data(<device>,<path>) routine einbaue statt über get zu gehen. das files kommando könnte man dann auch wieder raus schmeissen.
die frage wäre nur wie nah du an den original json daten die der plex server liefert sein willst. die könnte ich dir auch direkt zurück geben, dann müsstest du dich direkt durch hangeln und auch diverse sonderfälle selber berücksichtigen. oder du bekommst nur das was aktuell beim files kommando ausgegeben wird in einen hash gesteckt.
gruss
andre
Hi Andre,
das mit dem direkten Aufruf von "get plex files 3/recentlyAdded" über FhemWeb gibt nur das leere Fenster zurück, und sonst nix :( Ist aber ja auch gar nicht weiter wichtig :)
Zu der Datenstruktur: Im Prinzip das, was dir am Einfachsten erscheint...
Am liebsten (Wunschdenken) wäre mir eine Perlmethode, die genauso wie der get-Files-Befehl arbeitet, also die Sonderfälle u.ä. berücksichtigt, und mir gleich einen Perl-Hash zurückliefert:
{
'PlexKey' => {'Title' => 'Hans im Glück', 'Cover' => 'Pfad zum Cover', 'Path' => 'filesystempath', ... },
'PlexKey2' => {'Title' => 'Hans im Pech', 'Cover' => 'Pfad zum Cover', 'Path' => 'filesystempath', ... },
.
.
}
Wie hast du denn die Daten im Speicher vorliegen? nur als JSON? Oder bereits als (JSON-artigen) Hash?
Ich für meinen Teil bräuchte erstmal nur den PlexKey und den Path. Vielleicht kommt aber noch jemand anderes um die Ecke und möchte z.B. das MediaList-Modul aufbohren, und benötigt noch andere Infos wie Laufzeit oder so... Deswegen die Frage, wie einfach du welche Daten dort reinpacken kannst...
Schließlich kann das ja auch gleich das Ergebnis einer Suche mit mehreren Kriterien sein, oder eine in Plex gespeicherte Playlist und so weiter...
Grüße
Reiner
Hi,
seit dem 16.6. füllt sich mein Logfile mit Plex-Meldungen:
2017.06.27 11:51:43.228 2: Plex: unhandled websocket data: ?
2017.06.27 11:51:44.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:51:53.228 2: Plex: unhandled websocket data: ?
2017.06.27 11:51:54.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:03.228 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:04.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:13.228 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:14.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:23.248 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:24.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:33.228 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:34.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:43.229 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:44.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:53.229 2: Plex: unhandled websocket data: ?
2017.06.27 11:52:54.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:53:03.229 2: Plex: unhandled websocket data: ?
2017.06.27 11:53:04.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:53:13.229 2: Plex: unhandled websocket data: ?
2017.06.27 11:53:14.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:53:23.229 2: Plex: unhandled websocket data: ?
2017.06.27 11:53:24.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:53:33.820 2: Plex: unhandled websocket data: ?
2017.06.27 11:53:34.188 2: Plex: unhandled websocket data: ?
2017.06.27 11:53:43.229 2: Plex: unhandled websocket data: ?
So geht das im ca. 10 Sekundentakt weiter, bis heute über 160.000 Einträge!
Der Startpunkt müsste in etwa mit dem Einspielen des letzten Plex-Updates (plexmediaserver_1.7.3.3937-70f781325_amd64.deb) auf einem meiner Plex-Server (IP:192.168.1.41) zusammenhängen. Allerdings habe ich einen 2. Server auf meinem QNAP (IP:192.168.1.22) laufen, der die gleiche Version hat und scheinbar keine Probleme macht.
Hier noch das FHEM-Log bevor die Einträge anfingen und wo ich das Plex-Update eingespielt habe:
2017.06.16 11:31:07.423 3: Plex: notification websocket opened to 192.168.1.22
2017.06.16 11:31:07.428 3: Plex: notification websocket: Switching Protocols ok
2017.06.16 12:00:08.281 3: Plex: client discovered: 192.168.1.41
2017.06.16 12:07:19.359 3: Plex: client discovered: 192.168.1.22
2017.06.16 12:08:07.404 2: Plex: http request (http://192.168.1.41:32400/player/timeline/subscribe?protocol=http&port=35057&commandID=19) failed: read from http://192.168.1.41:32400 timed out
2017.06.16 12:08:07.411 3: Plex: client disappeared: 192.168.1.41
2017.06.16 12:11:01.341 3: Plex: notification websocket opened to 192.168.1.41
2017.06.16 12:11:01.401 3: Plex: notification websocket: Switching Protocols ok
2017.06.16 12:11:11.343 2: Plex: unhandled websocket data: ?
2017.06.16 12:11:21.343 2: Plex: unhandled websocket data: ?
2017.06.16 12:11:31.341 3: Plex: client discovered: 192.168.1.41
2017.06.16 12:11:31.344 2: Plex: unhandled websocket data: ?
2017.06.16 12:11:41.343 2: Plex: unhandled websocket data: ?
2017.06.16 12:11:51.343 2: Plex: unhandled websocket data: ?
2017.06.16 12:12:04.301 2: Plex: unhandled websocket data: ?
2017.06.16 12:12:24.306 3: Plex: notification websocket opened to 192.168.1.41
2017.06.16 12:12:24.308 3: Plex: notification websocket: Switching Protocols ok
2017.06.16 12:12:34.308 2: Plex: unhandled websocket data: ?
2017.06.16 12:12:44.308 2: Plex: unhandled websocket data: ?
2017.06.16 12:12:44.375 3: Plex: notification websocket opened to 192.168.1.22
2017.06.16 12:12:44.379 3: Plex: notification websocket: Switching Protocols ok
2017.06.16 12:12:54.308 2: Plex: unhandled websocket data: ?
2017.06.16 12:12:54.379 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:07.301 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:07.303 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:14.308 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:14.378 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:24.309 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:24.378 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:34.309 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:34.380 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:44.309 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:44.378 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:54.309 2: Plex: unhandled websocket data: ?
2017.06.16 12:13:54.378 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:04.309 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:04.378 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:14.309 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:14.378 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:24.309 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:24.378 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:34.309 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:34.378 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:44.309 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:44.378 2: Plex: unhandled websocket data: ?
2017.06.16 12:14:54.309 2: Plex: unhandled websocket data: ?
Irgendein Tipp, wie ich das wegbekomme? So langsam wird das FHEM-Log etwas groß...
EDIT:
Ich hab jetzt mal testweise den 2. Server runtergefahren (um 12:04:00), dann halbieren sich die Einträge. Sobald er wieder hochgefahren ist, gibt es wieder 2. Eintrage:
2017.06.27 12:03:33.234 2: Plex: unhandled websocket data: ?
2017.06.27 12:03:34.184 2: Plex: unhandled websocket data: ?
2017.06.27 12:03:43.234 2: Plex: unhandled websocket data: ?
2017.06.27 12:03:44.184 2: Plex: unhandled websocket data: ?
2017.06.27 12:03:53.234 2: Plex: unhandled websocket data: ?
2017.06.27 12:04:03.596 2: Plex: unhandled websocket data: ?
2017.06.27 12:04:13.235 2: Plex: unhandled websocket data: ?
2017.06.27 12:04:23.235 2: Plex: unhandled websocket data: ?
2017.06.27 12:04:33.235 2: Plex: unhandled websocket data: ?
2017.06.27 12:04:43.235 2: Plex: unhandled websocket data: ?
2017.06.27 12:04:53.235 2: Plex: unhandled websocket data: ?
2017.06.27 12:04:53.961 3: Plex: notification websocket opened to 192.168.1.22
2017.06.27 12:04:53.969 3: Plex: notification websocket: Switching Protocols ok
2017.06.27 12:05:03.235 2: Plex: unhandled websocket data: ?
2017.06.27 12:05:06.528 2: Plex: unhandled websocket data: ?
2017.06.27 12:05:13.235 2: Plex: unhandled websocket data: ?
2017.06.27 12:05:13.968 2: Plex: unhandled websocket data: ?
2017.06.27 12:05:23.235 2: Plex: unhandled websocket data: ?
2017.06.27 12:05:23.969 2: Plex: unhandled websocket data: ?
Also scheint es beide Server mit der Version 1.7.3.3937 zu betreffen.
Gruß,
Michael
mit verbose 1 sollten die meldungen weg sein.
kannst du bitte mal im modul die log meldung in zeile 4054 aktivieren und zeigen was dann geloggt wird?
danke
andre
Hi,
Das war diese Zeile, richtig?
Log 1, "$fin $op $mask $len";
nach der Änderung sieht das Log so aus:
2017.06.27 13:19:10.138 1: 1 9 0 1
2017.06.27 13:19:10.138 2: Plex: unhandled websocket data: ?
2017.06.27 13:19:13.541 1: 1 9 0 1
2017.06.27 13:19:13.541 2: Plex: unhandled websocket data: ?
2017.06.27 13:19:20.138 1: 1 9 0 1
2017.06.27 13:19:20.138 2: Plex: unhandled websocket data: ?
2017.06.27 13:19:23.541 1: 1 9 0 1
2017.06.27 13:19:23.541 2: Plex: unhandled websocket data: ?
Gruß,
Michael
Hi,
das gestrige Update der Server auf 1.7.5.4035 hat keine Änderung gebracht, allerdings ist gerade eine andere Warnung mit aufgetaucht:
2017.06.29 12:09:38.057 1: 1 9 0 1
2017.06.29 12:09:38.057 2: Plex: unhandled websocket data: ?
2017.06.29 12:09:45.039 1: 1 9 0 1
2017.06.29 12:09:45.039 2: Plex: unhandled websocket data: ?
2017.06.29 12:09:48.057 1: 1 9 0 1
2017.06.29 12:09:48.057 2: Plex: unhandled websocket data: ?
2017.06.29 12:09:55.039 1: 1 9 0 1
2017.06.29 12:09:55.039 2: Plex: unhandled websocket data: ?
2017.06.29 12:09:58.056 1: 1 9 0 1
2017.06.29 12:09:58.057 2: Plex: unhandled websocket data: ?
2017.06.29 12:10:05.039 1: 1 9 0 1
2017.06.29 12:10:05.039 2: Plex: unhandled websocket data: ?
2017.06.29 12:10:08.056 1: 1 9 0 1
2017.06.29 12:10:08.056 2: Plex: unhandled websocket data: ?
2017.06.29 12:10:09.591 1: 1 1 0 130
2017.06.29 12:10:09.591 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 4074.
2017.06.29 12:10:09.918 1: 1 1 0 109
2017.06.29 12:10:15.039 1: 1 9 0 1
2017.06.29 12:10:15.039 2: Plex: unhandled websocket data: ?
2017.06.29 12:10:18.056 1: 1 9 0 1
2017.06.29 12:10:18.056 2: Plex: unhandled websocket data: ?
2017.06.29 12:10:25.039 1: 1 9 0 1
2017.06.29 12:10:25.039 2: Plex: unhandled websocket data: ?
Gruß,
Michael
Hallo Leute,
vor einiger Zeit hat Cybers folgendes gepostet (den Code-Block habe ich eingekürzt, damit es hier nicht so aufgebläht wird):
Zitat von: Cybers am 27 April 2017, 08:16:25
Hallo,
ich habe seit einiger Zeit ständig folgende Logeinträge:
}
'token' => '5i58n5BDqSV7qCvyk7CQ'
},
[...]
{
Leider hat das "Forum" einen Teil vom Log abgeschnitten. Woher kommen diese Logeinträge?
Gruß, Sascha
Ich habe leider genau das gleiche Problem. Mehrmals am Tag werden von Plex Logeinträge erzeugt, die aber keine ersichtlich Fehlerrückmeldung geben, da es sich nur um json-Inhalte handelt. Ich werde einen Log-Eintrag beispielhaft anhängen.
Meine Frage nun: Wie kann ich diese Logeinträge unterbinden? Der Informationsgehalt geht für mich gegen null und mir wird nur das Logfile voll geschrieben. Für mich wäre dennoch interessant, warum dieser Eintrag erzeugt wird.
Hier ein Log-Eintrag:
$VAR1 = {
'.triggerUsed' => 1,
'CFGFN' => '',
'CL' => undef,
'HAS_IO::Socket::Multicast' => 1,
'NAME' => 'Plex',
'NOTIFYDEV' => 'global',
'NR' => 248,
'NTFY_ORDER' => '50-Plex',
'READINGS' => {
'.token' => {
'TIME' => '2017-03-07 14:58:13',
'VAL' => 'XHfkYqwYbqsdMjZEfenJ'
},
'state' => {
'TIME' => '2017-06-30 07:18:19',
'VAL' => 'running'
}
},
'STATE' => 'running',
'TYPE' => 'plex',
'clients' => {},
'fhemHostname' => 'SRVFHEM01',
'fhemIP' => '10.0.0.20',
'helper' => {
'discoverClientsBcast' => {
'CD' => bless( \*Symbol::GEN36, 'IO::Socket::INET' ),
'FD' => 43,
'NAME' => 'Plex:clientDiscoveryBcast',
'NR' => 305,
'PNAME' => 'Plex',
'PORT' => 32412,
'STATE' => 'discovering',
'TEMPORARY' => 1,
'TYPE' => 'plex',
'broadcast' => 1,
'interval' => 10,
'phash' => $VAR1
},
'discoverClientsListen' => {
'CD' => bless( \*Symbol::GEN37, 'IO::Socket::Multicast' ),
'FD' => 44,
'NAME' => 'Plex:clientDiscoveryPHT',
'NR' => 306,
'PNAME' => 'Plex',
'PORT' => 32413,
'STATE' => 'listening',
'TEMPORARY' => 1,
'TYPE' => 'plex',
'multicast' => 1,
'phash' => $VAR1
},
'discoverClientsMcast' => {
'CD' => bless( \*Symbol::GEN35, 'IO::Socket::Multicast' ),
'FD' => 42,
'NAME' => 'Plex:clientDiscoveryMcast',
'NR' => 304,
'PNAME' => 'Plex',
'PORT' => 32412,
'STATE' => 'discovering',
'TEMPORARY' => 1,
'TYPE' => 'plex',
'interval' => 10,
'multicast' => 1,
'phash' => $VAR1
},
'discoverServersBcast' => {
'CD' => bless( \*Symbol::GEN34, 'IO::Socket::INET' ),
'FD' => 41,
'NAME' => 'Plex:serverDiscoveryBcast',
'NR' => 303,
'PNAME' => 'Plex',
'PORT' => 32414,
'STATE' => 'discovering',
'TEMPORARY' => 1,
'TYPE' => 'plex',
'broadcast' => 1,
'interval' => 10,
'phash' => $VAR1
},
'discoverServersMcast' => {
'CD' => bless( \*Symbol::GEN33, 'IO::Socket::Multicast' ),
'FD' => 40,
'NAME' => 'Plex:serverDiscoveryMcast',
'NR' => 302,
'PNAME' => 'Plex',
'PORT' => 32414,
'STATE' => 'discovering',
'TEMPORARY' => 1,
'TYPE' => 'plex',
'interval' => 10,
'multicast' => 1,
'phash' => $VAR1
},
[...]
Ich hoffe, mir kann hier jemand helfen.
Gruß,
Patrick
@OppiM: die meldungen mit ? sollten ab morgen nicht mehr im log erscheinen.
das scheinen keepalive nachrichten zu sein die plex seit neuestem sendet.
@Cybers, blade-of-fire: wann und wie oft genau kommen diese meldungen?
Also ich gerade mal ins aktuelle Logfile geschaut.
Seit ca 7:20 kamen heute schon 26 derartige Einträge. Es kommen fast immer 2 Einträge direkt hintereinander und das in einem ungleichen Rythmus von 5 - 50 Minuten.
dann brauche ich die komplette nachricht. vor allem die erste zeile
Hier das letzte Eintrag Pärchen in einer json-Datei
Hallo Zusammen,
ich würde mich gerne hier auch mit einem Problem einklinken....
ich habe gestern das Plex Modul aktiviert und wie beschrieben das Multicast nachinstalliert und das Plex Device aktiviert.
Es wurde auch relativ schnell ein Client per autocreate angelegt.
Es ist ein OpenPHT auf einem Odroid.
Von diesem erhalte nun auch die State-Werte sobald was abgespielt wird.
Das 2te Device, ein IOS Client auf dem iPhone 7 wurde nicht automatisch angelegt.
Auch nicht nach mehreren Neustarts (von Shem und iPhone)
Das 3te Device, die Plex APP auf dem AppleTV 4 wurde auch nicht automatisch per autocreate angelegt.
Ich habe dann versucht diese beiden Devices manuell anzulegen mit
define <name> plex <machineid>
Allerdings erhalte ich nun von diesen beiden keine State-werte.
Sie stehen beide nur auf initialized , selbst wenn etwas abgespielt wird.
Des Weiteren habe ich im Log gesehen, das im wenige-Sekunden-Takt folgende Einträge entstehen...
2017.07.02 11:12:27 3 : Plex: notification websocket opened to 192.168.99.212
2017.07.02 11:12:27 2 : Plex: notification websocket: Switching Protocols failed
2017.07.02 11:12:37 3 : Plex: notification websocket opened to 192.168.99.212
2017.07.02 11:12:37 2 : Plex: notification websocket: Switching Protocols failed
2017.07.02 11:12:37 3 : Plex: notification websocket opened to 192.168.99.212
2017.07.02 11:12:37 2 : Plex: notification websocket: Switching Protocols failed
Mache ich was falsch, oder habe ich was vergessen ?
Danke vorab.
Gruß
René
Hallo,
Ist dieser Thread noch aktiv (würde ja schon länger nichts mehr geschrieben worden) ?
Ich habe jetzt seit ein paar Tagen erfolgreich Plex integriert. Es klappt soweit auch alles ganz gut, nach ein paar Anfangs Schwierigkeiten.
Jedoch habe ich jetzt folgendes Problem:
- mein Rasplex ist erfolgreich erkannt worden und wurde per autocreate angelegt
- alle Daten werden übertragen und angezeigt / ebenfalls State
Jedoch wenn ich Rasplex ausschalte und erst am nächsten Tag wieder an, erhalte ich von Rasplex keine neuen aktualisierten Daten
State bleibt nur auf -Appeared
Erst nach einem Neustart von FHEM klappt es wieder.
Woran kann das liegen ?
Ich hoffe hier liest noch wer mit und ihr könnt weiterhelfen.
Grüße und danke
Torsten
hi,
mit get Timeline erhalte ich ohne Neustart wieder den aktuellen State.
Jedoch wird bsp. nicht der currentTitel aktualisiert.
Mal sehen wie es weiter geht :(
Grüße
Torsten
Hi ich nochmal,
habe jetzt alles versucht, doch die readings werden einfach nicht aktualisiert, egal was ich mache.
Ich nutze als Player RasPlex auf einem PI3
Server und Clients werde ohne Probleme gefunden, Client wird automatisch angelegt.
Nach dem anlegen funktioniert die "Übertragung" der Reading auch ohne Probleme. Alles wird angezeigt !
Jedoch sobald ich den Player (RasPlex) ausschalte, wird beim nächsten neustart nur erkannt das er da ist.
Also von disappeard auf appeared umgestellt. Ansonsten passiert in den Readings nichts mehr.
Ich kann dann über get Timeline den aktuellen State abrufen, jedoch passiert nicht automatisch.
Habe das komplette nochmal gelöscht und alles neu angelegt, keine Besserung.
Mit anderen Player (z.B. PS4 und Iphone klappt alles bestens !)
Hat jemand evtl. mit RasPlex auch Probleme ?
Grüße & Danke
Torsten
Ahoi,
ich wollte mal kurz darauf hinweise, dass Plex mittlerweile (zumindest für Pass User) Webhooks anbietet:
https://support.plex.tv/hc/en-us/articles/115002267687-Webhooks (https://support.plex.tv/hc/en-us/articles/115002267687-Webhooks)
Evtl. möchte ja jemand ein Plugin hierzu schreiben :-)
MfG
Manuel
Bin gerade auf dieses Modul gestoßen und wollte das auch gleich mal testen, nachdem ich mich nun auch für den dauerhaften Einsatz von PLEX entschieden habe. Zunächst schien auch alles ordentlich zu laufen, nachdem ich
cpan install IO::Socket::Multicast
ausgeführt und danach FHEM neu gestartet habe. Allerdings knallt mir jetzt das Modul die Logdatei voll. Der Plex-Server wird dabei richtig erkannt, Player ist im Moment keiner im Betrieb. Hatte mal PLEX im Browser aufgerufen, dann wurde auch ein Player erkannt.
Jetzt die Gretchen-Frage: Was mache ich falsch? :o
Internals:
CFGFN
HAS_IO::Socket::Multicast 1
NAME PLEX_NAS421
NOTIFYDEV global
NR 1604
NTFY_ORDER 50-PLEX_NAS421
STATE running
TYPE plex
fhemHostname cubie
fhemIP 192.168.178.39
id 430fc048466f08d922c590d12c588a09
READINGS:
2017-10-11 10:10:15 state running
clients:
192.168.178.35:
address 192.168.178.35
contentType plex/media-player
deviceClass pc
machineIdentifier v08jfupw83cjv835ouanpkdi
name Plex Web (Chrome)
online 1
port 32400
product Plex Web
protocol plex
protocolCapabilities timeline,playback,navigation,mirror,playqueues
protocolVersion 1
resourceIdentifier v08jfupw83cjv835ouanpkdi
updatedAt 1507709415.14934
version 3.20.8
helper:
discoverClientsBcast:
FD 182
NAME PLEX_NAS421:clientDiscoveryBcast
NR 1612
PNAME PLEX_NAS421
PORT 32412
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
interval 10
phash:
discoverServersBcast:
FD 181
NAME PLEX_NAS421:serverDiscoveryBcast
NR 1611
PNAME PLEX_NAS421
PORT 32414
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
interval 10
phash:
timelineListener:
FD 184
NAME PLEX_NAS421:timelineListener
NR 1607
PNAME PLEX_NAS421
PORT 38140
STATE accepting
TEMPORARY 1
TYPE plex
interval 30
connections:
phash:
subscriptionsTo:
websockets:
myPlex-servers:
servers:
192.168.178.35:
address 192.168.178.35
contentType plex/media-server
host fe13b1abfca44fbf8bb3a2b301f4feff.plex.direct
machineIdentifier af6bff0d514b4e4fc61ac7fb5b42826b3d34173b
name plexNAS421
online 1
port 32400
resourceIdentifier af6bff0d514b4e4fc61ac7fb5b42826b3d34173b
updatedAt 1507709415.15037
version 1.9.2.4285-9f65b88ae
Attributes:
2017.10.11 10:10:45 3: PLEX_NAS421: broadcast server discovery stoped
2017.10.11 10:10:45 3: PLEX_NAS421: broadcast client discovery stoped
2017.10.11 10:10:45 3: PLEX_NAS421: failed to start multicast server discovery: IO::Socket::Multicast: Protocol not available
2017.10.11 10:10:45 3: PLEX_NAS421: broadcast server discovery started
2017.10.11 10:10:45 3: PLEX_NAS421: failed to start multicast client discovery: IO::Socket::Multicast: Protocol not available
2017.10.11 10:10:45 3: PLEX_NAS421: broadcast client discovery started
2017.10.11 10:10:45 3: PLEX_NAS421: failed to pht start client listener
2017.10.11 10:10:45 3: PLEX_NAS421: notification websocket opened to 192.168.178.35
2017.10.11 10:10:45 2: PLEX_NAS421: notification websocket: Switching Protocols failed
Ich habe aktuell das Problem, dass ich alle 30 Sekunden zwei Meldungen ins Log bekomme:
2017.12.21 12:02:55 2 : plex: http request (http://10.0.0.45:32500/player/timeline/subscribe?protocol=http&port=37989&commandID=3862) failed: 10.0.0.45: Verbindungsaufbau abgelehnt
2017.12.21 12:02:55 2 : plex: http request (http://10.0.0.47:32500/player/timeline/subscribe?protocol=http&port=37989&commandID=3861) failed: 10.0.0.47: Verbindungsaufbau abgelehnt
Es handelt sich bei den IP Adressen um AppleTV's, auf denen auch Plex-Clients installiert sind. Aber die AppleTVs sind aktuell im Standby, was erklärt warum der Verbindungsaufbau nicht klappt.
Sollten in diesem Fall aber die Devices nicht auf "disappeared" o.ä. wechseln?
Hier mal ein List eines der FHEM Devices dazu:
Internals:
CHANGED
DEF CDB0446D-AB33-4A29-5F5F-BEF765E0C0E1
NAME OG.sz.TV.Plex
NOTIFYDEV global
NR 53
NTFY_ORDER 50-OG.sz.TV.Plex
STATE photo:stopped video:paused music:stopped
TYPE plex
controllable shuffle,repeat,audioStream,videoStream,subtitleStream,skipPrevious,skipNext,seekTo,stepBack,stepForward,stop,playPause
currentMediaType video
currentServer 06507f822d07d2244e6a6db7642982ed31e40c11
deviceClass stb
duration 1225440
fhemHostname r-wz
fhemIP 10.0.0.107
id f5a3f2c6a7763492184cda273bca803ec0
machineIdentifier CDB0446D-AB33-4A29-5F5F-BEF765E0C0E1
platform tvOS
platformVersion 11.2.1
product Plex for Apple TV
protocolCapabilities playback,playqueues,timeline
seekRange 0-1225440
time 0
version 1.21
READINGS:
2017-12-19 23:35:09 cover http://10.0.0.49:32400/library/metadata/6033/thumb/1513637758
2017-12-20 23:51:28 currentTitle Some Film
2017-12-20 23:51:28 duration 00:20:25
2017-12-20 23:51:28 episode S01E12
2017-12-20 23:51:28 key /library/metadata/6044
2017-12-12 21:45:03 location fullScreenVideo
2017-12-20 22:06:11 playQueueID 44
2017-12-20 23:51:30 playQueueItemID 1559
2017-12-20 22:05:46 presence present
2017-12-12 21:45:10 repeat 0
2017-12-12 21:45:04 section Serien (Deutsch)
2017-12-12 21:45:04 series TV Show
2017-12-20 23:51:28 server 06507f822d07d2244e6a6db7642982ed31e40c11
2017-12-12 21:45:10 shuffle 0
2017-12-21 00:11:55 state photo:stopped video:paused music:stopped
2017-12-12 21:45:04 type episode
clients:
helper:
myPlex-servers:
servers:
Attributes:
alias Plex Schlafzimmer
group Medien
room Schlafzimmer
Starte ich den entsprechenden Plex Client auf dem AppleTV, verschwindet die Fehlermeldung, eine Verbindung ist dann also möglich. Die Meldungen fangen aber sofort wieder an, wenn das AppleTV wieder in den Standby geht.
Habe seit heute das gleiche Problem wie Phiolin.
Es wurde bei Plex wohl irgendwas geändert. (gab heute auch ein Update der Plex App für ATV.
Problem taucht auch auf einem AndroidTV auf.
ich kümmere mich darum sobald ich dazu komme. sorry das es so lange dauert.
übrigens: der neue plexamp player lässt sich auch über das plex modul einbinden und steuern. demnächst wird es scheinbar eine embedded version dafür für raspberry pi geben. mit ein bisschen glück wäre das dann eine weiter günstige alternative zu sonos&co.
@justmer1968
Freut mich zu lesen das es hier weiter geht !
Danke
Grüße
Torsten
Hallo zusammen, ist es möglich irgendwie eine Wiedergabe eines Songs oder Mehrere Songs eines bestimmten Interpreten oder eine bestimmte Wiedergabeliste auf dem Plex zu starten und diese auf einem Chromecast zu wiedergeben? Ich meine vom FHEM aus, über die Plex App geht es ja einwandfrei.
Vielen Dank im Voraus
VG Eddie
Hallo zusammen,
versuche gerade meinen Plex Server mit Fhem zu verbinden...
Im log kommt immer die Meldung:
2018.02.12 21:35:06 2: Plex.SK: http request (http://x.x.x.x:32400/servers) failed: connect to http://x.x.x.x:32400 timed out
2018.02.12 21:35:06 3: Plex.SK: server disappeared: x.x.x.x
Wenn ich http://x.x.x.x:32400/servers eingebe kommt direkt die Meldung:
401 Unauthorized
Was läuft da falsch ?
Per http://x.x.x.x:32400/web im Browser funktioniert alles wunderbar!
@meddie: bestimmt. aber ich weiss nicht wie :) leider gibt es wie für alles keine api dokumentation. wenn du per wireshark rausfindest wie das funktioniert kann ich versuchen es einzubauen.
@geforce28: hast du deinen server auf https only gestellt? das modul verwendet zur zeit meist noch http.
Sichere Verbindungen steht auf "bevorzugt"...
Mögliche weitere Optionen sind: "deaktiviert" und "erforderlich"...
Liegt es daran ?
das ist ok.
stimmt die ip im log? die seite lässt sich nicht im browser aufrufen. hast du user und password hinterlegt? hast du dich per pin angemeldet?
user + Passwort habe ich hinterlegt.
Die IP ist korrekt.
Wenn ich per Webinterface auf x.x.x.x/32400/web gehe, dann muss ich mich per pin anmelden.
Die Pin habe ich in FHEM nirgends hinterlegt, muss ich da noch Einstellungen vornehmen ? wo ?
was im web interface passiert ist ziemlich egal.
du musst das fhem modul per pin anmelden.
get <name> pin und dann https://plex.tv/pin
@justme1968:
Okay habe ich gemacht. Danke für die Info, konnte diese nirgends finden...
Nun habe ich ein token bekommen, jedoch schein es immer noch nicht zu laufen.
Im Log steht:
2018.02.13 16:22:47 2: Plex.SK: PIN: XXXX
2018.02.13 16:23:30 3: Plex.SK: got token from pin
2018.02.13 16:23:38 1: PERL WARNING: Use of uninitialized value $ip in concatenation (.) or string at ./FHEM/37_plex.pm line 1573.
2018.02.13 16:23:44 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/37_plex.pm line 1173.
Edit:
Wenn ich FHEM Neustarte kommt jetzt die Meldung:
2018.02.13 16:35:20 2: Plex.SK: http request (http://x.x.x.x:32400/clients) failed: connect to http://x.x.x.x:32400 timed out
2018.02.13 16:35:20 3: Plex.SK: server disappeared: x.x.x.x
Edit2:
So jetzt hat er sich doch scheinbar irgendwie gefangen und ist verbunden. Soweit so gut.
Nun möchte ich aber Plex Clients per FHEM steuern.
Wenn ich nun "get plex clients" eingebe kommt auch die liste meiner Clients, allerdings nur alle eingetragen unter:
clients from myPlex:
Wieso findet er die Clients nicht ?
Habe testweise mal einen Player neu gestartet und etwas angespielt, da ja irgendwo stand, dass die Clients meist erst gefunden werden, wenn sie etwas abspielen.
Tut sich aber nichts.. Kann ich irgendwo einen Parameter setzen, dass er den Client manuell hinzufügt, anhand der IP o.ä ?
gibt es log nachrichten wenn du die clients startest? am besten das plex modul vorher auf verbose 4 oder 5 stellen.
Nein, keine Log Einträge, wenn der Client startet.
Nur wenn ich anfange etwas abzuspielen dann kommt folgendes...:
2018.02.13 17:24:46 2: Plex.SK: http request (http://x.x.x.x:32400Wohnzimmer) failed: http://x.x.x.x:32400Wohnzimmer: malformed or unsupported URL
2018.02.13 17:25:37 2: Plex.SK: http request (http://x.x.x.x:32400yjanr6g8i7oxkouewsgn45cd) failed: http://x.x.x.x:32400yjanr6g8i7oxkouewsgn45cd: malformed or unsupported URL
2018.02.13 17:34:27 1: PERL WARNING: Argument "5"" isn't numeric in addition (+) at ./FHEM/31_HUEDevice.pm line 593.
2018.02.13 17:49:39 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/37_plex.pm line 4084.
2018.02.13 18:45:55 5: Plex.SK: websocket data: $VAR1 = {
'NotificationContainer' => {
'type' => 'transcodeSession.start',
'size' => 1,
'TranscodeSession' => [
{
'transcodeHwRequested' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'sourceVideoCodec' => 'h264',
'duration' => 9698987,
'audioDecision' => 'transcode',
'audioCodec' => 'opus',
'sourceAudioCodec' => 'dca',
'key' => '/transcode/sessions/lg9xtfxraf355jg7jikvs4ic',
'videoCodec' => 'h264',
'progress' => '0',
'speed' => '0',
'complete' => $VAR1->{'NotificationContainer'}{'TranscodeSession'}[0]{'transcodeHwRequested'},
'videoDecision' => 'transcode',
'context' => 'streaming',
'container' => 'mkv',
'protocol' => 'http',
'throttled' => $VAR1->{'NotificationContainer'}{'TranscodeSession'}[0]{'transcodeHwRequested'},
'audioChannels' => 6,
'subtitleDecision' => 'copy'
}
]
}
};
2018.02.13 18:45:55 4: Plex.SK: unhandled websocket text type: transcodeSession.start: {"NotificationContainer":{"type":"transcodeSession.start","size":1,"TranscodeSession":[{"key":"/transcode/sessions/lg9xtfxraf355jg7jikvs4ic","throttled":false,"complete":false,"progress":0.0,"speed":0.0,"duration":9698987,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"dca","videoDecision":"transcode","audioDecision":"transcode","subtitleDecision":"copy","protocol":"http","container":"mkv","videoCodec":"h264","audioCodec":"opus","audioChannels":6,"transcodeHwRequested":false}]}}
2018.02.13 18:46:00 5: Plex.SK: websocket data: $VAR1 = {
'NotificationContainer' => {
'TranscodeSession' => [
{
'complete' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'videoDecision' => 'transcode',
'context' => 'streaming',
'container' => 'mkv',
'videoCodec' => 'h264',
'progress' => '9.19999980926514',
'speed' => '2.5',
'audioChannels' => 6,
'subtitleDecision' => 'copy',
'protocol' => 'http',
'throttled' => $VAR1->{'NotificationContainer'}{'TranscodeSession'}[0]{'complete'},
'audioDecision' => 'transcode',
'audioCodec' => 'opus',
'sourceAudioCodec' => 'dca',
'transcodeHwRequested' => $VAR1->{'NotificationContainer'}{'TranscodeSession'}[0]{'complete'},
'sourceVideoCodec' => 'h264',
'duration' => 9698987,
'key' => '/transcode/sessions/lg9xtfxraf355jg7jikvs4ic',
'remaining' => 3551
}
],
'type' => 'transcodeSession.update',
'size' => 1
}
};
2018.02.13 18:46:00 4: Plex.SK: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/lg9xtfxraf355jg7jikvs4ic","throttled":false,"complete":false,"progress":9.199999809265137,"speed":2.5,"duration":9698987,"remaining":3551,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"dca","videoDecision":"transcode","audioDecision":"transcode","subtitleDecision":"copy","protocol":"http","container":"mkv","videoCodec":"h264","audioCodec":"opus","audioChannels":6,"transcodeHwRequested":false}]}}
2018.02.13 18:46:02 5: Plex.SK: websocket data: $VAR1 = {
'NotificationContainer' => {
'PlaySessionStateNotification' => [
{
'guid' => '',
'viewOffset' => 882089,
'transcodeSession' => 'lg9xtfxraf355jg7jikvs4ic',
'key' => '/library/metadata/59691',
'playQueueItemID' => 56371,
'ratingKey' => '59691',
'sessionKey' => '27',
'state' => 'buffering',
'url' => ''
}
],
'size' => 1,
'type' => 'playing'
}
};
2018.02.13 18:46:02 4: Plex.SK: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"27","guid":"","ratingKey":"59691","url":"","key":"/library/metadata/59691","viewOffset":882089,"playQueueItemID":56371,"state":"buffering","transcodeSession":"lg9xtfxraf355jg7jikvs4ic"}]}}
2018.02.13 18:46:05 5: Plex.SK: websocket data: $VAR1 = {
'NotificationContainer' => {
'size' => 1,
'type' => 'transcodeSession.update',
'TranscodeSession' => [
{
'protocol' => 'http',
'throttled' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'audioChannels' => 6,
'subtitleDecision' => 'copy',
'videoCodec' => 'h264',
'timeStamp' => '1518543076.93536',
'progress' => '9.30000019073486',
'speed' => '1.79999995231628',
'complete' => $VAR1->{'NotificationContainer'}{'TranscodeSession'}[0]{'throttled'},
'videoDecision' => 'transcode',
'context' => 'streaming',
'container' => 'mkv',
'remaining' => 4752,
'key' => '/transcode/sessions/lg9xtfxraf355jg7jikvs4ic',
'minOffsetAvailable' => '1',
'transcodeHwRequested' => $VAR1->{'NotificationContainer'}{'TranscodeSession'}[0]{'throttled'},
'duration' => 9698987,
'sourceVideoCodec' => 'h264',
'maxOffsetAvailable' => '884.76',
'audioDecision' => 'transcode',
'audioCodec' => 'opus',
'sourceAudioCodec' => 'dca'
}
]
}
};
2018.02.13 18:46:05 4: Plex.SK: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/lg9xtfxraf355jg7jikvs4ic","throttled":false,"complete":false,"progress":9.300000190734864,"speed":1.7999999523162842,"duration":9698987,"remaining":4752,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"dca","videoDecision":"transcode","audioDecision":"transcode","subtitleDecision":"copy","protocol":"http","container":"mkv","videoCodec":"h264","audioCodec":"opus","audioChannels":6,"transcodeHwRequested":false,"timeStamp":1518543076.9353567,"maxOffsetAvailable":884.76,"minOffsetAvailable":1.0}]}}
2018.02.13 18:46:06 5: Plex.SK: websocket data: $VAR1 = {
'NotificationContainer' => {
'type' => 'playing',
'size' => 1,
'PlaySessionStateNotification' => [
{
'state' => 'playing',
'url' => '',
'sessionKey' => '27',
'ratingKey' => '59691',
'playQueueItemID' => 56371,
'key' => '/library/metadata/59691',
'guid' => '',
'viewOffset' => 882132,
'transcodeSession' => 'lg9xtfxraf355jg7jikvs4ic'
}
]
}
};
2018.02.13 18:46:06 4: Plex.SK: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"27","guid":"","ratingKey":"59691","url":"","key":"/library/metadata/59691","viewOffset":882132,"playQueueItemID":56371,"state":"playing","transcodeSession":"lg9xtfxraf355jg7jikvs4ic"}]}}
2018.02.13 18:46:10 5: Plex.SK: websocket data: $VAR1 = {
'NotificationContainer' => {
'type' => 'transcodeSession.update',
'size' => 1,
'TranscodeSession' => [
{
'key' => '/transcode/sessions/lg9xtfxraf355jg7jikvs4ic',
'minOffsetAvailable' => '1',
'remaining' => 3506,
'audioDecision' => 'transcode',
'maxOffsetAvailable' => '904.822',
'sourceAudioCodec' => 'dca',
'audioCodec' => 'opus',
'transcodeHwRequested' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'sourceVideoCodec' => 'h264',
'duration' => 9698987,
'audioChannels' => 6,
'subtitleDecision' => 'copy',
'protocol' => 'http',
'throttled' => $VAR1->{'NotificationContainer'}{'TranscodeSession'}[0]{'transcodeHwRequested'},
'context' => 'streaming',
'videoDecision' => 'transcode',
'complete' => $VAR1->{'NotificationContainer'}{'TranscodeSession'}[0]{'transcodeHwRequested'},
'container' => 'mkv',
'videoCodec' => 'h264',
'timeStamp' => '1518543076.93536',
'speed' => '2.5',
'progress' => '9.39999961853027'
}
]
}
};
2018.02.13 18:46:10 4: Plex.SK: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/lg9xtfxraf355jg7jikvs4ic","throttled":false,"complete":false,"progress":9.399999618530274,"speed":2.5,"duration":9698987,"remaining":3506,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"dca","videoDecision":"transcode","audioDecision":"transcode","subtitleDecision":"copy","protocol":"http","container":"mkv","videoCodec":"h264","audioCodec":"opus","audioChannels":6,"transcodeHwRequested":false,"timeStamp":1518543076.9353567,"maxOffsetAvailable":904.822,"minOffsetAvailable":1.0}]}}
2018.02.13 18:46:12 5: Plex.SK: websocket data: $VAR1 = {
'NotificationContainer' => {
'PlaySessionStateNotification' => [
{
'viewOffset' => 887429,
'transcodeSession' => 'lg9xtfxraf355jg7jikvs4ic',
'guid' => '',
'key' => '/library/metadata/59691',
'playQueueItemID' => 56371,
'ratingKey' => '59691',
'sessionKey' => '27',
'state' => 'playing',
'url' => ''
}
],
'type' => 'playing',
'size' => 1
}
};
2018.02.13 18:46:12 4: Plex.SK: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"27","guid":"","ratingKey":"59691","url":"","key":"/library/metadata/59691","viewOffset":887429,"playQueueItemID":56371,"state":"playing","transcodeSession":"lg9xtfxraf355jg7jikvs4ic"}]}}
2018.02.13 18:46:15 5: Plex.SK: websocket data: $VAR1 = {
'NotificationContainer' => {
'type' => 'transcodeSession.update',
'size' => 1,
'TranscodeSession' => [
{
'videoCodec' => 'h264',
'timeStamp' => '1518543076.93536',
'speed' => '2.20000004768372',
'progress' => '9.60000038146973',
'videoDecision' => 'transcode',
'context' => 'streaming',
'complete' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'container' => 'mkv',
'protocol' => 'http',
'throttled' => $VAR1->{'NotificationContainer'}{'TranscodeSession'}[0]{'complete'},
'audioChannels' => 6,
'subtitleDecision' => 'copy',
'transcodeHwRequested' => $VAR1->{'NotificationContainer'}{'TranscodeSession'}[0]{'complete'},
'sourceVideoCodec' => 'h264',
'duration' => 9698987,
'audioDecision' => 'transcode',
'maxOffsetAvailable' => '915.249',
'sourceAudioCodec' => 'dca',
'audioCodec' => 'opus',
'remaining' => 3910,
'key' => '/transcode/sessions/lg9xtfxraf355jg7jikvs4ic',
'minOffsetAvailable' => '1'
}
]
}
};
2018.02.13 18:46:15 4: Plex.SK: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/lg9xtfxraf355jg7jikvs4ic","throttled":false,"complete":false,"progress":9.600000381469727,"speed":2.200000047683716,"duration":9698987,"remaining":3910,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"dca","videoDecision":"transcode","audioDecision":"transcode","subtitleDecision":"copy","protocol":"http","container":"mkv","videoCodec":"h264","audioCodec":"opus","audioChannels":6,"transcodeHwRequested":false,"timeStamp":1518543076.9353567,"maxOffsetAvailable":915.249,"minOffsetAvailable":1.0}]}}
EDIT:
yjanr6g8i7oxkouewsgn45cd
ist genau die ID von dem Client-Player.
Hi Andre,
das klingt so, als würde geforce28 auch Plex Home verwenden. Sind zumindest die gleichen Symptome wie bei mir...
Gibt es dazu denn eine API-Beschreibung?
Grüße
Reiner
Hallo zusammen,
ja das scheint in der Tat so zu sein.
Wenn mit Plex Home gemeint ist, dass ich mehrere Benutzer in Plex habe...
ok...
wenn du mehrere plex home benutzer hast wäre das eine erklärung.
ich weiss aber noch nicht was genau passiert und warum es nicht geht. sobald ich dazu kommen versuche ich es nachzustellen.
@Reinerlein: 90% der funktionalität im modul sind reverse engendered. für etwa 10% gibt es im prinzip eine api bschreibung. die ist aber nicht aktuell und zum teil so ungenau das von diesen 10% auch noch mal mindestens 5% ohne rewerse engineering und wireshark nicht funktionieren würden.
es bleibt also nur zeit haben und nachstellen...
Hallo community,
nachdem ich mir vor kurzem einen Plex Server zur Verwaltung meiner Medien installiert hatte musste ich nun natürlich auch das entsprchende Modul in FHEM integrieren. Das läuft nun auch und ich möchte es nun gerne zusätzlich in mein TabletUI einbauen um zu sehen was gerade läuft oder um eine Playlist zu starten. Hat sich schon jemand die Mühe gemacht und würde seine Umsetzung teilen 8) ? Mit einem "Grundgerüst" wäre der Start etwas einfacher ... falls nicht werde ich in den nächsten Tagen mal damit starten.
Hallo!
Ich habe auf Fhem Plex soweit eingerichtet und er erkennt die Server und Clients, bekomme auch vom Client Readings über Play usw.
Doch wenn ich get plex ls
eingebe dann bekomme ich ein"connection lost trying a reconnect every 5 seconds",
im log befindet sich aber auch keine Fehlermeldung dann dazu, was könnte hier der Fehler sein?!?
Mfg Steffen
Hi Steffen,
diese Meldung kommt immer dann im Browser, wenn der Longpoll-Mechanismus unterbrochen wurde.
Meistens passiert das, wenn eine (oder die gerade ausgeführte) Anweisung FHEM für eine Weile blockiert. Kann ja auch von anderen Modulen oder Notifies kommen, die aktuell im Hintergrund gerade laufen...
Kommt denn irgendwann ein Ergebnisfenster?
Wenn nicht, steht denn irgendwas im Log dazu?
Grüße
Reinerlein
Hallo!
Leider nein, es kommt kein Ergebnis von "ls" auch im Log bei Verbose 3 erscheint keine Fehlermeldung.
Ich könnte heute Abend nochmal auf 5 stellen und das Ergebnis hier einfügen wenn ok?!?
Mfg Steffen
Guten Morgen!
Hier mal mein Log bei Verbose 5 bei dem Befehl "ls".
Mfg Steffen
Hallo justme1968
anbei ein fix wenn kein canAsyncOutput gesetzt ist.
Moin moin,
ist es möglich die Inhaltsangabe noch als Reading zu erstellen, oder irgendwie anderweitig daran zu kommen?
Würde mir das auch gerne über TabletUI oder vielelciht auch über einen ESP (oder so) anzeigen lassen.
Grüße
Falko
Für TabletUI bin ich gerade dran. Wird aber noch etwas dauern.
Hi Justme,
das ist ja super, danke für das Plugin!
Ich würde gerne einen Alexa Skill schreiben der Musik per Search in Plex abfragt und dann auf Alexa wiedergibt.
Skill Beispiel ist schon hier:
https://forum.fhem.de/index.php/topic,65890.msg743742.html#msg743742
Das ganze kann dann in der 99_myUtils geschrieben werden.
Die Alexa Antwort muss ungefähr so ausshen
var url = "https://adresse/xxx/audio.m3u";
this.response.audioPlayerPlay('REPLACE_ALL', url, 'myMusic', null, 0);
this.emit(':responseReady');
Man kann natürlich auch direkt den mp3 angeben.
Ich fände es am besten wenn es möglich wäre dass das Plex Plugin eine M3U Datei erstellt.
Am besten immer mit dem selben Namen. In dieser steht das Suchergebnis und es wird einfach an Alexa übergeben.
Das ganze sieht für mich nach sehr überschaubarem Aufwand aus.
Der Alex Skill ist fast schon da.
Im Plex Modul gibt es Search und M3U.
Das ganze müsste nur noch kombiniert werden.
Ich würde mir Skill und Alexa integration anschauen.
Was ich bräuchte wäre die Möglichkeit im Plex Plugin für eine Suche ein M3U File schreiben zu lassen.
Ist das möglich?
Ok hat sich erstmal erledigt. Bekomme das in myUtils auch so ausgelesen.
Kann jetzt schon per Alexa suche eine Playlist erstellen.
Muss aber doch was an am Alexa coding ändern da der speak ssml nicht langt.
Ich muss eine antwort für Audioplayer einbauen.
Wenn ich was brauchbares habe melde ich mich.
Gruß,
Stefan
Ok, ich bin jetzt relativ weit.
Musik Player ist im Alexa code drin und kann angesprochen werden und mp3s abspielen.
Leider noch nicht von Plex.
Lasse ich mir eine Playlist erstellen in der "http://192.168.69.111:32400/library/parts/29400/1360178786/file.mp3" steht und versuche ich diesen Link im Browser aufzurufen bekomme ich:
401 Unauthorized
Ist es möglich dass Plex das gar nicht kann was ich will? Was sind berechtigte DLNA clients?
Ok, Token hat gefehlt...
Habs mit token laufen.
Sieht dann ungefähr so aus.
Jetzt fehlt mir nur noch ein richtiges https zum server so dass amazon es auch nimmt
Gruß,
Stefan
Ok läuft jetzt.
Ich kann eine aus Plex generierte Playlist per Sprachaufruf abspielen. Damit bin ich ganz zufrieden.
Die Playlist kann ich in Plex pflegen.
Jetzt hätte ich aber doch eine Bitte. Ist es möglich eine erweiterte Suche zu machen? So dass ich nach einem Titel suchen kann?
Klar ich kann nach Artist suchen und auch da z.B. das erste Album als Playlist abspielen.
Am Liebsten wäre mir aber genau ein Track abzufragen.
Viele Grüße,
Stefan
hiho,
nur 2 kurze (hoffentlich nicht all zu dumme) fragen:
1) wie kann ich den einen cover in einer readingsgroup darstellen?
füge ich die url aus dem reading cover als valueFormat z.b. so 'cover' => '<center><img src="$VALUE"></center>',
ein, so gibts nur einen 401er ...
2) gibs die möglichkeit z.b. reasentlyAdded oder andere auflistungen vom plex server in einer rg darzustellen? würde den waf erhöhen *g*
und wenn ich schon dabei bin - hinweis:
umlaute, die von einem lg-tv/Edge-browser (mehr hab ich jetzt nicht probiert) kommen sehen leider so auscurrentTitle Tremors 6: Ein kalter Tag in der H�lle
Hi,
so Alexa <-> Plex läuft bei mir sehr zufriedenstellend.
Ist sicher nicht ausgereift und schon ein erster Hack, wen es interessiert hier die Details zum Nachbauen:
https://forum.fhem.de/index.php/topic,88038.msg804627.html#msg804627
Gruß,
Stefan
Hätte eine Bitte,
ist es möglich die Ausgaben im Log von:
018.05.22 23:28:49 3: get Plex ls /library/metadata/40762/children :
Und danach kommt der ganze ls auszuschalten?
Habe schon verbose 0 Versucht, hilft aber nicht.
Gruß,
Stefan
Zitat von: Phiolin am 21 Dezember 2017, 12:08:44
Ich habe aktuell das Problem, dass ich alle 30 Sekunden zwei Meldungen ins Log bekomme:
2017.12.21 12:02:55 2 : plex: http request (http://10.0.0.45:32500/player/timeline/subscribe?protocol=http&port=37989&commandID=3862) failed: 10.0.0.45: Verbindungsaufbau abgelehnt
2017.12.21 12:02:55 2 : plex: http request (http://10.0.0.47:32500/player/timeline/subscribe?protocol=http&port=37989&commandID=3861) failed: 10.0.0.47: Verbindungsaufbau abgelehnt
Es handelt sich bei den IP Adressen um AppleTV's, auf denen auch Plex-Clients installiert sind. Aber die AppleTVs sind aktuell im Standby, was erklärt warum der Verbindungsaufbau nicht klappt.
Sollten in diesem Fall aber die Devices nicht auf "disappeared" o.ä. wechseln?
Hier mal ein List eines der FHEM Devices dazu:
Internals:
CHANGED
DEF CDB0446D-AB33-4A29-5F5F-BEF765E0C0E1
NAME OG.sz.TV.Plex
NOTIFYDEV global
NR 53
NTFY_ORDER 50-OG.sz.TV.Plex
STATE photo:stopped video:paused music:stopped
TYPE plex
controllable shuffle,repeat,audioStream,videoStream,subtitleStream,skipPrevious,skipNext,seekTo,stepBack,stepForward,stop,playPause
currentMediaType video
currentServer 06507f822d07d2244e6a6db7642982ed31e40c11
deviceClass stb
duration 1225440
fhemHostname r-wz
fhemIP 10.0.0.107
id f5a3f2c6a7763492184cda273bca803ec0
machineIdentifier CDB0446D-AB33-4A29-5F5F-BEF765E0C0E1
platform tvOS
platformVersion 11.2.1
product Plex for Apple TV
protocolCapabilities playback,playqueues,timeline
seekRange 0-1225440
time 0
version 1.21
READINGS:
2017-12-19 23:35:09 cover http://10.0.0.49:32400/library/metadata/6033/thumb/1513637758
2017-12-20 23:51:28 currentTitle Some Film
2017-12-20 23:51:28 duration 00:20:25
2017-12-20 23:51:28 episode S01E12
2017-12-20 23:51:28 key /library/metadata/6044
2017-12-12 21:45:03 location fullScreenVideo
2017-12-20 22:06:11 playQueueID 44
2017-12-20 23:51:30 playQueueItemID 1559
2017-12-20 22:05:46 presence present
2017-12-12 21:45:10 repeat 0
2017-12-12 21:45:04 section Serien (Deutsch)
2017-12-12 21:45:04 series TV Show
2017-12-20 23:51:28 server 06507f822d07d2244e6a6db7642982ed31e40c11
2017-12-12 21:45:10 shuffle 0
2017-12-21 00:11:55 state photo:stopped video:paused music:stopped
2017-12-12 21:45:04 type episode
clients:
helper:
myPlex-servers:
servers:
Attributes:
alias Plex Schlafzimmer
group Medien
room Schlafzimmer
Starte ich den entsprechenden Plex Client auf dem AppleTV, verschwindet die Fehlermeldung, eine Verbindung ist dann also möglich. Die Meldungen fangen aber sofort wieder an, wenn das AppleTV wieder in den Standby geht.
Gibt's hier eigentlich was neues? Ich ignoriere die Meldungen im Log zwar größtenteils, aber sie kommen immer noch regelmäßig ziemlich exakt alle 30 Sekunden.
Bei mir habe ich das Problem das keine Clients angelegt werden ein set play ist auch nicht möglich
play steht gar nicht erst zur Auswahl.
Allerdings kann ich die Datenbank mit ls durchsuchen
und ein get client zeigt mit auch meine Clienten an.
User und password wurden definiert
CFGFN
HAS_IO::Socket::Multicast 1
NAME plexnuc
NOTIFYDEV global
NR 1098
NTFY_ORDER 50-plexnuc
STATE running
TYPE plex
fhemHostname nuc
fhemIP 192.168.178.108
id 3bb749978b3f0b0da581b7cd4c0af872
token dRs9TVBLf4URHt26ry7E
.attraggr:
.attrminint:
Helper:
DBLOG:
state:
logdb:
TIME 1531991638.01089
VALUE running
READINGS:
2018-07-19 11:16:41 .token dRs9TVBLf4URHt26ry7E
2018-07-19 11:13:58 state running
clients:
helper:
discoverClientsBcast:
FD 123
NAME plexnuc:clientDiscoveryBcast
NR 1102
PNAME plexnuc
PORT 32412
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
interval 10
READINGS:
phash:
discoverClientsListen:
FD 124
NAME plexnuc:clientDiscoveryPHT
NR 1103
PNAME plexnuc
PORT 32413
STATE listening
TEMPORARY 1
TYPE plex
multicast 1
READINGS:
phash:
discoverClientsMcast:
FD 121
NAME plexnuc:clientDiscoveryMcast
NR 1101
PNAME plexnuc
PORT 32412
STATE discovering
TEMPORARY 1
TYPE plex
interval 10
multicast 1
READINGS:
phash:
discoverServersBcast:
FD 120
NAME plexnuc:serverDiscoveryBcast
NR 1100
PNAME plexnuc
PORT 32414
STATE discovering
TEMPORARY 1
TYPE plex
broadcast 1
interval 10
READINGS:
phash:
discoverServersMcast:
FD 115
NAME plexnuc:serverDiscoveryMcast
NR 1099
PNAME plexnuc
PORT 32414
STATE discovering
TEMPORARY 1
TYPE plex
interval 10
multicast 1
READINGS:
phash:
timelineListener:
FD 125
NAME plexnuc:timelineListener
NR 1104
PNAME plexnuc
PORT 33511
STATE accepting
TEMPORARY 1
TYPE plex
interval 30
READINGS:
connections:
phash:
subscriptionsTo:
websockets:
ae32100024765ddb0c56511fce5fba84b926exxx:
FD 114
NAME plexnuc:websocket:ae32100024765ddb0c56511fce5fba84b926exxx
NR 1174
PNAME plexnuc
PORT 45516
STATE listening
TEMPORARY 1
TYPE plex
address 192.168.178.108
buf
machineIdentifier ae32100024765ddb0c56511fce5fba84b926exxx
websocket 1
READINGS:
phash:
myPlex-devices:
publicAddress 87.143.232.140
Device:
HASH(0x556845998460)
HASH(0x5568465bbe60)
HASH(0x55684624c590)
HASH(0x5568459b1e58)
HASH(0x556845a8a948)
myPlex-servers:
friendlyName myPlex
identifier com.plexapp.plugins.myplex
machineIdentifier c9d1eb20aad756919f12086e060bdc0da6705e6f
size 0
Server:
servers:
192.168.178.108:
address 192.168.178.108
contentType plex/media-server
host 351d045a3cb8461c9affb41374c50a37.plex.direct
machineIdentifier ae32100024765ddb0c56511fce5fba84b926e433
name Plexserver
online 1
port 32400
resourceIdentifier ae32100024765ddb0c56511fce5fba84b926e433
updatedAt 1531993829.23468
version 1.13.2.5154-fd05be322
Attributes:
DbLogExclude .*
password crypt:xxxxxxxxxxxxxxxxx
room Plex,Sonos
user crypt:xxxxxxxxxxx
In Plex erscheint er unter Geräte als FHEM
Inesa
Servus. Bin als Plexuser sehr interressiert das ganze mit Telegram zu nutzen.
Jmd eine Idee wie ich die LS- Abfragen als Telegram msg überführen kann?
Somit könnte man per Telegram z.B. Abfragen welche Serien/Filme hab ich gerade.
Hi zusammen,
Ich wollte jetzt auch gerne mal Plex mit FHEM verbinden und hab den Server in FHEM definiert. Als Status wird ,,initialized" angezeigt, das wars.
User und Passwort hab ich hinterlegt, aber weder werden Clients angelegt, noch gibt es andere Befehle als ,,set autocreate".
Hat jemand eine Idee, wo das Problem liegen könnte? Benötigt man einen PlexPass dafür?
Keiner?
Hi,
versuche mal dich mit PIN anzumelden.
Hole dir eine Pin über get und gebe diese hier ein:
https://www.plex.tv/link/
Gruß,
Stefan
Das hatte ich gefühlt 100x ausprobiert und nichts ist passiert.
Danke.
Hmm, das ist seltsam. Bei mir ging es dann sofort.
Der Server ist von deinem Fhem Rechner auch erreichbar?
IO::Socket::Multicast hast du auch auf dem Fhem Rechner installiert?
Sorry, sonst habe ich keine weitere Idee.
Ich hatte es jetzt nochmal probiert und nun funktioniert es tatsächlich.
Einziges Problem ist derzeit, dass mir nicht alle Clients angezeigt werden. Aber ich hatte jetzt auch noch keine Zeit, mich darum zu kümmern.
Da wir aktuell ja Probleme mit der Logitech Harmony API haben und der Fortbestand dieser praktischen Methode der Fernbedienung des Entertainment Parks den man so im Wohnzimmer stehen hat ja fraglich ist - besteht eigentlich die Möglichkeit, über die Plex API Befehle wie Pause/Stop/Play an den Plex Client zu senden?
Für den Plex Server gibt es ja seit einiger Zeit schon eine Websocket API (die aber glaube ich im Modul noch nicht benutzt wird?). Lässt sich sowas darüber vielleicht realisieren um etwas unabhängiger von dem Logitech Harmony Drama zu werden?
im modul wird auch das websocket api verwendet. play/pause/stop/volume/... geht schon immer.
Sehe gerade, dass es tatsächlich in der Doku beschrieben ist. Meine Plex devices bieten mir aber nur ,,set autocreate" an und wenn ich manuell mal ein ,,set stop" versuche, meldet fhem, dass es das nicht gibt. Wo ist mein Fehler?
Unknown argument play, choose one of autocreate
Internals:
DEF 6D08C5F9-3FD1-48CF-AE60-7B9A6DCE11D2
NAME EG.wz.TV.Plex
NOTIFYDEV global
NR 327
NTFY_ORDER 50-EG.wz.TV.Plex
STATE initialized
TYPE plex
fhemHostname scaena
fhemIP 10.0.0.49
id f5a3f2c6a77841037cda273bda803ec0
machineIdentifier 6D08C5F9-3FD1-48CF-AE60-7B9A6DCE11D2
READINGS:
2018-12-19 20:29:05 cover http://10.0.0.8:32400/library/metadata/7878/thumb/1544149624
2018-12-19 20:51:16 currentTitle The Imitation Perturbation
2018-12-19 20:51:16 duration 00:19:17
2018-12-19 20:51:16 episode S12E06
2018-12-19 20:51:16 key /library/metadata/8069
2018-02-02 18:40:39 location fullScreenVideo
2018-12-19 20:32:12 playQueueID 1030
2018-12-19 20:51:16 playQueueItemID 23464
2018-12-13 17:06:22 presence present
2018-02-02 18:40:44 repeat 0
2018-12-19 20:29:05 section Serien (Englisch)
2018-12-19 20:29:05 series The Big Bang Theory
2018-12-19 20:51:16 server 06507f822d07d2244e6aed31e40c11
2018-09-02 19:05:29 shuffle 0
2018-12-20 08:16:13 state initialized
2018-12-09 20:50:30 type episode
clients:
myPlex-servers:
servers:
Attributes:
alias Plex Wohnzimmer
event-on-change-reading .*
group Medien
room Wohnzimmer
Ok, habe gesehen, wenn tatsächlich gerade was abgespielt wird, dann sind die set Befehle auch da. War jetzt dadurch verwirrt, dass die zur Verfügung stehenden Befehle je nach Aktivität abweichen. Deshalb hatte ich die wohl auch noch nie gesehen. :)
:)
Muss man eigentlich irgendwas unternehmen, damit die Clients korrekt angelegt werden?
Bei mir erscheint nur ein iOS Gerät, aber der Samsung Fernseher mit der Plex App nicht.
Ich hab nochmal ein wenig nachgeforscht. Wenn ich beim Abspielen einer Serie auf dem TV das Plex-Modul auf verbose 5 setze, erhalte ich jede Menge Meldungen im Logfile:
2018.12.23 23:15:30 5: PlexServer: websocket data: $VAR1 = {
'NotificationContainer' => {
'size' => 1,
'type' => 'playing',
'PlaySessionStateNotification' => [
{
'playQueueItemID' => 6061,
'key' => '/library/metadata/34627',
'url' => '',
'state' => 'stopped',
'ratingKey' => '34627',
'sessionKey' => '106',
'viewOffset' => 2443310,
'guid' => ''
}
]
}
};
2018.12.23 23:15:30 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"106","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":2443310,"playQueueItemID":6061,"state":"stopped"}]}}
2018.12.23 23:15:31 5: PlexServer: websocket data: $VAR1 = {
'NotificationContainer' => {
'size' => 1,
'PlaySessionStateNotification' => [
{
'viewOffset' => 2443310,
'sessionKey' => '107',
'guid' => '',
'key' => '/library/metadata/34627',
'playQueueItemID' => 6061,
'ratingKey' => '34627',
'state' => 'stopped',
'url' => ''
}
],
'type' => 'playing'
}
};
2018.12.23 23:15:31 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"107","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":2443310,"playQueueItemID":6061,"state":"stopped"}]}}
2018.12.23 23:15:32 5: PlexServer: websocket data: $VAR1 = {
'NotificationContainer' => {
'type' => 'playing',
'PlaySessionStateNotification' => [
{
'guid' => '',
'viewOffset' => 2443310,
'sessionKey' => '108',
'ratingKey' => '34627',
'state' => 'buffering',
'url' => '',
'key' => '/library/metadata/34627',
'playQueueItemID' => 6061
}
],
'size' => 1
}
};
2018.12.23 23:15:32 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":2443310,"playQueueItemID":6061,"state":"buffering"}]}}
2018.12.23 23:15:33 5: PlexServer: websocket data: $VAR1 = {
'NotificationContainer' => {
'type' => 'playing',
'PlaySessionStateNotification' => [
{
'state' => 'playing',
'url' => '',
'ratingKey' => '34627',
'playQueueItemID' => 6061,
'key' => '/library/metadata/34627',
'guid' => '',
'sessionKey' => '108',
'viewOffset' => 150
}
],
'size' => 1
}
};
2018.12.23 23:15:33 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":150,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:15:34 5: PlexServer: websocket data: $VAR1 = {
'NotificationContainer' => {
'size' => 1,
'type' => 'playing',
'PlaySessionStateNotification' => [
{
'viewOffset' => 1150,
'sessionKey' => '108',
'guid' => '',
'key' => '/library/metadata/34627',
'playQueueItemID' => 6061,
'ratingKey' => '34627',
'state' => 'playing',
'url' => ''
}
]
}
};
2018.12.23 23:15:34 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":1150,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:15:35 5: PlexServer: websocket data: $VAR1 = {
'NotificationContainer' => {
'PlaySessionStateNotification' => [
{
'url' => '',
'state' => 'playing',
'ratingKey' => '34627',
'playQueueItemID' => 6061,
'key' => '/library/metadata/34627',
'guid' => '',
'sessionKey' => '108',
'viewOffset' => 2150
}
],
'type' => 'playing',
'size' => 1
}
};
2018.12.23 23:15:35 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":2150,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:15:36 5: PlexServer: websocket data: $VAR1 = {
'NotificationContainer' => {
'size' => 1,
'PlaySessionStateNotification' => [
{
'guid' => '',
'sessionKey' => '108',
'viewOffset' => 3150,
'state' => 'playing',
'url' => '',
'ratingKey' => '34627',
'playQueueItemID' => 6061,
'key' => '/library/metadata/34627'
}
],
'type' => 'playing'
}
};
Das geht im Sekundentakt so. Bei verbose 4 wird es etwas übersichtlicher:
2018.12.23 23:16:32 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":59230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:33 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":60230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:34 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":61230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:36 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":62230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:36 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":63230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:37 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":64230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:38 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":65230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:39 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":66230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:41 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":67230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:42 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":68230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:43 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":69230,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:44 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":70750,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:45 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":71750,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:46 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":72750,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:47 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":73750,"playQueueItemID":6061,"state":"playing"}]}}
2018.12.23 23:16:48 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"108","guid":"","ratingKey":"34627","url":"","key":"/library/metadata/34627","viewOffset":74750,"playQueueItemID":6061,"state":"playing"}]}}
Der Player ist besagter Samsung-TV mit der Plex-App, der hier in FHEM einfach nicht angelegt werden will.
Kann jemand etwas damit anfangen?
ich schaue nach weihnachten mal drauf.
Danke dir. Frohes Fest allen da draußen
Ich habe nochmal ein wenig herum probiert.
Wenn ich Plex im Webbrowser aufrufe, bekomme ich die gleiche Meldung wie am Samsung-TV. Scheint also nur bedingt etwas mit der Samsung-TV-App zutun zu haben.
da hat sich scheinbar am nachrichtenformat etwas geändert. ich muss mal schauen wie ich das rückwärts kompatibel einbauen kann.
die clients sollten automatisch angelegt werden. tauchen sie bei einem get clients auf? siehst du im log einträge zu neuen clients?
Zitat von: justme1968 am 28 Dezember 2018, 15:16:03tauchen sie bei einem get clients auf? siehst du im log einträge zu neuen clients?
Mit
get PlexServer clients bekomme ich eine Liste mit allen Clients. Die scheint auch ziemlich aktuell zu sein. Datum und Uhrzeit stimmt jeweils, auch die
provides passen zu den Client-Typen. Der Fernseher taucht auch im Abschnitt
clients from discovery auf (nur hier im Beispiel war er gerade nicht online).
clients from discovery:
ip updatedAt onl. name machineIdentifier
127.0.0.1 2018-12-28 19:30:35 yes Safari sjbkif2t0kkyl9flmc20ztyw
192.168.243.180 2018-12-28 19:30:35 no Sebastians iPhone 24B23E3A-D101-4F79-99C3-1E446BB10645
clients from myPlex:
ip lastSeenAt name product clientIdentifier provides
2018-12-28 19:27:39 Safari Plex Web sjbkif2t0kkyl9flmc20ztyw client,player,pubsub-player
2018-12-28 19:15:42 TV UE55F6500 Plex for Samsung klchu5arrhf2g client,player
2018-12-28 17:43:53 Sebastians iPhone Plex for iOS 24B23E3A-D101-4F79-99C3-1E446BB10645 client,controller,sync-target,player,pubsub-player
2018-12-28 12:04:41 srv-fhem1 FHEM e280c9b63e4f6f7c7c6b17a9ebf1d5d1 controller
2018-12-28 11:47:58 Safari Plex Web 5pavozd15kfsnux7ghd3autu client,player,pubsub-player
2018-12-28 08:41:52 srv-xpe1 Plex Media Server 5b9e6a66e1166311cc469c950ec305691e24dd6d server
Angelegt wird nur der Client "Plex for iOS". Allerdings zeigt der keinerlei Daten an. Ich weiß nicht mehr genau, wie der Status in dem Moment war, wo er angelegt wurde, allerdings steht dieser Client immer auf "absent". Auch "location" und "volume" stimmen nicht.
...........
Dann Verbose auf 4 gestellt, FHEM neu gestartet und siehe da - der iOS-Client funktioniert plötzlich richtig. Volume, Play-Status, Medien - alles passt. Der am Samsung-TV wird aber dennoch nicht angelegt.
Das gefilterte Logfile sieht so aus:
2018.12.28 19:13:05 0: Server shutdown
...
2018.12.28 19:13:12 3: PlexServer: restoring token from reading
2018.12.28 19:13:12 4: PlexServer: requesting https://plex.tv/pms/servers.xml
2018.12.28 19:13:12 4: PlexServer: requesting https://plex.tv/devices.xml
2018.12.28 19:13:12 3: PlexServer: timeline listener started
2018.12.28 19:13:12 4: PlexServer: requesting http://192.168.243.10:32400/servers
2018.12.28 19:13:12 0: Featurelevel: 5.9
2018.12.28 19:13:17 3: PlexServer: server discovered: 192.168.243.10
2018.12.28 19:13:17 4: PlexServer: requesting http://192.168.243.10:32400/clients
2018.12.28 19:13:17 3: PlexServer: notification websocket opened to 192.168.243.10
2018.12.28 19:13:17 3: PlexServer: notification websocket: Switching Protocols ok
2018.12.28 19:13:17 3: PlexServer: client discovered: 192.168.243.180
2018.12.28 19:13:17 4: PlexServer: requesting http://192.168.243.180:32500/resources
2018.12.28 19:13:18 4: PlexServer:timelineListener: adding timeline subscription for 192.168.243.180
2018.12.28 19:13:18 4: PlexServer: requesting http://192.168.243.180:32500/player/timeline/subscribe?protocol=http&port=39755&commandID=1
2018.12.28 19:13:18 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"26.600000381469727","speed":"0","duration":2475720,"remaining":24045,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"650.32000000000005","minOffsetAvailable":"1"}]}}
2018.12.28 19:13:19 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":431802,"playQueueItemID":6090,"state":"playing","transcodeSession":"B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB"}]}}
2018.12.28 19:13:23 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"26.600000381469727","speed":"0","duration":2475720,"remaining":13773,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"650.32000000000005","minOffsetAvailable":"1"}]}}
2018.12.28 19:13:24 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":436835,"playQueueItemID":6090,"state":"playing","transcodeSession":"B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB"}]}}
2018.12.28 19:13:28 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"26.700000762939453","speed":"0","duration":2475720,"remaining":10708,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"660.03999999999996","minOffsetAvailable":"1"}]}}
2018.12.28 19:13:29 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":441836,"playQueueItemID":6090,"state":"playing","transcodeSession":"B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB"}]}}
2018.12.28 19:13:33 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"26.700000762939453","speed":"0","duration":2475720,"remaining":7342,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"660.03999999999996","minOffsetAvailable":"1"}]}}
2018.12.28 19:13:34 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":446867,"playQueueItemID":6090,"state":"playing","transcodeSession":"B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB"}]}}
2018.12.28 19:13:38 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"26.700000762939453","speed":"0","duration":2475720,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"660.03999999999996","minOffsetAvailable":"1"}]}}
2018.12.28 19:13:39 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":451868,"playQueueItemID":6090,"state":"playing","transcodeSession":"B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB"}]}}
2018.12.28 19:13:42 4: PlexServer:timelineListener: refreshing timeline subscriptions
2018.12.28 19:13:42 4: PlexServer: requesting http://192.168.243.180:32500/player/timeline/subscribe?protocol=http&port=39755&commandID=2
2018.12.28 19:13:43 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"26.799999237060547","speed":"0","duration":2475720,"remaining":13723,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"660.03999999999996","minOffsetAvailable":"1"}]}}
2018.12.28 19:13:44 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":456901,"playQueueItemID":6090,"state":"playing","transcodeSession":"B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB"}]}}
2018.12.28 19:13:48 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"27.600000381469727","speed":"0","duration":2475720,"remaining":23781,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"681.79999999999995","minOffsetAvailable":"1"}]}}
2018.12.28 19:13:49 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":461902,"playQueueItemID":6090,"state":"playing","transcodeSession":"B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB"}]}}
2018.12.28 19:13:54 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"27.600000381469727","speed":"0","duration":2475720,"remaining":7063,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"681.79999999999995","minOffsetAvailable":"1"}]}}
2018.12.28 19:13:54 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":466935,"playQueueItemID":6090,"state":"playing","transcodeSession":"B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB"}]}}
2018.12.28 19:13:55 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":467100,"playQueueItemID":6090,"state":"paused","transcodeSession":"B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB"}]}}
2018.12.28 19:13:55 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":467162,"playQueueItemID":6090,"state":"paused","transcodeSession":"B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB"}]}}
2018.12.28 19:13:59 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"27.700000762939453","speed":"0","duration":2475720,"remaining":28138,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"681.79999999999995","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:04 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"27.700000762939453","speed":"0","duration":2475720,"remaining":7927,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"681.79999999999995","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:09 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"27.799999237060547","speed":"0","duration":2475720,"remaining":7240,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467","maxOffsetAvailable":"681.79999999999995","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:12 4: PlexServer:timelineListener: refreshing timeline subscriptions
2018.12.28 19:14:12 4: PlexServer: requesting http://192.168.243.180:32500/player/timeline/subscribe?protocol=http&port=39755&commandID=3
2018.12.28 19:14:13 4: PlexServer: requesting http://192.168.243.10:32400/library/metadata/29550
2018.12.28 19:14:13 4: PlexServer: unhandled websocket text type: transcodeSession.end: {"NotificationContainer":{"type":"transcodeSession.end","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B8A9C70B-CA91-4EA3-A82C-CA4A9E2A63AB","throttled":true,"complete":false,"progress":"27.799999237060547","speed":"0","duration":2475720,"remaining":7241,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":false,"timeStamp":"1546020351.6497467"}]}}
2018.12.28 19:14:13 4: PlexServer: unhandled websocket text type: transcodeSession.start: {"NotificationContainer":{"type":"transcodeSession.start","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":false,"complete":false,"progress":"0","speed":"0","duration":3294291,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true}]}}
2018.12.28 19:14:13 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":467162,"playQueueItemID":6105,"state":"paused","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:14 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"152","guid":"","ratingKey":"34944","url":"","key":"/library/metadata/34944","viewOffset":467162,"playQueueItemID":6090,"state":"stopped","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:14 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":467162,"playQueueItemID":6105,"state":"buffering","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:14 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":467162,"playQueueItemID":6105,"state":"buffering","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:14 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":0,"playQueueItemID":6105,"state":"playing","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:20 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":false,"complete":false,"progress":"7","speed":"51.400001525878906","duration":3294291,"remaining":58,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"222.59700000000001","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:20 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":4967,"playQueueItemID":6105,"state":"playing","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:23 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":false,"complete":false,"progress":"13.199999809265137","speed":"28.600000381469727","duration":3294291,"remaining":96,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"430.51299999999998","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:24 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":9969,"playQueueItemID":6105,"state":"playing","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:24 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":10335,"playQueueItemID":6105,"state":"paused","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:24 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":10382,"playQueueItemID":6105,"state":"paused","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:28 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"14.800000190734863","speed":"0","duration":3294291,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"480.10399999999998","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:33 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"14.800000190734863","speed":"0","duration":3294291,"remaining":13938,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"480.10399999999998","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:38 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"14.800000190734863","speed":"0","duration":3294291,"remaining":11177,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"480.10399999999998","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:42 4: PlexServer:timelineListener: refreshing timeline subscriptions
2018.12.28 19:14:42 4: PlexServer: requesting http://192.168.243.180:32500/player/timeline/subscribe?protocol=http&port=39755&commandID=4
2018.12.28 19:14:43 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"14.899999618530273","speed":"0","duration":3294291,"remaining":11411,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"480.10399999999998","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:44 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":10382,"playQueueItemID":6105,"state":"paused","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:46 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":10382,"playQueueItemID":6105,"state":"buffering","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:46 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":10382,"playQueueItemID":6105,"state":"playing","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:48 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":12836,"playQueueItemID":6105,"state":"paused","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:48 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":12912,"playQueueItemID":6105,"state":"paused","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:14:48 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"14.899999618530273","speed":"0","duration":3294291,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"480.10399999999998","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:53 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"14.899999618530273","speed":"0","duration":3294291,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"480.10399999999998","minOffsetAvailable":"1"}]}}
2018.12.28 19:14:58 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"14.899999618530273","speed":"0","duration":3294291,"remaining":13924,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"492.49099999999999","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:03 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15","speed":"0","duration":3294291,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"492.49099999999999","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:08 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":12912,"playQueueItemID":6105,"state":"paused","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:15:08 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15","speed":"0","duration":3294291,"remaining":10143,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"492.49099999999999","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:12 4: PlexServer: unhandled websocket text type: backgroundProcessingQueue: {"NotificationContainer":{"type":"backgroundProcessingQueue","size":1,"BackgroundProcessingQueueEventNotification":[{"queueID":570,"event":"queueRegenerated"}]}}
2018.12.28 19:15:12 4: PlexServer:timelineListener: refreshing timeline subscriptions
2018.12.28 19:15:12 4: PlexServer: requesting http://192.168.243.180:32500/player/timeline/subscribe?protocol=http&port=39755&commandID=5
2018.12.28 19:15:14 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15","speed":"0","duration":3294291,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"492.49099999999999","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:19 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15.100000381469727","speed":"0","duration":3294291,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"492.49099999999999","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:19 4: PlexServer:timelineListener:52749: disconnected
2018.12.28 19:15:24 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15.100000381469727","speed":"0","duration":3294291,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"492.49099999999999","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:28 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":12912,"playQueueItemID":6105,"state":"paused","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:15:29 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15.100000381469727","speed":"0","duration":3294291,"remaining":13929,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"492.49099999999999","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:34 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15.100000381469727","speed":"0","duration":3294291,"remaining":13649,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"492.49099999999999","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:39 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15.199999809265137","speed":"0","duration":3294291,"remaining":35289,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"492.49099999999999","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:42 4: PlexServer:timelineListener: refreshing timeline subscriptions
2018.12.28 19:15:42 4: PlexServer: requesting http://192.168.243.180:32500/player/timeline/subscribe?protocol=http&port=39755&commandID=6
2018.12.28 19:15:44 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15.199999809265137","speed":"0","duration":3294291,"remaining":19452,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"500.37400000000002","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:48 4: PlexServer: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"153","guid":"","ratingKey":"29550","url":"","key":"/library/metadata/29550","viewOffset":12912,"playQueueItemID":6105,"state":"paused","transcodeSession":"B49CD3ED-8095-4CAA-A261-2E122A7323E2"}]}}
2018.12.28 19:15:49 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15.199999809265137","speed":"0","duration":3294291,"remaining":10112,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"500.37400000000002","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:54 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15.300000190734863","speed":"0","duration":3294291,"remaining":13630,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"500.37400000000002","minOffsetAvailable":"1"}]}}
2018.12.28 19:15:59 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15.300000190734863","speed":"0","duration":3294291,"remaining":19418,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"500.37400000000002","minOffsetAvailable":"1"}]}}
2018.12.28 19:16:04 4: PlexServer: unhandled websocket text type: transcodeSession.update: {"NotificationContainer":{"type":"transcodeSession.update","size":1,"TranscodeSession":[{"key":"/transcode/sessions/B49CD3ED-8095-4CAA-A261-2E122A7323E2","throttled":true,"complete":false,"progress":"15.300000190734863","speed":"0","duration":3294291,"remaining":10400,"context":"streaming","sourceVideoCodec":"h264","sourceAudioCodec":"ac3","videoDecision":"copy","audioDecision":"transcode","protocol":"hls","container":"mpegts","videoCodec":"h264","audioCodec":"aac","audioChannels":2,"transcodeHwRequested":false,"transcodeHwFullPipeline":true,"timeStamp":"1546020842.7512314","maxOffsetAvailable":"500.37400000000002","minOffsetAvailable":"1"}]}}
Mir ist dann noch aufgefallen, dass die Werte vom iPhone nur solange aktualisiert werden, bis es einmal
absent war. Danach hilft nur darauf etwas abzuspielen und FHEM neuzustarten, da die Werte sonst eingefroren sind.
Hallo,
wollte nochmal auf die frage zurückkommen ob es die Chance gibt die Abfragen die per LS wiedergeben werden automatisch in eine art reading zu überführen. So ließe sich z.b. per Telegram abfragen welche filme und welche serien zur Verfügung stehen.
Hi,
ich würde gerne auf meinem Tablet mit Tablet UI das Cover des aktuellen songs den ich abspiele anzeige.
Ich spiele über Alexa mit hilfe des Plex Skills ab.
Auf der plex Weboberfläche kann man diese Info z.B. sehen.
Ich dachte jetzt dass ich mit onDeck an die Daten kommen.
Leider bekomme ich nur ein Unkonwn Media Type. Ich spiele meine Playlist ab.
Hier das Log mit Verbose 5:
2019.01.22 21:07:40 5: Plex: websocket data: $VAR1 = {
'NotificationContainer' => {
'PlaySessionStateNotification' => [
{
'guid' => '',
'key' => '/library/metadata/86008',
'playQueueItemID' => 3633,
'ratingKey' => '86008',
'sessionKey' => '124',
'state' => 'paused',
'url' => '',
'viewOffset' => 3000
}
],
'size' => 1,
'type' => 'playing'
}
};
2019.01.22 21:07:40 4: Plex: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"124","guid":"","ratingKey":"86008","url":"","key":"/library/metadata/86008","viewOffset":3000,"playQueueItemID":3633,"state":"paused"}]}}
2019.01.22 21:07:42 5: Plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2019.01.22 21:07:42 5: Plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2019.01.22 21:07:42 5: Plex: from: 192.168.69.111
2019.01.22 21:07:42 5: Plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: 3fdfbc460ba54cd98eb8cd7dc3f913ee.plex.direct
Name: WDMyCloud
Port: 32400
Resource-Identifier: 25f25a72c0341e5eb7c1b9e43b5da1edef891fbd
Updated-At: 1548026221
Version: 1.14.1.5488-cc260c476
2019.01.22 21:07:42 5: Plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2019.01.22 21:07:42 5: Plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2019.01.22 21:07:42 5: Plex: from: 192.168.69.111
2019.01.22 21:07:42 5: Plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: 3fdfbc460ba54cd98eb8cd7dc3f913ee.plex.direct
Name: WDMyCloud
Port: 32400
Resource-Identifier: 25f25a72c0341e5eb7c1b9e43b5da1edef891fbd
Updated-At: 1548026221
Version: 1.14.1.5488-cc260c476
2019.01.22 21:07:45 4: Plex: requesting http://192.168.69.111:32400/library/onDeck
2019.01.22 21:07:45 5: Plex: received <?xml version="1.0" encoding="UTF-8"?>
<MediaContainer size="0" allowSync="0" identifier="com.plexapp.plugins.library" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1544816455" mixedParents="1">
</MediaContainer>
2019.01.22 21:07:49 5: Plex: websocket data: $VAR1 = {
'NotificationContainer' => {
'PlaySessionStateNotification' => [
{
'guid' => '',
'key' => '/library/metadata/86036',
'playQueueItemID' => 4121,
'ratingKey' => '86036',
'sessionKey' => '131',
'state' => 'playing',
'url' => '',
'viewOffset' => 50000
}
],
'size' => 1,
'type' => 'playing'
}
};
2019.01.22 21:07:49 4: Plex: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"131","guid":"","ratingKey":"86036","url":"","key":"/library/metadata/86036","viewOffset":50000,"playQueueItemID":4121,"state":"playing"}]}}
2019.01.22 21:07:50 5: Plex: websocket data: $VAR1 = {
'NotificationContainer' => {
'PlaySessionStateNotification' => [
{
'guid' => '',
'key' => '/library/metadata/86008',
'playQueueItemID' => 3633,
'ratingKey' => '86008',
'sessionKey' => '124',
'state' => 'paused',
'url' => '',
'viewOffset' => 3000
}
],
'size' => 1,
'type' => 'playing'
}
};
2019.01.22 21:07:50 4: Plex: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"124","guid":"","ratingKey":"86008","url":"","key":"/library/metadata/86008","viewOffset":3000,"playQueueItemID":3633,"state":"paused"}]}}
2019.01.22 21:07:52 5: Plex:serverDiscoveryMcast: sending multicast discovery message to 32414
2019.01.22 21:07:52 5: Plex: from: 192.168.69.111
2019.01.22 21:07:52 5: Plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: 3fdfbc460ba54cd98eb8cd7dc3f913ee.plex.direct
Name: WDMyCloud
Port: 32400
Resource-Identifier: 25f25a72c0341e5eb7c1b9e43b5da1edef891fbd
Updated-At: 1548026221
Version: 1.14.1.5488-cc260c476
2019.01.22 21:07:52 5: Plex:clientDiscoveryMcast: sending multicast discovery message to 32412
2019.01.22 21:07:52 5: Plex:serverDiscoveryBcast: sending broadcast discovery message to 32414
2019.01.22 21:07:52 5: Plex:clientDiscoveryBcast: sending broadcast discovery message to 32412
2019.01.22 21:07:54 5: Plex: from: 192.168.69.111
2019.01.22 21:07:54 5: Plex: HTTP/1.0 200 OK
Content-Type: plex/media-server
Host: 3fdfbc460ba54cd98eb8cd7dc3f913ee.plex.direct
Name: WDMyCloud
Port: 32400
Resource-Identifier: 25f25a72c0341e5eb7c1b9e43b5da1edef891fbd
Updated-At: 1548026221
Version: 1.14.1.5488-cc260c476
2019.01.22 21:07:59 5: Plex: websocket data: $VAR1 = {
'NotificationContainer' => {
'PlaySessionStateNotification' => [
{
'guid' => '',
'key' => '/library/metadata/86036',
'playQueueItemID' => 4121,
'ratingKey' => '86036',
'sessionKey' => '131',
'state' => 'playing',
'url' => '',
'viewOffset' => 60000
}
],
'size' => 1,
'type' => 'playing'
}
};
2019.01.22 21:07:59 4: Plex: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"131","guid":"","ratingKey":"86036","url":"","key":"/library/metadata/86036","viewOffset":60000,"playQueueItemID":4121,"state":"playing"}]}}
Hat jemand eine Idee?
P.S.: Habe gesehen dass es einen cover reading gibt. Wenn ich das versuche aufzurufen bekomme ich aber leider nur 401 Unauthorized?
Danke und Gruß,
Stefan
hi Andre,
ich hätte noch ein Featurerequest:
Aktuell ist es ja so, dass du alle Clients, die sich mit dem Plex-Server verbinden anlegt. der Alias ist dann der Typ des Gerätes (als Beispiel: Plex for IOS).
Könntest du den Alias evtl mit dem Namen des Gerätes befüllen (bei get Clients wird der Name angezeigt) - Das ganze von mir aus per Attribut steuerbar. Dann wird am default nichts geändert.
Gruß Michael
Hat sich Erledigt, mein Plexserver war abgestürzt.
Hi Andre,
ich habe gerade bemerkt das "get Plex m3u" nicht mehr funktioniert.
Ich bekomme "Unknown argument m3u, choose one of clients:noArg servers:noArg pin:noArg"
Ich rufe z.B. so etwas auf: "get Plex m3u /playlists/85639/items"
Ich benutze das m3u für eine Playlist Ausgabe die ich an Alexa übergebe. Ist also für mich relativ wichtig.
Hast du etwas verändert oder ist bei mir der Wurm drin?
P.S.: Ich hab gerade gesehen dass meine Plex Modul vom 23.07.2017 ist. Also hast du wohl nichts geändert.
Seltsam der Befehl ging immer und auf einmal nicht mehr...
Gruß und Danke,
Stefan
@l2r: habe geändert. du kannst auch einfach ein mal den alias von hand setzen. der wird nicht geändert.
Zitat von: justme1968 am 17 Februar 2019, 18:09:55
@l2r: habe geändert. du kannst auch einfach ein mal den alias von hand setzen. der wird nicht geändert.
ja so habe ich das bisher immer gemacht. War nur bisher das Problem, wenn man mal ne Woche nicht drauf geschaut hat und es dann eine Hand voll neue Clients gab, die dann alle gleich hießen... Dann war die Zuordnung etwas schwierig ;-)
Danke
Gruß Michael
Hallo zusammen,
ich habe Plex in einem Docker installiert und kann das Master-Device anlegen. Ich sehe nach einem ,,get server" auch die nötigen Einträge.
Jedoch werden Clients nicht automatisch gefunden, weil Broadcasting nur im eigenen Netz möglich ist. Ein manuelles Anlegen brachte nix (State initialized). Per geht Clients sehe ich jedoch im myPlex Bereich die Clients.
Hat jemand eine Idee, wie ich diese in mein FHEM bekomme?
Vielen Dank.
Zitat von: LordVoodoo am 29 August 2019, 23:43:02
Hallo zusammen,
ich habe Plex in einem Docker installiert und kann das Master-Device anlegen. Ich sehe nach einem ,,get server" auch die nötigen Einträge.
Jedoch werden Clients nicht automatisch gefunden, weil Broadcasting nur im eigenen Netz möglich ist. Ein manuelles Anlegen brachte nix (State initialized). Per geht Clients sehe ich jedoch im myPlex Bereich die Clients.
Hat jemand eine Idee, wie ich diese in mein FHEM bekomme?
Vielen Dank.
Hallo
Und hast du eine Lösung gefunden mit einen FHEM Docker Image Pelx einzubinden?
Gruß
Alex
Hallo zusammen,
ich hole den Thread nochmal zurück. Zuerst: Vielen Dank für das super Modul! :) Das war sicher eine Menge Arbeit und ich bin froh, dass das was funktioniert so gut funktioniert.
Ich habe aktuell das Problem, dass einige meiner Plex-Clients nicht via Autocreate angelegt werden.
Ist die Aussage "also: es gibt zwei dinge die auf jeden fall funktionieren müssen dammit das modul wie vorgesehen funktioniert:- die player müssen automatisch erkannt werden." noch aktuell?
Ich nutze Plex(Server) auf meinem NAS mit OMV und nutze als Client ua den FireTV Stick, Firefox auf dem Rechner oder BubbleUPNP auf dem Handy.
Firefox wurde sofort und ohne Probleme erkannt. Auch der Statuswechsel (stop, playing....) läuft super und schnell.
Der FireTV Client wird jedoch nicht angelegt. Ich habe mir die "RAW DEFINITION" des automatisch angelegten Clients einmal angesehen:
-----
defmod sscyyrht9dzscnwubfefqv1k plex sscyyrht9dzscnwubfefqv1k
attr sscyyrht9dzscnwubfefqv1k alias Firefox
attr sscyyrht9dzscnwubfefqv1k room plex
-----
Das wollte ich mit den nicht automatisch angelegten Clients "nachbauen"
und habe folgende Fehlermeldung bekommen: Invalid characters in name (not A-Za-z0-9._): 56116a9a3f2db125-com-plexapp-android
Kann es sein, dass die Clients nicht automatisch angelegt werden können, weil die automatische Benennung unerlaubte Zeichen besitzt?
Alternativ könnte man den Namen ja hochzählen (PlexClient1, PlexClient2.....).
Ich habe den FireTV Stick nun einbinden können, jedoch mit den bekannten Einschränkungen.
Es würde mich sehr freuen, wenn auch der FireTV Stick so gut eingebunden werden könnte.
Eine weitere Frage habe ich noch.... ist es möglich ein zufälliges Album von einem definierten Interpreten abzuspielen? Also das Album in der richtigen Reihenfolge, aber die Auswahl des Albums zufällig?
Alexa-Beispiel: Spiele ein zufälliges Album von ..... .
Ich hoffe, dass der Thread noch aktiv ist.
Liebe Grüße
Dexter
Hätte auch ein Problem.
get onDeck
liefert Unknown media type.
Verbose 4 liefert:
2020.02.14 21:10:30 4: Plex: unhandled websocket text type: playing: {"NotificationContainer":{"type":"playing","size":1,"PlaySessionStateNotification":[{"sessionKey":"30","guid":"","ratingKey":"86662","url":"","key":"/library/metadata/86662","viewOffset":99000,"playQueueItemID":5532,"state":"playing"}]}}
2020.02.14 21:10:30 4: Plex:timelineListener:48565: disconnected
2020.02.14 21:10:31 4: Plex:timelineListener:48567: disconnected
2020.02.14 21:10:32 4: Plex:timelineListener:48569: disconnected
2020.02.14 21:10:33 4: Plex: requesting http://192.168.69.111:32400/library/onDeck
2020.02.14 21:10:33 4: Plex:timelineListener:48570: disconnected
2020.02.14 21:10:34 4: Plex:timelineListener:48571: disconnected
2020.02.14 21:10:35 4: Plex:timelineListener:48572: disconnected
2020.02.14 21:10:36 4: Plex:timelineListener:48573: disconnected
Kann es sein dass die Schnittstelle nicht mehr so ganz passt?
Gruß,
Stefan
Hallo hoffe es gibt hier noch Hilfe,
Bei mir läuft Plex auf meiner WD Home Cloud wie kann ich die jetzt mit Fhem verbinden?
Habe define Plex plex 192.168.2.217
Und über attr User und Password definiert trotzdem keine Verbindung.
Ich habe das Problem, das die Verbindung wohl steht, aber es werden keine Readings angezeigt wie der Titel oder Interpret, Wie bekomme ich das nun hin?
Also was geht:
Das Master-Modul läuft und die Clients werden angezeigt.
Was nicht geht:
Ich bekomme keine Readings des Titels und des Interpreten. Genau auf diese Readings hatte ich spekuliert, als ich Plex installiert habe.
Gibt es eoine andere Möglichkeit, an Titel und Interpret zu kommen?
Wenn man get <client> sessions
eingibt, kommt eine Auflistung verschiedener Angabe, darunter auch der Titel und Interpret. Kann man vielleicht darüber die Readings erzeugen?