Dasher, Home Assistant y los Dash Buttons.

Seguramente tengas por casa algún dash button que ya no utilices y no sepas que hacer con el. En ese caso, con dasher podrás utilizarlos con Home Assistant como pulsador para ejecución de la tarea que configures.

Recordaros unas pequeñas limitaciones que tienen los “botones dash”, ya que para según que funciones, quizás no os sirvan…

– Lo primero, que desde la pulsación hasta la ejecución de la orden, pasan unos 2 segundos, aproximadamente, por lo que en según que circunstancias, como por ejemplo, encender la luz del comedor, igual no es lo óptimo.

– Segundo, entre pulsación y pulsación, hay que dejar pasar unos 8-10 segundos, ya que el botón no responde si se pulsa antes, esto es como medida de “seguridad”, para no realizar más compras de las deseadas, que es su función original.

– Y tercero, su función es de pulsador, no de interruptor, eso quiere decir que no tiene ON/OFF, solo una pulsación o un estado.

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:

sudo apt-get update
sudo apt-get upgrade

A continuación instalamos lo siguiente:

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:

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:

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:

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.

Ahora vamos al archivo configuration.yaml y añadimos lo siguiente:

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

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):

- 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

sudo nano /dasher/config/config.json

e incluimos lo siguiente

{"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": ""},

"json": true,

"body": {"entity_id": "input_boolean.nombre_de_la_orden"}

}

]}

Guardamos todos los cambios y vamos a configurar el autoarranque de dasher

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

[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:

sudo systemctl enable dasher.service

arrancamos el servicio con:

sudo systemctl start dasher.service

para comprobar su estado, podemos hacerlo con:

systemctl status dasher.service

fuente:
https://www.youtube.com/watch?v=qZpJ9W0wCks
https://github.com/maddox/dasher
https://www.reddit.com/r/raspberry_pi/comments/6ebobp/help_with_running_program_at_boot/

También te podría gustar...

Deja un comentario