Der vollständige Quellcode, unter einer benannten Lizenz

Die ESP32-Firmware von RBgrid wird vollständig veröffentlicht: Messpipeline, Statistiken, Tarif-Engine, Speicher, REST/WebSocket/MQTT. Ein Build, jede Funktion. Die Firmware enthält keine Werbung und keine Telemetrie an uns. Source-available unter PolyForm Noncommercial 1.0.0: kostenlos nutzbar, veränderbar und baubar für private und nicht-kommerzielle Zwecke; kommerzielle Nutzung nur per Lizenz.

  • Lizenz (PolyForm Noncommercial 1.0.0)
  • Plattform ESP32-WROVER / ESP32-S3
  • ESP-IDF 5.5.1
  • 16 MB Flash
  • v1.2.1

Lizenz, in einfachen Worten

PolyForm Noncommercial 1.0.0. Es ist keine OSI-zugelassene Open-Source-Lizenz, und wir nennen sie auch nicht so. Das bedeutet für Sie Folgendes:

Betreiben Sie es zu Hause, in Ihrer Werkstatt, an einer Schule oder in einer gemeinnützigen OrganisationJa, kostenlos
Lesen, verändern, neu bauen, einen privaten Fork behaltenJa
Teilen Sie Ihre veränderte Version nicht-kommerziell mit anderenJa, unter derselben Lizenz
In einem gewinnorientierten Unternehmen einsetzen, Geräte oder Kits mit RBgrid verkaufen, für zahlende Kunden installierenPer Lizenz — schreiben Sie an info@rbamp.com
Den Namen oder das Logo RBgrid auf einem Fork verwendenNein — benennen Sie den Fork um
Die rbAmp-Modulbibliotheken in jedem Projekt verwenden, kommerziell oder nichtJa — sie sind MIT, getrennt von dieser Lizenz

Drittanbieter-Teile behalten ihre eigenen Lizenzen (ESP-IDF, gepatchter I²C-Treiber — Apache-2.0; littlefs — MIT/BSD): siehe NOTICE.

Warum diese Lizenz: Modulverkäufe finanzieren das Projekt; die Lizenz hält RBgrid für Privatpersonen kostenlos und lässt Unternehmen, die darauf aufbauen, etwas zurückgeben.

Was Sie bekommen

  • components/rbpower/ (rbAmp-I²C-Erfassung, Statistiken, Tarif-Engine, Speicher, REST/WS, MQTT)
  • main/ (App, rbAmp-Bridge, ESP-NOW-Hub, Ereignisprotokoll)
  • webapp/ (der eigene Quellcode der Web-App — TypeScript, eigenes Design-System, Skripte und Dokumentation)
  • components/esp_driver_i2c/ (gepatchter ESP-IDF-I²C-Treiber, Apache-2.0, siehe NOTICE)
  • components/rbbench/ und components/bench_kit/ (das Testgerüst für die Messläufe)
  • examples/
  • docs/FLASHING.md, partitions.csv, sdkconfig.defaults, CHANGELOG.md, LICENSE, COMMERCIAL.md, NOTICE.

Nicht in diesem Repo: die rbAmp-ESP-IDF-Komponente (rb-amp/rbamp-esp-idf, MIT), wird beim Bauen automatisch geladen.

Auf GitHub ansehen

Wie es aufgebaut ist

ESP32-WROVER oder ESP32-S3 (N16R8), PSRAM erforderlich; 16 MB Flash, zwei OTA-Slots mit Rollback; Verlauf für bis zu 12 Messpunkte (die übrigen zeigen Live-Werte). Der Verlauf beginnt mit v1.1.0: ein sauberer Schnitt; die Entwicklung läuft von hier an öffentlich weiter. Die Firmware arbeitet rein über die API, ohne das App-Paket.

Datenflussdiagramm: rbAmp-Module senden Messwerte über I²C an einen ESP32-WROVER-Hub, der Punkte, Statistiken, Tarifkosten und Verlauf berechnet und die Web-App, Home Assistant sowie eine REST-/WebSocket-/MQTT-API bereitstellt.Bild in voller Größe öffnen

Bauen und flashen

ESP-IDF v5.5.1 fest angepinnt (v5.4.1 baut ebenfalls); die rbAmp-ESP-IDF-Komponente wird automatisch geladen. Oder flashen Sie das Release-Image ohne Bauen und installieren Sie die Web-App aus dem Release — siehe Loslegen.

sh
git clone https://github.com/rb-amp/RBgrid.git
cd RBgrid
components/rbpower/certs/gen_dev_cert.sh      # once, before the first build (generates the development certificate)
idf.py set-target esp32
idf.py build
idf.py -p <PORT> flash                        # <PORT> e.g. /dev/ttyUSB0, COM3

API: selbstbeschreibend

GET /api/v1/schema listet jeden Endpunkt mit Methoden und Parametern auf — die Referenz auf dieser Seite wird daraus erzeugt (ein eigener Descriptor, kein OpenAPI)

  • REST /api/v1

    Zusammenfassung, Verlauf, export.csv, Economics, Einheiten, Sensoren, Ereignisse

  • REST /api/system

    Konfiguration, Einheiten, Tarifplan, MQTT, WLAN, Zeit, Sicherheit, Token, OTA, Backup/Restore, UI-Upload

  • WebSocket-Frame v2 + MQTT

    Befehlskanal, HA-Discovery

Schreibzugriffe benötigen das Admin-Token; Lesezugriffe sind in Ihrem LAN offen oder durch ein Lese-Token geschützt; CORS-Allow-List für Browser-Clients.

Issues, Discussions, Pull Requests

Fehler und Funktionswünsche gehen an GitHub Issues; Fragen und Erfolgsberichte an Discussions. Beiträge werden unter dem Developer Certificate of Origin angenommen — Sie behalten Ihr Urheberrecht und bestätigen, dass Sie das Recht haben, den Code einzureichen. Ihr Beitrag steht unter den Bedingungen des Projekts: PolyForm Noncommercial 1.0.0. Alles darüber hinaus verlangen wir im Pull Request, nicht im Voraus.

Der Name und das Logo RBgrid bleiben beim Projekt; Forks werden umbenannt.

Betreiben Sie es auf Ihrem eigenen Hub