Ciao popolo domotico,
ho il seguente problema che non riesco a risolvere....
In questa automazione che serve per accendere e spegnere la luce tramite sensore xiaomi pir (controllo presenza e luminosità) voglio poter settare un timer dinamico (input number) che indica il tempo che occorre per spegnere le luce una volta che il sensore presenza si setta su off:
##############################
# ACCENDI CUCINA
##############################
- id: Acendi pir luce cucina
alias: Acendi pir luce cucina
hide_entity: false
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.0x00158d0002ec80f4_occupancy #nome del sensore di movimento
to: 'on'
condition:
- condition: state
entity_id: light.cucina
state: 'off'
- condition: numeric_state
entity_id: sensor.0x00158d0002ec80f4_illuminance . #nome del sensore di luminosità
below: 15 #valore di luminosità in lumen
action:
- service: light.turn_on
entity_id: light.cucina
##############################
# SOEGNI CUCINA
##############################
- id: Spegni pir luce cucina
alias: Spegni pir luce cucina
hide_entity: false
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.0x00158d0002ec80f4_occupancy
to: 'off'
for: '00:01:00' # timer necessario per spegnere le luci
condition:
- condition: state
entity_id: light.cucina
state: 'on'
action:
- service: light.turn_off
entity_id: light.cucina
- service: switch.turn_off
entity_id: switch.faretti_cucina
Come si nota in questa automazione funzionante il timer è statico --> [font=Monaco, Consolas, Courier, monospace]for: '00:01:00' [/font]
[font=Monaco, Consolas, Courier, monospace]L'idea è quella di sostituire con un input_number che chiameremo "[font=Monaco, Consolas, Courier, monospace]input_number.timerlucecucina"[/font] per poter dinamicamente modificare il valore a seconda delle esigenze.[/font]
[font=Monaco, Consolas, Courier, monospace]Ho provato con l'aiuto del mitico Mattia ad impostare questo codice:
[/font]
- platform: template
value_template: "{{ (states('binary_sensor.0x00158d0002ec80f4_occupancy') == 'off') and ( as_timestamp( now() ) - as_timestamp(states.binary_sensor.0x00158d0002ec80f4_occupancy.last_changed)| int == states('input_number.timerlucecucina')|int) }}"
ma sembra che il problema sia il nome del sensore che inizia con 0x0015....
Un'altra soluzione adottata ma non funzionante è stata quella di inserire:
for: '00:"{{ states('input_number.timerlucecucina') }}":00'
C'è qualcuno che ha qualche idea su come poter risolvere l'arcano?
P.s. Ho provato anche a modificare i nome dei sensori tramite impostazione --> . Entity Registery ma al riavvio del Ry o dell'addon zigbee2mtt il sensore xiaomi quando si ricollega alla chiavetta si identiica sempre con i suo nome originale 0x0015....
Il nome del sensore ho provato a modificarlo anche dalla cartella condivisa "share" --> "zigbee2mqtt" --> configuration.yaml e state.json ma come detto prima al riavvio il sensore si identifica sempre con il suo nome 0x0015...
Grazie in anticipo