Es muy probable que tengas en casa algún Dash Button que ya no utilices y no sepas qué hacer con él. En este caso, puedes darle una nueva vida utilizando Dasher junto con Home Assistant. Con Dasher, podrás configurar tus Dash Buttons para que funcionen como pulsadores, permitiéndote ejecutar diversas tareas en tu sistema Home Assistant con solo presionar un botón.
Es importante tener en cuenta algunas limitaciones de los botones Dash, ya que pueden afectar su uso en ciertas situaciones:
Es importante tener en cuenta estas limitaciones al utilizar los botones Dash en conjunto con Home Assistant para asegurarse de que se adapten adecuadamente a las necesidades y expectativas del usuario.
Ejemplos en los puedes usar...
* Activar la alarma o mensajería al móvil al salir de casa, por ejemplo, tenerlo más o menos oculto y al salir de casa pulsarlo, para que con los detectores de movimiento o detectores de apertura de puertas o ventanas, te notifiquen al móvil si entrase alguien en tu domicilio, al mismo tiempo, que desactivas los aires acondicionados de casa o !andas la orden de apagar la TV.
* Encender una luz de cortesía, cómo podría ser el LED del Gateway de Xiaomi, si te levantas de noche...
* Apagar todas las luces de casa cuando te metes en la cama...
Como veis, son escenarios, que no necesitan una respuesta inmediata.
Como es habitual, empezamos con los siguientes comandos:
1 2 3 |
sudo apt-get update sudo apt-get upgrade |
A continuación instalamos lo siguiente:
1 2 3 |
sudo apt-get install libpcap-dev sudo apt-get install npm |
Si eres usuario de Raspberry Pi, antes de seguir, has de realizar estos tres pasos previos:
1 2 3 4 5 |
sudo apt-get install node wget http://node-arm.herokuapp.com/node_latest_armhf.deb sudo dpkg -i node_latest_armhf.deb |
Continuamos con la instalación con las siguientes ordenes:
1 2 3 4 5 |
git clone https://github.com/maddox/dasher.git cd dasher npm install |
Una vez ya lo tenemos todo instalado, necesitamos la dirección mac de los dash buttons para realizar las posteriores configuraciones
Para obtener la dirección mac de los dash buttons disponemos de varios método.
El primero de ellos consiste en sin salir del directorio /dasher teclear:
1 |
script/find_button |
y nos saldrá un listado con los dispositivos dash (hay que pulsarlos para activarlos y que se muestren)
Cuando estén todos localizados y conozcamos su mac, tecleamos ctrl+c para detener el script
Como alternativa a este método, puedes usar la app Fing, con la cual podrás escanear todos los dispositivos conectados a tu red y conocer sus mac.
En primer lugar editamos el archivo configuration.yaml y añadimos lo siguiente:
1 2 3 |
input_boolean: nombre_de_la_orden: initial: off |
El nombre de la orden lo puedes definir como más te guste para que puedas asociarlo a la tarea que quieras realizar
y añadimos un APIpassword:
1 2 |
http: api_password: APIpassword |
Este password lo necesitaremos más adelante
A continuación creamos, si no lo tenemos ya, el archivo automations.yaml dentro del directorio /.homeassistant/automations y definimos la automatización que ejecutará la orden definida anteriormente (por ejemplo encender una luz durante 2 minutos):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
- alias: nombre con el que se quiere conocer la orden trigger: - platform: state entity_id: input_boolean.nombre_de_la_orden from: 'off' to: 'on' action: - service: light.turn_on entity_id: light.luz_a_controlar - delay: minutes: 2 - service: light.turn_off entity_id: light.luz_a_controlar - service: homeassistant.turn_off entity_id: input_boolean.nombre_de_la_orden |
A continuación editamos el siguiente archivo archivo
1 |
sudo nano /dasher/config/config.json |
e incluimos lo siguiente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
{"buttons":[ { "name": "nombre del boton", "address": "mac del botón", "url": "http://IP.de.la.pi:8123/api/services/input_boolean/toggle", "method": "POST", "headers": {"x-ha-access": "APIpassword"}, "json": true, "body": {"entity_id": "input_boolean.nombre_de_la_orden"} } ]} |
Guardamos todos los cambios y vamos a configurar el autoarranque de dasher
1 |
sudo nano /etc/systemd/system/dasher.service |
Pegamos lo siguiente teniendo en cuenta estas consideraciones:
#user with access to dasher files
#use command "which npm" to determine correct location of NPM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[Unit] Description=Dasher After=network.target [Service] Type=simple User=root WorkingDirectory=/home/pi/dasher ExecStart=/usr/local/bin/npm run start Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target |
CTRL X, Y e intro para guardar
Habilitamos el servicio:
1 |
sudo systemctl enable dasher.service |
arrancamos el servicio con:
1 |
sudo systemctl start dasher.service |
para comprobar su estado, podemos hacerlo con:
1 |
systemctl status dasher.service |
Fuentes: YouTube, Github maddox dasher y Reddit