E' andata via la corrente? Come scoprirlo subito con Home Assistant (anche con UPS economico)

Home Assistant

Scritto da Vincenzo Caputo

Ciao a tutti, amanti della domotica e paranoici del controllo!

Quante volte vi è capitato di essere fuori casa e chiedervi: "Ci sarà corrente o si starà scongelando tutto il freezer?". O peggio, tornare a casa e scoprire che il vostro serverino domotico si è spento brutalmente perché è saltata la luce ore prima e la batteria dell'UPS è morta.

Avete fatto le cose per bene: avete il vostro MiniPC con Home Assistant e lo avete collegato a un UPS (Gruppo di Continuità). L'idea è che se va via la corrente, il server resta acceso.

Tutto bellissimo, ma c'è un problema. Spesso gli UPS casalinghi (o quelli recuperati dall'ufficio) sono "muti". Non hanno quella porta USB o dati per dire ad Home Assistant: "Ehi, stiamo andando a batteria, vedi di spegnerti prima che finisca la carica!".

Risultato? Se manca la corrente, Home Assistant non lo sa... finché l'UPS non si spegne di colpo (il modo migliore per corrompere il database!).

Possiamo creare un sistema che ci avvisi "Attenzione: Corrente Assente!" senza spendere un euro e senza saldatori? Assolutamente sì. 

Prima però di addentrarci sulla soluzione che andremo a proporre nel presente articolo, facciamo una piccola disamina di tutte le opzioni che teoricamente abbiamo per affrontare questo problema.

Le Strade possibili: Come "sentire" il Blackout?

Prima di sporcarci le mani con la configurazione di oggi, facciamo un passo indietro. Se il vostro obiettivo è dire ad Home Assistant "Ehi, è saltata la luce!", sappiate che le strade per raggiungere Roma sono tante.

Ecco le principali, dalla più ufficiale alla più creativa (spoiler: ne vedremo altre nei prossimi articoli!):

  1. La via Maestra (Cavo USB + NUT): Se il vostro UPS è evoluto, ha una porta USB. Collegandola al server e configurando il protocollo NUT (Network UPS Tools), avrete la percentuale precisa di batteria. È la soluzione top, ma richiede un UPS compatibile.

  2. La via del Maker (ESP32): Usare un microcontrollore (come un ESP32 o ESP8266) che monitora una presa a muro tramite un piccolo circuito o un optoisolatore. È la soluzione più veloce e reattiva (millisecondi!), ma richiede saldature e componenti extra. State sintonizzati, perché ci scriverò una guida dedicata!

  3. La via del Riciclo (Android): Usare un vecchio smartphone collegato a una presa normale con l'app di Home Assistant: se smette di caricare, è blackout. Semplice, ma bisogna gestire la batteria del telefono per evitare che si gonfi.

  4. La via della Logica (Il metodo di oggi): Usare il "Ping". Non servono cavi, non servono saldatori, non serve comprare nulla. Sfruttiamo dispositivi che avete già in casa.

In questa guida ci concentriamo sulla soluzione n.4, perché è quella universale, a costo zero e realizzabile in 5 minuti da chiunque.

Pronti? Iniziamo!

I Pre-Requisiti (Fondamentali!)

Prima di iniziare, la regola d'oro. Affinché questa magia funzioni, la vostra infrastruttura di rete deve rimanere accesa durante il blackout. Il vostro UPS deve alimentare:

  1. Il MiniPC dove gira Home Assistant.

  2. Il Modem/Router (o lo switch principale).

Se quando salta la luce si spegne anche il router, Home Assistant non potrà inviarvi la notifica sul cellulare perché non ci sarà internet. Chiaro, no?

L'Idea: Il "Canarino nella Miniera"

Se l'UPS non può dirci che manca la corrente, dobbiamo dedurlo noi osservando l'ambiente. La tecnica è semplice: monitoriamo un dispositivo che NON è sotto UPS.

Se Home Assistant (che è vivo grazie all'UPS) prova a contattare un dispositivo collegato alla presa a muro normale e questo non risponde... significa che in casa è buio pesto!

Per questa guida useremo la soluzione più affidabile in assoluto: Una telecamera di sorveglianza collegata via cavo LAN. Perché via cavo? Perché il WiFi a volte fa i capricci. Non vogliamo un allarme "CORRENTE ASSENTE!" solo perché il WiFi ha avuto un singhiozzo. Il cavo è una sentenza: c'è o non c'è.

Passo 1: Il Sensore "Ping"

Dimenticate i vecchi codici complicati. Oggi Home Assistant ci rende la vita facile.

  1. IP Statico: Assicuratevi che la vostra telecamera "sentinella" abbia un IP fisso (es. 192.168.1.50). Impostatelo dal router (DHCP Reservation).

  2. Su Home Assistant, andate su Impostazioni > Dispositivi e Servizi.

  3. Cliccate su Aggiungi Integrazione e cercate Ping (ICMP).

  4. Inserite l'IP della telecamera (quella attaccata alla presa normale, mi raccomando!).

Ora avete un'entità (es. binary_sensor.telecamera_ping) che sarà:

  • Connesso = C'è corrente

  • Disconnesso = Blackout!

Passo 2: L'Automazione (Il Cervello)

Ora dobbiamo dire ad Home Assistant di avvisarci quando va via la luce. Ma attenzione ai falsi positivi! Se la telecamera si riavvia per un aggiornamento, non vogliamo l'allarme rosso. Inseriremo un piccolo ritardo di sicurezza (45 secondi).

Crea una nuova automazione e incolla questo YAML:

 

alias: "Notifica: Blackout Elettrico"
description: "Rileva assenza corrente perché la telecamera non risponde al ping"
trigger:
  - platform: state
    entity_id: binary_sensor.telecamera_ping  # Sostituisci con il tuo sensore!
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 45  # Aspetta 45 secondi di "silenzio" prima di dare l'allarme
condition: []
action:
  - service: notify.mobile_app_tuo_telefono
    data:
      title: "⚠️ ALLARME CORRENTE"
      message: "Rilevata assenza di corrente! La telecamera non risponde. UPS in scarica."
      data:
        push:
          sound:
            name: default
            critical: 1 # Su iPhone questo bypassa il silenzioso!
            volume: 1.0
mode: single

Passo 3: Il "Piano B" (Spegnimento Sicuro) ⏳

Ok, avete ricevuto la notifica. Ma se il blackout dura ore? Il nostro UPS non sa dirci "Mi resta il 10%". Quindi andiamo a stima. Se il vostro UPS regge 40 minuti, impostiamo che dopo 30 minuti di buio, si spegne tutto.

Meglio spegnersi in modo controllato salvando i dati, che schiantarsi.

alias: "Sicurezza: Spegnimento Server per Batteria Scarica"
trigger:
  - platform: state
    entity_id: binary_sensor.telecamera_ping
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 30 # Tempo stimato di sicurezza
      seconds: 0
action:
  - service: notify.mobile_app_tuo_telefono
    data:
      title: "🪫 UPS Critico"
      message: "Corrente ancora assente. Spengo il sistema tra 1 minuto. Addio!"
  - delay: "00:01:00"
  - service: hass.shutdown

Variante Pro: E per chi usa Proxmox?

Se fate girare Home Assistant come macchina virtuale (VM) su Proxmox, fermatevi! Il comando hass.shutdown spegne solo la VM. Il server fisico (il nodo Proxmox) rimarrebbe acceso a consumare batteria fino al disastro.

Dobbiamo dire ad Home Assistant di ordinare a Proxmox di spegnere tutto il "ferro".

  1. SSH: Configurate le chiavi SSH tra Home Assistant e Proxmox. Questo serve per permettere ad HA di inviare comandi al server senza dover digitare la password ogni volta. Non sai come farlo? È una procedura standard per chi usa Linux: vi rimando a questa ottima discussione sul forum di Home Assistant (in inglese) o a una qualsiasi guida online su "come generare chiavi SSH tra due server Linux". (probabilmente in futuro scriveremo una guida anche per questo)

  2. Shell Command: In configuration.yaml aggiungete:

shell_command:
  spegni_tutto_proxmox: "ssh -o StrictHostKeyChecking=no -i /config/ssh_keys/id_rsa root@192.168.1.X 'shutdown -h now'"
  1. Aggiornate l'automazione: Sostituite service: hass.shutdown con service: shell_command.spegni_tutto_proxmox.

E non dimenticate di impostare la VM di Home Assistant su "Start at boot: Yes" dentro Proxmox, altrimenti al riavvio del server la domotica non partirà!

La Resurrezione: Il BIOS

Abbiamo spento tutto. Ottimo. Ma quando torna la corrente? I computer, di default, restano spenti. Noi vogliamo che si riaccendano da soli.

Dovete entrare nel BIOS del vostro MiniPC (tasti F2, F10 o CANC all'avvio) e cercare una voce sotto "Power Management" chiamata AC Back, Restore on AC Power Loss o State After Power Failure.

Impostatela su Power On. In questo modo, appena l'UPS ricomincia a erogare corrente, il vostro server si riaccenderà, farà partire Home Assistant e vi manderà la notifica: "Sono vivo!".

Il "Paradosso del Limbo": E se la corrente torna subito?

C'è un caso limite che i più attenti avranno notato. Immaginate questo scenario:

  1. Va via la corrente.

  2. Dopo 30 minuti, Home Assistant spegne il MiniPC per sicurezza.

  3. L'UPS ha ancora il 10% di batteria ed è ancora acceso.

  4. La corrente di casa torna!

In questo caso, l'alimentatore del MiniPC non ha mai smesso di ricevere corrente (perché l'UPS non si è mai spento del tutto). Di conseguenza, la funzione BIOS "Restore on AC Power Loss" non scatterà, perché per il computer la corrente non è mai "andata via" fisicamente. Il server rimarrà spento in standby.

Come risolvere? (Il Wake on LAN) Dato che il vostro Router è sotto UPS, lui è rimasto acceso e la rete funziona. Possiamo sfruttarlo per "svegliare" il server.

  1. Nel BIOS: Abilitate la voce Wake on LAN (o PME Event Wake Up).

  2. Se siete in casa (WiFi): Basta un'app gratuita qualsiasi per smartphone (cercate "Wake On Lan"), inserite il MAC Address del MiniPC e premete invio.

  3. Se siete fuori casa (4G/5G): Qui serve un trucco in più, perché il comando non passa attraverso internet.

    • Metodo A (App del Router): Molti router (come i FRITZ!Box o ASUS) hanno una loro app che permette di cliccare su "Avvia questo dispositivo" anche da remoto.

    • Metodo B (VPN): Se il vostro router ha una VPN integrata, attivatela dal telefono: sarete virtualmente a casa e potrete usare l'app del punto 2. 

Come ultima ipotesi avete la via della rassegnazione serena: Accettare che in questo specifico caso (corrente che torna esattamente nell'intervallo tra lo spegnimento e la morte dell'UPS) dovrete premere il pulsante fisico. È comunque meglio che trovare il database corrotto da uno spegnimento improvviso!

Conclusione

Ecco fatto! Avete trasformato un UPS "stupido" in un sistema integrato intelligente. Ora potete uscire di casa tranquilli... o almeno consapevoli che se il frigo si spegne, sarete i primi a saperlo!

E voi? Siete del team "Scheda di rete da 200€" o del team "Ping e creatività"? Fatemelo sapere nei commenti!

Vi lascio con il mio solito video direttamente dal mio canale YouTube MissingTech. 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