Home Assistant: Modificare il polling dell’integrazione nativa Philips Hue

Autore: Vito
1,9K visite
Home Assistant Philips Hue Polling - Featured Image

Uno dei sistemi d’illuminazione smart più diffuso e famoso è sicuramente Philips Hue, che sì basa sulla tecnologia di comunicazione wireless ZigBee.

L’integrazione ufficiale per Home Assistant però presenta un piccolo difetto, il polling che gestisce l’aggiornamento degli elementi, è impostato fisso ogni 5 secondi rendendone problematico l’utilizzo in alcune situazioni.

In questo articolo vedremo come ridurlo per ottimizzare questa integrazione in Home Assistant.

Sommario

Gli elementi

Per poter sfruttare questo tutorial è necessario aver già aggiunto l’integrazione Philips Hue nell’installazione di Home Assistant.

Per aggiungerla è necessario possedere il bridge ed almeno un paio di elementi per verificare l’ottimizzazione, come un sensore ed una lampadina o striscia LED.

Ecco alcuni elementi che fanno al caso nostro:

  • Bridge ZigBee: Amazon
  • Sensore movimento da esterno: Amazon
  • Sensore movimento da interno: Amazon
  • Kit lampadine White Ambience E27: Amazon
  • Striscia LED White and Color: Amazon

Materiale necessario

Per seguire questo tutorial è necessario aver strutturato il proprio sistema per la gestione dei packages ed HACS come indicato in questo articolo.

Una volta predisposto il sistema, scarichiamo questo pacchetto contenente il materiale che utilizzeremo nei vari passaggi:

I componenti aggiuntivi

Per ottimizzare il polling dell’integrazione nativa, che detto in parole semplici è ogni quanto (in secondi) l’integrazione aggiornerà lo stato degli elementi gestiti dal bridge ZigBee, sfrutteremo un’integrazione non ufficiale disponibile su HACS (installabile come indicato in questo articolo).

L’integrazione non ufficiale in questione è Fast-Hue poling.

Dopo averla installata, come indicato da HACS, sarà necessario riavviare Home Assistant per caricarla correttamente.

Procedere aggiungendo l’integrazione tramite l’apposita sezione nelle impostazioni.

Inserire nel campo “Intervallo iniziale di aggiornamento” un valore predefinito per l’integrazione, inferiore ai 5 secondi dell’integrazione ufficiale.

La gestione

Integrato tutto il necessario creiamo una piccola automazione per gestire l’aggiornamento automatico del valore di polling, che definiremo sull’interfaccia utente come “Intervallo Richieste Dinamico”.

Creare un package philips_hue_polling.yaml e definire gli input di controllo:

  • input_boolean.philips_hue_custom_polling_automation: Abilita l’aggiornamento automatico;
  • input_number.philips_hue_custom_polling_interval: Definisce il valore di aggiornamento (polling) in secondi.
Tenere presente che come è possibile “migliorare” il polling riducendolo, è anche possibile “peggiorarlo” aumentandolo per casistiche particolari, fino a 20 secondi.
# Inputs
input_boolean:
  # Polling
  philips_hue_custom_polling_automation:
    name: 'Intervallo Richieste Dinamico'
    icon: mdi:rotate-left
  # -------------------------------------------------------------------------------------------------------------------

input_number:
  # Polling
  philips_hue_custom_polling_interval:
    name: 'Intervallo Richieste'
    icon: mdi:arrow-expand-horizontal
    min: 1
    max: 20
    step: 1
    unit_of_measurement: 'secondi'
  # -------------------------------------------------------------------------------------------------------------------

Definiti gli elementi di controllo passiamo all’automazione di gestione.

L’automazione sì occuperà di aggiornare automaticamente il valore impostato tramite il selettore “Intervallo Richieste” nei seguenti casi:

  • All’avvio di Home Assistant;
  • Quando viene attivata la gestione;
  • Quando sì modifica il valore “Intervallo Richieste”, ma solo se la gestione è attiva.

Per modificare il polling viene eseguito lo script script.philips_hue_custom_polling_interval_setup che è possibile richiamare anche manualmente da interfaccia utente o in altre automazioni personali.

Lo script esegue la modifica anche nel caso in cui l’aggiornamento automatico fosse disabilitato.

# Automations
automation:
  # Polling
  - alias: 'Philips HUE Polling - Aggiornamento Intervallo Richieste Dinamico'
    initial_state: true
    mode: single
    max_exceeded: silent
    trigger:
    - platform: homeassistant
      event: start
    - platform: state
      entity_id:
        - input_number.philips_hue_custom_polling_interval
        - input_boolean.philips_hue_custom_polling_automation
    condition:
    - condition: state
      entity_id: input_boolean.philips_hue_custom_polling_automation
      state: 'on'
    action:
    - service: script.turn_on
      entity_id: script.philips_hue_custom_polling_interval_setup
  # -------------------------------------------------------------------------------------------------------------------

# Scripts
script:
  # Polling
  philips_hue_custom_polling_interval_setup:
    alias: 'Aggiornamento Intervallo Richieste'
    icon: mdi:sync
    sequence:
    - service: fasthue.set_update_interval
      entity_id: sensor.hue_polling_interval
      data_template:
        scan_interval:
          seconds: '{{ states("input_number.philips_hue_custom_polling_interval") | int }}'
  # -------------------------------------------------------------------------------------------------------------------

L'interfaccia utente

La card di gestione:

type: entities
title: Gestione Philips Hue
show_header_toggle: false
entities:
  - entity: input_boolean.philips_hue_custom_polling_automation
  - entity: input_number.philips_hue_custom_polling_interval
  - entity: sensor.hue_polling_interval
  - entity: script.philips_hue_custom_polling_interval_setup

La personalizzazione dell’entità generata dall’integrazione Fast-Hue polling da inserire all’interno del file customize.yaml:

sensor.hue_polling_interval:
  friendly_name: 'Intervallo Richieste Attuale'
  icon: mdi:av-timer

Quindi impostare i valori secondo le proprie preferenze:

Conclusione

Tramite questo semplice tutorial è quindi possibile velocizzare o rallentare l’interazione con qualsiasi elemento gestito dall’integrazione Philips Hue ufficiale, in particolare comodo per avere una risposta veloce dai sensori di movimento.

Un esempio pratico, dove ridurre il polling può generare benefici, è ad esempio l’automazione indicata in questo articolo.

Se ti è stato utile, perché non...
Mi offri un caffè?

Post correlati

Lascia un commento

* Utilizzando questo modulo accetti la memorizzazione e la gestione dei tuoi dati da questo sito web.