Sensoren & Einheiten
RBgrid misst über zwei Ebenen:
- Sensoren — die physischen Kanäle, die der Hub sehen kann. Bei einem Hub der v1.1.x sind das die Kanäle der rbAmp-I²C-Module: ein Spannungseingang und ein oder mehrere Stromkanäle je Modul. Es gibt keinen eingebauten ADC; die Module messen, und der Hub liest sie über I²C aus.
- Units — die Messpunkte points, die Sie durch Binden eines Kanals anlegen. Eine Unit hat eine eigene Kennung, einen Namen, eine Rolle, Statistik und Historie. Verschieben Sie eine Unit auf einen anderen Kanal (Rebind), bleiben ihre Kennung, ihr Name, ihre Historie und ihr Historien-Platz erhalten.
Sie müssen keinen Code schreiben, um einen Sensor oder eine Unit hinzuzufügen. Kanäle erscheinen von selbst, sobald ein Modul angeschlossen ist; einen Kanal machen Sie in der Web-App oder über die REST-API zur Unit, während der Hub läuft.
Sensoren — die physischen Kanäle
Jeder Kanal eines angeschlossenen Moduls ist aufgelistet, ob in Gebrauch oder nicht. Ein Kanal, der keiner Unit zugeordnet ist, ist einfach free: Er liefert keine Daten, wird nicht summiert und löst keinen Alarm aus. Ein Modul kann mit beliebiger Auswahl seiner Kanäle in beliebiger Reihenfolge genutzt werden.
Jeder Kanal führt Folgendes:
ch_label— der Kanal, wie er auf dem Gehäuse des Moduls aufgedruckt ist:I0,I1, … für Stromkanäle (ab 0 nummeriert),Vfür den Spannungseingang des Moduls undL1–L3bei einem phasenbewussten Modul.- CT-Modell — bei einem Stromkanal das verwendete Stromwandler-Modell (
ct_code/ lesbarerct_name, z. B.SCT-013-050, 50 A;ct_nameentfällt, wenn das Modell unbekannt ist) und die Grenzwerte des Moduls dafür. In der App ist das der Current sensor des Points. Bei einem Modul, das einen Stromwandler in Zangenform Ihrer Wahl aufnimmt, setzen Sie das Modell (siehe Wahl des CT-Modells unten); bei einem Modul, dessen Stromwandler werkseitig mit dem Kanal gepaart ist, ist das Modell festgelegt. - Korrekturstatus — ob das Modul seine Korrektur für das gewählte CT-Modell angewendet hat. Wenn nicht (
readings not corrected), zeigt die Oberfläche eine Warnung und den Grund (the channel is not calibrated · its gain does not match the CT model · the module does not know this CT model). Bis die Korrektur angewendet ist, können die Messwerte von den echten abweichen.
Die Module selbst stammen aus der Modulkonfiguration des Hubs; ein Modul auf der Standardadresse (0x50) wird ohne jede Einrichtung gefunden (siehe Get started). Die rbAmp-Modulfamilien, ihr Kanalaufbau und ihr Stromwandler-Sortiment sind bei den Modulen dokumentiert — siehe die rbAmp module docs.
Units — die Messpunkte
Eine unit entsteht, wenn Sie einen Kanal an einen Point binden. Sie trägt:
| Feld | Bedeutung |
|---|---|
unit_id |
die Kennung der Unit (eine 4-stellige Hex-Kennung, z. B. 0006, 0100) |
point |
ein stabiler Slug für externe Systeme (MQTT, API) |
name / short_name |
Anzeigenamen |
role |
die Rolle des Stromkreises: DEVICE_LOAD, ZONE_LOAD, CIRCUIT_BREAKER, RENEWABLE_SOURCE, STORAGE_SYSTEM, EV_CHARGING, HEATING_COOLING, SMART_APPLIANCE, sowie die Versorgungsrollen MAIN_SUPPLY und ALTERNATIVE_SUPPLY |
location |
wo sich der Stromkreis befindet |
stat_class |
aus Kompatibilitätsgründen behalten; die App sendet immer 1HOUR, und das ist der Standardwert, wenn Sie das Feld weglassen. Es entscheidet nicht, ob eine Unit eine Historie behält (siehe Statistik). |
rated_power_w / max_current_a |
die Nennwerte des Stromkreises (für die Hauptversorgung: vertraglich vereinbarte Leistung und Hauptschalter) |
phase |
zu welcher Leitung der Kanal gehört (siehe Phase unten) |
In der App heißen die Rollen Appliance, Load, Breaker, Generation, Storage, Charging station, Heating/cooling, Smart appliance, und für die Versorgungsrollen Grid input und Backup input.
Zwei Units sind besondere Versorgungs-Units — die main supply (der Netzanschluss) und eine optionale alternative supply (interne Erzeugung). Die App bietet beim Binden nie die Versorgungsrollen an und lässt sie nicht ändern, und der Hub sperrt beide: Ein Patch, der eine der Versorgungsrollen berührt, wird abgelehnt (HTTP 409). Sie tragen die wirtschaftliche Erfassung der Anlage. Der Spannungsbus (der Eingang V des Moduls) und der Haupteingang lassen sich nicht löschen.
Konfiguration zur Laufzeit — Web-App oder REST
Alles wird auf dem laufenden Hub konfiguriert. Nichts wird im C-Code festgelegt.
Web-App — Points → Free sensors → Bind macht einen freien Kanal zu einer Unit; die Felder der Unit bearbeiten Sie in deren Einstellungen.
REST — dieselben Vorgänge stehen über HTTP zur Verfügung:
| Operation | Endpoint |
|---|---|
| Die physischen Kanäle auflisten | GET /api/v1/sensors (offen, sofern kein Lese-Token gesetzt ist) |
| Einen Kanal binden → neue Unit | POST /api/v1/units |
| Parameter einer Unit ändern (live) | POST /api/v1/units/{id} |
| Eine Unit auf einen anderen Kanal verschieben | POST /api/v1/units/{id}/rebind |
| Den Slug einer Unit ändern | POST /api/v1/units/{id}/rename |
| Eine Unit entfernen | DELETE /api/v1/units/{id} |
Schreibvorgänge verlangen das Admin-Token des Hubs, sofern eines gesetzt ist — setzen Sie eines mit POST /api/system/token und senden Sie es bei Schreibvorgängen mit; das wird empfohlen. Solange Sie kein Token setzen, sind Schreibvorgänge im lokalen Netzwerk offen.
Ein Kanal wird zum Beispiel so gebunden:
POST /api/v1/units
{
"sensor": { "iface": "i2c", "bus": 0, "module": 0, "ch": 1 },
"name": "Kitchen", "point": "kitchen",
"role": "ZONE_LOAD", "stat_class": "1HOUR", "location": "ground floor"
}
Die Antwort liefert die neue unit_id. Neue Kennungen werden ab 0100 aufwärts vergeben. Das Umbenennen eines Points gibt den alten Slug frei, damit ein externes System nicht stillschweigend einen anderen Point unter demselben Schlüssel übernimmt.
Das Löschen (oder Lösen) einer Unit entfernt ihre gespeicherte Historie endgültig; ihr Kanal wird wieder frei. Die Kennung eines entfernten Points kann bewusst wiederverwendet werden: Die App bietet sie beim Binden an (Bind with the previous ID). Der Hub beginnt dann die Historie neu, aber Home Assistant und MQTT führen die alte Reihe als einen Point weiter.
Parameter wie name, role, phase, rated_power_w, max_current_a und das CT-Modell werden über den Patch-Endpoint live geändert und bleiben nach einem Neustart erhalten. Die vollständige Feldreferenz steht in der units & sensors API.
Wahl des CT-Modells
Bei einem Kanal, dessen Modul einen Stromwandler in Zangenform Ihrer Wahl aufnimmt (SCT-Reihe), stellen Sie das CT-Modell auf die Zange ein, die tatsächlich montiert ist: den Current sensor des Points in seinen Einstellungen oder ct_code über den Patch-Endpoint. Das Modell wird zusammen mit seiner Typkalibrierung in das Modul geschrieben und an die Kennung dieses Moduls gebunden, sodass ein anderes Modul im selben Steckplatz sein eigenes gespeichertes Modell behält.
Ändern Sie es nur, wenn tatsächlich eine andere Zange montiert ist. Das Schreiben des Modells ersetzt die werkseitige Kalibrierung des Kanals, und diese Kalibrierung lässt sich nicht wiederherstellen. Bei einem werkseitig gepaarten Kanal (CT-Reihe) ist das Modell festgelegt: Der Hub lehnt die Änderung ab. Bei einem unkalibrierten Modul lässt sich das Modell nicht wählen.
Phase
phase kennzeichnet, zu welcher Versorgungsleitung ein Kanal gehört. Bei einphasiger Versorgung verwenden alle Kanäle den Standardwert (1P / L1). Einphasige und dreiphasige Versorgungen werden unterstützt. Einphasige Leistung und Energie sind an Hardware validiert. Dreiphasige Leistung und Energie sind ebenfalls an Hardware geprüft, mit den drei Spannungseingängen auf einer Prüfphase; echtes dreiphasiges 120°-Netz war nicht auf dem Prüfstand. Ein dreiphasiger Eingang ist ein STD-U3I3, und auf seiner Modulkarte wählen Sie, ob der Eingang als ein Point mit verrechneten Phasen oder als ein Point je Phase gemessen wird, wobei jede Phase ihren eigenen Bezug und ihre eigene Einspeisung hat. Die auf Ihrem Hub validierten Versorgungssysteme sind unter GET /api/v1/schema → enums.grid_system_validated aufgeführt.
phase ist nur eine Beschriftung. Der Hub multipliziert oder dividiert die Werte einer Unit nie mit der Anzahl der Phasen: Eine Unit mit einem Stromwandler meldet, was dieser eine Leiter führt, unabhängig davon, was ihr phase sagt. Eine Unit, die auf 3 phases bei einer dreiphasigen Last eingestellt ist, ist die gemessene Energie eines Strangs — teilen oder multiplizieren Sie sie nicht mit drei.
Statistik
Jede Unit behält 3-Sekunden- und 15-Minuten-Daten nur im RAM; sie haben keine gespeicherte Historie. Die gespeicherte Historie beginnt auf der Stundenebene: Der Hub führt stündliche Datensätze auf seinem eigenen Flash, die einen Neustart überdauern, und baut daraus Tage, Wochen, Monate und Jahre auf. Das gilt für jede Unit gleich, unabhängig von ihrer stat_class. Historie wird für bis zu 12 Units geführt; Units über zwölf zeigen nur Live-Werte. Eine Unit, die bei laufendem Hub hinzugefügt wird, beginnt ihre Historie nach dem nächsten Neustart. Die Gesamtenergie seit Inbetriebnahme wird getrennt von der Historie geführt.
Wenn ein Kanal nahe seiner Grenze ist
Ein Point meldet seinen Zustand auf seiner Kachel in der Overview, in Load lines, in der Points-Tabelle und in Needs attention; die Seite des Points zeigt eine Warnung:
clipping— der Strom hat den Clip-Punkt des Sensors erreicht (dessen Vollaussteuerungsstrom, der über seinem Nennwert liegt). Darüber wird der Messwert zu niedrig gezählt, und das Modul kann es nicht von allein erkennen. Die Einstellungen des Points warnen außerdem im Voraus, wenn der Leitungsschalter über der Grenze des Sensors liegt, und Zeilen der History vermerken das Clipping.sensor limit— der Strom liegt nahe dem Clip-Strom des Sensors: Der Hub meldet es bei etwa 90 % dieses Stroms. Bei SCT-013-Zangen liegt der Clip-Strom bei etwa 116 % des Nennwerts (58 A bei einem SCT-013-050), die Warnung kommt also bei etwa 104 % des Nennwerts (52 A). Bis zum Clip-Strom sind die Werte korrekt. Die eigenen Sensoren der STD-Module tragen keine solchen Markierungen; sie messen bis etwa 130 % ihres Nennwerts korrekt.- Ein umgekehrt montierter CT an einem BASIC-Modul: Der Point zeigt sensor reversed — not metered. Ein BASIC-Modul misst nur den Fluss in einer Richtung, daher wird die Last nicht gezählt, bis Sie die Zange umdrehen.
Das Ereignisprotokoll bekommt eine Zeile, wenn sich der Zustand ändert: „near its limit“, „clipping“ oder „back within range“. Nur clipping kennzeichnet den Datensatz der Stunde (ein Qualitätsmerkmal für Überbereich); „near its limit“ steht nur im Protokoll. Wo diese erscheinen, siehe The Overview und Points.