Vai al contenuto
Home » Snippet per Home Assistant

Snippet per Home Assistant

Snippet per Home Assistant

Al posto del solito articolo dedicato ad uno specifico argomento, questa volta semplicemente voglio elencarvi una serie di snippet per Home Assistant che possano aiutare a risolvere piccoli problemini nelle vostre automazioni o nei vostri script.

Spazi vuoti configurabili

Usando custom button cards, è possibile personalizzare tante cose ma a volte c’è semplicemente bisogno di aggiungere uno spazio vuoto verticale tra due elementi. Siamo però costretti a fare 100 tentativi per capirne la dimensione voluta e soprattutto creare una regola per ogni spaziatura diversa, trovandoci poi con una roba del tipo spazio_vuoto10, spazio_vuoto12, spazio_vuoto15, ecc.

Con questo snippet, creiamo una sola regola che ci permette di configurare lo spazio per l’elemento che vogliamo.

no_background:
  styles:
    card:
      - background-color: "rgba(0, 0, 0, 0.0)"
      - box-shadow: none

no_border:
  styles:
    card:
      - border: 0

row_space:
  template:
    - no_background
    - no_border
  styles:
    card:
      - height: "[[[ return variables.size + 'px' ]]]"
      - padding: 0px

Ovviamente no_background e no_border possono essere usati anche da soli per rimuovere rispettivamente lo sfondo e il bordo dagli elementi (ma la cosa non riguarda questo specifico snippet).
Ecco invece un esempio su come inserire lo spazio vuoto e configurarlo:

type: vertical-stack
cards:
  - type: "custom:button-card"
    template: row_space
    variables:
      size: 6
  - type: "custom:button-card"
    template: row_space
    variables:
      size: 15

Il valore di size (in questo caso 6 e 15) vi permette di scegliere quanti pixel dovrà essere alto lo spazio vuoto.

Controllare che una automazione non sia stata eseguita prima di un determinato lasso di tempo

Se non vogliamo che una automazione venga eseguita più volte prima che passi un certo periodo di tempo ecco la parte di codice da usare nelle condition:

    condition:
      - condition: template
        value_template: "{{ now() - state_attr('automation.[SLUG_DELLA_AUTOMAZIONE]', 'last_triggered') > timedelta(minutes=10) }}"

Nell’esempio l’automazione non verrà eseguita di nuovo prima di 10 minuti. Ovviamente questo valore si può cambiare e si possono usare anche i secondi.

Ricerca di una lista di sensori in base all’entity_id

Se vogliamo applicare un servizio a tutti i sensori che hanno un certo testo nella entity ecco come fare:

    action:
      - service: media_player.volume_set
        data:
          volume_level: 0.5
        target:
          entity_id: >-
            {% set ea_list = states.sensor | selectattr('entity_id','search','^sensor.ea_') | list %}

Nell’esempio verranno fuori tutti i sensori che iniziano con “ea_”.

Conclusioni

Aggiornerò questo articolo con altri snippet per Home Assistant man mano che ne troverò/creerò altri. Vi invito però a condividere anche i vostri nei commenti in modo da rendere questa pagina ancora più utile per tutti.

Supporto reciproco

La realizzazione di questo articolo ha richiesto tempo, studio ed impegno.

Vi chiedo quindi mettere una mano sul cuore e l’altra sul portafogli per ricompensare il mio sforzo con un contributo libero:

Grazie.

Tag:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *