¡Hola a todos! En este artículo te explicamos cómo configurar un sensor en Home Assistant para calcular el tiempo estimado de un viaje entre dos puntos. Gracias a la integración con Waze, podrás saber cuánto tiempo tardarás en llegar, teniendo en cuenta el tráfico en tiempo real.
Por ejemplo, puedes usar este sensor para conocer el tiempo necesario desde tu casa hasta el trabajo o cualquier otro destino habitual. Esta herramienta es ideal para planificar tus desplazamientos de forma más eficiente.
Particularmente yo creo primero un archivo llamado zonas.yaml en la raiz de nuestro HA, en el configuration lo indexaremos así:
1 |
zone: !include zonas.yaml |
Dentro del archivo zonas.yaml podremos poner todas la zonas que queramos tener para que el sensor nos diga los diferentes tiempos de ruta a cada uno de ellos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
- name: Trabajo latitude: 39.487038 longitude: -0.375947 radius: 120 icon: mdi:worker - name: Casa Abuelos latitude: 39.483682 longitude: -0.388402 radius: 90 - name: Trabajo Mujer latitude: 39.467566 longitude: -0.367109 radius: 120 icon: mdi:worker |
Hallar los puntos de latitud y longitud es extremadamente fácil, nos iríamos a google maps y clicaríamos en el punto donde queramos hallar esos datos y automáticamente nos saldría abajo del mapa lo que necesitamos, os dejo un ejemplo:
Tenemos dos opciones para que nos de el tiempo del viaje, podemos hacer un sensor por cada ruta o crear una lista con posibles destinos. Empiezo por el sensor único de ruta. Crearemos lo siguiente:
1 2 3 4 5 6 |
sensor: - platform: waze_travel_time name: "Tiempo al Trabajo" origin: zone.home (Esta zona ya la habremos programado en la parte primera del archivo configuration.yaml) destination: zone.trabajo (La zona destino que queramos) region: 'EU' |
Nos quedaria tal que asi:
Si queremos hacer un sensor donde podamos elegir diferentes orígenes y destinos para saber los tiempos, empezaremos creando un input_select con las opciones que queramos, si solo quisiéramos poner destino, el origen lo obviaremos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
input_select: destino: name: Destino options: - Casa - Trabajo - Casa Abuelos - Trabajo Dani - Trabajo Mujer origen: name: Origen options: - Casa - Trabajo - Casa Abuelos - Trabajo Dani - Trabajo Mujer |
A continuación crearemos un sensor template con los siguientes datos, deberemos cambiar los que salen aquí por nuestras zonas y destinos. Lo que he comentando antes, si no queremos origen no pondremos el sensor orig_address.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
sensor: - platform: template sensors: dest_address: value_template: >- {%- if is_state("input_select.destino", "Casa") -%} zone.home {%- elif is_state("input_select.destino", "Trabajo") -%} zone.trabajo {%- elif is_state("input_select.destino", "Casa Abuelos") -%} zone.casa_abuelos {%- elif is_state("input_select.destino", "Trabajo Mujer") -%} zone.trabajo_mujer {%- else -%} Desconocido {%- endif %} orig_address: value_template: >- {%- if is_state("input_select.origen", "Casa") -%} zone.home {%- elif is_state("input_select.origen", "Trabajo") -%} zone.trabajo {%- elif is_state("input_select.origen", "Casa Abuelos") -%} zone.casa_abuelos {%- elif is_state("input_select.origen", "Trabajo Mujer") -%} zone.trabajo_mujer {%- else -%} Desconocido {%- endif %} |
A continuación deberemos crear el sensor waze para que nos coja los datos de las listas anteriores:
1 2 3 4 5 6 |
sensor: - platform: waze_travel_time name: "Tiempo Viaje" origin: sensor.orig_address (Si no tenemos lista de origen, pondríamos zone.home) destination: sensor.dest_address region: 'EU' |
Una vez terminado todo esto, reiniciaremos HA y dejaríamos pasar unos 5 minutos y nos empezaría a darnos los datos del tiempo de viaje. Se quedaría tal que así:
Hay que comentar que tanto los destinos como los orígenes se pueden poner zones, device_tracker o person.