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](https://www.solutioon.com/wp-content/uploads/2019/06/IMG_20190615_184540_2.png)
Al disponer de dos salidas, dispone del modo persiana (roller shutter), siendo ideal para automatizar persianas y toldos.
![shelly api rest](https://www.solutioon.com/wp-content/uploads/2019/06/IMG_20190615_184540-1024x768.jpg)
Este es el esquema de conexión de la misma, para AC220V:
![](https://www.solutioon.com/wp-content/uploads/2019/06/Shelly_cableado-285x300.png)
![](https://www.solutioon.com/wp-content/uploads/wiring_shelly_persiana-265x300.jpg)
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](https://www.solutioon.com/wp-content/uploads/2019/06/Shelly_integrada.png)
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
Hola
Dado que aún no lo hemos publicado, te adjunto un enlace donde puedes ver como configurarlo: http://www.bujarra.com/controlando-las-persianas-con-shelly-2-5-y-home-assistant/
Me gustaria implementar un shelly a mi software de la forma mas sencilla posible, ya que esta dirigida a usuarios. como podria hacerlo?
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
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.
ya esta!!!! encontrado
value_template: ‘{{ value_json.meters[1][“power”]}}’
es el numero del template 0 o 1
Iker, veo que ya lo resolviste, disculpa la demora en contestar…