NEWS
Test Adapter Plex v1.1.x
Test Adapter Plex v1.1.x
-
@sigi234
Muß mich entschuldigen, die Version von heute vormittag war bei weitem schlechter als gedacht.- Hab jetzt die Bugfixes aus 1.0.5 übernommen,
- Controls ans laufen gebracht,
- das Aktualisieren der Zeiten funktioniert (an mehreren Stellen im Datenbaum, mal sehen was sinn macht).
- Aktualisieren der Zeiten vom Server ist noch nicht eingebaut oder zumindest nicht fertig
Per Default ist das ausgeschaltet wird über _Controls.timeline.refreshDetails aktiviert
refresh ist auf 999ms eingestellt, mein Entwicklungsserver hält sich da auch dran, auf meinem richtigen iobroker werden das auch mal 1.8 Sekunden.Object of state "plex.0._playing.ipad-xxxxx.Metadata.Media" is missing the required property "common.type"Das hab ich noch nicht behoben, finde die Meldung nicht zwischen dem ganzen Debugkram. Der sollte weder erstellt noch beschrieben werden.
Hab ihn seit ca. 2 h auf meinem ioBroker am laufen ohne Auffälligkeiten. Ist zwar noch nicht fertig und bestimmt nicht fehlerfrei, aber man sieht wohin es geht.
Angezeigte Version ist v.1.0.5
Installation als benutzerdefinierter Githublink
https://github.com/iobroker-community-adapters/ioBroker.plex/tree/player_requestsAuf meinem n100 verbraucht der Adapter 1%-3% bei sekündlicher Aktualisierung. Bei stopped wird diese angehalten
EDIT: Und bei Photo beendet sich sich immer gewollt automatische, da sich der iPad PlexPlayer dabei nicht an seine eigene Api hält.
EDIT2: Ich habe auf keinem meiner Rechner das von dir beobachtete voll spamen des Logs mit Warnungen beobachtet. Nur die ein die ich gepostet habe steht im Log.
EDIT3: Nachdem ich Adapter deaktiviert, plex Datenpunkte alle gelöscht, 3 Sekunden über "all deleted" gewartet und dann wieder aktiviert habe, kommt auch nicht mehr die oben genannte Warnmeldung.
-
@sigi234
Muß mich entschuldigen, die Version von heute vormittag war bei weitem schlechter als gedacht.- Hab jetzt die Bugfixes aus 1.0.5 übernommen,
- Controls ans laufen gebracht,
- das Aktualisieren der Zeiten funktioniert (an mehreren Stellen im Datenbaum, mal sehen was sinn macht).
- Aktualisieren der Zeiten vom Server ist noch nicht eingebaut oder zumindest nicht fertig
Per Default ist das ausgeschaltet wird über _Controls.timeline.refreshDetails aktiviert
refresh ist auf 999ms eingestellt, mein Entwicklungsserver hält sich da auch dran, auf meinem richtigen iobroker werden das auch mal 1.8 Sekunden.Object of state "plex.0._playing.ipad-xxxxx.Metadata.Media" is missing the required property "common.type"Das hab ich noch nicht behoben, finde die Meldung nicht zwischen dem ganzen Debugkram. Der sollte weder erstellt noch beschrieben werden.
Hab ihn seit ca. 2 h auf meinem ioBroker am laufen ohne Auffälligkeiten. Ist zwar noch nicht fertig und bestimmt nicht fehlerfrei, aber man sieht wohin es geht.
Angezeigte Version ist v.1.0.5
Installation als benutzerdefinierter Githublink
https://github.com/iobroker-community-adapters/ioBroker.plex/tree/player_requestsAuf meinem n100 verbraucht der Adapter 1%-3% bei sekündlicher Aktualisierung. Bei stopped wird diese angehalten
EDIT: Und bei Photo beendet sich sich immer gewollt automatische, da sich der iPad PlexPlayer dabei nicht an seine eigene Api hält.
EDIT2: Ich habe auf keinem meiner Rechner das von dir beobachtete voll spamen des Logs mit Warnungen beobachtet. Nur die ein die ich gepostet habe steht im Log.
EDIT3: Nachdem ich Adapter deaktiviert, plex Datenpunkte alle gelöscht, 3 Sekunden über "all deleted" gewartet und dann wieder aktiviert habe, kommt auch nicht mehr die oben genannte Warnmeldung.
@ticaki sagte in Test Adapter Plex v1.0.x:
Muß mich entschuldigen, die Version von heute vormittag war bei weitem schlechter als gedacht.
Brauchst dich nicht zu entschuldigen, ist ja noch Beta. Zum testen sind wir ja da.
Ich überlege eine 2.Instanz anzulegen für diesen Test. Möglich? -
@ticaki sagte in Test Adapter Plex v1.0.x:
Muß mich entschuldigen, die Version von heute vormittag war bei weitem schlechter als gedacht.
Brauchst dich nicht zu entschuldigen, ist ja noch Beta. Zum testen sind wir ja da.
Ich überlege eine 2.Instanz anzulegen für diesen Test. Möglich?@sigi234 sagte in Test Adapter Plex v1.0.x:
Ich überlege eine 2.Instanz anzulegen für diesen Test. Möglich?
Mehrere Instanzen ist zwar kein Problem allerdings lässt sich der Adapter selbst nur einmal in der von Dir ausgewählten Version installieren - die Instanzen bauen auf der installierten Adapterversion.
-
@ticaki sagte in Test Adapter Plex v1.0.x:
Muß mich entschuldigen, die Version von heute vormittag war bei weitem schlechter als gedacht.
Brauchst dich nicht zu entschuldigen, ist ja noch Beta. Zum testen sind wir ja da.
Ich überlege eine 2.Instanz anzulegen für diesen Test. Möglich?@sigi234 sagte in Test Adapter Plex v1.0.x:
@ticaki sagte in Test Adapter Plex v1.0.x:
Muß mich entschuldigen, die Version von heute vormittag war bei weitem schlechter als gedacht.
Brauchst dich nicht zu entschuldigen, ist ja noch Beta. Zum testen sind wir ja da.
Ich überlege eine 2.Instanz anzulegen für diesen Test. Möglich?Da werden einige gemeinsame Variablen verwendet, glaube nicht dass das sauber läuft. Das wollte ich noch ändern. 2. Versionen gehen aber soweit ich weiß nicht.
-
https://github.com/iobroker-community-adapters/ioBroker.plex/tree/player_requests
bin wieder etwas weiter, geht wieder etwas mehr. Sieht auch aus, als wenns ordentlich ohne kontrollierbaren Player läuft.
Falls es jemand testet nur zur Info - wenn falsche Datendefinition von plex oder tautulli kommen wird der erzeuge Fehler bis nach oben durchgereicht und hält den Adapter wohl an. Jedoch erhaltet ihr und damit ich eine Fehlermeldung die aussagekräftiger ist als " Hier und in den folgenden 800 Zeilen code wurde ein Fehler ausgelöst"

-
https://github.com/iobroker-community-adapters/ioBroker.plex/tree/player_requests
bin wieder etwas weiter, geht wieder etwas mehr. Sieht auch aus, als wenns ordentlich ohne kontrollierbaren Player läuft.
Falls es jemand testet nur zur Info - wenn falsche Datendefinition von plex oder tautulli kommen wird der erzeuge Fehler bis nach oben durchgereicht und hält den Adapter wohl an. Jedoch erhaltet ihr und damit ich eine Fehlermeldung die aussagekräftiger ist als " Hier und in den folgenden 800 Zeilen code wurde ein Fehler ausgelöst"

@ticaki sagte in Test Adapter Plex v1.0.x:
in wieder etwas weiter, geht wieder etwas mehr. Sieht auch aus, als wenns ordentlich ohne kontrollierbaren Player läuft.
Getestet:
plex.0 2023-09-04 10:58:07.981 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:58:06.855 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:58:05.789 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:58:04.783 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:58:03.771 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:58:02.748 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:58:01.621 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:58:00.597 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:59.575 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:58.348 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:57.324 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:56.093 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:52.637 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.details.music.time" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:52.637 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.details.percent" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:52.637 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.details.time" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:52.637 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f._Controls.playback.setVolume" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:52.636 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f._Controls.playback.seekToPercent" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:52.636 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f._Controls.playback.seekTo" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:52.635 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.viewOffset" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:52.634 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f._Controls.playback.play_switch" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:51.136 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.protocolVersion" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:51.135 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.deviceClass" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:51.135 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.product" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:51.134 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.protocol" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:51.134 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.version" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:51.133 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.host" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:51.133 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.connected" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:51.133 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.uuid" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:51.132 warn State "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Player.title" has no existing object, this might lead to an error in future versions plex.0 2023-09-04 10:57:49.046 info Establishing insecure connection to Plex Media Server... plex.0 2023-09-04 10:57:49.034 info starting. Version 1.0.5 (non-npm: iobroker-community-adapters/ioBroker.plex#player_requests) in C:/ioBroker/_iob_Test/node_modules/iobroker.plex, node: v18.17.1, js-controller: 5.0.12 plex.0 2023-09-04 10:57:07.756 warn Terminated (UNCAUGHT_EXCEPTION): Without reason plex.0 2023-09-04 10:57:07.755 info terminating plex.0 2023-09-04 10:57:07.754 info Plex Adapter stopped und unloaded. plex.0 2023-09-04 10:57:07.753 error state is not defined plex.0 2023-09-04 10:57:07.753 error ReferenceError: state is not defined at Player.action (C:\ioBroker\_iob_Test\node_modules\iobroker.plex\lib\players.js:462:6) at AdapterClass.<anonymous> (C:\ioBroker\_iob_Test\node_modules\iobroker.plex\plex.js:283:13) at AdapterClass.emit (node:events:514:28) at Immediate.<anonymous> (C:\ioBroker\_iob_Test\node_modules\@iobroker\js-controller-adapter\build\lib\adapter\adapter.js:8466:53) at process.processImmediate (node:internal/timers:476:21) plex.0 2023-09-04 10:57:07.751 error unhandled promise rejection: state is not defined plex.0 2023-09-04 10:57:07.751 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). plex.0 2023-09-04 10:57:07.750 info Triggered action -play_switch- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 10:57:06.598 info Triggered action -pause- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 10:57:02.966 info Triggered action -pause- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 10:56:49.921 info State value to set for "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f._Controls.playback.setShuffle" has to be type "number" but received type "boolean" plex.0 2023-09-04 10:56:49.867 info Triggered action -setShuffle- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 10:53:58.623 info State value to set for "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f._Controls.playback.setRepeat" has to be type "number" but received type "boolean" plex.0 2023-09-04 10:53:58.497 info Triggered action -setRepeat- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 10:51:08.132 info Triggered action -skipNext- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 10:50:43.943 info Triggered action -skipNext- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 10:50:25.403 info Triggered action -setVolume- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 10:50:23.954 info Triggered action -setVolume- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 10:47:25.590 info Establishing insecure connection to Plex Media Server... plex.0 2023-09-04 10:47:25.577 info starting. Version 1.0.5 (non-npm: iobroker-community-adapters/ioBroker.plex#player_requests) in C:/ioBroker/_iob_Test/node_modules/iobroker.plex, node: v18.17.1, js-controller: 5.0.12Nach Installation lief alles normal.
Dann auf Pause gedrückt und dann auf Play. Absturz folgte.Der DP:
plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f._Controls.playback.play_switchEdit:
plex.0 2023-09-04 11:26:43.774 warn Object of state "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.Mood" is missing the required property "common.type"Edit2:
Fehler gefunden: War der Falsche DP bei Play
plex.0 2023-09-04 11:33:33.425 info Triggered action -play- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 11:33:26.338 info Triggered action -pause- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47.Edit3

Grün : OK
Rot: FehlerSchwarz: ? Richtige Rolle? Sollte das nicht ein Button sein?
plex.0 2023-09-04 11:36:22.540 warn Error triggering playback action -stepBack- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47.! See debug log for details. plex.0 2023-09-04 11:36:22.515 info Triggered action -stepBack- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-04 11:35:46.288 warn Error triggering playback action -stepForward- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47.! See debug log for details. plex.0 2023-09-04 11:35:46.097 info Triggered action -stepForward- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. -
Aktuelle Test Version 1.1.x Veröffentlichungsdatum 10.12.24 Github Link https://github.com/iobroker-community-adapters/ioBroker.plex Über Tester der aktuellen Version würde ich mich sehr freuen.
Änderungen v 1.1.0:
bei Update auf diese Version bitte alles incl. plex im Objektdatenbaum löschen und dann Adapter neustarten- Player(Abspielgerät)aktualisierung hin zugefügt. (benötigt Webhook).
- States unter _playing.x._Controls
- _Controls.playback.playLast um Start für letztes Medium zu starten nach dem Playerverbindung verloren hat wurde
- _Controls.playback.playKey starten von eigenen Keys (key#viewoffset)
- _Controls alle States zeigen den aktuellen Werte des Players an, soweit sinnvoll und verfügbar
- _Controls.timeline.refreshDetails schaltet die Option, Playeraktualisierung per Player grundsätzlich an oder aus. Gestartet wird es immer durch das Empfangen einer Webhooknachricht.
- States unter _Controls werden niemals gelöscht oder genullt.
- States unter _playing.x.Player
- states die direkt auf der Ebene Player.details liegen können sich im Verhalten ändern. Das ist ein Dump der internen Daten, die teilweise wieder geladen werden beim Plex-Adapter restart.
- .details. beinhalten den aktuellen Status des Players nach Priorität, wenn z.B. Photos mit Musik abgespielt werden (video, music dann photo) (Prorität ist ungetestet)
- states unter Player.details.[music, photo, video] beinhalten die Daten die vom Player kommen und werden niemals gelöscht oder genullt.
- Unter Metadata findet ihr einen Ordner Music darunter finden sich der link zur Liedtextdatei, Plaintext und dem Codec.
- Löschen/nullen von States, betrifft die Aufräumfunktion
- states unter _Controls oder Player werden nicht Aufgeräumt
- Alle anderen States unter _playing werden bei einem Webhookeingang und wenn sie seit 30 Minuten nicht intern aktualisiert wurden genullt.
- Löschen/nullen von States, betrifft die Aufräumfunktion
- Übersetzung: Alle States sollte jetzt Übersetzungen in den üblichen Sprachen haben - fehlerhafte Übersetzungen bitte melden... oder dämliche

- und gewiss viele Kleinigkeiten die ich vergessen habe
Bekannte Fehler:- Übersetzung (de) des neuen Adminkonfigurationspunkt ist echt mies
Feedback zu folgenden Fragen erwünscht:- Fehlt noch etwas um den Adapter "vis-ready" zu bekommen?
Noch offene Punkte:
Hallo, kann man den : plex.0._playing.android-xxxxxxxxxxxxxxxxxxxxxxxxxxx_Controls.playback.seekToPercent
auf 0 Dezimalstellen setzten?
Arbeitet aber Super!
-
Hallo, kann man den : plex.0._playing.android-xxxxxxxxxxxxxxxxxxxxxxxxxxx_Controls.playback.seekToPercent
auf 0 Dezimalstellen setzten?
Arbeitet aber Super!
@sigi234 sagte in Test Adapter Plex v1.0.x:
Hallo, kann man den : plex.0._playing.android-xxxxxxxxxxxxxxxxxxxxxxxxxxx_Controls.playback.seekToPercent
auf 0 Dezimalstellen setzten?
Arbeitet aber Super!
Vorab dazu: Erinner mich daran wenn ich latest gehen will. Ganze Prozent sind natürlich problemlos möglich hab, das auf 0,0 umgestellt damit ich sehe das es sich bewegt

Danke für deinen Testen. Die Controls werde ich mal überprüfen, hab gestern auch ein paar Dinge gefunden.
setRepeat/setShuffle sind states mit denen ich mich noch nicht befasst habe. Da gibts doch bei einem 3 mögliche Zustände oder?
Kann da setRepeatSwitch/setShuffleSwitch machen (bei dem mit den 3 Zuständen) damit ich nicht irgendwem die visu zerhaue. Role ist dannmedia.mode.shuffleodermedia.mode.repeattype:boolean
setRepeat hat 3 Zustände und ist so auch in der iobroker docu vorgesehen. 0,1,2 role:media.mode.repeat
setShuffle dürft dann falsch sein der sollte role:media.mode.shuffletype:booleansein.https://github.com/ioBroker/ioBroker.type-detector/blob/master/DEVICES.md#media-mediaplayer
Sind die Fehlermeldungen oben behoben?
-
@sigi234 sagte in Test Adapter Plex v1.0.x:
Hallo, kann man den : plex.0._playing.android-xxxxxxxxxxxxxxxxxxxxxxxxxxx_Controls.playback.seekToPercent
auf 0 Dezimalstellen setzten?
Arbeitet aber Super!
Vorab dazu: Erinner mich daran wenn ich latest gehen will. Ganze Prozent sind natürlich problemlos möglich hab, das auf 0,0 umgestellt damit ich sehe das es sich bewegt

Danke für deinen Testen. Die Controls werde ich mal überprüfen, hab gestern auch ein paar Dinge gefunden.
setRepeat/setShuffle sind states mit denen ich mich noch nicht befasst habe. Da gibts doch bei einem 3 mögliche Zustände oder?
Kann da setRepeatSwitch/setShuffleSwitch machen (bei dem mit den 3 Zuständen) damit ich nicht irgendwem die visu zerhaue. Role ist dannmedia.mode.shuffleodermedia.mode.repeattype:boolean
setRepeat hat 3 Zustände und ist so auch in der iobroker docu vorgesehen. 0,1,2 role:media.mode.repeat
setShuffle dürft dann falsch sein der sollte role:media.mode.shuffletype:booleansein.https://github.com/ioBroker/ioBroker.type-detector/blob/master/DEVICES.md#media-mediaplayer
Sind die Fehlermeldungen oben behoben?
@ticaki sagte in Test Adapter Plex v1.0.x:
Sind die Fehlermeldungen oben behoben?
Ja
Also bei meinen Verstärker (Via Musiccast Adapter) sind beide ein Toggle Button

-
Aktuelle Test Version 1.1.x Veröffentlichungsdatum 10.12.24 Github Link https://github.com/iobroker-community-adapters/ioBroker.plex Über Tester der aktuellen Version würde ich mich sehr freuen.
Änderungen v 1.1.0:
bei Update auf diese Version bitte alles incl. plex im Objektdatenbaum löschen und dann Adapter neustarten- Player(Abspielgerät)aktualisierung hin zugefügt. (benötigt Webhook).
- States unter _playing.x._Controls
- _Controls.playback.playLast um Start für letztes Medium zu starten nach dem Playerverbindung verloren hat wurde
- _Controls.playback.playKey starten von eigenen Keys (key#viewoffset)
- _Controls alle States zeigen den aktuellen Werte des Players an, soweit sinnvoll und verfügbar
- _Controls.timeline.refreshDetails schaltet die Option, Playeraktualisierung per Player grundsätzlich an oder aus. Gestartet wird es immer durch das Empfangen einer Webhooknachricht.
- States unter _Controls werden niemals gelöscht oder genullt.
- States unter _playing.x.Player
- states die direkt auf der Ebene Player.details liegen können sich im Verhalten ändern. Das ist ein Dump der internen Daten, die teilweise wieder geladen werden beim Plex-Adapter restart.
- .details. beinhalten den aktuellen Status des Players nach Priorität, wenn z.B. Photos mit Musik abgespielt werden (video, music dann photo) (Prorität ist ungetestet)
- states unter Player.details.[music, photo, video] beinhalten die Daten die vom Player kommen und werden niemals gelöscht oder genullt.
- Unter Metadata findet ihr einen Ordner Music darunter finden sich der link zur Liedtextdatei, Plaintext und dem Codec.
- Löschen/nullen von States, betrifft die Aufräumfunktion
- states unter _Controls oder Player werden nicht Aufgeräumt
- Alle anderen States unter _playing werden bei einem Webhookeingang und wenn sie seit 30 Minuten nicht intern aktualisiert wurden genullt.
- Löschen/nullen von States, betrifft die Aufräumfunktion
- Übersetzung: Alle States sollte jetzt Übersetzungen in den üblichen Sprachen haben - fehlerhafte Übersetzungen bitte melden... oder dämliche

- und gewiss viele Kleinigkeiten die ich vergessen habe
Bekannte Fehler:- Übersetzung (de) des neuen Adminkonfigurationspunkt ist echt mies
Feedback zu folgenden Fragen erwünscht:- Fehlt noch etwas um den Adapter "vis-ready" zu bekommen?
Noch offene Punkte:
Hallo, wenn ich die App am Handy beende kommt immer das:
plex.0 2023-09-04 14:42:45.261 info Establishing insecure connection to Plex Media Server... plex.0 2023-09-04 14:42:45.241 info starting. Version 1.0.5 (non-npm: iobroker-community-adapters/ioBroker.plex#player_requests) in C:/ioBroker/_iob_Test/node_modules/iobroker.plex, node: v18.17.1, js-controller: 5.0.12 plex.0 2023-09-04 14:42:12.992 info terminating plex.0 2023-09-04 14:42:12.484 warn Terminated (UNCAUGHT_EXCEPTION): Without reason plex.0 2023-09-04 14:42:12.483 info terminating plex.0 2023-09-04 14:42:12.481 info Plex Adapter stopped und unloaded. plex.0 2023-09-04 14:42:12.477 error Cannot read properties of undefined (reading 'log') plex.0 2023-09-04 14:42:12.477 error TypeError: Cannot read properties of undefined (reading 'log') at _updater (C:\ioBroker\_iob_Test\node_modules\iobroker.plex\lib\players.js:265:22) at runNextTicks (node:internal/process/task_queues:60:5) at listOnTimeout (node:internal/timers:538:9) at process.processTimers (node:internal/timers:512:7) plex.0 2023-09-04 14:42:12.476 error unhandled promise rejection: Cannot read properties of undefined (reading 'log') plex.0 2023-09-04 14:42:12.475 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). -
Hallo, wenn ich die App am Handy beende kommt immer das:
plex.0 2023-09-04 14:42:45.261 info Establishing insecure connection to Plex Media Server... plex.0 2023-09-04 14:42:45.241 info starting. Version 1.0.5 (non-npm: iobroker-community-adapters/ioBroker.plex#player_requests) in C:/ioBroker/_iob_Test/node_modules/iobroker.plex, node: v18.17.1, js-controller: 5.0.12 plex.0 2023-09-04 14:42:12.992 info terminating plex.0 2023-09-04 14:42:12.484 warn Terminated (UNCAUGHT_EXCEPTION): Without reason plex.0 2023-09-04 14:42:12.483 info terminating plex.0 2023-09-04 14:42:12.481 info Plex Adapter stopped und unloaded. plex.0 2023-09-04 14:42:12.477 error Cannot read properties of undefined (reading 'log') plex.0 2023-09-04 14:42:12.477 error TypeError: Cannot read properties of undefined (reading 'log') at _updater (C:\ioBroker\_iob_Test\node_modules\iobroker.plex\lib\players.js:265:22) at runNextTicks (node:internal/process/task_queues:60:5) at listOnTimeout (node:internal/timers:538:9) at process.processTimers (node:internal/timers:512:7) plex.0 2023-09-04 14:42:12.476 error unhandled promise rejection: Cannot read properties of undefined (reading 'log') plex.0 2023-09-04 14:42:12.475 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().@sigi234 sagte in Test Adapter Plex v1.0.x:
Hallo, wenn ich die App am Handy beende kommt immer das:
Der Fehler wird behoben, aber schön das alles so klappt wie vorgesehen... Der Fehler wäre sonst nicht aufgetreten

-
https://github.com/iobroker-community-adapters/ioBroker.plex/tree/player_requests
Den Absturz gefixt.
setShuffle - boolean
setRepeat - number 0: aus - 1: aktueller Titel - 2: allesetRepeatAll:
Daten von Plex:
0 = false
1,2 = trueSenden an Plex
false = 0
true = 2Oder in Worten - wenn jemand einen repeat art anschaltet geht der State auf true, selber schaltet er aber nur einen Repeat auf all.
seekToPercent ist jetzt ganzzahlig.
-
-
Hab noch einen Adapterabsturz gefixt. Es ist absicht das der Adapter sich da aufhängt wenn ein Fehler passiert, damit ich ihn finde und beheben kann. Nachher kommt da ne Fehlerbehandlung drüber, damit er sich nicht bei jedem husten verschluckt

https://github.com/iobroker-community-adapters/ioBroker.plex/tree/player_requests
-
Hab noch einen Adapterabsturz gefixt. Es ist absicht das der Adapter sich da aufhängt wenn ein Fehler passiert, damit ich ihn finde und beheben kann. Nachher kommt da ne Fehlerbehandlung drüber, damit er sich nicht bei jedem husten verschluckt

https://github.com/iobroker-community-adapters/ioBroker.plex/tree/player_requests
plex.0 2023-09-05 06:01:05.929 warn Error triggering playback action -stepForward- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47.! See debug log for details. plex.0 2023-09-05 06:01:04.918 info Triggered action -stepForward- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-05 06:01:01.974 warn Error triggering playback action -stepBack- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47.! See debug log for details. plex.0 2023-09-05 06:01:01.942 info Triggered action -stepBack- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47.Edit:
plex.0 2023-09-05 06:16:50.920 warn Object of state "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.Mood" is missing the required property "common.type"Edit2
Beim beenden der App am Handy
plex.0 2023-09-05 06:41:59.852 info Player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f is disconnected plex.0 2023-09-05 06:41:56.395 warn catch() 122: {"message":"socket hang up","name":"Error","stack":"Error: socket hang up\n at AxiosError.from (C:\\ioBroker\\_iob_Test\\node_modules\\iobroker.plex\\node_modules\\axios\\dist\\node\\axios.cjs:837:14)\n at RedirectableRequest.handleRequestError (C:\\ioBroker\\_iob_Test\\node_modules\\iobroker.plex\\node_modules\\axios\\dist\\node\\axios.cjs:3016:25)\n at RedirectableRequest.emit (node:events:526:35)\n at eventHandlers.<computed> (C:\\ioBroker\\_iob_Test\\node_modules\\follow-redirects\\index.js:14:24)\n at ClientRequest.emit (node:events:514:28)\n at Socket.socketOnEnd (node:_http_client:525:9)\n at Socket.emit (node:events:526:35)\n at endReadableNT (node:internal/streams/readable:1359:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":"http","transformRequest":[null],"transformResponse":[null],"timeout":700,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, */*","X-Plex-Token":"xxxxxxxxxxxxxx","X-Plex-Target-Client-Identifier":"xxxxxxxxxxxxxx","X-Plex-Client-Identifier":"xxxxxxxxxxxxxxxxxxx","X-Plex-Device-Name":"Android","User-Agent":"axios/1.5.0","Accept-Encoding":"gzip, compress, deflate, br"},"method":"get","url":"http://192.168.178.47:32500/player/timeline/poll?wait=0&commandID=2565"},"code":"ECONNRESET","status":null} -
plex.0 2023-09-05 06:01:05.929 warn Error triggering playback action -stepForward- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47.! See debug log for details. plex.0 2023-09-05 06:01:04.918 info Triggered action -stepForward- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47. plex.0 2023-09-05 06:01:01.974 warn Error triggering playback action -stepBack- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47.! See debug log for details. plex.0 2023-09-05 06:01:01.942 info Triggered action -stepBack- on player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f with ip:192.168.178.47.Edit:
plex.0 2023-09-05 06:16:50.920 warn Object of state "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.Mood" is missing the required property "common.type"Edit2
Beim beenden der App am Handy
plex.0 2023-09-05 06:41:59.852 info Player Android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f is disconnected plex.0 2023-09-05 06:41:56.395 warn catch() 122: {"message":"socket hang up","name":"Error","stack":"Error: socket hang up\n at AxiosError.from (C:\\ioBroker\\_iob_Test\\node_modules\\iobroker.plex\\node_modules\\axios\\dist\\node\\axios.cjs:837:14)\n at RedirectableRequest.handleRequestError (C:\\ioBroker\\_iob_Test\\node_modules\\iobroker.plex\\node_modules\\axios\\dist\\node\\axios.cjs:3016:25)\n at RedirectableRequest.emit (node:events:526:35)\n at eventHandlers.<computed> (C:\\ioBroker\\_iob_Test\\node_modules\\follow-redirects\\index.js:14:24)\n at ClientRequest.emit (node:events:514:28)\n at Socket.socketOnEnd (node:_http_client:525:9)\n at Socket.emit (node:events:526:35)\n at endReadableNT (node:internal/streams/readable:1359:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"adapter":"http","transformRequest":[null],"transformResponse":[null],"timeout":700,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{},"headers":{"Accept":"application/json, text/plain, */*","X-Plex-Token":"xxxxxxxxxxxxxx","X-Plex-Target-Client-Identifier":"xxxxxxxxxxxxxx","X-Plex-Client-Identifier":"xxxxxxxxxxxxxxxxxxx","X-Plex-Device-Name":"Android","User-Agent":"axios/1.5.0","Accept-Encoding":"gzip, compress, deflate, br"},"method":"get","url":"http://192.168.178.47:32500/player/timeline/poll?wait=0&commandID=2565"},"code":"ECONNRESET","status":null}Von wann ist die Version?
Fehler
- könnte ich gestern abend behoben haben
- Beim Beenden der App sollte der Fehler kein Problem sein, werde die logmeldung für ECONNRESET auf debug setzten
Nr. 2 müsste durch tautulli kommen, kannst du mir dein Json dafür schicken dann teste ich das heute abend.
-
Von wann ist die Version?
Fehler
- könnte ich gestern abend behoben haben
- Beim Beenden der App sollte der Fehler kein Problem sein, werde die logmeldung für ECONNRESET auf debug setzten
Nr. 2 müsste durch tautulli kommen, kannst du mir dein Json dafür schicken dann teste ich das heute abend.
@ticaki sagte in Test Adapter Plex v1.0.x:
Von wann ist die Version?
Kurz vor verfassen des Beitrags
Nr. 2 müsste durch tautulli kommen, kannst du mir dein Json dafür schicken dann teste ich das heute abend.
{ "event": "media.{action}", "user": "undefined", "owner": "undefined", "Account": { "userId": "{user_id}", "id": "undefined", "thumb": "undefined", "title": "{username}" }, "Server": { "title": "{server_name}", "uuid": "{server_machine_id}" }, "Player": { "local": "{stream_local}", "localAddress": "{ip_address}", "publicAddress": "undefined", "title": "{player}", "uuid": "{machine_id}" }, "Metadata": { "librarySectionType": "{media_type}", "ratingKey": "{rating_key}", "parentRatingKey": "{parent_rating_key}", "grandparentRatingKey": "{grandparent_rating_key}", "key": "/library/metadata/{rating_key}", "guid": "com.plexapp.agents.imdb://{imdb_id}?lang=en", "librarySectionTitle": "{library_name}", "librarySectionID": "{section_id}", "librarySectionKey": "/library/sections/{section_id}", "studio": "{studio}", "type": "{media_type}", "title": "{title}", "grandparentTitle": "<show>{show_name}</show><artist>{artist_name}</artist>", "parentTitle": "<show>{show_name}</show><artist>{artist_name}</artist>", "titleSort": "undefined", "contentRating": "{content_rating}", "summary": "{summary}", "rating": "{rating}", "viewOffset": "undefined", "lastViewedAt": "{last_viewed_date}", "year": "{year}", "tagline": "{tagline}", "thumb": "<movie>{thumb}</movie><show>{grandparent_thumb}</show><season>{grandparent_thumb}</season><episode>{grandparent_thumb}</episode><artist>{grandparent_thumb}</artist><album>{grandparent_thumb}</album><track>{grandparent_thumb}</track>", "parentThumb": "{parent_thumb}", "grandparentThumb": "{grandparent_thumb}", "posterThumb": "{poster_thumb}", "art": "undefined", "duration": "{duration}", "originallyAvailableAt": "{release_date}", "addedAt": "{added_date}", "updatedAt": "{updated_date}", "chapterSource": "undefined", "primaryExtraKey": "undefined", "ratingImage": "imdb://image.rating", "Genre": "{genres}", "Director": "{directors}", "Writer": "{writers}", "Country": "undefined", "Producer": "undefined", "Collection": "{collections}", "Role": "{actors}", "Similar": "undefined", "tautulli": { "Player": "{player}", "LibraryTyp": "{library_name}", "Filmstudio": "{studio}", "Titel": "{title}", "Originaltitel": "{original_title}", "SerienName": "{show_name}", "FolgeName": "{episode_name}", "Status": "{action}", "Beschreibung": "{summary}", "Bewertung": "{audience_rating}", "Jahr": "{year}", "Genre": "{genres}", "Hintergrund": "{art}", "SerienBanner": "{banner}", "Cover": "<movie>{thumb}</movie><show>{grandparent_thumb}</show><season>{grandparent_thumb}</season><episode>{grandparent_thumb}</episode><artist>{grandparent_thumb}</artist><album>{grandparent_thumb}</album><track>{grandparent_thumb}</track>", "DauerMinuten": "{duration}", "DauerSekunden": "{duration_sec}", "VerbleibendMinuten": "{remaining_duration}", "VerbleibendSekunden": "{remaining_duration_sec}", "VerbleibendZeit": "{remaining_time}", "FortschrittMinuten": "{progress_duration}", "FortschrittSekunden": "{progress_duration_sec} sek", "FortschrittZeit": "{progress_time}", "FortschrittProzent": "{progress_percent}", "Veroeffentlichung": "{release_date}", "UploadDatum": "{added_date}", "AbspielDatum": "{last_viewed_date}", "Kategorie": "{genres}", "Regisseur": "{directors}", "Drehbuch": "{writers}", "Kollektion": "{collections}", "Darsteller": "{actors:[:30]}", "Folge": "{episode_num}", "Staffel": "{season_num}" }, "video": { "container": "{container}", "bitrate": "{bitrate}", "aspect_ratio": "{aspect_ratio}", "video_codec": "{video_codec}", "video_codec_level": "{video_codec_level}", "video_bitrate": "{video_bitrate}", "video_bit_depth": "{video_bit_depth}", "video_framerate": "{video_framerate}", "video_ref_frames": "{video_ref_frames}", "video_resolution": "{video_resolution}", "video_height": "{video_height}", "video_width": "{video_width}", "video_language": "{video_language}", "video_language_code": "{video_language_code}" }, "audio": { "audio_bitrate": "{audio_bitrate}", "audio_bitrate_mode": "{audio_bitrate_mode}", "audio_codec": "{audio_codec}", "audio_channels": "{audio_channels}", "audio_channel_layout": "{audio_channel_layout}", "audio_sample_rate": "{audio_sample_rate}", "audio_language": "{audio_language}", "audio_language_code": "{audio_language_code}" }, "subtitles": { "subtitle_codec": "{subtitle_codec}", "subtitle_container": "{subtitle_container}", "subtitle_format": "{subtitle_format}", "subtitle_forced": "{subtitle_forced}", "subtitle_location": "{subtitle_location}", "subtitle_language": "{subtitle_language}", "subtitle_language_code": "{subtitle_language_code}" }, "file": { "path": "{file}", "name": "{filename}", "size": "{file_size}" }, "transcoding": { "transcode_decision": "{transcode_decision}", "video_decision": "{video_decision}", "audio_decision": "{audio_decision}", "subtitle_decision": "{subtitle_decision}", "transcode_container": "{transcode_container}", "transcode_video_codec": "{transcode_video_codec}", "transcode_video_width": "{transcode_video_width}", "transcode_video_height": "{transcode_video_height}", "transcode_audio_codec": "{transcode_audio_codec}", "transcode_audio_channels": "{transcode_audio_channels}", "transcode_hw_requested": "{transcode_hw_requested}", "transcode_hw_decoding": "{transcode_hw_decoding}", "transcode_hw_decode": "{transcode_hw_decode}", "transcode_hw_decode_title": "{transcode_hw_decode_title}", "transcode_hw_encoding": "{transcode_hw_encoding}", "transcode_hw_encode": "{transcode_hw_encode}", "transcode_hw_encode_title": "{transcode_hw_encode_title}" }, "stream": { "user": { "streams": "{streams}", "user_streams": "{user_streams}", "name": "{user}", "user": "{username}", "email": "{user_email}" }, "player": { "device": "{device}", "platform": "{platform}", "product": "{product}", "player": "{player}", "ip_address": "{ip_address}" }, "quality_profile": "{quality_profile}", "optimized_version": "{optimized_version}", "optimized_version_profile": "{optimized_version_profile}", "synced_version": "{synced_version}", "live": "{live}", "stream_local": "{stream_local}", "stream_location": "{stream_location}", "stream_bandwidth": "{stream_bandwidth}", "stream_container": "{stream_container}", "stream_bitrate": "{stream_bitrate}", "stream_aspect_ratio": "{stream_aspect_ratio}", "stream_duration": "{stream_duration}", "stream_time": "{stream_time}", "remaining_duration": "{remaining_duration}", "remaining_time": "{remaining_time}", "progress_duration": "{progress_duration}", "progress_time": "{progress_time}", "progress_percent": "{progress_percent}", "stream_video": { "stream_video_codec": "{stream_video_codec}", "stream_video_codec_level": "{stream_video_codec_level}", "stream_video_bitrate": "{stream_video_bitrate}", "stream_video_bit_depth": "{stream_video_bit_depth}", "stream_video_framerate": "{stream_video_framerate}", "stream_video_ref_frames": "{stream_video_ref_frames}", "stream_video_resolution": "{stream_video_resolution}", "stream_video_height": "{stream_video_height}", "stream_video_width": "{stream_video_width}", "stream_video_language": "{stream_video_language}", "stream_video_language_code": "{stream_video_language_code}" }, "stream_audio": { "stream_audio_bitrate": "{stream_audio_bitrate}", "stream_audio_bitrate_mode": "{stream_audio_bitrate_mode}", "stream_audio_codec": "{stream_audio_codec}", "stream_audio_channels": "{stream_audio_channels}", "stream_audio_channel_layout": "{stream_audio_channel_layout}", "stream_audio_sample_rate": "{stream_audio_sample_rate}", "stream_audio_language": "{stream_audio_language}", "stream_audio_language_code": "{stream_audio_language_code}" }, "stream_subtitle": { "stream_subtitle_codec": "{stream_subtitle_codec}", "stream_subtitle_container": "{stream_subtitle_container}", "stream_subtitle_format": "{stream_subtitle_format}", "stream_subtitle_forced": "{stream_subtitle_forced}", "stream_subtitle_language": "{stream_subtitle_language}", "stream_subtitle_language_code": "{stream_subtitle_language_code}", "stream_subtitle_location": "{stream_subtitle_location}" } } } } -
@ticaki sagte in Test Adapter Plex v1.0.x:
Von wann ist die Version?
Kurz vor verfassen des Beitrags
Nr. 2 müsste durch tautulli kommen, kannst du mir dein Json dafür schicken dann teste ich das heute abend.
{ "event": "media.{action}", "user": "undefined", "owner": "undefined", "Account": { "userId": "{user_id}", "id": "undefined", "thumb": "undefined", "title": "{username}" }, "Server": { "title": "{server_name}", "uuid": "{server_machine_id}" }, "Player": { "local": "{stream_local}", "localAddress": "{ip_address}", "publicAddress": "undefined", "title": "{player}", "uuid": "{machine_id}" }, "Metadata": { "librarySectionType": "{media_type}", "ratingKey": "{rating_key}", "parentRatingKey": "{parent_rating_key}", "grandparentRatingKey": "{grandparent_rating_key}", "key": "/library/metadata/{rating_key}", "guid": "com.plexapp.agents.imdb://{imdb_id}?lang=en", "librarySectionTitle": "{library_name}", "librarySectionID": "{section_id}", "librarySectionKey": "/library/sections/{section_id}", "studio": "{studio}", "type": "{media_type}", "title": "{title}", "grandparentTitle": "<show>{show_name}</show><artist>{artist_name}</artist>", "parentTitle": "<show>{show_name}</show><artist>{artist_name}</artist>", "titleSort": "undefined", "contentRating": "{content_rating}", "summary": "{summary}", "rating": "{rating}", "viewOffset": "undefined", "lastViewedAt": "{last_viewed_date}", "year": "{year}", "tagline": "{tagline}", "thumb": "<movie>{thumb}</movie><show>{grandparent_thumb}</show><season>{grandparent_thumb}</season><episode>{grandparent_thumb}</episode><artist>{grandparent_thumb}</artist><album>{grandparent_thumb}</album><track>{grandparent_thumb}</track>", "parentThumb": "{parent_thumb}", "grandparentThumb": "{grandparent_thumb}", "posterThumb": "{poster_thumb}", "art": "undefined", "duration": "{duration}", "originallyAvailableAt": "{release_date}", "addedAt": "{added_date}", "updatedAt": "{updated_date}", "chapterSource": "undefined", "primaryExtraKey": "undefined", "ratingImage": "imdb://image.rating", "Genre": "{genres}", "Director": "{directors}", "Writer": "{writers}", "Country": "undefined", "Producer": "undefined", "Collection": "{collections}", "Role": "{actors}", "Similar": "undefined", "tautulli": { "Player": "{player}", "LibraryTyp": "{library_name}", "Filmstudio": "{studio}", "Titel": "{title}", "Originaltitel": "{original_title}", "SerienName": "{show_name}", "FolgeName": "{episode_name}", "Status": "{action}", "Beschreibung": "{summary}", "Bewertung": "{audience_rating}", "Jahr": "{year}", "Genre": "{genres}", "Hintergrund": "{art}", "SerienBanner": "{banner}", "Cover": "<movie>{thumb}</movie><show>{grandparent_thumb}</show><season>{grandparent_thumb}</season><episode>{grandparent_thumb}</episode><artist>{grandparent_thumb}</artist><album>{grandparent_thumb}</album><track>{grandparent_thumb}</track>", "DauerMinuten": "{duration}", "DauerSekunden": "{duration_sec}", "VerbleibendMinuten": "{remaining_duration}", "VerbleibendSekunden": "{remaining_duration_sec}", "VerbleibendZeit": "{remaining_time}", "FortschrittMinuten": "{progress_duration}", "FortschrittSekunden": "{progress_duration_sec} sek", "FortschrittZeit": "{progress_time}", "FortschrittProzent": "{progress_percent}", "Veroeffentlichung": "{release_date}", "UploadDatum": "{added_date}", "AbspielDatum": "{last_viewed_date}", "Kategorie": "{genres}", "Regisseur": "{directors}", "Drehbuch": "{writers}", "Kollektion": "{collections}", "Darsteller": "{actors:[:30]}", "Folge": "{episode_num}", "Staffel": "{season_num}" }, "video": { "container": "{container}", "bitrate": "{bitrate}", "aspect_ratio": "{aspect_ratio}", "video_codec": "{video_codec}", "video_codec_level": "{video_codec_level}", "video_bitrate": "{video_bitrate}", "video_bit_depth": "{video_bit_depth}", "video_framerate": "{video_framerate}", "video_ref_frames": "{video_ref_frames}", "video_resolution": "{video_resolution}", "video_height": "{video_height}", "video_width": "{video_width}", "video_language": "{video_language}", "video_language_code": "{video_language_code}" }, "audio": { "audio_bitrate": "{audio_bitrate}", "audio_bitrate_mode": "{audio_bitrate_mode}", "audio_codec": "{audio_codec}", "audio_channels": "{audio_channels}", "audio_channel_layout": "{audio_channel_layout}", "audio_sample_rate": "{audio_sample_rate}", "audio_language": "{audio_language}", "audio_language_code": "{audio_language_code}" }, "subtitles": { "subtitle_codec": "{subtitle_codec}", "subtitle_container": "{subtitle_container}", "subtitle_format": "{subtitle_format}", "subtitle_forced": "{subtitle_forced}", "subtitle_location": "{subtitle_location}", "subtitle_language": "{subtitle_language}", "subtitle_language_code": "{subtitle_language_code}" }, "file": { "path": "{file}", "name": "{filename}", "size": "{file_size}" }, "transcoding": { "transcode_decision": "{transcode_decision}", "video_decision": "{video_decision}", "audio_decision": "{audio_decision}", "subtitle_decision": "{subtitle_decision}", "transcode_container": "{transcode_container}", "transcode_video_codec": "{transcode_video_codec}", "transcode_video_width": "{transcode_video_width}", "transcode_video_height": "{transcode_video_height}", "transcode_audio_codec": "{transcode_audio_codec}", "transcode_audio_channels": "{transcode_audio_channels}", "transcode_hw_requested": "{transcode_hw_requested}", "transcode_hw_decoding": "{transcode_hw_decoding}", "transcode_hw_decode": "{transcode_hw_decode}", "transcode_hw_decode_title": "{transcode_hw_decode_title}", "transcode_hw_encoding": "{transcode_hw_encoding}", "transcode_hw_encode": "{transcode_hw_encode}", "transcode_hw_encode_title": "{transcode_hw_encode_title}" }, "stream": { "user": { "streams": "{streams}", "user_streams": "{user_streams}", "name": "{user}", "user": "{username}", "email": "{user_email}" }, "player": { "device": "{device}", "platform": "{platform}", "product": "{product}", "player": "{player}", "ip_address": "{ip_address}" }, "quality_profile": "{quality_profile}", "optimized_version": "{optimized_version}", "optimized_version_profile": "{optimized_version_profile}", "synced_version": "{synced_version}", "live": "{live}", "stream_local": "{stream_local}", "stream_location": "{stream_location}", "stream_bandwidth": "{stream_bandwidth}", "stream_container": "{stream_container}", "stream_bitrate": "{stream_bitrate}", "stream_aspect_ratio": "{stream_aspect_ratio}", "stream_duration": "{stream_duration}", "stream_time": "{stream_time}", "remaining_duration": "{remaining_duration}", "remaining_time": "{remaining_time}", "progress_duration": "{progress_duration}", "progress_time": "{progress_time}", "progress_percent": "{progress_percent}", "stream_video": { "stream_video_codec": "{stream_video_codec}", "stream_video_codec_level": "{stream_video_codec_level}", "stream_video_bitrate": "{stream_video_bitrate}", "stream_video_bit_depth": "{stream_video_bit_depth}", "stream_video_framerate": "{stream_video_framerate}", "stream_video_ref_frames": "{stream_video_ref_frames}", "stream_video_resolution": "{stream_video_resolution}", "stream_video_height": "{stream_video_height}", "stream_video_width": "{stream_video_width}", "stream_video_language": "{stream_video_language}", "stream_video_language_code": "{stream_video_language_code}" }, "stream_audio": { "stream_audio_bitrate": "{stream_audio_bitrate}", "stream_audio_bitrate_mode": "{stream_audio_bitrate_mode}", "stream_audio_codec": "{stream_audio_codec}", "stream_audio_channels": "{stream_audio_channels}", "stream_audio_channel_layout": "{stream_audio_channel_layout}", "stream_audio_sample_rate": "{stream_audio_sample_rate}", "stream_audio_language": "{stream_audio_language}", "stream_audio_language_code": "{stream_audio_language_code}" }, "stream_subtitle": { "stream_subtitle_codec": "{stream_subtitle_codec}", "stream_subtitle_container": "{stream_subtitle_container}", "stream_subtitle_format": "{stream_subtitle_format}", "stream_subtitle_forced": "{stream_subtitle_forced}", "stream_subtitle_language": "{stream_subtitle_language}", "stream_subtitle_language_code": "{stream_subtitle_language_code}", "stream_subtitle_location": "{stream_subtitle_location}" } } } }was steht in dem Datenpunkt
plex.0._playing.android-x.Metadata.MoodIch hab den nicht und der kommt auch scheinbar nicht durch tautulli. -
@ticaki sagte in Test Adapter Plex v1.0.x:
Von wann ist die Version?
Kurz vor verfassen des Beitrags
Nr. 2 müsste durch tautulli kommen, kannst du mir dein Json dafür schicken dann teste ich das heute abend.
{ "event": "media.{action}", "user": "undefined", "owner": "undefined", "Account": { "userId": "{user_id}", "id": "undefined", "thumb": "undefined", "title": "{username}" }, "Server": { "title": "{server_name}", "uuid": "{server_machine_id}" }, "Player": { "local": "{stream_local}", "localAddress": "{ip_address}", "publicAddress": "undefined", "title": "{player}", "uuid": "{machine_id}" }, "Metadata": { "librarySectionType": "{media_type}", "ratingKey": "{rating_key}", "parentRatingKey": "{parent_rating_key}", "grandparentRatingKey": "{grandparent_rating_key}", "key": "/library/metadata/{rating_key}", "guid": "com.plexapp.agents.imdb://{imdb_id}?lang=en", "librarySectionTitle": "{library_name}", "librarySectionID": "{section_id}", "librarySectionKey": "/library/sections/{section_id}", "studio": "{studio}", "type": "{media_type}", "title": "{title}", "grandparentTitle": "<show>{show_name}</show><artist>{artist_name}</artist>", "parentTitle": "<show>{show_name}</show><artist>{artist_name}</artist>", "titleSort": "undefined", "contentRating": "{content_rating}", "summary": "{summary}", "rating": "{rating}", "viewOffset": "undefined", "lastViewedAt": "{last_viewed_date}", "year": "{year}", "tagline": "{tagline}", "thumb": "<movie>{thumb}</movie><show>{grandparent_thumb}</show><season>{grandparent_thumb}</season><episode>{grandparent_thumb}</episode><artist>{grandparent_thumb}</artist><album>{grandparent_thumb}</album><track>{grandparent_thumb}</track>", "parentThumb": "{parent_thumb}", "grandparentThumb": "{grandparent_thumb}", "posterThumb": "{poster_thumb}", "art": "undefined", "duration": "{duration}", "originallyAvailableAt": "{release_date}", "addedAt": "{added_date}", "updatedAt": "{updated_date}", "chapterSource": "undefined", "primaryExtraKey": "undefined", "ratingImage": "imdb://image.rating", "Genre": "{genres}", "Director": "{directors}", "Writer": "{writers}", "Country": "undefined", "Producer": "undefined", "Collection": "{collections}", "Role": "{actors}", "Similar": "undefined", "tautulli": { "Player": "{player}", "LibraryTyp": "{library_name}", "Filmstudio": "{studio}", "Titel": "{title}", "Originaltitel": "{original_title}", "SerienName": "{show_name}", "FolgeName": "{episode_name}", "Status": "{action}", "Beschreibung": "{summary}", "Bewertung": "{audience_rating}", "Jahr": "{year}", "Genre": "{genres}", "Hintergrund": "{art}", "SerienBanner": "{banner}", "Cover": "<movie>{thumb}</movie><show>{grandparent_thumb}</show><season>{grandparent_thumb}</season><episode>{grandparent_thumb}</episode><artist>{grandparent_thumb}</artist><album>{grandparent_thumb}</album><track>{grandparent_thumb}</track>", "DauerMinuten": "{duration}", "DauerSekunden": "{duration_sec}", "VerbleibendMinuten": "{remaining_duration}", "VerbleibendSekunden": "{remaining_duration_sec}", "VerbleibendZeit": "{remaining_time}", "FortschrittMinuten": "{progress_duration}", "FortschrittSekunden": "{progress_duration_sec} sek", "FortschrittZeit": "{progress_time}", "FortschrittProzent": "{progress_percent}", "Veroeffentlichung": "{release_date}", "UploadDatum": "{added_date}", "AbspielDatum": "{last_viewed_date}", "Kategorie": "{genres}", "Regisseur": "{directors}", "Drehbuch": "{writers}", "Kollektion": "{collections}", "Darsteller": "{actors:[:30]}", "Folge": "{episode_num}", "Staffel": "{season_num}" }, "video": { "container": "{container}", "bitrate": "{bitrate}", "aspect_ratio": "{aspect_ratio}", "video_codec": "{video_codec}", "video_codec_level": "{video_codec_level}", "video_bitrate": "{video_bitrate}", "video_bit_depth": "{video_bit_depth}", "video_framerate": "{video_framerate}", "video_ref_frames": "{video_ref_frames}", "video_resolution": "{video_resolution}", "video_height": "{video_height}", "video_width": "{video_width}", "video_language": "{video_language}", "video_language_code": "{video_language_code}" }, "audio": { "audio_bitrate": "{audio_bitrate}", "audio_bitrate_mode": "{audio_bitrate_mode}", "audio_codec": "{audio_codec}", "audio_channels": "{audio_channels}", "audio_channel_layout": "{audio_channel_layout}", "audio_sample_rate": "{audio_sample_rate}", "audio_language": "{audio_language}", "audio_language_code": "{audio_language_code}" }, "subtitles": { "subtitle_codec": "{subtitle_codec}", "subtitle_container": "{subtitle_container}", "subtitle_format": "{subtitle_format}", "subtitle_forced": "{subtitle_forced}", "subtitle_location": "{subtitle_location}", "subtitle_language": "{subtitle_language}", "subtitle_language_code": "{subtitle_language_code}" }, "file": { "path": "{file}", "name": "{filename}", "size": "{file_size}" }, "transcoding": { "transcode_decision": "{transcode_decision}", "video_decision": "{video_decision}", "audio_decision": "{audio_decision}", "subtitle_decision": "{subtitle_decision}", "transcode_container": "{transcode_container}", "transcode_video_codec": "{transcode_video_codec}", "transcode_video_width": "{transcode_video_width}", "transcode_video_height": "{transcode_video_height}", "transcode_audio_codec": "{transcode_audio_codec}", "transcode_audio_channels": "{transcode_audio_channels}", "transcode_hw_requested": "{transcode_hw_requested}", "transcode_hw_decoding": "{transcode_hw_decoding}", "transcode_hw_decode": "{transcode_hw_decode}", "transcode_hw_decode_title": "{transcode_hw_decode_title}", "transcode_hw_encoding": "{transcode_hw_encoding}", "transcode_hw_encode": "{transcode_hw_encode}", "transcode_hw_encode_title": "{transcode_hw_encode_title}" }, "stream": { "user": { "streams": "{streams}", "user_streams": "{user_streams}", "name": "{user}", "user": "{username}", "email": "{user_email}" }, "player": { "device": "{device}", "platform": "{platform}", "product": "{product}", "player": "{player}", "ip_address": "{ip_address}" }, "quality_profile": "{quality_profile}", "optimized_version": "{optimized_version}", "optimized_version_profile": "{optimized_version_profile}", "synced_version": "{synced_version}", "live": "{live}", "stream_local": "{stream_local}", "stream_location": "{stream_location}", "stream_bandwidth": "{stream_bandwidth}", "stream_container": "{stream_container}", "stream_bitrate": "{stream_bitrate}", "stream_aspect_ratio": "{stream_aspect_ratio}", "stream_duration": "{stream_duration}", "stream_time": "{stream_time}", "remaining_duration": "{remaining_duration}", "remaining_time": "{remaining_time}", "progress_duration": "{progress_duration}", "progress_time": "{progress_time}", "progress_percent": "{progress_percent}", "stream_video": { "stream_video_codec": "{stream_video_codec}", "stream_video_codec_level": "{stream_video_codec_level}", "stream_video_bitrate": "{stream_video_bitrate}", "stream_video_bit_depth": "{stream_video_bit_depth}", "stream_video_framerate": "{stream_video_framerate}", "stream_video_ref_frames": "{stream_video_ref_frames}", "stream_video_resolution": "{stream_video_resolution}", "stream_video_height": "{stream_video_height}", "stream_video_width": "{stream_video_width}", "stream_video_language": "{stream_video_language}", "stream_video_language_code": "{stream_video_language_code}" }, "stream_audio": { "stream_audio_bitrate": "{stream_audio_bitrate}", "stream_audio_bitrate_mode": "{stream_audio_bitrate_mode}", "stream_audio_codec": "{stream_audio_codec}", "stream_audio_channels": "{stream_audio_channels}", "stream_audio_channel_layout": "{stream_audio_channel_layout}", "stream_audio_sample_rate": "{stream_audio_sample_rate}", "stream_audio_language": "{stream_audio_language}", "stream_audio_language_code": "{stream_audio_language_code}" }, "stream_subtitle": { "stream_subtitle_codec": "{stream_subtitle_codec}", "stream_subtitle_container": "{stream_subtitle_container}", "stream_subtitle_format": "{stream_subtitle_format}", "stream_subtitle_forced": "{stream_subtitle_forced}", "stream_subtitle_language": "{stream_subtitle_language}", "stream_subtitle_language_code": "{stream_subtitle_language_code}", "stream_subtitle_location": "{stream_subtitle_location}" } } } }Error triggering playback action -stepBack- on player
Dazu muß ich noch mehr fragen stellen. Was normal ist:
Der Error ist kein Fehler, sondern kann ein Fehler sein
Wenn der Player (also dein Android Gerät)
- nicht an
- aktiv
- die App nicht gestartet ist
kommt es auf jeden Fall dazu. Indiz dafür ist, das es manchmal geht und manchmal nicht.
- die App/der Player solange inaktiv war, das der Plex Server die Verbindung beendet hat.(Da könnte es doch gehen... weiß es aber nicht genau)
- wenn du nicht kürzlich eine Wiedergabe(hier beliebiges Ereignis einfügen) hast
Da passiert einfach nichts
Da könnte man noch drüber sprechen, ob der Adapter vielleicht den letzten key nutzt um diesen zu starten.
Wenn das alles nicht zutrifft: Bitte das ganze mit Debug wiederholen und die url im Browser testen.
Bei mir geht es.
-
was steht in dem Datenpunkt
plex.0._playing.android-x.Metadata.MoodIch hab den nicht und der kommt auch scheinbar nicht durch tautulli.@ticaki sagte in Test Adapter Plex v1.0.x:
was steht in dem Datenpunkt
plex.0._playing.android-x.Metadata.MoodIch hab den nicht und der kommt auch scheinbar nicht durch tautulli.{ "common": { "name": "Mood Information", "write": false }, "type": "channel", "native": {}, "from": "system.adapter.plex.0", "user": "system.user.admin", "ts": 1693819603519, "_id": "plex.0._playing.android-1810d7e1-7f53-4d2e-8a9e-218e85d27f5f.Metadata.Mood", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
