Boas pessoal. Me ajudem por favor. Eu tenho uma automação que funcionava assim, enviava uma notificação para o telegram quando um device_tracker entrava ou saia da zona home. Mas agora só avisa quando entra na zona, saindo não avisa mais. Segue o código:
- alias: device zone notify
trigger:
platform: state
entity_id: device_tracker.thiago_galaxys7, device_tracker.eliane_lg, device_tracker.daniel_prime
action:
- service: notify.telegram
data_template:
message: "{{ trigger.to_state.name }} is in {{ trigger.to_state.state }}"
Não tens que lhe dizer a mudança de estado?
- alias: device zone notify
trigger:
platform: state
entity_id: device_tracker.thiago_galaxys7, device_tracker.eliane_lg, device_tracker.daniel_prime
from: 'home'
to: 'not_home'
action:
- service: notify.telegram
data_template:
message: "{{ trigger.to_state.name }} is in {{ trigger.to_state.state }}"
e
- alias: device zone notify2
trigger:
platform: state
entity_id: device_tracker.thiago_galaxys7, device_tracker.eliane_lg, device_tracker.daniel_prime
from: 'not_home'
to: 'home'
action:
- service: notify.telegram
data_template:
message: "{{ trigger.to_state.name }} is in {{ trigger.to_state.state }}"
Não é preciso porque ele quer mesmo isso: “mudança de estado” seja ela qual for
Isso. Só não entendi o motivo de parar de funcionar como deveria. Qualquer coisa irei aderir ao código acima mesmo, mas é pq quanto menos código, melhor, eu acho
Eu nesse departamento ainda ando em testes pois não consigo encontrar um método que me garanta a localização e de forma constante pelo que neste momento tenho owntracks, routher, ios todos eles a fazerem tracking e mesmo assim não consigo que nenhum, ou mesmo a conjugação dos três me dê o nivel de confiança que quero.
Assim, e embora a configuração que queiras seja um pouco mais simples deixo aqui as minhas, que vão de encontro ao que o @ricain e @Rodolfo disseram (mas porque necessidade/vontade)
#Automação de validação do facto de ter saido casa?
- id: Check if JPM is Away
alias: Check if JPM is Away
initial_state: 'on'
condition:
condition: state
entity_id: input_boolean.jpmhome
state: 'on'
hide_entity: false
trigger:
- entity_id: device_tracker.iphone
from: home
platform: state
to: not_home
for:
minutes: 3
- entity_id: device_tracker.samsunggalaxys7edge
from: home
platform: state
to: not_home
for:
minutes: 3
action:
- service: homeassistant.turn_off
data:
entity_id: input_boolean.jpmhome
- service: notify.ios_iphoneJPM
data_template:
title: Home Assistant
message: 'ALERT: JPM just left home.'
#Automação de validação do facto de estar ou não em casa?
- id: jpm_is_at_home
alias: Check if JPM is at Home
initial_state: 'on'
condition:
condition: state
entity_id: input_boolean.jpmhome
state: 'off'
hide_entity: false
trigger:
- entity_id: device_tracker.iphone, evice_tracker.jpm_s7, device_tracker.samsunggalaxys7edge
platform: state
to: home
- entity_id: device_tracker.iphonejpm, device_tracker.jpm_iphone_iphone_tracks
platform: state
to: Casa
action:
- service: homeassistant.turn_on
data:
entity_id: input_boolean.jpmhome
- service: notify.ios_iphoneJPM
data_template:
title: Home Assistant
message: 'ALERT: O João chegou a casa.'
#Variavel de control unica que despoleta acações
input_boolean:
jpmhome:
name: JPM Home
initial: on
icon: mdi:cellphone-iphone
Depois duma forma mais avançada de contornar um problema que o HA tem com a forma como guarda os estados das variáveis face a um restart tenho ainda esta configuração:
Porque tenho e porque te recomendam separar as ações por estado?
Simples, porque mais cedo ou mais tarde, vais querer mais, eu tenho perfis de som, tenho relatórios a serem lidos no tts, ainda estou a aguardar HW para ligar o AC, ligas a tv, podes por o radio a tocar, abrir o portão da garagem, bem podia continuar até amana mas acho que já percebeste
Eu tenho assim, @jpm uso o zanzito e falhar é mt raro…
Informa o Utilizador que o Rodolfo acabou de chegar à zona de Residência mas que pode ou não estar em casa.
- alias: Rodolfo Acabou de chegar a zona de residencia
trigger:
- platform: numeric_state
entity_id: proximity.rodolfo_casa
below: 200
action:
- service: input_select.select_option
data:
entity_id: input_select.rodolfo_status_dropdown
option: Apenas Chegou
- service: notify.pushnotification
data:
title: 'O Rodolfo acabou de chegar à zona de residência'
message: 'Às {{states.sensor.time.state}}'
target: ["MEUPC", "MEU_TELEMOVEL"]
Informa o utilizador que o Rodolfo já se encontra em casa, ou seja ja passaram 10 min desde que ele chegou a zona de residência.
- alias: Rodolfo esta em Casa
trigger:
- platform: state
entity_id: input_select.rodolfo_status_dropdown
to: 'Apenas Chegou'
for:
minutes: 10
- platform: state
entity_id: input_select.rodolfo_status_dropdown
from: 'Apenas Saiu'
to: 'Apenas Chegou'
action:
- service: input_select.select_option
data:
entity_id: input_select.rodolfo_status_dropdown
option: Em Casa
- service: notify.pushnotification
data:
title: 'O Rodolfo está em casa'
message: 'Desde as {{states.sensor.time.state}}'
target: ["MEUPC", "MEU_TELEMOVEL"]
Informa o utilizador que o Rodolfo apenas saiu de Casa, mas que não saiu definitivamente. Exemplo: Foi só ás compras rapido e volta em menos de 10 min.
- alias: Rodolfo saiu de Casa
trigger:
- platform: numeric_state
entity_id: proximity.rodolfo_casa
above : 20
action:
- service: input_select.select_option
data:
entity_id: input_select.rodolfo_status_dropdown
option: Apenas Saiu
- service: notify.pushnotification
data:
title: 'O Rodolfo acabou de sair de casa'
message: 'Às {{states.sensor.time.state}}'
target: ["MEUPC", "MEU_TELEMOVEL"]
Informa o utilizador que o Rodolfo já saiu mesmo de Casa como da zona de residência.
- alias: Rodolfo está Ausente
trigger:
- platform: numeric_state
entity_id: proximity.rodolfo_casa
above: 200
for:
minutes: 10
action:
- service: input_select.select_option
data:
entity_id: input_select.rodolfo_status_dropdown
option: Ausente
- service: notify.pushnotification
data:
title: 'O Rodolfo está ausente'
message: 'Desde as {{ (now().strftime("%s") | int - 600) | timestamp_custom("%H:%M")}}'
target: ["MEUPC", "MEU_TELEMOVEL"]
Informa o utilizador que o Rodolfo não foi a casa durante 24 horas.
- alias: Rodolfo ausente por mais de 24 horas
trigger:
- platform: state
entity_id: input_select.rodolfo_status_dropdown
to: 'Ausente'
for:
hours: 24
action:
- service: input_select.select_option
data:
entity_id: input_select.rodolfo_status_dropdown
option: Ausencia Prolongada
- service: notify.pushnotification
data:
title: 'O Rodolfo está em ausência prolongada'
message: 'Desde do dia {{states.sensor.date.state}} às {{states.sensor.time.state}}'
target: ["MEUPC", "MEU_TELEMOVEL"]
Informa o utilizador que o Rodolfo acabou de chegar ao Trabalho.
- alias: Rodolfo acabou de chegar ao trabalho
trigger:
- platform: numeric_state
entity_id: proximity.rodolfo_trabalho
below: 1000
action:
- service: input_select.select_option
data:
entity_id: input_select.rodolfo_status_dropdown
option: notrabalho
- service: notify.pushnotification
data:
title: 'O Rodolfo está no trabalho'
message: 'Desde as {{states.sensor.time.state}}'
target: ["MEUPC", "MEU_TELEMOVEL"]
Informa o utilizador que o Rodolfo acabou de sair do Trabalho.
- alias: Rodolfo acabou de sair do trabalho
trigger:
- platform: numeric_state
entity_id: proximity.rodolfo_trabalho
above: 1000
action:
- service: input_select.select_option
data:
entity_id: input_select.rodolfo_status_dropdown
option: Ausente
- service: notify.pushnotification
data:
title: 'O Rodolfo saiu do trabalho'
message: 'Às {{states.sensor.time.state}}'
target: ["MEUPC", "MEU_TELEMOVEL"]
@Rodolfo que tolerância tens no sensor, eu tenho tudo a 100m
proximity:
tocasajpm:
devices:
- device_tracker.jpm_iphone_iphone_tracks
- device_tracker.jpm_s7
ignored_zones:
- trabalho
zone: casa
tolerance: 100
unit_of_measurement: m
Será que crio um nova zona?
proximity:
naurbanizaçãojpm:
devices:
- device_tracker.jpm_iphone_iphone_tracks
- device_tracker.jpm_s7
ignored_zones:
- tocasajpm
zone: casa
tolerance: 300
unit_of_measurement: m
tocasajpm:
devices:
- device_tracker.jpm_iphone_iphone_tracks
- device_tracker.jpm_s7
ignored_zones:
- naurbanizaçãojpm
zone: casa
tolerance: 30
unit_of_measurement: m
Por exemplo neste momento o meu s7 tinha actualizado tudo.
O iphone, todos eles estavam ainda no restaurante…e ja sai de lá há cerca de 1h30
O iPhone é conhecido por ter problemas com essas coisas pois tem a mania de pôr sempre a “dormir” o GPS e o WiFi pouco depois do ecrã se desligar…
É verdade, por isso é que ainda não sei que metodologia usar, podia usar só um deles, mas…a memoria não é o que era e se eu deixar o telemovel em casa ou ficar sem bateria não queria que as automações parassem, dai ter colocado os dois.
Já pensei no carro, mas o carro tanto se liga ao wifi quando chego como quando saiu, por isso também não serve.
Sinceramente tem sido um dos “calcanhares de Aquiles” que nunca pensei ter com este sistema, pois geo localização para mim é um dado adquirido…guess not.
Deixa ver pois a comunidade ainda está a crescer e novos projectos vão aparecendo, como percebo 0 de electrotécnica alguem vai dizer que isso se resolve com 3 esp82 com um sniffer Bluetooth e ficamos todos felizes.
@jpm de facto IOS e home assistant, casam muito bem em umas coisas, mas noutras não é muito bom.
Eu não uso tolerance, e funciona perfeitamente bem…uso uma aplicação já aqui falada zanzito. Que em termos de localização com o componete proximity não me tem deixado mal.
E já visto isto? https://community.home-assistant.io/t/reliable-multi-user-distributed-bluetooth-occupancy-presence-detection/50674/30
ja ando a estudar esse topico sim, mas estou a bater num entrave, não consigo comprar 4 ou 5 raspeberry pies zero w.
Hoje por acaso falei com o bruno horta e ele sugeriu olhar para o esp82, mas como ja disse antes…zero em eletronica por isso tem de ser algo que tem de ficar para o futuro, para já preciso de mais dados, nomeadamente tempos de repostas, histórico de localização, precisam e depois logo vejo o que posso ou não fazer.
No entanto obrigado pela sugestão e deixo a porta aberta a comunidade para encontrar uma forma sistematica para obtermos a localização, ou chegar a conclusão que apenas sou eu que não sei usar as ferramentas que tenho (nunca excluo esta hipótese)
Até podias colocar 10 métodos diferentes, sem bateria nenhum funciona… Lol…
Mas podes utilizar um método alternativo para as automação saberem se chegas-te a casa como as tags NFC ou dispositivos BT autónomos tipo a LAPA.
Tenho andado a estudar um sistema de micro-localização com ESP32 que até sabe em que divisão da casa estás mas ainda não há projectos muito desenvolvidos. O que testei em casa até funciona com pulseiras Xiaomi Mi Band, smartwatch, etc… Quando vir que está um sistema maduro tenciono publicar aqui um tutorial.
É isso mesmo @j_assuncao que eu queria, o principal problema é esse mesmo em casa tenho muitas falsas “saidas”, e isso despoleta varios eventos incluindo o TTS, e como deves compreender estar a receber relatorios, notificações ou seja o que for de XX em XX minutos não é agradavel ou prudente.
Mas entre esta comunidade e a Portugal Maker com toda a certeza encontramos uma solução.
Entretanto ja criei mais uns sensores que me mostram o historico de actualizações do estados dos dispositivos para ver se começo a limpar
Podes sempre criar um atraso à entrada ou à saída de casa para o sistema ter a certeza onde estás, tipo só depois de o sistema te ver em casa durante 5 minutos é que o TTS começa a falar.
Tenho um tutorial sobre isso para publicar em breve.
Coloca esse tutorial sim, mas no meu caso já tenho esses intervalos definidos, nomeadamente tudo o que é gps chega a casa “mais cedo” e tudo o o que depende do router é “menos cedo” contudo eu tenho wifi na garagem, que são 8 pisos a baixo e também esse factor me potencia falsas chegadas ou “atrasa” as saidas.
Mas apanhas o sinal de casa na garagem? Se tens por exemplo um router na garagem podes alterar o nome de rede para ele destinguir o estares em casa e na garagem
No tutorial que tenho preparado, uso outros estados além do home
e not_home
. Quando saio de casa diz que “acabei de sair” e só 10 minutos depois diz que sai. A entrar em casa é a mesma coisa. O que quer dizer que se for ao café, por exemplo, e demorar menos de 20 minutos nenhuma automação é activada.
tenho varias zonas, Casa, trabalho, trabalho da esposa, casa dos pais, e agora (desde hoje até urbanização).
Tenho wifi na garagem sim, mas tenho tudo ligado por dhcp ao mesmo router assim se estiver na garagem e precisar de consultar um livro do carro, ou seja do que for vou a minha rede e posso aceder.
Alem disso qualquer pessoa que tenha acesso a minha rede de casa tem na garagem sem necessidade de mais redes (ja tenho 2.4G e 5G assim passava a ter ainda uma terceira).
Quanto aos delays o meu dos meus “requisito chave” é esse mesmo deteção “instantânea”.
Porque? porque só leio os relatorios numa coluna, e não em todas, e quero perceber o que se passou assim que chego, até porque depois vou andar a fazer coisas pela casa e raramente tenho a porta da sala aberta.
Ainda não estava convencido a 100% mas se tambem tu estas a usar uma solução com Bluetooth com sucesso mais vale encomendar ja uns 5 para cobrir a casa e a garagem e fico com o problema da zona “Home” resolvido