Saltar al contenido principal

Integración domótica madVR Envy, gratuita y de código abierto

Integración madVR Envy para Gladys Assistant

madVR Envy video processors on the local network: signal, HDR, profiles, standby.

info

La documentación de esta integración la escribe su autor y, por ahora, solo está disponible en inglés.

Follow and control your madVR Envy video processors (Envy Core, Pro, Extreme) from Gladys, locally, without any cloud: power state, input and output signal (resolution, frame rate, HDR), detected aspect ratio, internal temperatures, power on, standby, power off, profiles, tone mapping and remote keys.

Important. This integration has never been tested with a real device: it was written from the py-madvr2 library (the one of Home Assistant) and tested against a fake Envy only. Your feedback is welcome. Unofficial integration, not affiliated with madVR Labs.

Installation​

  1. Connect the Envy to your network and give it a fixed IP address in your router (reserved DHCP lease).
  2. Turn the Envy on: it listens on the network (TCP port 44077) only when on.
  3. In Gladys, install the madVR Envy integration and accept the Wake-on-LAN permission (Gladys sends the wake packet on your network itself).
  4. Open its configuration and type the IP addresses, separated by commas (for example 192.168.1.60; port 44077 by default, another one as 192.168.1.60:44078).
  5. The Envy appears in the Discovery tab: create it.

The first time, the Envy must be on: the integration reads its MAC address, which identifies it from then on (and is used for Wake-on-LAN); its IP address may change: type the new one.

What you get​

FeatureGladys typeNote
Powerbinary state (read only)1 when the Envy answers, 0 otherwise (off or standby)
Power statustext (read only)On, Off or standby
Power on (Wake-on-LAN)buttonsent only when the Envy does not answer
Standby, Power offbuttonsnever blocked, see below
Input signal, HDR inputbinary states (read only)HDR: HDR10, HLG...
Input resolution, rate, range, color, ARtexts (read only)for example 3840x2160, 23.976p, HDR10, 422 10bit, 16:9
Output resolution, frame rate, rangetexts (read only)
Detected aspect ratio, masking ratiotexts (read only)for example 2.40:1 (Panavision)
GPU, HDMI, CPU, mainboard temperaturesdevice temperature, °Ckept out of the room averages
Activate a profiledropdownSource, Display or Custom profiles 1 to 9
Tone mapping on / offbuttons
Remote keydropdownMenu, arrows, OK, Input, Settings, colors (never Power)

On purpose, no switch: an "everything off" or "everything on" from a voice assistant or a scene never turns your Envy on or off. Use the buttons in your scenes.

Commands​

  • Standby and Power off are the protective commands: they leave at once, without waiting for a read or another command, in a single try. They cancel every command in progress or waiting (Power on and its repeated Wake-on-LAN included): nothing queued leaves after them. When the Envy does not answer:
    • within 2 minutes of a Wake-on-LAN (it may be starting): the command is refused "does not answer yet: Standby will be sent once it answers, nothing sent yet", and the integration sends it once, as soon as the Envy answers in those 2 minutes (a new Power on drops it);
    • otherwise: it succeeds (nothing to send) only when the last read, made within the refresh interval, already found the Envy not answering; else it is refused "does not answer, nothing sent".
  • Power on reads the Envy first: when it answers, nothing is sent; otherwise Gladys sends a Wake-on-LAN packet to its MAC address, then again every 10 seconds for 2 minutes, until it answers. When the read that just ended (5 seconds at most) found it not answering, or its address is unknown, Wake-on-LAN goes at once (only the MAC is needed). When Gladys answers "too many requests", the packet is asked once more 2 seconds later; when Gladys does not answer or fails, the command is reported "Wake-on-LAN maybe sent, without confirmation from Gladys" and the repeats go on.
  • Profile, tone mapping and remote key are sent only when the Envy answers.

Before each command, the integration reads the MAC address of the Envy again: when another Envy answers at that IP address, nothing is sent and the address is forgotten. A MAC address answered but unreadable (or refused with ERROR) does not count as another device: the command goes. A MAC address not answered in time stops a profile, tone mapping or key command ("nothing sent"), but never Standby nor Power off (sent in a new connection). A read whose MAC address is not answered publishes nothing and keeps the known values.

Every command is answered within 4 seconds (Gladys waits 5 seconds). A command that left without a confirmation from the Envy in time is reported "sent, without confirmation"; a command the Envy refused (ERROR) is reported refused; a command that could not leave is reported "nothing sent". The Envy is read again 5 seconds after the last of a series of commands, and not at all when nothing left.

Configuration button​

  • Check the Envy units: reads each Envy when the refresh interval has passed, otherwise shows the last read and when the next one comes.

Refresh, status and limits​

  • Each Envy is read every 30 seconds by default (10 to 300), in one short connection closed at once. Never more often: neither a reconnection to Gladys, a save of an unchanged configuration, the button, nor a restart of the container (the time of the last attempt is kept in /data) reads sooner.
  • An Envy that does not answer shows power 0 and "Off or standby", and is listed in the status of the integration.
  • When another Envy answers at the address of a created one (address changed), that one also shows power 0 and "Off or standby": an assumption (it may be on at its new address), until you type its new address.
  • Gladys admits 300 states per minute per integration: only the values that change are sent, and beyond that, the latest value of each feature waits for the next minute.

Data and privacy​

The integration keeps in /data/madvr.json the known Envy units (MAC address, IP address, port) and the time of the last read. The protocol has no password: no secret is asked nor kept. Nothing leaves your local network.

Known limits​

  • The Envy answers only when on: off or in standby, the integration cannot tell them apart ("Off or standby").
  • The active profile is not read yet; the profiles offered are the numbers 1 to 9 of each group, without their names.
  • No restart, on-screen message or menus yet.
  • Never tested with a real device: the real answers may differ.

Parámetros de configuración​

Estos son los parámetros que madVR Envy te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Your madVR Envy, on your local networksectionNoPower state, input and output signal (resolution, frame rate, HDR), detected aspect ratio, internal temperatures, Power on (Wake-on-LAN), Standby, Power off, profiles, tone mapping and remote keys of each madVR Envy, through the IP control protocol published by madVR Labs (TCP port 44077), without any cloud. Give each Envy a fixed IP address in your router and type it below while it is on; the Envy units then appear in the Discovery tab. Power on, Standby and Power off are buttons, never a switch: an "everything off" never reaches an Envy. Never tested with a real Envy. Unofficial integration, not affiliated with madVR Labs.
IP addresses of the Envy unitsstringNoSeparated by commas, for example 192.168.1.60. Port 44077 by default (another one: 192.168.1.60:44078).
Refresh interval (s)numberNoHow often each Envy is read, in seconds (10 to 300). Never more often, not even after a restart or with the check button.
Wake-on-LAN broadcast address (optional)stringNoOnly if Power on does not wake the Envy: the broadcast address of your network, for example 192.168.1.255. Empty: 255.255.255.255. Gladys sends the packet itself.

Cómo instalar madVR Envy en Gladys​

  1. En Gladys, abre Integraciones: madVR Envy aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/lm1lc3n7/gladys-madvr:0.1.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/LM1LC3N7/gladys-madvr.

madVR Envy requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.

¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.

Sobre las integraciones externas​

madVR Envy es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene LM1LC3N7, no el equipo principal de Gladys.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂