La lavatrice si fa sentire — se la si lascia
Programma, temperatura e centrifuga sul telefono, in locale e senza account del produttore. E perché a Merano la stessa marca non era collegabile.
Contenuto
Il vantaggio è piccolo quanto può esserlo un vantaggio, e si sente lo stesso: non vado più a controllare se il bucato è finito. Arriva invece una notifica, con programma, temperatura e giri di centrifuga.
La cosa degna di nota non è la notifica. È che nasce in locale — senza account del produttore, senza cloud, senza app in funzione sullo sfondo. E che la stessa marca nella mia seconda casa non era collegabile per niente.
Una premessa, perché colora tutto l’articolo: la documentazione elenca ancora come punto aperto il primo vero ciclo di lavaggio con il Wi-Fi acceso. I testi delle notifiche sono verificati e una prova è stata consegnata — il caso reale è ancora da fare.
Non si trova dove la si cerca
La macchina non risponde al ping. Una scansione di rete non la trova. È
comparsa nell’elenco dei client di un satellite Wi-Fi, sotto il nome
insignificante espressif — il produttore del chip. Una sola porta aperta: la
80.
La prova è arrivata dall’endpoint stesso:
/http-read.json?encrypted=0 HTTP 200 {"response":"BAD REQUEST"}
/http-read.json?encrypted=1 HTTP 200 1264 caratteri esadecimali
Un dispositivo qualsiasi lì restituisce 404. Qui l’endpoint risponde — e la variante cifrata restituisce i dati di stato in esadecimale.
L’ordine è la trappola. Chi prova solo encrypted=0, legge «BAD REQUEST» e
si ferma, dà il dispositivo per muto. L’interrogazione che funziona è la seconda.
Nove valori, nessun account
L’integrazione usata è aggiuntiva, non incorporata, e lavora solo in locale. Per configurarla serve unicamente l’indirizzo IP della macchina. Cosa arriva:
| Valore | Esempio |
|---|---|
| Stato | Idle |
| Programma | 2 |
| Temperatura | 40 °C |
| Centrifuga | 1400 giri/min |
| Tempo residuo | 0 min |
| Livello acqua | 0 % |
| Partenza differita | 0 h |
| Codice errore | 0 |
| Comando remoto | sì |
Da qui si ricavano «in funzione», «finito» ed «errore» — senza presa intelligente e senza cloud.
Due trappole nella macchina a stati
Lette nel codice sorgente dell’integrazione, non indovinate.
Prima trappola: due codici significano entrambi «Finished». La macchina
conosce gli stati 7 e 8, ed entrambi arrivano in Home Assistant come lo stesso
testo. Cercare una differenza è inutile — un innesco su Finished li prende
entrambi da solo.
Seconda trappola, la più importante: «Off» è inventato. L’integrazione imposta
questo stato quando il dispositivo è irraggiungibile e l’ultimo stato era
Finished o Idle, così i sensori mostrano qualcosa invece di «non
disponibile».
Chi ci costruisce sopra un avviso «lavatrice offline» costruisce un avviso che scatta a ogni macchina addormentata.
Confermato la sera stessa: dopo un riavvio la macchina risultava Off, tre campi
aggiuntivi erano unknown o unavailable — e la porta era effettivamente
chiusa. La macchina dormiva.
Conseguenza pratica: un controllo errori sul sensore del codice errore dovrebbe
fare i conti con unknown. L’automazione si innesca perciò sullo stato della
macchina Error, non sul codice. Durante la costruzione era un’ipotesi — ora è
misurata.
La caratteristica che determina tutto
Questa macchina non resta collegata al Wi-Fi. Va attivata di proposito e non si connette da sola. Se è spenta, è spenta — non esiste uno stato di attesa in cui ci sia ancora qualcosa da interrogare.
Quindi Off qui è lo stato normale, non l’eccezione:
| Situazione | Cosa vede Home Assistant |
|---|---|
| Macchina spenta | Off |
| Accesa, Wi-Fi non attivato | Off |
| Accesa, Wi-Fi attivato | valori reali |
E con essa la conseguenza scomoda: la notifica di fine arriva solo se il Wi-Fi era acceso durante il lavaggio. Chi lava senza Wi-Fi non riceve nulla. Non ci si può costruire sopra niente: è la costruzione dell’apparecchio.
Perché l’innesco deve essere Running → Finished
La prima versione accettava qualsiasi stato precedente. Era troppo permissiva, proprio per la caratteristica appena descritta.
Chi accende il Wi-Fi dopo che un lavaggio è finito fa saltare l’entità
direttamente da Off a Finished — e riceverebbe una notifica di fine per
qualcosa concluso da un pezzo. Su un apparecchio che si porta in rete a mano non
è un caso limite, è il caso normale.
Running → Finished è l’unica transizione che significa davvero: appena
finito. Con un’interrogazione ogni 60 secondi e un’ora di lavaggio, Running
viene visto di sicuro.
La stessa condizione risolve di passaggio un secondo caso: dopo un riavvio di Home Assistant non c’è stato precedente — anche quello viene scartato.
Una lacuna lasciata aperta di proposito
Se il Wi-Fi cade proprio alla fine del programma, Home Assistant non vede mai la transizione e la notifica non arriva.
La via d’uscita ovvia sarebbe innescare anche su Running → Idle. Prende quel
caso — ma segnala anche un lavaggio interrotto come «finito». Interrotto e
finito, visti da fuori, sono identici.
Una falsa notifica di fine è peggio di una mancata. La mancata non la aspetta nessuno; la falsa manda qualcuno alla macchina.
Perciò resta l’innesco univoco. Per me è la regola più importante in assoluto nel costruire notifiche, e vale ben oltre le lavatrici.
Stessa marca, seconda casa, niente di niente
A Merano c’è una macchina dello stesso gruppo. Lì il collegamento era impossibile in partenza — ha NFC al posto del Wi-Fi. Si avvicina il telefono al frontale. Non c’è alcun modulo radio in rete, quindi non c’è nulla da collegare.
Non è stata un’ipotesi ma un’esclusione: è stata cercata l’intera sottorete, sia a macchina in sonno profondo sia accesa. Sono emerse solo risposte di errore del router e di un bridge per serratura. Nessuna interfaccia.
Il sostituto c’era già: una presa con misura di potenza. Dall’andamento dei consumi si ricavano «in funzione» e «finito» — più grossolano dello stato reale del programma, ma regge.
E lì la macchina si guadagna il posto in un secondo modo: è il livello 1 del distacco carichi. L’appartamento ha una potenza impegnata limitata; quando si stringe, salta per prima la lavatrice. Il motivo è buono: dopo un’interruzione riprende il programma da sola. Un condizionatore spento a 29 gradi si sente subito — un lavaggio interrotto per poco no.
E quindi?
Cosa sparisce davvero: il tragitto fino al bagno per controllare. Nulla di più. È una delle automazioni più piccole di tutta la casa e una delle più spesso utili.
Cosa farei diversamente al momento dell’acquisto: verificare prima se l’apparecchio ha un’interfaccia locale, non solo il «controllo da app». L’NFC sul frontale è una funzione dal punto di vista del marketing e non vale nulla per la domotica. E un apparecchio che si collega al Wi-Fi da solo vale molto più di uno che va convinto ogni volta.
La via d’uscita economica resta la presa intelligente. Costa meno di 20 euro, funziona su qualsiasi macchina di qualsiasi età e non richiede interfacce. Non ti dirà a che temperatura hai lavato — ma ti dirà che è finita. Ed è quella la parte che stavi aspettando.
Se vuoi seguire tutto questo: usa RSS
Niente newsletter. Non mi dai un indirizzo, non tengo liste e nessuno deve acconsentire a nulla per sapere che un articolo è pronto. RSS è la soluzione più vecchia e, per entrambe le parti, la più onesta.
Come si fa, e perché niente newsletter
- 1Procurati un lettore di feed. Senza account con un’app sul telefono o un’estensione del browser; chi preferisce usa un servizio con account.
- 2Inserisci lì l’indirizzo qui sopra.
- 3Fatto. I nuovi articoli compaiono da soli nel tuo lettore — ciò che non leggi resta non letto, e niente finisce tra fatture e pubblicità nella posta.
Perché è meglio: il tuo lettore scarica il file. Io non ricevo nessun indirizzo e non posso vedere chi legge né se qualcuno ha aperto. Disiscriversi vuol dire cancellare la voce — senza link, senza mail di conferma, senza di me.
