Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - alias: provatracker
- id: 5fb9c6a2-db43-4f86-b97f-8a8dbc82d893
- description: "Quando cambia lo stato dell'ip pubblico di uno smartphone imposta il relativo tracker a home se è uguale a quello di casa o not_home altrimenti"
- trigger:
- # Inserire qui una voce per ogni sensore public_ip_address relativo ad ogni telefono da monitorare
- - platform: state
- entity_id: sensor.mio_telefono_public_ip_address
- to:
- - platform: state
- entity_id: sensor.altro_tel_public_ip_address
- to:
- - platform: state
- entity_id: sensor.terzo_tel_public_ip_address
- to:
- action:
- - variables:
- # l'entity id che ha generato il trigger, lo useremo per confrontare l'ip
- entity: "{{ trigger.from_state.entity_id }}"
- # il nome che daremo al tracker partendo dall'object_id (ovvero senza il "sensor." iniziale) togliamo poi il suffisso "_pubblic_ip_address".
- # Così ad esempio "sensor.altro_tel_public_ip_address" diventerà "altro_tel"
- tracker: "{{ trigger.from_state.object_id | regex_replace('_public_ip_address', '') }}"
- - alias: "Imposta lo stato home / not_home"
- service: device_tracker.see
- data:
- dev_id: "{{ tracker }}"
- # qui viene assegnato lo stato home/not_home facendo il controllo dei due ip (locale e smartphone)
- location_name: "{{ 'home' if is_state(entity, states("sensor.myip") | default("")) else 'not_home' }}"
Add Comment
Please, Sign In to add comment