Menu
Chi sono Servizi Percorso Lavora con me
Raspberry Pi and smart home components
Smart Home Mar 1, 2026 • 20 min di lettura

Operation Smart Home: A Father-Son Mission Brief

Today my son and I execute our smart home plan. Raspberry Pi 5, follow-me lighting, WiFi sensing. The hardware's ready, the code's tested. Time to build.

Condividi:
Lee Foropoulos

Lee Foropoulos

20 min di lettura

Sapete di cosa ne ha abbastanza il mondo? Di gente che parla di quello che farà "un giorno". Sognatori seduti con le mani in mano, in attesa del momento perfetto, del setup perfetto, del qualsiasi-cosa perfetto. Nel frattempo la vita continua a scorrere.

"Sentii ancora una volta quanto semplice e frugale cosa sia la felicità: un bicchiere di vino, una castagna arrosto, un misero braciere, il suono del mare. Nient'altro." — Nikos Kazantzakis, Zorba il Greco

Zorba non ha aspettato. Zorba ha ballato. Zorba ha fallito in modo spettacolare e ci ha riso su. Quando la sua grande operazione mineraria è crollata (letteralmente crollata), ha afferrato una bottiglia di vino e ha iniziato a ballare sulla spiaggia. È meglio fallire come Zorba che stare con le mani in mano.

Quindi oggi, mio figlio ed io eseguiamo. Il piano è tracciato. L'hardware è preparato. La maggior parte è stata testata singolarmente: le automazioni funzionano, i sensori rilevano, il codice compila. Ora vediamo se tutto funziona insieme. Qualcosa andrà storto? Probabilmente. Siamo pronti per le sfide? Assolutamente. Questa è la parte divertente.

È meglio fallire come Zorba che stare con le mani in mano.

Senza un piano, non c'è strada. Solo gente che parla per sentirsi parlare. Solo sogni. Questo non è un sogno, questo è un briefing di esecuzione.

La Missione

Prima che stasera mettiamo la cena alla griglia, questa casa sarà in grado di:

  • Accendere le luci nella stanza in cui entri, e abbassarle dietro di te quando esci
  • Chiudere ogni porta quando il letto rileva che ci siamo addormentati
  • Chiudere il garage automaticamente quando ci dimentichiamo (di nuovo)
  • Regolare il clima in base a quali stanze sono effettivamente occupate
  • Generare rumore WiFi così nessuno dall'esterno può usare la stessa tecnologia di rilevamento contro di noi

E Amazon non saprà nulla. Tutto gira in locale. Nessun cloud. Nessun abbonamento. Nessuna raccolta dati.

L'Arsenale (Già Predisposto)

Il Cervello: Raspberry Pi 5 - PRONTO

Questo aggeggio è stato sulla mia scrivania per due settimane, completamente configurato, in attesa di oggi. Il Pi 5 è eccessivo per la domotica base. Mi piace l'eccessivo. Gira con Raspberry Pi OS Lite, Docker è installato, Portainer ronza. Tutto quello che devo fare è collegarlo dove andrà a stare.

Ho scelto il bundle Argon ONE V3 M.2 NVME PCIE Case. Già assemblato:

  • SSD M.2 con OS flashato (niente guasti di schede SD per noi)
  • Docker + Portainer installati e testati
  • Container Home Assistant pronto per il deploy
  • IP statico assegnato sulla rete

Checklist Pre-Volo - COMPLETATA

  • ☑ Raspberry Pi OS Lite flashato su SSD
  • ☑ SSH abilitato, credenziali impostate
  • ☑ Rete configurata con IP statico
  • ☑ Docker + Portainer in funzione
  • ☑ File di configurazione Home Assistant preparati

I Sensori: Schede ESP32 - FLASHATE E TESTATE

Queste piccole schede ESP32 sono state la parte divertente. Mio figlio ed io abbiamo passato lo scorso weekend a flasharle e guardare i dati del segnale WiFi arrivare. Funzionano. Confermato.

  1. Unità WiFi Sensing - Rileva il movimento misurando le alterazioni del segnale WiFi. Testata camminando per il soggiorno: capta il movimento attraverso i muri, raggio di circa 4-6 metri.
  2. Unità WiFi Fog - Genera rumore per accecare qualsiasi rilevamento WiFi esterno. Funziona in isolamento, creando un bellissimo caos nello spazio dei segnali.

Oggi le integriamo in Home Assistant e vediamo se le automazioni si attivano correttamente. Il codice funziona nei test. La domanda è: funziona quando è tutto connesso?

(Se volete sapere perché è importante, leggete i miei articoli sul WiFi sensing e sulle contromisure WiFi.)

L'Infrastruttura Esistente - GIÀ IN POSIZIONE

Non partiamo da zero. La casa ha già roba smart; sta solo girando su app separate come un mucchio di isole disconnesse. Oggi unifichiamo il regno:

  • Lampadine Philips Hue - Già installate ovunque. Attualmente controllate dall'app Hue. Oggi: Home Assistant prende il comando.
  • Termostato Ecobee - Sa già quali stanze sono occupate tramite i suoi sensori. Oggi: integriamo quei dati.
  • Letto Eight Sleep - Già traccia quando dormo. Oggi: attiva l'automazione di blocco notturno.
  • Serrature Kwikset (Z-Wave) - Già sulle porte. Oggi: imparano a chiudersi da sole.
  • Garage MyQ - Già installato. Oggi: basta tornare a casa perché ho dimenticato di chiuderlo.

Il punto: Potreste già avere più dispositivi smart di quanto pensiate. Non si stanno ancora parlando tra loro.

Home automation dashboard
Entro stasera: tutto unificato sotto un'unica dashboard

Fase 1: Infrastruttura (FATTO)

Questo è il lavoro dello scorso weekend. Se seguite più tardi, ecco cosa abbiamo fatto. Se avete letto il mio articolo su Docker, sapete perché abbiamo containerizzato tutto.

bash# Docker + Portainer - Already running
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce

Portainer è attivo su http://raspberrypi.local:9000. Bella GUI per la gestione dei container. Fatto.

Fase 2: Home Assistant (IL PRIMO COMPITO DI OGGI)

Il file docker-compose è scritto. La directory di configurazione è pronta. Oggi lo avviamo sul serio e iniziamo a connettere i dispositivi.

yaml# docker-compose.yml - ready to deploy
version: '3'
services:
  homeassistant:
    container_name: homeassistant
    image: ghcr.io/home-assistant/home-assistant:stable
    volumes:
      - /home/pi/homeassistant:/config
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
    privileged: true
    network_mode: host

Il piano: Lanciare docker-compose up -d, entrare nel wizard di configurazione, e connettere queste integrazioni una alla volta:

  • Philips Hue - Dovrebbe auto-scoprirsi sulla rete
  • Ecobee - Flusso OAuth, bisogna avere l'app a portata di mano
  • Eight Sleep - Integrazione API, credenziali pronte
  • Z-Wave - Questa potrebbe diventare piccante, le serrature possono fare i capricci
  • MyQ - Semplice, l'ho già fatto
  • ESPHome - Per i dispositivi ESP32 flashati lo scorso weekend

Sfida prevista: Z-Wave. Le serrature hanno sempre carattere. Vedremo.

Close-up of a circuit board with electronic components
Le schede ESP32 sono flashate, testate e pronte per l'integrazione

Fase 3: Integrazione WiFi Sensing (LA PARTE DIVERTENTE DI OGGI)

L'Unità di Rilevamento - PRONTA PER LA CONNESSIONE

Lo scorso weekend mio figlio guardava il monitor seriale mentre questo aggeggio mi rilevava camminare nel soggiorno. Le sue parole esatte: "Papà, è inquietante e fantastico."

L'ESP32 è già flashato con ESPHome. Sta già rilevando il movimento tramite WiFi CSI (Channel State Information). Oggi lo colleghiamo a Home Assistant e gli diamo un nome: binary_sensor.living_room_occupied

Il test: Entrare nel soggiorno. Home Assistant lo vede? Se sì, siamo in pista.

L'Unità Fog - LIVELLO PRIVACY PRONTO

Il secondo ESP32 fa girare il generatore di rumore dal mio articolo sulle contromisure. Gira sul mio banco da lavoro da una settimana, generando bellissimo caos nello spettro WiFi.

Sì, stiamo usando il WiFi sensing per la nostra automazione e contemporaneamente ci proteggiamo da altri che fanno lo stesso contro di noi. Non è ipocrisia. È sicurezza operativa. E mio figlio pensa sia la cosa più figa del mondo.

Espansione Futura: 3+3

L'obiettivo di oggi è dimostrare il concetto con un sensore e un dispositivo fog. Una volta che siamo sicuri:

  • 3 Dispositivi di rilevamento: Soggiorno, cucina, camera da letto
  • 3 Dispositivi fog: Distribuiti per copertura completa

Sono circa $50 in schede ESP32 per un upgrade di tutta la casa. Ma prima, assicuriamoci che oggi funzioni.

$50
Costo totale delle schede ESP32 per copertura WiFi sensing in tutta la casa con 3 sensori e 3 dispositivi fog.

Fase 4: Le Automazioni (IL VERO OBIETTIVO)

È per questo che abbiamo costruito tutto. Questi file YAML sono scritti, testati nella mia testa cento volte, e pronti per il paste. Funzioneranno al primo colpo? Scopriamolo.

Automazione 1: Illuminazione Follow-Me (LO SHOW)

La visione: Entra in una stanza, le luci si accendono per accoglierti. Esci, e si abbassano dietro di te come un maggiordomo rispettoso. La casa di Tony Stark. Questo è l'obiettivo.

La sfumatura: Se hai acceso una luce manualmente, il sistema la lascia in pace. La tua scelta è rispettata. Tracciamo questo con helper input_boolean. Perché non c'è niente di peggio di un'automazione che ti combatte.

yaml# configuration.yaml additions
input_text:
  last_occupied_room:
    name: "Last Occupied Room"
    initial: "none"

input_boolean:
  living_room_auto_triggered:
    name: "Living Room Auto Triggered"
  kitchen_auto_triggered:
    name: "Kitchen Auto Triggered"
  bedroom_auto_triggered:
    name: "Bedroom Auto Triggered"

Ora l'automazione:

yaml# automations.yaml
- alias: "Follow Me - Living Room Entry"
  trigger:
    - platform: state
      entity_id: binary_sensor.living_room_occupied
      to: "on"
  condition:
    - condition: state
      entity_id: light.living_room
      state: "off"
  action:
    # Dim the previous room if it was auto-triggered
    - choose:
        - conditions:
            - condition: template
              value_template: "{{ states('input_text.last_occupied_room') == 'kitchen' }}"
            - condition: state
              entity_id: input_boolean.kitchen_auto_triggered
              state: "on"
          sequence:
            - service: light.turn_on
              target:
                entity_id: light.kitchen
              data:
                brightness_pct: 20
                transition: 3
    # Turn on current room
    - service: light.turn_on
      target:
        entity_id: light.living_room
      data:
        brightness_pct: 100
    - service: input_boolean.turn_on
      target:
        entity_id: input_boolean.living_room_auto_triggered
    - service: input_text.set_value
      target:
        entity_id: input_text.last_occupied_room
      data:
        value: "living_room"

- alias: "Follow Me - Living Room Vacancy"
  trigger:
    - platform: state
      entity_id: binary_sensor.living_room_occupied
      to: "off"
      for:
        minutes: 2
  condition:
    - condition: state
      entity_id: input_boolean.living_room_auto_triggered
      state: "on"
  action:
    - service: light.turn_off
      target:
        entity_id: light.living_room
      data:
        transition: 5
    - service: input_boolean.turn_off
      target:
        entity_id: input_boolean.living_room_auto_triggered

Il test: Una volta deployato, mio figlio ed io cammineremo per la casa e vedremo se ci segue. Se funziona, ci sentiremo come in un film. Se no, faremo debug mangiando pizza.

Automazione 2: Blocco Notturno (LA SERENITÀ)

Lo scenario: Sono le 22. Vado a letto. Cinque minuti dopo, il mio Eight Sleep conferma che sto davvero dormendo (non solo sdraiato a scrollare). La casa risponde: ogni porta si chiude, il garage si chiude se l'ho dimenticato (di nuovo), il termostato passa in modalità notte, e le luci attivate automaticamente si spengono.

yaml- alias: "Bedtime - Eight Sleep Triggered Lockdown"
  trigger:
    - platform: state
      entity_id: binary_sensor.eight_sleep_bed_presence
      to: "on"
      for:
        minutes: 5
  condition:
    - condition: time
      after: "21:00:00"
      before: "06:00:00"
  action:
    # Lock all doors
    - service: lock.lock
      target:
        entity_id:
          - lock.front_door
          - lock.back_door
    # Close garage if open
    - service: cover.close_cover
      target:
        entity_id: cover.garage_door
    # Set Ecobee to sleep mode
    - service: climate.set_preset_mode
      target:
        entity_id: climate.ecobee
      data:
        preset_mode: "Sleep"
    # Turn off auto-triggered lights
    - service: light.turn_off
      target:
        entity_id:
          - light.living_room
          - light.kitchen
      data:
        transition: 5

Non avete Eight Sleep? Sostituite con un trigger basato sul tempo (22:30) o il rilevamento della ricarica del telefono. La logica è la stessa.

Automazione 3: Chiusura Auto del Garage (IL SALVA-MATRIMONIO)

Il problema: "Hai chiuso il garage?" - una domanda fatta 3 volte a settimana in questa casa. Basta. Dopo 10 minuti aperto, si chiude da solo e mi manda un messaggio.

yaml- alias: "Garage - Auto Close After 10 Minutes"
  trigger:
    - platform: state
      entity_id: cover.garage_door
      to: "open"
      for:
        minutes: 10
  action:
    - service: cover.close_cover
      target:
        entity_id: cover.garage_door
    - service: notify.mobile_app_your_phone
      data:
        title: "Garage Secured"
        message: "Garage was open for 10 minutes. Auto-closed."
        data:
          tag: "garage-closed"

Automazione 4: Clima Intelligente (IL RISPARMIO ENERGETICO)

La logica: Perché riscaldare una casa vuota? Quando i nostri sensori WiFi dicono che nessuno è in casa da 30 minuti, Ecobee passa in modalità Assente. Quando qualcuno entra, si risveglia.

yaml- alias: "Ecobee - Away When House Empty"
  trigger:
    - platform: state
      entity_id: binary_sensor.home_occupied
      to: "off"
      for:
        minutes: 30
  action:
    - service: climate.set_preset_mode
      target:
        entity_id: climate.ecobee
      data:
        preset_mode: "Away"

- alias: "Ecobee - Home When Occupied"
  trigger:
    - platform: state
      entity_id: binary_sensor.home_occupied
      to: "on"
  condition:
    - condition: state
      entity_id: climate.ecobee
      attribute: preset_mode
      state: "Away"
  action:
    - service: climate.set_preset_mode
      target:
        entity_id: climate.ecobee
      data:
        preset_mode: "Home"

Creare il Sensore Aggregato

Il binary_sensor.home_occupied è un sensore template che combina tutti i sensori delle stanze:

yamltemplate:
  - binary_sensor:
      - name: "Home Occupied"
        state: >
          {{ is_state('binary_sensor.living_room_occupied', 'on')
             or is_state('binary_sensor.kitchen_occupied', 'on')
             or is_state('binary_sensor.bedroom_occupied', 'on') }}

Cosa Potrebbe Andare Storto? (La Parte Divertente)

Ecco il punto: qualcosa andrà storto oggi. Non è pessimismo, è realtà. E va bene. È tutto qui il senso.

Probabili candidati per l'avventura di oggi:

  • Serrature Z-Wave - Queste cose hanno carattere. L'accoppiamento potrebbe richiedere diversi tentativi.
  • Calibrazione sensore WiFi - Funziona sul banco, ma quando sarà in posizione?
  • Casi limite delle automazioni - Cosa succede se qualcuno attraversa una stanza in 2 secondi?
  • Il problema "ieri funzionava" - La barzelletta preferita della tecnologia.

Ma è per questo che lo facciamo insieme. Padre e figlio, risolvendo problemi, imparando, probabilmente litigando sul perché il YAML non fa il parse. È così che si impara davvero: costruendo qualcosa di reale, guardandolo rompersi e aggiustandolo.

La miniera di Zorba è crollata. La sua risposta? Ballare sulla spiaggia. Qualunque cosa si rompa oggi, troveremo una soluzione. E se non ci riusciamo, avremo una bella storia per cena.

La Filosofia

Ecco cosa separa chi fa da chi sogna:

I sognatori fanno ricerche per mesi. Leggono ogni articolo. Aspettano l'hardware "giusto". Ottimizzano il loro piano finché non è perfetto. Non iniziano mai.

Chi fa scrive un piano, raccoglie quello che serve, ed esegue. Si aspettano sfide. Si adattano al volo. Falliscono in avanti.

Senza un piano, non c'è strada: solo gente che parla per sentirsi parlare. Ma un piano senza esecuzione è solo un sogno con passaggi extra.

Criteri di Successo di Oggi

  • ☐ Home Assistant in funzione con tutti i dispositivi connessi
  • ☐ Sensore WiFi che rileva movimento nel soggiorno
  • ☐ Illuminazione follow-me funzionante in almeno una stanza
  • ☐ Automazione blocco notturno abilitata
  • ☐ Mio figlio che dice "è come la casa di Tony Stark"

Cosa Viene Dopo (Quando Oggi Funziona)

Supponendo che ci riusciamo (e ci riusciremo, alla fine, anche se ci vorrà più del previsto):

  • Deploy completo 3+3 ESP32 - Rilevamento in ogni stanza principale, copertura fog ovunque
  • Tablet a parete con dashboard - Pannello di controllo sempre acceso nel corridoio
  • Controllo vocale locale - Wyoming/Piper per comandi vocali che non escono di casa
  • Sensori di perdite d'acqua - Sotto ogni lavandino e vicino allo scaldabagno

Ma prima: oggi. Prima: esecuzione. Prima: dimostrare che tutta questa pianificazione funziona davvero.

Checklist Costruzione Smart Home 0/6

"La vita è quello che ti succede mentre sei impegnato a fare altri piani." - John Lennon

Sbagliato. La vita è quello che succede quando smetti di pianificare e inizi a fare. Ci vediamo dall'altra parte. È ora di costruire qualcosa.

How was this article?

Condividi

Link copied to clipboard!

You Might Also Like

Lee Foropoulos

Lee Foropoulos

Business Development Lead at Lookatmedia, fractional executive, and founder of gotHABITS.

🔔

Non perdere nessun articolo

Ricevi una notifica quando vengono pubblicati nuovi articoli. Nessuna email richiesta.

Vedrai un banner sul sito quando viene pubblicato un nuovo articolo, oltre a una notifica del browser se lo consenti.

Solo notifiche del browser. Niente spam, niente email.