Añadir un switch Shelly en Home Assistant a través de API REST

En esta entrada vamos a explicar como añadir un Shelly a Home Assistant a través de API REST. Para ello usaremos el componente REST de Home Assistant.

Actualización: Desde la versión 0.105, home assistant dispone de integración desde el menú para las shellys, que es lo que recomendamos aunque es bueno conocer la forma de integrarlas via rest o mqtt también.

Shelly dispone de una API muy bien documentada que nos permite atacar por HTTP el dispositivo, sin cambiar el firmware de nuestro dispositivo, sin prescindir de la nube y sin tener que salir a ella para el funcionamiento normal del mismo.

En esta ocasión vamos a usar una Shelly 2.5 que dispone de dos salidas y control de potencia.

shelly api

 

Al disponer de dos salidas, dispone del modo persiana (roller shutter), siendo ideal para automatizar persianas y toldos.

shelly api rest

Este es el esquema de conexión de la misma, para AC220V:

Esquema conexión Shelly luces
Esquema conexión Shelly persiana

Que el dispositivo tenga API REST basicamente quiere decir que nos ofrece la posibilidad de atacándolo a través de una URL con su IP en un navegador realice funcionalidades.

Vamos a usar la API para añadir los dos switches de la misma y el medidor de consumo.

 

Con la shelly 1, el código a usar sería el mismo pero solo con el switch con relay 0, en el mismo recuerda que solo debes cambiar la IP por la que tenga asignada tu Shelly.

 

switch:

  - platform: rest
    name: "Shelly2 Switch1"    scan_interval: 5
    resource: http://192.168.1.100/relay/0
    body_on: 'turn=on'
    body_off: 'turn=off'
    is_on_template: '{{ value_json.ison == true}}'
    headers:
      content-type: application/x-www-form-urlencoded

  - platform: rest
    name: "Shelly2 Switch2"
    scan_interval: 5
    resource: http://192.168.1.100/relay/1
    body_on: 'turn=on'
    body_off: 'turn=off'
    is_on_template: '{{ value_json.ison == true}}'
    headers:
      content-type: application/x-www-form-urlencoded

sensor:

  - platform: rest
    resource: http://192.168.1.100/status
    name: Shelly2 Power
    value_template: '{{ value_json.meters[0]["power"]}}'
    scan_interval: 5

 

El código para hacerlo funcionar como persiana es ligeramente dierente, en otra entrada lo publicaremos.

Con esto ya tendremos en nuestro sistema la Shelly integrada:

shelly home assistant

 

8 comentarios sobre “Añadir un switch Shelly en Home Assistant a través de API REST”

  1. Hola compañeros sabéis dónde puede localizar el codigo para Home Assistant para configurar el Shelly 2.5 como persiana por favor..
    Gracias por la ayuda a un novato

    1. Hola Javi

      Para añadirlo a tu software, dado que Shelly ofrece una API (es decir una URL o dirección a la que llamas desde tu aplicación para hacer cosas) esa es la mejor forma. Busca API Shelly

  2. Hola. Muchas gracias por la info y sobre todo por el código. ¿Sería posible hacer un sensor para cada switch?
    Soy novato y he probado poniendo 0 y 1 al final de la entrada resource como en los switch, pero no ha funcionado.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.