Sensore luce ambiente per Home Assistant con ESPHome

Coding

Scritto da Vincenzo Caputo

Qualche settimana fa abbiamo pubblicato un video, sul nostro canale YouTube MissingTech ed un articolo su questo Blog, che aveva come argomento la realizzazione di un attuatore domotico a 4 canali con connettività WiFi, simile ad un Sonoff 4CH ma con un costo di realizzazione molto più basso.

Suddetto articolo lo potete leggere al seguente link:

4 Canali a contatto pulito a meno di 5 euro con ESPHome!

Il tutto realizzato con un micro-controllore ESP32 e un modulo relè 4 canali a contatto pulito il tutto governato dal firmware ESPHome direttamente compilato in Home Assistant grazie all'apposito Add-on.

Questo contenuto ha riscosso particolarmente successo, quindi ho deciso di continuare la navigazione nell'argomento ESPHome ed oggi siamo a mostrare come aggiungere alla nostra piccola board anche un sensore di luce ambientale.

Per l'occasione ho usato un sensore di luce analogico acquistato da Amazon il cui link è di seguito riportato:

TEMT6000 - Modulo sensore di luce ambientale, 5 pezzi
Prezzo intero: 9,99€
Prezzo scontato: 9,99€

Se volete potete acquistare lo stesso prodotto su AliExpress ad un prezzo più basso.

https://s.click.aliexpress.com/e/_okfaVUl

Questo sensore ha una tensione di esercizio DC di 3,3-5 V e un campo di illuminazione pari a 1-1000 lux

Questo sensore è dotato di tre contatti: due per l'alimentazione (positivo e negativo) e uno per il segnale analogico da inviare al micro-controllore.

V è il positivo, G il negativo ed S il pin del segnale.

Sulla board ESP32 potrete collegarlo alla 5V o alla 3,3V (per il positivo), mentre il negativo su uno dei pin GND. Il PIN s invece lo potrete collegare su uno dei PIN da 32 a 39 come riportato nelle istruzione del firmware ESPHome.

Il ho collegato il tutto come potete osservare nella seguente immagine sui pin cerchiati di rosso.

A questo punto non vi resterà altro da fare che caricare in home assistant il codice che trovate incollato qui di seguito.

switch:
  - platform: gpio
    name: "Canale_1"
    pin: 14
    id: relay1
    inverted: True
    restore_mode: RESTORE_DEFAULT_OFF

  - platform: gpio
    name: "Canale_2"
    pin: 27
    inverted: True
    restore_mode: RESTORE_DEFAULT_OFF

  - platform: gpio
    name: "Canale_3"
    pin: 26
    inverted: True
    restore_mode: RESTORE_DEFAULT_OFF

  - platform: gpio
    name: "Canale_4"
    pin: 25
    inverted: True
    restore_mode: RESTORE_DEFAULT_OFF

sensor:
  - platform: adc
    pin: 35
    name: "Sensore LUX"
    device_class: illuminance
    update_interval: 1s
    unit_of_measurement: lx
    filters:
      - lambda: |-
          return (x * 100.0);
    on_value_range:
    - above: 0
      below: 40
      then:
        - switch.turn_on:
           id: relay1
    - above: 41
      below: 150
      then:
        - switch.turn_off:
           id: relay1

Per le istruzioni di caricamento del codice fate riferimento alla guida precedente dove ho spiegato tutto nel dettaglio sia nel caso in cui siate al primo flash di ESPHome su un nuovo dispositivo, sia che siate ad aggiornare come in questo mio caso.

4 Canali a contatto pulito a meno di 5 euro con ESPHome!

Un volta caricato il codice dovreste ottenere un funzionamento di questo tipo.

Nella programmazione del codice non mi sono soffermato solamente a creare il sensore di luminosità ambientale, ma ho provato a realizzare una piccola automazione con il modulo relè che già era a bordo.

Volete vedere com'è andata e capire cosa ho fatto?

Vi basterà guardare il video qui di seguito per la spiegazione completa.

Buona visione!

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Vincenzo Caputo

Nato a Matera, il 1° novembre 1977. Sono da sempre appassionato di tecnologia e ho un'esperienza lavorativa ventennale nel settore IT. Mi piace sperimentare e cercare sempre nuove soluzioni e soprattutto mi piace comunicare le mie esperienze agli altri.


Vai ai commenti