Componente Home Assistant “Input Datetime”

Produttore: Home Assistant Community
Disponibilità: incluso nell’HUB personale Home Assistant
Categoria: software
Tipologia: componente Home Assistant
Difficoltà di implementazione: bassa

Il componente “Input Datetime” di Home Assistant permette di creare delle entità che permettano all’utente, tramite frontend, di raccogliere una data e/o un orario. Tali entità sono particolarmente utili per la realizzazione di temporizzatori o di automazioni legate, appunto a date e/o orari.

Home Assistant - Input Datetime - Dettaglio
un esempio di entità per l’acquisizione di data e ora.

 

Definire entità tramite il componente “Input Datetime” è molto semplice. Un esempio di configurazione in configuration.yaml è il seguente:

#Esempi di configurazione
input_datetime:
  both_date_and_time:
    name: Input con data e ora
    has_date: true
    has_time: true
  only_date:
    name: Input con solo data
    has_date: true
    has_time: false
  only_time:
    name: Input con solo orario
    has_date: false
    has_time: true

Configurazione che genera entità di questo tipo:

Home Assistant - Input Datetime

Dettagli di configurazione:

input_datetimedefinisce il blocco di configurazione relativo all’entità (se ne possono definire molteplici)
name(stringa, opzionale) definisce il nome dell’entità
has_time(booleano, obbligatorio) se true, l’entità raccoglierà l’orario. Default: false
has_date(booleano, obbligatorio) se true, l’entità raccoglierà la data. Default: false
initial(datetime | date | time, opzionale) definisce il valore iniziale. Default: 1970-01-01 00:00 | 1970-01-01 | 00:00

N.b. uno tra i due campi has_time e has_date dev’essere necessariamente presente.
In assenza del campo initial, gli ultimi valori raccolti vengono riproposti anche all’eventuale riavvio di Home Assistant.

Servizi

I servizi collegati a questo componente è uno solo: set_datetime.

ServizioDatoDescrizione
set_datetimedatePuò essere utilizzato per impostare programmaticamente la data raccolta dall’entità target
set_datetimetimePuò essere utilizzato per impostare programmaticamente l’orario raccolto dall’entità target

Esempi di automazione

Quello a seguire è un esempio di automazione nel quale un input_datetime è utilizzato come trigger di un’automazione. Tale automazione verifica che l’orario (sensor.time) corrisponda o meno a quello dell’entità input_datetime.only_time. In caso, accende una luce (light.camera):

automation:
  trigger:
    platform: template
    value_template: "{{ states('sensor.time') == (states.input_datetime.only_time.attributes.timestamp | int | timestamp_custom('%H:%M', False)) }}"
  action:
    service: light.turn_on
    entity_id: light.camera

In quest’altro esempio, quando attivato l’input_boolean.esempio, l’automazione provvede a impostare l’orario di input_datetime.only_time alle 7:30 del mattino.

automation:
  trigger:
    platform: state
    entity_id: input_boolean.esempio
    to: 'on'
  action:
    service: input_datetime.set_datetime
    entity_id: input_datetime.only_time
    data:
      time: '07:30:00'


Home Assistant Official LogoATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.

🔻 Clicca QUI per commentare l'articolo. 🔻