Shelly es una de las marcas que más usamos y hoy he visto un proyecto en github que nos sirve para poder configurar de forma automática los dispositivos que hemos activado MQTT para que se integren en Home Assistant de una forma sencilla.
Para empezar, el script podemos instalarlo o bien de forma manual o bien haciendo uso de HACS, el repositorio de componentes de Home Assistant que os explicamos como instalar.
Una vez que tenemos los dispositivos en modo MQTT (desconectados de su nube) y configurados con nuestro servidor MQTT, podemos instalar y lanzar este script que nos facilitará la instalación de los dispositivos.
NOTA: Según habla el autor, si tenemos ya algunos instalados, es recomendable quitarlos para que instalen con su script o los tendremos duplicados.
Los dispositivos que actualmente soporta el script son:
- Shelly1
- Shelly1PM
- Shelly2 (como relé y como persiana)
- Shely2.5 (como relé y como persiana)
- Shelly4Pro
- Plug
- Plug S
- RGBW2 (En modo color o modo blanco)
- Shelly H&T
- Smoke
- Sense
Configuración del script para descubrir y configurar automáticamente los Shelly
Para la configuración, podéis ver en github, pero, la configuración mínima sería:
python_script: automation: - id: shellies_announce alias: 'Shellies Announce' trigger: - platform: homeassistant event: start action: service: mqtt.publish data: topic: shellies/command payload: announce - id: 'shellies_discovery' alias: 'Shellies Discovery' trigger: - platform: mqtt topic: shellies/announce action: service: python_script.shellies_discovery data_template: id: '{{ trigger.payload_json.id }}' mac: '{{ trigger.payload_json.mac }}' fw_ver: '{{ trigger.payload_json.fw_ver }}'
Y un ejemplo de configuración a medida que muestran en el proyecto:
python_script: automation: - id: shellies_announce alias: 'Shellies Announce' trigger: - platform: homeassistant event: start action: service: mqtt.publish data: topic: shellies/command payload: announce - id: 'shellies_discovery' alias: 'Shellies Discovery' trigger: - platform: mqtt topic: shellies/announce action: service: python_script.shellies_discovery data_template: id: '{{ trigger.payload_json.id }}' mac: '{{ trigger.payload_json.mac }}' fw_ver: '{{ trigger.payload_json.fw_ver }}' discovery_prefix: 'hass' temp_unit: 'F' qos: 2 shelly1-001122-relay-0: 'light' shellyswitch-9900AA-relay-0: 'light' shellyswitch-9900AA-relay-1: 'fan' shellyswitch-334455: 'cover' shellyrgbw2-AABB22: 'white' shellyrgbw2-CC2211: 'rgbw'
Dentro del proyecto aquí podéis ver los argumentos que podemos usar para configurar el script para poder adaptarlo a vuestras necesidades.
El script usa el componente de Home Assistant python_script, ya que no se trata de un componente externo como tal, por lo que su instalación o la hacéis de forma automatizada con HACS o seguid los pasos que indica en el proyecto, que, básicamente son:
- Descargar el shellies_discovery.py
- Guardarlo en nuestra carpeta de configuración en la subcarpeta python_scripts/
Una vez que lo configuráis, nos dice que lancemos el script Shellies Announce o bien que reiniciemos un par de veces Home Assistant para que se ejecute correctamente y comience la detección e instalación.