RBgrid v1.1.7

RBgrid v1.1.7 è disponibile. Due cose si distinguono: l'energia e le impostazioni memorizzate ora sopravvivono a guasti che prima le facevano perdere, e l'hub può raccogliere misure da nodi remoti via ESP-NOW — una seconda scatola, in un'altra parte dell'edificio, senza cavi di ritorno verso l'hub.

Come ottenerlo

  • Firmware: la release v1.1.7 contiene il set di immagini per un caricamento USB da zero, con lo SHA-256 di ogni file, e main_release.bin per un aggiornamento wireless (OTA).
  • App web: installi rbgrid-ui_v1.1.7.zip dalla stessa pagina, come descritto in Build & flash, oppure usi l'app ospitata su webapp.rbgrid.io.
  • Firmware del nodo, se ne vuole uno: rbgrid-node_v1.1.7.bin (da caricare a 0x10000), oppure rbgrid-node_v1.1.7_full.zip con il boot loader e la tabella delle partizioni.
  • Già sulla v1.1.x? Aggiorni via wireless dall'app con main_release.bin; Wi-Fi, impostazioni, punti e storico restano. Passo per passo, con cosa fare se si interrompe a metà: Cosa succede se l'aggiornamento del firmware si interrompe a metà.

Corretto: i dati memorizzati sopravvivono ai guasti

Questa parte merita un minuto anche se nulla nella sua installazione sembra sbagliato. Una revisione indipendente del codice ha cercato i modi in cui un guasto potesse far perdere energia, raddoppiarla o azzerare le impostazioni dell'hub. Ogni correzione è stata riprodotta sul banco con guasti iniettati, prima e dopo.

  • Una scrittura non riuscita su flash non fa più perdere l'ora. Il record dell'ora viene conservato e riscritto al successivo periodo di 15 minuti.
  • Un errore di lettura della memoria all'avvio non cancella più le impostazioni. Questo è il punto da conoscere. Lo store delle impostazioni veniva riformattato a qualsiasi errore di montaggio — il che cancellava anche i token API e lasciava l'hub aperto. Ora viene formattato solo se è davvero danneggiato o vuoto; per qualsiasi altro errore l'hub conserva i suoi dati e rimane bloccato fino al riavvio successivo.
  • Il salvataggio delle impostazioni segnala una scrittura non riuscita invece di riportare OK, e il valore precedente resta al suo posto.
  • Un punto di ripristino è tutto o niente. Uno incompleto viene rifiutato e non cambia nulla; un ripristino che fallisce a metà riporta le impostazioni precedenti.
  • L'energia misurata mentre l'hub era spento per più di un giorno viene conservata. Prima veniva scartata. Ora entra nei totali e nell'ora corrente, contrassegnata come outage così può distinguerla.
  • Un periodo di 15 minuti viene prezzato in base al proprio orario, anche quando viene elaborato in ritardo, e un nuovo piano tariffario viene applicato in un unico passaggio.

Novità: nodi remoti via ESP-NOW

Finora tutto doveva raggiungere l'hub via I²C — un bus, una scatola, un punto dell'edificio. Un nodo è un secondo ESP32 che misura dove si trova e invia le letture all'hub via radio.

L'accoppiamento non richiede riavvii. Apra una finestra di accoppiamento nell'app (da 10 a 600 secondi) e accenda il nodo. I due si scambiano le chiavi, e i punti del nodo compaiono subito, con lo storico dalla prima ora.

Ogni hub crea la propria chiave la prima volta che ne ha bisogno. Nel firmware non è incorporata alcuna chiave — l'albero pubblicato contiene solo un header di esempio con dei segnaposto.

L'energia finisce nell'ora giusta, non nell'ora in cui è arrivata. Il nodo chiude ogni periodo di 15 minuti secondo il proprio orologio e lo trattiene mentre l'hub è fuori portata — fino a 8 periodi, circa due ore. Ognuno viene poi archiviato e prezzato in base all'orario in cui è stato chiuso. È questo che rende utilizzabile un nodo su un collegamento che cade.

Dall'app può attivare o disattivare ogni ingresso del nodo e scegliere la sua pinza; la scheda indica quando il nodo ha applicato la modifica. Per la salute ci sono l'intensità del segnale, i pacchetti persi nell'ultimo minuto e l'ultima volta in cui il nodo è stato sentito; via MQTT, un topic di stato e degli eventi per ogni nodo, e in Home Assistant un sensore di segnale per ogni nodo.

I limiti: fino a 6 nodi per hub e 4 ingressi per nodo. Lo storico è costituito dai 12 punti esistenti dell'hub — i punti dei nodi condividono questo unico insieme con quelli dell'hub invece di aggiungersi —, quindi un nodo che aggiunge sottrae slot ai punti per cui già conserva lo storico.

Il firmware del nodo è pubblicato — sorgente in node/, con compilazione, caricamento e passi di accoppiamento nel suo README. Un nodo richiede un ESP32 con 4 MB di flash (senza PSRAM) e moduli rbAmp su I²C.

⚠️ Un nodo non si aggiorna via wireless. L'hub sì; il nodo no. Per installare un nuovo firmware su un nodo lo carichi via USB, come lo ha caricato la prima volta — quindi collochi i nodi in un punto che resti raggiungibile.

Modificato: tariffe e net metering

  • L'orologio non è ancora impostato — un'accensione senza internet — e i periodi di 15 minuti vengono prezzati con la zona predefinita del piano invece di attendere.
  • Il net metering disattivato non raccoglie più in background l'importazione e l'esportazione del mese.
  • Una condizione di zona disattivata non blocca più l'intera zona dall'applicarsi.

Sicurezza

  • Le letture MQTT richiedono il token di lettura quando l'hub ha impostati i token di lettura e amministrazione, esattamente come le letture HTTP.
  • MQTT su TLS ora funziona con un broker il cui certificato proviene da un'autorità di certificazione pubblica. Cosa copre e cosa non copre è spiegato nella pagina MQTT.
  • Dati in tempo reale senza token nell'indirizzo: l'app ora usa un ticket monouso, valido 30 secondi, per il flusso dal vivo.

Piattaforma

Il firmware passa a ESP-IDF 5.5.1 (da 5.4.1). L'aggiornamento wireless dalla v1.1.x funziona con il boot loader già presente sul suo hub, e sia il rollback sia il ritorno alla v1.1.6 sono stati testati. Il nucleo di misura è ora separato dal web server e dal codice MQTT; l'API non cambia.

App web 1.1.7

  • Una sezione Nodes nella pagina Points: radio attiva e disattivata, accoppiamento con conto alla rovescia, schede dei nodi e impostazioni dei nodi.
  • Il flusso dal vivo usa il ticket monouso descritto sopra, e il pannello dei punti di ripristino ora indica cosa è realmente accaduto.

Elenco completo: il changelog. Guida utente: rbgrid.io/webapp/docs.