Detecta y configura los Shelly que tengas en tu LAN con MQTT en Home Assistant

Detecta y configura los Shelly que tengas en tu LAN con MQTT en Home Assistant

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.

La entrada Detecta y configura los Shelly que tengas en tu LAN con MQTT en Home Assistant se publicó primero en Domótica en Casa.

Eduardo Ruiz

Informático de vocación, apasionado de la tecnología y blogger desde hace mucho tiempo, escribo de lo que me entretiene y disfruto con ello. Si deseas seguirme, usa el rss del blog o en mi perfil de .