NEWS
Test Adapter Plex v1.1.x
-
@ticaki said in Test Adapter Plex v1.0.x:
Hast du hier:
die oberen 4 Playback * konfiguriert?
{ "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", "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}" } } } }
Das steht bei mir, bei jeden den obigen 4 Playback Punkten:
{ "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", "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}" } } } }
-
@sidm sagte in Test Adapter Plex v1.0.x:
Ich habe auch immer noch bei Play/Pause die Meldung:
plex.0 2023-09-10 13:25:11.664 warn Empty payload received from tautulli! Please go to tautulli and configure payload!
Dabei gehts hier rum. Welche Trigger sind aktiviert?
Zu dem anderen... vielleicht liegt es an Docker. Mein Plex Serer läuft in einem Proxmox LXC. Soweit ich das sehe, melden sich die Player nicht richtig am Server an.
-
@ticaki said in Test Adapter Plex v1.0.x:
Dabei gehts hier rum. Welche Trigger sind aktiviert?
Ich glaub ich verstehe... zusätzlich habe ich noch
-Playback Error und
-Transcode Decision Changeaktiviert (keine Ahnung warum?), aber unter Data steht bei diesen beiden nichts unter JSON Data.
soll ich diese mal deaktivieren?diese sind auch noch aktiviert: (frag mich nicht warum, ist schon zu lange her )
- Watched
- Buffer Warning
- User Concurrent Streams
- User New Device
- Recently Added
- Plex Server Down
- Plex Server Back Up
- Plex Remote Access Down
- Plex Remote Access Back Up
- Plex Update Available
- Tautulli Update Available
- Tautulli Database Corruption
-
@sidm
Ja, ohne Daten kommt ein empty payloadzu dem anderen:
Du könntest ja mal versuchen:
http://GeräteIP:32500/player/playback/pause? http://GeräteIP:32500/player/playback/play?
im Browser aufzurufen.
Ist der Port bei all meinen Geräten und auch bei sigi, keine Ahnung ob der immer so ist.
-
ich muss leider erstmal los....
melde mich später wieder bei dir. Vielen Dank schonmal für deine großartige und schnelle Hilfe, bin so Dankbar, dass du den Adapter weiterhin pflegst -
@sidm
Wenn der obrige Test so verläuft das du das steuern kannst, bekomme ich das wohl hoffentlich auch zum laufen, wird nur davon abhängen wie gut du testest -
@sigi234 sagte in Test Adapter Plex v1.0.x:
@ticaki sagte in Test Adapter Plex v1.0.x:
Zum Liedtext: Ich kann das nicht in Text konvertieren. Das musst du in Vis machen.
Und wie?
kannst hier mit was anfangen?
[ "We're talking away", "I don't know what I'm to say", "I'll say it anyway", "Today is another day to find you", "Shyin' away", "Oh, I'll be comin' for your love, okay", "Take on me", "(Take on me)", "Take me on", "(Take on me)", "I'll be gone", "In a day or two", "So needless to say", "I'm odds and ends", "But I'll be stumblin' away", "Slowly learnin' that life is okay", "Say after me", "It's no better to be safe than sorry", "Take on me", "(Take on me)", "Take me on", "(Take on me)", "I'll be gone", "In a day or two", "All the things that you say, yeah", "Is it life or just to play my worries away?", "You're all the things I've got to remember", "You're shyin' away", "I'll be comin' for you anyway", "Take on me", "(Take on me)", "Take me on", "(Take on me)", "I'll be gone", "In a day", "(Take on me)", "(Take on me)", "(Take me on)", "(Take on me)", "I'll be gone", "(Take on me)", "In a day", "(Take me on)", "(Take on me)", "(Take on me)", "(Take on me)", "(Take me on)", "(Take on me)" ]
-
@ticaki sagte in Test Adapter Plex v1.0.x:
https://share.icloud.com/photos/04aEPzqQMYm3o2Aq9CloFeUuA
ist auch ein kurzes Video - das geht aber nicht mit jedem Liedtext dann bleibt das Feld leer.
Github version ist hochgeladenDenke ich bin dann mit den Funktionen durch.
-
@ticaki said in Test Adapter Plex v1.0.x:
@sidm
Ja, ohne Daten kommt ein empty payloadzu dem anderen:
Du könntest ja mal versuchen:
http://GeräteIP:32500/player/playback/pause? http://GeräteIP:32500/player/playback/play?
im Browser aufzurufen.
Ist der Port bei all meinen Geräten und auch bei sigi, keine Ahnung ob der immer so ist.
So da bin ich wieder. Bei beiden aufrufen kommt bei mir im Browser:
HTTP Error 400: Error processing player command [kRemoteControlRouterErrorDomain] Header 'X-Plex-Target-Client-Identifier' not found (1)
-
http://GeräteIP:32500/player/playback/pause?X-Plex-Target-Client-Identifier= http://GeräteIP:32500/player/playback/play?X-Plex-Target-Client-Identifier=
und dann die Player uuid oder machineIdentifier, der sollte von Tautulli in die Metadata.Player geschrieben werden
plex.0._playing.ipad-ist die Zeichenfolge hier.Metadata.Player.uuid
-
-
@sidm
Dann schaue ich mal wie ich den Sonderfall da rein hacke... Ach und sigi muß den X-Plex... nicht angeben um Kommandos auszuführen.Bin gerade die Liedtexte am fixen... meine Änderungen sind verschwunden und jetzt weiß ich nicht mehr was schon drin ist und was fehlt
-
@ticaki said in Test Adapter Plex v1.0.x:
@sidm
Dann schaue ich mal wie ich den Sonderfall da rein hacke... Ach und sigi muß den X-Plex... nicht angeben um Kommandos auszuführen.Bin gerade die Liedtexte am fixen... meine Änderungen sind verschwunden und jetzt weiß ich nicht mehr was schon drin ist und was fehlt
Suppi! Danke dir, mach dir aber bitte kein Stress. Schon komisch dass es da so unterschiede gibt, aber bei sigi war es ja auch kein AppleTV sondern nen Android Gerät wenn ich richtig geschaut habe.
Aber du benötigst ja das zusätzliche Attribut "X-Plex-Target-Client-Identifier=" auch nicht oder?Ach und noch etwas:
Mit der UUID unter plex.0._playing.apple tv-xxxxx.Player.uuid funktioniert es nicht.
Ich habe die UUID genommen die im Log stehtReceived events playload - media.pause - from tautulli: {"event":"media.pause","user":"undefined","owner":"undefined","Account":
diese Unterscheiden sich nämlich.
-
@sidm
Ich baue das so das ich mir die Daten überall her hole und wenns reicht wird pro event 3 mal versucht eine Verbindung aufzubauen. Die 3 mal sind so schon fix drin, weil der Player kann auch sonst wo sein und das geht nur lokal. Kanns halt nur nicht testen. -
@ticaki
Die Message verstehe ich leider nicht
Meinst du damit dass die Daten nur lokal vernünftig abzugreifen sind oder dass aufgrund der 3 Versuche eine Verbindung aufzubauen es auch Remote funktioniert.Falls das nämlich noch wichtig ist. Sowohl das iPad als auch der Apple TV sind nur über den VPN zwischen zwei Routern mit den Plexserver verbunden. Sorry, hätt ich vielleicht noch erwähnen sollen.
-
ok dann mal was einfacheres
füge folgende Daten in die Datenpunkte als Experte ein und starte den Adapter dann neu:
plex.0._playing.ipad-x.Player.protocolCapabilities
playback,playqueues,timeline,provider-playback
plex.0._playing.ipad-x.Player.localAddress
die ip des Geräts
plex.0._playing.ipad-x.Player.port
32500
plex.0._playing.ipad-x.Player.uuid
die uuid des geräts
wenns nicht geht, baue ich den Code um das es geht, dass ist sauberer.
Wenn die States nicht existieren erstellen sind alles strings(zeichenketten)
-
diesmal sollte der Lyrics code es bis auf github geschafft haben.
- Genauigkeit hängt von der Auslastung ab - Intern wird in 100ms schritte geupdatet um den richtigen Liedtext in den Datenpunkt zu schreiben.
- 50% untertützen diese Anzeige nicht(bei mir)
- 10% haben keinen Songtext(bei mir)
im Admin
- Konfigurationspunkt zum Einstellen der Aktualsierungsrate... hab vergessen Sekunden da rein zu schreiben Umso häufiger umso genauer ist alles.
- Weiterhin muß man die Player die aktualisiert werden sollen aktivieren.
eine Fehler schon mal gefunden, aber nur unschön, nicht wichtiges.
Fehler soweit:
Error triggering timeline action -refreshDetails- on player iPad-10A88133-3762-4948-AF10-9503A37517AC with ip:192.168.178.32.! See debug log for details! Action not supported!
player.details.controllable wird immer auf true gesetztplayer._controls details.music/video/photo werden immer erstellt
-
@ticaki said in Test Adapter Plex v1.0.x:
ok dann mal was einfacheres
füge folgende Daten in die Datenpunkte als Experte ein und starte den Adapter dann neu:
plex.0._playing.ipad-x.Player.protocolCapabilities
playback,playqueues,timeline,provider-playback
plex.0._playing.ipad-x.Player.localAddress
die ip des Geräts
plex.0._playing.ipad-x.Player.port
32500
plex.0._playing.ipad-x.Player.uuid
die uuid des geräts
wenns nicht geht, baue ich den Code um das es geht, dass ist sauberer.
Wenn die States nicht existieren erstellen sind alles strings(zeichenketten)
- plex.0._playing.ipad-x.Player.protocolCapabilities war vorhanden und hatte "none" als string stehen
- plex.0._playing.ipad-x.Player.localAddress war vorhanden und hatte die IP des iPad drinnen
- plex.0._playing.ipad-x.Player.port war nicht vorhanden und wurde nachträglich manuell erzeugt
- plex.0._playing.ipad-x.Player.uuid war vorhanden und hatte die richtige UUID stehen
konnte auch einmalig die wiedergabe stoppen/fortsetzen, geht jetzt aber nicht mehr
Log:
warn Error triggering playback action -play- on player iPad-xxxxxx with ip:192.168.178.37.! See debug log for details! Action not supported!
-
@sidm
Das werden wir schon hinbekommen. Wahrscheinlich kamen von irgendwo Daten die deine Eingabe überschrieben haben. Könnte sogar sein dass ich das gerade mit dem upload behoben habe.Mit dieser Version ist es wichtig "Player.controllable" auf true zu setzen. Das wird nicht zurück gesetzt wenn einmal festgestellt wurde das der Player kontrolliert werden kann.
-
@ticaki
Da bin ich auch zuversichtlich. Wenn ich noch etwas testen kann/soll sag einfach bescheid!