La stufa obbedisce di nuovo — per 55 euro invece di 299
La stufa a pellet accetta di nuovo potenza e temperatura. Ci sono voluti un convertitore da 32 euro, la giusta velocità di trasmissione e una riga di codice.

Contenuto
- Perché un relè non basta
- La presa a cui era collegato il vecchio modulo
- La sorpresa: la stufa cerca un modem
- I componenti
- Il giorno in cui non arrivava nulla
- Errore 1: ho letto uno schema nel rumore
- Errore 2: un’ipotesi che non vedevo più come tale
- Era la velocità di trasmissione
- Due ore su una riga
- 16:08 — brucia
- L’errore più bizzarro del progetto
- Cosa c’è in Home Assistant
- Cosa manca di proposito
- Per rifarlo
- E quindi?
A Kapfenberg Bruno ha un posto preferito molto chiaro: davanti alla stufa a pellet. Quello che questa stufa non sapeva più fare da anni, dal 3 ottobre lo sa di nuovo — accetta potenza di riscaldamento e temperatura impostata da Home Assistant, non solo acceso e spento.
La domanda di partenza era semplice: prima c’era un modulo GSM collegato alla stufa, capace di più che accendere e spegnere. Non c’è più. Si può recuperare?
Sì. Entrambe le cose. E per circa 55 euro invece dei 299 che costa il modulo pronto. Ecco come — e dove mi sono sbagliato due volte di brutto.
Perché un relè non basta
Alla stufa era già collegato un relè sul contatto del termostato. Conosce esattamente due stati: aperto e chiuso. Quindi richiesta di calore sì o no.
È qui che finiscono quasi tutte le guide — ed è troppo poco. Chi vuole regolare la potenza o lavorare su una temperatura ambiente ha bisogno di un’altra strada.
Un avvertimento in premessa, perché torna di continuo nei commenti: «spegnere» dalla presa una stufa a pellet accesa non è domotica, è un danno annunciato. Interrompe la fase di post-ventilazione. Il contatto del termostato è la via giusta, la presa mai.
La presa a cui era collegato il vecchio modulo
Sul retro c’è una presa Sub-D a 15 poli. Lì era collegato il vecchio modulo GSM, e la stessa presa la usano anche le soluzioni di oggi.
La prova che lì si può fare più di acceso/spento era la storia stessa: una scatola capace di impostare potenza e temperatura non poteva essere collegata al contatto del termostato.
La piedinatura:
| Pin | Funzione |
|---|---|
| 1 | alimentazione 5 V |
| 2 | Rx — ingresso della stufa |
| 3 | Tx — uscita della stufa |
| 4 | linea TTL per il sensore ambiente |
| 5, 15 | massa |
I pin 2 e 3 sono vero RS-232. Il pin 4 è un’altra cosa, cioè la linea TTL del sensore di temperatura. Questa distinzione sembra un dettaglio e mi è costata mezza giornata — ci torno più avanti.
La sorpresa: la stufa cerca un modem
Su questa presa la stufa si comporta come un PC che si aspetta un modem GSM. Interroga la memoria SMS con un comando AT ogni cinque secondi e mezzo. Se non riceve risposta, continua a chiedere. Se la risposta manca per mezzo minuto, disattiva la modalità GSM — e a riattivarla può essere solo una persona davanti al display.
Chi vuole usare questa interfaccia emula quindi un modem. I comandi arrivano
sotto forma di SMS inventati, nel formato [codice] [comando] [parametro] — per
esempio ON, h100 per la potenza massima o r21 per 21 gradi ambiente.
I componenti
| Componente | Sigla esatta | Scopo | Prezzo |
|---|---|---|---|
| Cavo DB15 | Harrisen DB15, confezionato — rosso, marrone e verde chiaro vanno ai pin 3, 2 e 15 | alla presa della stufa | ~20 € |
| Convertitore seriale | USR-DR162, seriale su Wi-Fi, con morsetti a vite | porta l’interfaccia in rete | 31,94 € |
| Alimentatore 12 V | — | alimenta il convertitore | ~8 € |
| Sensore ambiente | — | avanzato dal vecchio kit | — |

Questo è il pezzo da 32 euro. Le quattro spie dicono, nell’ordine: c’è corrente, l’apparecchio gira, i dati passano, il Wi-Fi è su. Quell’ordine è stato utile nella caccia al guasto — il codice sull’adesivo è stato oscurato.

Si usano tre contatti su quindici. Gli altri dodici appartengono alla vecchia piedinatura della presa e restano liberi — capire quali fossero i tre giusti è stata metà del lavoro di saldatura.
Non servono, benché previsti all’inizio: un ESP32 e un adattatore di livello. I timori sul livello del segnale erano infondati — i pin 2 e 3 sono vero RS-232.
Per confronto: il modulo di adattamento pronto costa 299 euro e fa la stessa cosa. Era un’alternativa seria, e la decisione è arrivata solo quando è stato chiaro che l’autocostruzione reggeva. Circa 55 euro contro 299 — con un programma di 200 righe.
La piedinatura non è mia. Viene da un messaggio di forum del 2013 in cui qualcuno aveva già misurato la stessa presa. Senza di lui il progetto sarebbe cominciato con un cercafase.
Sul convertitore vale la pena guardare il formato. La versione con morsetti a vite risparmia il cavo DB9 e l’adattatore di genere; il doppio banda aiuta in una casa in cui i 2,4 GHz sono già occupati da una dozzina di telecamere.
Il giorno in cui non arrivava nulla
Prima giornata di misure: cavo collegato, convertitore in rete, programma di registrazione attivo — e silenzio. Ogni cinque secondi e mezzo una manciata di byte senza senso, il cui numero si spostava con la frequenza di campionamento.
Quello che ne ho ricavato è la parte istruttiva.
Errore 1: ho letto uno schema nel rumore
Su uno dei fili arrivavano tre byte con un primo valore fisso e il resto variabile. Sembrava struttura. Ne ho concluso di aver trovato il filo giusto.
Era lo stesso artefatto di tutti gli altri, solo su un altro pin. Leggere un messaggio in uno schema dentro il rumore è l’errore classico — e la controprova che l’avrebbe smentito era già in corso.
Errore 2: un’ipotesi che non vedevo più come tale
Poi ho trovato in un progetto altrui la frase secondo cui la stufa usa logica a 5 volt sulla connessione seriale. Da lì ho costruito un guasto hardware: la presa porta TTL, il convertitore comprato è il dispositivo sbagliato, serve un ESP32.
Era sbagliato, e l’obiezione è arrivata subito: il TTL vale per il sensore di temperatura, non per la connessione seriale. È esattamente così — il pin 4 è TTL, i pin 2 e 3 sono RS-232.
La radice dell’errore: non avevo mai verificato se la presa portasse davvero RS-232, perché il modem originale ha «RS232» nel nome. Un’ipotesi così profonda da non vedersi più come ipotesi costa una giornata di misure.
Era la velocità di trasmissione
13:28:50.493 ATE0<CR>
13:28:56.035 ATE0<CR>
13:29:01.576 ATE0<CR>
ATE0 è il primo comando che si manda a un modem: eco disattivato. La stufa lo
ripeteva ogni cinque secondi e mezzo perché non tornava mai un OK.
L’impostazione che funziona: 38400, 8N1. Altre documentazioni indicano 115200 per modelli diversi — e 38400 era l’unica velocità che non avevo mai provato.
Due ore su una riga
La stufa parlava, ma non accettava comandi. A ogni tentativo rispondeva
FAILURE: code Error. Si legge come «codice di accesso sbagliato», ed è
esattamente in quella direzione che ho cercato per due ore: codice reimpostato,
numero del mittente accorciato, spazi nell’intestazione variati, fine riga
scambiati, pause inserite.
Nove sospettati, tutti scagionati.
La causa era una riga nella mia trasposizione del progetto di riferimento: ho
scartato il messaggio in attesa dopo la prima consegna. L’originale lo tiene
pronto e lo riconsegna a ogni interrogazione finché la stufa non lo cancella
esplicitamente. La mia stufa lo leggeva quindi solo a metà — e code Error non ha
mai parlato del codice, ma di un messaggio letto a metà.
A trovarlo non è stata l’idea successiva, ma un cambio di strumento. Invece di una prova da un minuto per tentativo, una prova a serie consegnava otto varianti in un solo passaggio. Lì è saltato all’occhio che passava sempre il secondo messaggio di ogni coppia — e da lì alla soluzione è stato un passo.
La lezione non è «leggi fino in fondo la documentazione altrui». È: chi fa dodici tentativi singoli, dopo il terzo dovrebbe costruire lo strumento che ne fa dodici insieme.
16:08 — brucia
14:07:30 in coda: ON
14:07:47 MESSAGGIO: STOVE ON - HEAT 60%
14:08:22 in coda: h100
14:08:43 MESSAGGIO: STOVE ON - HEAT 100%
La presa intelligente lo ha confermato indipendentemente da qualsiasi messaggio: 277 watt invece di 2,5. L’accensione si sente, e la misura di potenza la mostra.

I due aghi sono le accensioni, il plateau intorno ai 30 watt è il funzionamento normale. È proprio questa curva il motivo per cui qui non esiste un sensore chiamato «brucia» — più sotto il perché.

Il sensore ambiente era rimasto dalla vecchia dotazione. Sul retro c’è scritto che cosa contiene — un semplice sensore resistivo, niente di digitale.
Più avanti, nello stesso progetto, il sensore ambiente, collegato ai pin 4 e 5 della stessa presa — un prima e dopo che non ha bisogno di interpretazioni:
prima: r21 -> FAILURE: text Error
dopo: r21 -> STOVE ON - ROOM 21
Così la domanda di partenza ha risposta. Potenza e temperatura.
L’errore più bizzarro del progetto
La stufa aggiungeva PLEASE SAVE TEL NUMBER a ogni risposta, benché il numero
fosse memorizzato. Cinque spiegazioni, tutte smentite.
La soluzione era banale ed era nel registro da ore. Al salvataggio arrivava:
inviato "+39..." -> memorizzato "39..."
inviato "0340..." -> memorizzato "340..."
Si mangia il primo carattere, qualunque esso sia. Il rimedio è un carattere sacrificale — anteporre al numero un segno in più, e arriva completo.
Perché non l’ho trovato prima: ho chiesto cinque volte perché non accettasse il numero, e nemmeno una volta che cosa gli arrivasse — benché lo comunicasse in ogni singola risposta. La conferma era lì carattere per carattere, e l’ho letta come messaggio di successo invece che come misura.
Non è un difetto estetico: senza un numero valido la stufa non invia da sola le anomalie — ed è quello il vero guadagno di tutto il collegamento.
Cosa c’è in Home Assistant

Così si presenta sul telefono. I tre livelli sono quelli che la stufa accetta attraverso la presa — il protocollo non dà di più.
| Entità | Significato |
|---|---|
sensor.ofen_kapfenberg_meldung |
l’ultimo messaggio della stufa in chiaro |
binary_sensor.ofen_kapfenberg_gsm |
se la stufa vede il suo modem |
binary_sensor.ofen_kapfenberg_stoerung |
il messaggio inizia con FAILURE |
rest_command.ofen_kapfenberg_befehl |
inviare un comando |
script.ofen_kapfenberg_aus |
stufa spenta |
In più un piccolo servizio sul Raspberry Pi che mantiene la connessione e risponde a ogni interrogazione della stufa. Deve restare attivo — non per comodità, ma perché altrimenti la stufa disattiva la modalità GSM dopo mezzo minuto senza risposta. Durante le prove è successo una dozzina di volte, ogni volta perché tra due esecuzioni non rispondeva nessuno.
Cosa manca di proposito
Nessun sensore di stato. Questo modello non conosce l’interrogazione di stato; arriva solo con una versione più recente del firmware. Non c’è quindi uno stato su richiesta, solo conferme ai comandi e messaggi che la stufa invia da sé.
Nessun sensore chiamato «brucia». L’impostazione e la potenza misurata non
vengono combinate in un’affermazione. Una sera l’impostazione è rimasta al 30 per
cento mentre la presa mostrava 263 W, poi 11 W, poi 29 W. Quale di questi fosse
accensione, modulazione o spegnimento non lo dice nessuno dei due numeri da solo.
Per questo l’attributo si chiama regt_sich, «si muove», e non «brucia». Un
sensore che ne ricava una combustione afferma più di quanto sia misurato.
Per rifarlo
È tutto pubblico, con licenza MIT:
| Questo progetto | fritzzetik/rika-serial-homeassistant — componente aggiuntivo, pacchetto e la descrizione del formato dei messaggi |
| Il progetto di riferimento | n-serrette/esphome_rika_gsm — stessa presa, ma via ESPHome e un microcontrollore |
| La piedinatura | messaggio di forum del 2013 |
| Il manuale del vecchio modulo | RIKA GSM Pikatronic — lì sta il linguaggio dei comandi |
Tutto è misurato su un Como del 2014. Secondo il manuale la stessa presa e lo stesso menu a tasti esistono anche su Memo, Pico, Revo e Topo — lì non provati, ma il protocollo è della stufa, non del modello.
Una nota sul progetto di riferimento, perché mi è costata una deduzione: nella sua
pull request 5 c’è scritto che un’altra serie di stufe non ha bisogno del <LF>
a fine riga. La stessa cosa l’avevo ricavata faticosamente da solo — stava lì da
sempre. Per il Como però quella variante è sbagliata: lui li vuole entrambi.
Nessuno di questi link è pagato. Il confronto di prezzo ha bisogno di una fonte e i componenti devono essere identificabili — non c’è altro dietro.
E quindi?
Se possiedi un apparecchio di riscaldamento che doveva essere «intelligente» e non lo è più, conosci lo schema: l’apparecchio sta bene, manca solo il collegamento. Questo caso è più frequente di un guasto vero, e di solito si risolve senza sostituire l’apparecchio.
Tre cose che mi porto via:
- Verifica l’ipotesi che non vedi più. Ho perso una giornata perché «RS232» era nel nome di un prodotto.
- Dopo il terzo tentativo singolo, costruisci lo strumento. Dodici prove a mano trovano meno di un passaggio che confronta otto varianti.
- Non chiedere perché l’apparecchio ti rifiuta — chiedi che cosa gli arriva. La risposta era nel registro fin dall’inizio.
Il montaggio sulla presa è lavoro da ditta abilitata. Quanto scritto qui documenta il mio modo di procedere: non è un’autorizzazione a intervenire su impianti altrui.
Bruno non si è accorto di nulla. Continua a stare davanti alla stufa. Il sistema di comando non gli interessa finché il calore c’è — e ora c’è su richiesta.
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.