Integración externa - Plex

¡Hola a todos! :waving_hand:

Les comparto una nueva integración externa que acabo de publicar: Plex, para conectar su servidor Plex a Gladys. Si, como yo, tiene un NAS con Plex y soñaba con conectar sus reproducciones a sus automatizaciones, ¡ahora es posible! :slightly_smiling_face:

¿Qué hace?

Un dispositivo « servidor » con sensores de supervisión:

  • :bar_chart: número de flujos activos y sesiones en transcodificación
  • :satellite_antenna: ancho de banda de streaming (kbps)
  • :television: un texto « en reproducción » que resume quién está viendo qué
  • :card_index_dividers: un contador por biblioteca: películas, series (+ episodios), música (+ pistas) — desactivable si no lo desea

Un dispositivo por reproductor Plex (app TV, teléfono, etc.):

  • :play_button: los controles: reproducir, pausa, detener, anterior, siguiente, avance/retroceso rápido, volumen, silencio
  • :musical_note: el estado de reproducción, compatible con el widget Música del tablero de control
  • :label: el título actual (Serie S01E02 - Episodio, Artista - Título, Película (año)) y el tiempo restante
  • :sparkles: mis favoritos: dos sensores binarios « en el intro » y « en los créditos finales », basados en los marcadores detectados por Plex!

Este último punto abre escenarios interesantes:

Cuando los créditos comienzan en la sala de estar → encender las luces :light_bulb:
Cuando una reproducción comienza después de las 22 h → atenuar al 20 %
Un botón « pausa general » a la hora de la cena :spaghetti:

Los estados se actualizan en unos segundos: la integración escucha el flujo en tiempo real del servidor Plex (WebSocket), con una consulta de respaldo configurable. Los reproductores se descubren automáticamente, incluso al vuelo tan pronto como un dispositivo inicia una reproducción.

Instalación

  1. En Gladys: Integraciones → categoría Multimedia → Plex (el tiempo que el indexador de la tienda pase, también puede instalar a través de la URL del repositorio)
  2. Ingrese la URL de su servidor (http://ip-del-nas:32400) y su X-Plex-Token (cómo encontrarlo)
  3. Botón « Probar conexión », luego pestaña Descubrimiento → agregue sus dispositivos, ¡eso es todo :white_check_mark:

Un pequeño detalle importante: para controlar un teléfono/tableta, no olvide activar « Anunciarse como reproductor » en la app Plex correspondiente. De lo contrario, solo funciona el botón Detener (corta la sesión en el servidor).

Bajo el capó

Es una versión 1.0.0: probada en mi casa (NAS + SHIELD + móviles), pero cuento con ustedes para llevarla al límite :grinning_face_with_smiling_eyes: Los comentarios, ideas y PR son bienvenidos — díganme qué les falta (inicio de un medio específico? sensores adicionales?).

¡Buena lectura… de películas! :popcorn:

¡Hola!

¡Gracias por esta integración! Fuiste más rápido que yo para el lanzamiento, tenía una versión en prueba pero aún no estaba satisfecho :zany_face:

Tengo un retorno de información, pero no logro controlar la música de Plexamp en el iPad (nada en absoluto). Nada explícito en los registros:

[2026-08-16T05:26:02.094Z] [INFO] onConfigUpdated -> nueva configuración recibida
[2026-08-16T05:26:02.103Z] [INFO] [plex-monitor] Conectado al servidor Plex "gladys" (v1.43.3.10861-07dfddaeb)
[2026-08-16T05:26:02.411Z] [INFO] [plex-notifications] Conectado al socket de notificaciones de Plex
[2026-08-16T05:26:04.920Z] [INFO] [plex-monitor] Conectado al servidor Plex "gladys" (v1.43.3.10861-07dfddaeb)
[2026-08-16T05:26:18.383Z] [INFO] onDeviceCreated <- ext:ext-guim31-gladys-plex:server:2b588884a92967f7f95cb7f55784f2dd5468ac73
[2026-08-16T05:32:58.442Z] [INFO] [plex-monitor] Nuevo reproductor de Plex descubierto: iPad
[2026-08-16T05:33:54.106Z] [INFO] onScanRequest -> publicando 2 dispositivos
[2026-08-16T05:33:57.652Z] [INFO] onDeviceCreated <- ext:ext-guim31-gladys-plex:player:b8474c9e-6b33-454e-8594-14ba25f9babd
[2026-08-16T05:35:44.327Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:b8474c9e-6b33-454e-8594-14ba25f9babd:pause = 1
[2026-08-16T05:36:05.254Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:b8474c9e-6b33-454e-8594-14ba25f9babd:play = 1
[2026-08-16T05:36:06.530Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:b8474c9e-6b33-454e-8594-14ba25f9babd:previous = 1
[2026-08-16T05:36:21.819Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:b8474c9e-6b33-454e-8594-14ba25f9babd:next = 1
[2026-08-16T05:36:36.768Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:b8474c9e-6b33-454e-8594-14ba25f9babd:stop = 1
[2026-08-16T05:36:47.420Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:b8474c9e-6b33-454e-8594-14ba25f9babd:forward = 1
[2026-08-16T05:36:50.634Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:b8474c9e-6b33-454e-8594-14ba25f9babd:mute = 1
[2026-08-16T05:36:52.369Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:b8474c9e-6b33-454e-8594-14ba25f9babd:rewind = 1

Me gustaría que le pidieras a tu ‹ nuevo amigo › que añada el uso de webhooks (tengo Plex Pass y GladysPlus) porque permite no esperar el sondeo de 10 segundos.

Edición: uso Plexamp para la música. ¿Tal vez el seguimiento viene de ahí?

No la veo en la tienda, lamentablemente :man_shrugging:
Pero espero su integración

¡Vaya! No hemos comunicado bien… :sweat_smile:
Quizás tu versión esté más pulida.

Voy a mirar por Plexamp, soy tonta, lo tengo en mi teléfono pero se me olvidó probarlo porque ya no lo uso.

Le comento a mi técnico y te digo algo :+1:

¡Uy! No lo había indexado. ¡Ya está hecho, aparecerá como máximo en 1 hora!

A mi turno de estar contento :slight_smile:

Es una integración que esperaba :slight_smile:

Actualmente tengo un problema con el cliente de plex chrome (aún no he probado la TV) :

no sé por qué tengo sin valor reciente en lugar de push button.

Los push button no responden a excepción del stop, el volumen tampoco parece funcionar :slight_smile:

Y no juzgamos el medio, es para mi hija :eyes: :stuck_out_tongue:

log :

[2026-08-16T10:04:00.117Z] [INFO] Iniciando la integración de Plex...
[2026-08-16T10:04:00.307Z] [INFO] [gladys-sdk] conectado a Gladys (http://172.30.0.1:8455)
[2026-08-16T10:04:00.322Z] [INFO] Esperando la configuración de Plex (URL + token)
[2026-08-16T10:10:22.832Z] [INFO] onConfigUpdated -> nueva configuración recibida
[2026-08-16T10:10:22.832Z] [INFO] Esperando la configuración de Plex (URL + token)
[2026-08-16T10:11:13.870Z] [INFO] onConfigUpdated -> nueva configuración recibida
[2026-08-16T10:11:13.907Z] [INFO] [plex-monitor] Conectado al servidor Plex "DiskStation" (v1.43.2.10687-563d026ea)
[2026-08-16T10:11:14.437Z] [INFO] [plex-notifications] Conectado al socket de notificaciones de Plex
[2026-08-16T10:11:20.384Z] [INFO] onConfigUpdated -> nueva configuración recibida
[2026-08-16T10:11:20.391Z] [INFO] [plex-monitor] Conectado al servidor Plex "DiskStation" (v1.43.2.10687-563d026ea)
[2026-08-16T10:11:20.566Z] [INFO] [plex-notifications] Conectado al socket de notificaciones de Plex
[2026-08-16T10:11:21.853Z] [INFO] [plex-monitor] Conectado al servidor Plex "DiskStation" (v1.43.2.10687-563d026ea)
[2026-08-16T10:11:41.734Z] [INFO] onDeviceCreated <- ext:ext-guim31-gladys-plex:server:a8058595a4bb5a3537614ec74ebdf3c644e8d14e
[2026-08-16T11:39:01.060Z] [INFO] [plex-monitor] Nuevo reproductor de Plex descubierto: Chrome
[2026-08-16T11:40:14.880Z] [INFO] onDeviceCreated <- ext:ext-guim31-gladys-plex:player:ed9ht57db2wn25la3vfyjnpo
[2026-08-16T11:41:30.401Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:ed9ht57db2wn25la3vfyjnpo:volume = 22
[2026-08-16T11:41:31.140Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:ed9ht57db2wn25la3vfyjnpo:volume = 11
[2026-08-16T11:41:41.139Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:ed9ht57db2wn25la3vfyjnpo:volume = 0
[2026-08-16T11:41:42.369Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:ed9ht57db2wn25la3vfyjnpo:volume = 7
[2026-08-16T11:41:43.282Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:ed9ht57db2wn25la3vfyjnpo:volume = 0
[2026-08-16T11:41:54.712Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:ed9ht57db2wn25la3vfyjnpo:mute = 1
[2026-08-16T11:41:57.426Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:ed9ht57db2wn25la3vfyjnpo:mute = 1
[2026-08-16T11:42:11.046Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:ed9ht57db2wn25la3vfyjnpo:stop = 1
[2026-08-16T11:42:11.066Z] [INFO] [plex-monitor] Sesión de ed9ht57db2wn25la3vfyjnpo terminada por el servidor (stop fallback)
[2026-08-16T11:42:33.547Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:ed9ht57db2wn25la3vfyjnpo:mute = 1

ps : Probado en android a través de la aplicación mismo problema :frowning:

Gracias a los dos por los comentarios ultra detallados, y sobre todo por los registros :folded_hands:. Han permitido encontrar al culpable en dos minutos. La v1.0.1 está disponible, corrige todo esto.

Lo que fallaba

Para saber si un reproductor es controlable, me fiaba del endpoint /clients del servidor. Error de principiante: es el antiguo mecanismo de descubrimiento (GDM), y está vacío en la mayoría de los servidores modernos — las aplicaciones Plex ya no se anuncian allí. Resultado: Plexamp en iPad, Plex Web en Chrome y compañía eran rechazados incluso antes de que se intentara enviar un comando. De ahí «ningún botón responde».

Y si Stop funcionaba, es una feliz casualidad: era el único que tenía un plan B (cortar la sesión del lado del servidor), que sigue funcionando :sweat_smile:

Lo que cambia en 1.0.1

  • :video_game: Los comandos ahora se envían realmente, y es la respuesta del servidor la que decide. Si Plex rechaza, tienes un error explícito en Gladys en lugar de un botón muerto — y Stop mantiene su plan B.
  • :muted_speaker: El botón de silencio finalmente funciona como un interruptor. Gladys lo muestra como un botón de presión (siempre envía « 1 »), por lo que mi código solo sabía silenciar, nunca restaurar el sonido. @spenceur ¡eso explica tus mute = 1 en bucle en los registros!
  • :repeat_button: No hay más inicialización doble. Tus dos registros mostraban « Connected to Plex server » dos veces: guardar la configuración mientras la conexión comenzaba iniciaba un segundo bucle de polling y un segundo WebSocket. Corregido.
  • :clipboard: Los registros ahora indican el resultado de cada comando y advierten cuando un reproductor no anuncia la capacidad playback.

@GBoulvin — para los webhooks: buena noticia, ¡no necesitas Plex Pass aquí! La integración ya escucha el WebSocket en tiempo real del servidor (/:/websockets/notifications), por lo que los cambios de reproducción/pausa/stop se reportan en menos de un segundo. El polling de 10 s solo es una red de seguridad si el socket cae. Si aún ves latencia en Plexamp, dime con un registro en LOG_LEVEL=debug, me interesa. Y curioso de saber si el control de Plexamp responde en 1.0.1 :crossed_fingers:

@spenceur — dime si tus botones responden ahora. Si Plex sigue rechazando algunos comandos, el error mostrado en Gladys me dirá exactamente qué investigar. Y si puedes especificar qué se mostraba « en lugar del botón de presión », lo reviso.

Sin cambios para mí :slight_smile:

[2026-08-16T14:13:24.558Z] [INFO] Iniciando la integración de Plex...
[2026-08-16T14:13:24.870Z] [INFO] [gladys-sdk] conectado a Gladys (http://172.30.0.1:8455)
[2026-08-16T14:13:24.898Z] [INFO] [plex-monitor] Conectado al servidor Plex "DiskStation" (v1.43.2.10687-563d026ea)
[2026-08-16T14:13:25.353Z] [INFO] [plex-notifications] Conectado al socket de notificaciones de Plex
[2026-08-16T16:27:40.274Z] [INFO] [plex-monitor] Nuevo reproductor de Plex descubierto: S26 Ultra de 
[2026-08-16T16:27:59.153Z] [INFO] onDeviceCreated <- ext:ext-guim31-gladys-plex:player:cxus6yubstmxb3mw0sr8if7b
[2026-08-16T16:30:35.319Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:cxus6yubstmxb3mw0sr8if7b:mute = 1
[2026-08-16T16:30:35.320Z] [WARN] [plex-monitor] El reproductor cxus6yubstmxb3mw0sr8if7b no anuncia la capacidad de "reproducción"; intentándolo de todos modos (habilita "Anunciar como reproductor" en su aplicación de Plex si no pasa nada)
[2026-08-16T16:30:42.329Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:cxus6yubstmxb3mw0sr8if7b:volume = 21
[2026-08-16T16:30:42.329Z] [WARN] [plex-monitor] El reproductor cxus6yubstmxb3mw0sr8if7b no anuncia la capacidad de "reproducción"; intentándolo de todos modos (habilita "Anunciar como reproductor" en su aplicación de Plex si no pasa nada)
[2026-08-16T16:30:45.383Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:cxus6yubstmxb3mw0sr8if7b:volume = 76
[2026-08-16T16:30:45.383Z] [WARN] [plex-monitor] El reproductor cxus6yubstmxb3mw0sr8if7b no anuncia la capacidad de "reproducción"; intentándolo de todos modos (habilita "Anunciar como reproductor" en su aplicación de Plex si no pasa nada)
[2026-08-16T16:30:50.571Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:cxus6yubstmxb3mw0sr8if7b:volume = 37
[2026-08-16T16:30:50.571Z] [WARN] [plex-monitor] El reproductor cxus6yubstmxb3mw0sr8if7b no anuncia la capacidad de "reproducción"; intentándolo de todos modos (habilita "Anunciar como reproductor" en su aplicación de Plex si no pasa nada)
[2026-08-16T16:30:51.264Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:cxus6yubstmxb3mw0sr8if7b:volume = 5
[2026-08-16T16:30:51.264Z] [WARN] [plex-monitor] El reproductor cxus6yubstmxb3mw0sr8if7b no anuncia la capacidad de "reproducción"; intentándolo de todos modos (habilita "Anunciar como reproductor" en su aplicación de Plex si no pasa nada)
[2026-08-16T16:30:57.906Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:cxus6yubstmxb3mw0sr8if7b:rewind = 1
[2026-08-16T16:30:57.907Z] [WARN] [plex-monitor] El reproductor cxus6yubstmxb3mw0sr8if7b no anuncia la capacidad de "reproducción"; intentándolo de todos modos (habilita "Anunciar como reproductor" en su aplicación de Plex si no pasa nada)
[2026-08-16T16:31:00.900Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:cxus6yubstmxb3mw0sr8if7b:forward = 1
[2026-08-16T16:31:00.900Z] [WARN] [plex-monitor] El reproductor cxus6yubstmxb3mw0sr8if7b no anuncia la capacidad de "reproducción"; intentándolo de todos modos (habilita "Anunciar como reproductor" en su aplicación de Plex si no pasa nada)
[2026-08-16T16:31:04.059Z] [INFO] onSetValue <- ext:ext-guim31-gladys-plex:player:cxus6yubstmxb3mw0sr8if7b:stop = 1
[2026-08-16T16:31:04.060Z] [WARN] [plex-monitor] El reproductor cxus6yubstmxb3mw0sr8if7b no anuncia la capacidad de "reproducción"; intentándolo de todos modos (habilita "Anunciar como reproductor" en su aplicación de Plex si no pasa nada)
[2026-08-16T16:31:04.100Z] [INFO] [plex-monitor] Sesión de cxus6yubstmxb3mw0sr8if7b terminada por el servidor (detención de respaldo)

Si entiendo bien, debo activar la opción, pero en mi aplicación la opción ya no está presente
https://www.reddit.com/r/PleX/s/cr6JZf9XlE

Plex v1.0.3 — gracias por los registros, ha cambiado mucho :rocket:

Hola a todos :waving_hand:

Gran sesión de correcciones desde el lanzamiento de la integración de Plex, casi en su totalidad gracias a @GBoulvin y @spenceur que me enviaron registros de oro :folded_hands:. Pasamos de la 1.0.0 a la 1.0.3. Pequeña recapitulación de lo que ha cambiado.

El gran cambio: el control de los reproductores

El síntoma que ambos tenían: ningún botón respondía, excepto Detener.

Dos errores por mi parte:

  1. Para saber si un reproductor era controlable, me basaba en el endpoint /clients del servidor Plex. Es el antiguo mecanismo de descubrimiento (GDM), y está vacío en la mayoría de los servidores modernos. Resultado: Plexamp, Plex Web y las aplicaciones móviles eran rechazadas incluso antes de que se enviara un comando.
  2. Una vez eliminado este bloqueo, los comandos finalmente se enviaban… pero el servidor Plex se negaba a reenviarlos a estos reproductores. Fue un registro de @spenceur el que lo demostró: 41 ms entre el comando y la caída a Detener, por lo que el fracaso fue inmediato. Siempre golpeaba la única puerta cerrada :person_facepalming:

Qué hace la 1.0.3: la integración ahora intenta dos caminos antes de rendirse — a través del servidor (que funciona para las aplicaciones de TV, cajas y consolas), luego directamente al reproductor en su dirección local, el camino que usa Plex cuando « castea ». El camino que responde se memoriza, por lo que los comandos siguientes van al lugar correcto desde el primer intento.

Otras correcciones

  • :muted_speaker: El botón de silencio finalmente funciona como interruptor. Gladys lo muestra como un botón de presión (que siempre envía « 1 »): mi código solo sabía cómo silenciar el sonido, nunca cómo restaurarlo.
  • :bar_chart: Los sensores se llenan tan pronto como se agrega un dispositivo. Antes, los valores publicados antes del clic en « Agregar a Gladys » se perdían, y mi deduplicación nunca los devolvía. De ahí los persistentes « Sin valor reciente ».
  • :repeat_button: Sin inicialización doble. Guardar la configuración mientras la conexión comenzaba iniciaba un segundo ciclo de polling y un segundo WebSocket (visible en sus registros con el « Connected to Plex server » duplicado).
  • :stethoscope: Los registros son mucho más habladores en caso de fallo: enumeran el error de cada camino intentado.

Una palabra sobre el método :robot:

Para los que les interese: la integración se escribió con Claude Opus 5, luego hice que Claude Fable 5 pasara por todo el código dándole sus comentarios como contexto. Y honestamente, valió la pena — encontró cuatro cosas que el primer pase había dejado pasar:

  • la ruta directa usaba el puerto predeterminado (32500) cuando /clients proporciona el puerto exacto del reproductor, y las aplicaciones de TV a menudo escuchan en 3005;
  • para un stream visto fuera del hogar, intentábamos contactar una dirección pública — solicitud innecesaria y 2 segundos perdidos en el presupuesto del comando;
  • en el peor de los casos, la cadena « intento servidor → intento directo → caída Detener » podía superar los 5 segundos que Gladys concede al acuse de recibo de un comando: el Detener funcionaba pero se mostraba como fallido;
  • la ruta memorizada nunca se olvidaba en caso de fallo.

Dos IA, dos puntos de vista, y un código más sólido. Todo cubierto por 53 pruebas unitarias ahora :grinning_face_with_smiling_eyes:

:warning: El límite que no podemos evitar

Séamos honestos: una aplicación Plex solo acepta el control remoto si se anuncia como reproductor. Sin este ajuste, literalmente no escucha ningún comando — ni siquiera la aplicación oficial de Plex puede controlarla.

  • :white_check_mark: TV / caja / consola: activado por defecto, todo funciona.
  • :warning: Móvil, Plexamp, Plex Web: debe activarse manualmente, generalmente en Ajustes → Control remoto → « Anunciarse como reproductor ».

Los sensores (título actual, estado de reproducción, tiempo restante, intro/générico), sin embargo, funcionan en todos los reproductores sin importar.

¿Y ahora?

Gladys debería ofrecerles la 1.0.3 directamente. Si el control aún falla en su caso, envíeme la línea Command ... failed on every route -> ... de sus registros: me dirá exactamente dónde está el problema (rechazo del servidor, reproductor inalcanzable, puerto cerrado…).

Gracias de nuevo, sigan rompiendo mi integración, la hace mejor :popcorn:

:backhand_index_pointing_right: GitHub - guim31/gladys-plex · GitHub

Lo reviso mañana en mi tv para ver :slight_smile:
Buen trabajo

Yo no he hecho nada más o menos, eh ^^ :wink:

:clapper_board: Plex v1.1.0 — disparadores de escena y widgets

¡Hola a todos! :waving_hand:

Gladys 5.1 ahora permite que las integraciones externas propongan sus propios disparadores de escena y sus propios widgets de panel de control. ¡La integración de Plex se beneficia de esto!

:warning: Esta versión requiere Gladys 5.1 como mínimo: actualice Gladys primero.

:bullseye: Cuatro disparadores de escena

  • Reproducción iniciada (incluyendo cuando se pasa al siguiente episodio o pista)
  • Reproducción en pausa
  • Reproducción reanudada
  • Reproducción detenida

Cada uno se filtra por reproductor y por tipo de medio (película, episodio, música, TV en vivo…). Hasta ahora, ya podíamos reaccionar al «estado de reproducción» de un reproductor, pero no distinguía una pausa de un stop, ni una película de una canción. Ahora sí:

:clapper_board: Una película comienza en la TV del salón → luces atenuadas al 20 %
:pause_button: Pausa en el mismo reproductor → se encienden
:musical_note: Música comienza → las luces no se mueven :grinning_face_with_smiling_eyes:

Las acciones de la escena tienen acceso al título, a la serie, al tipo de medio, al usuario y al reproductor. Por ejemplo, un mensaje « {{triggerEvent.data.user}} está viendo {{triggerEvent.data.title}} ».

:framed_picture: Tres widgets

  • En reproducción: quién está viendo qué, en qué reproductor, con los pósters y un distintivo Reproducción / Pausa / Transcodificación.
    Reproductor: la reproducción en curso en el control remoto, con la imagen de fondo de la película (o la portada del álbum), el título, el estado, el tiempo restante en vivo y los botones Pausa/Reproducción, Stop, Siguiente. Deje la configuración vacía para que siga automáticamente lo que está en curso, o elija un reproductor específico.
  • Últimos añadidos: una cuadrícula de pósters de películas, temporadas y álbumes añadidos recientemente, con un enlace para abrirlos en Plex.

Las imágenes son redimensionadas por su servidor Plex y servidas por la integración: el navegador nunca contacta a Plex, y su token se queda en casa.

:counterclockwise_arrows_button: Actualización

Gladys propone la actualización en Integraciones. Sus dispositivos y sus escenas no cambian. Solo queda añadir los widgets en su panel de control y probar los nuevos disparadores en el editor de escenas.

Código y documentación: GitHub - guim31/gladys-plex · GitHub

Como siempre, sus comentarios son bienvenidos.

¿Hay forma de tener un lector y un selector de películas entre la colección? :smiley:

Gracias por el trabajo :flexed_biceps:

No, no se hace directamente en Gladys: los widgets del panel de control están intencionalmente limitados a texto, imágenes y botones, sin reproductor de video ni página web integrada. Es una elección de Gladys, no una limitación de la integración.

Lo que se puede hacer, en cambio:

  • ver en el navegador con un clic: en el widget « Últimos añadidos », un cartel abre el detalle con un enlace « Abrir en Plex » que lanza la película en Plex Web (del lado de Jellyfin, el enlace aparece si el servidor está en https);
  • iniciar la reproducción en una TV desde Gladys: ya es posible con Jellyfin con la acción de escena « Reproducir un medio », y estoy pensando en un widget para elegir una película y lanzarla en la TV, tanto para Plex como para Jellyfin.