community italiana di domotica personale
 
Controllare un ventilatore sulla base di un range termico tramite Home Assistant (v1)

Controllare un ventilatore sulla base di un range termico tramite Home Assistant (v1)

SCOPI DEL PROGETTO:
  • Gestire accensione e spegnimento di un ventilatore in modo automatico in base a un range (intervallo) di temperature
  • Livello di difficoltà: basso
  • Costo: n.a.
CONCETTI AFFRONTATI:
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
  • Un ventilatore già modificato/controllato tramite un attuatore domotico (tipo smart plug, o altro, vedi esempio) integrato a Home Assistant
  • Un sensore di temperatura già inserito in configurazione Home Assistant
PROGETTO INDICATO a UTENTI CON ISTALLAZIONE:
Ambienti Home Assistant HassOS-Supervised-Core
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione progetto: 2.4

ATTENZIONE! Nel giugno 2020 abbiamo rilasciato la versione 2 del presente progetto, riveduta, corretta e migliorata nella sua definizione.

Ventilatore da terra

Abstract

Molte persone amano l’uso del ventilatore, nella stagione calda, in luogo del climatizzatore/condizionatore. Questo perché esso fornisce, per alcuni, un refrigerio più piacevole, specialmente di notte. Il problema, sopratutto in quest’ultimo caso d’uso, sta nel fatto che l’accensione costante alla lunga diventa fastidiosa e lo spegnimento prima di coricarsi lo è altrettanto perché porta a sentire caldo nelle prime ore di sonno.

La domotica ci viene in aiuto. Il presente progetto permetterà di configurare presso Home Assistant un meccanismo automatico tale da fornire all’utente la possibilità di scegliere una temperatura massima al raggiungimento della quale il ventilatore si accenda automaticamente e una minima al di sotto della quale esso si spenga, sempre automaticamente.

Si parte

Assunzioni

Si assume che presso la configurazione di Home Assistant siano presenti le seguenti entità:

  • uno switch chiamato “ventilatore” (“switch.ventilatore”) che corrisponda all’attuatore che eroga/interrompe corrente al ventilatore (vedi progetto esemplificativo e relative considerazioni);
  • un sensore di temperatura chiamato “temperatura” (“sensor.temperatura”) che fornisca la temperatura istantanea della stanza in cui è presente il ventilatore con una risoluzione al decimo di grado centigrado.

Creazione degli slider

Primo passo è quello di definire due slider per definire quali siano le temperature “di soglia” per l’auto accensione/spegnimento. Per far ciò includeremo nella sezione “Input Number” (“maxtemp_fan” e “mintemp_fan”) le seguenti entità:

input_number:
  maxtemp_fan:
    name: FAN Max°
    initial: 29
    min: 27
    max: 31
    step: 0.1
  mintemp_fan:
    name: FAN Min°
    initial: 26
    min: 24
    max: 28
    step: 0.1

“maxtemp_fan” rappresenta lo slider dal quale regolare la temperatura oltre la quale si scatena l’accensione automatica; viceversa, “mintemp_fan” rappresenta quello dal quale regolare la temperatura al di sotto della quale si scatena lo spegnimento automatico.

Il primo ha un range operativo che va dai 27 ai 31 gradi centigradi, il secondo dai 24 ai 28 gradi. La risoluzione di regolazione è impostata al decimo di grado (“step: 0.1”).

Questa configurazione si traduce, sul frontend, in una rappresentazione come segue:

Home Assistant Input Number slider

Creazione dei sensori

Per innescare l’automazione che andremo a creare è necessario introdurre in configurazione due “Template Binary Sensor“, ovvero due sensori virtuali (li chiameremo “max_setpoint_status” e “max_setpoint_status”) che ci dicano in base al loro stato se nella stanza si sono superate (in alto e in basso) le due temperatura impostate tramite slider di cui sopra.

Nella sezione “binary_sensor:” andremo ad aggiungere la seguente configurazione:

binary_sensor:
  - platform: template
    sensors:
      max_setpoint_status:
        value_template: "{{ states('sensor.temperatura')|float > states('input_number.maxtemp_fan')|float }}"
      min_setpoint_status:
        value_template: "{{ states('sensor.temperatura')|float < states('input_number.mintemp_fan')|float }}"

Il sensore “max_setpoint_status” passa allo stato “on” se la temperatura nella stanza è più alta della soglia impostata sullo slider “maxtemp_fan“, viceversa è in stato “off“;

Il sensore “min_setpoint_status” passa allo stato “on” se la temperatura nella stanza è più bassa della soglia impostata sullo slider “mintemp_fan“, viceversa risponde “off“.

Automazione

Definiamo ora un’automazione che agisca al cambio di stato (da “no” a “yes”) dei due sensori di cui sopra.
Nel blocco “automation:” aggiungiamo la seguente automazione:

- alias: "AUTO Ventilatore"
  initial_state: false
  trigger:
    platform: state
    entity_id: binary_sensor.min_setpoint_status, binary_sensor.max_setpoint_status
    to: 'on'
  condition:
    condition: state
    entity_id: group.awesome_people
    state: home
  action:
    action: >
      {% if trigger.entity_id == 'binary_sensor.min_setpoint_status' %}
      switch.turn_off
      {% elif trigger.entity_id == 'binary_sensor.max_setpoint_status' %}
      switch.turn_on
      {% endif %}
    data:
      entity_id: switch.ventilatore

L’automazione è configurata in modo da non essere operativa all’avvio di Home Assistant (“initial_state: false”) .

È stata aggiunta inoltre una condizione, ovvero la presenza degli inquilini in casa: il gruppo chiamato “group.awesome_people” è infatti la rappresentazione di un raggruppamento di “Device Tracker“.


Un esempio di andamento della temperatura durante una notte estiva controllata con questa tecnica è rappresentata nel seguente esempio (si noti l’andamento a zig-zag della temperatura durante la notte). L’automazione è stata disattivata manualmente all’una, ma prima di quell’ora:

Grafico temperature Home Assistant

Uso

Ad avvenuta configurazione sarà dunque possibile definire presso l’interfaccia dell’HUB qualcosa simile a ciò che segue:

Ventilatore auto ON

Ovviamente si tratta solo di una rappresentazione esemplificativa: come sempre, il limite è la fantasia, pertanto sarà nelle corde dell’utente provvedere a personalizzare la rappresentazione come meglio crede.

⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.