Was ist der SENEC-Collector?
Der SENEC-Collector sammelt die Messwerte, die von einem SENEC-Stromspeicher gemeldet werden, und schreibt diese in die InfluxDB.
Der Collector ist kompatibel mit folgenden Stromspeichern:
- SENEC.Home V2.1
- SENEC.Home V3
- SENEC.Home 4
Betriebsmodi
Abschnitt betitelt „Betriebsmodi“Grundsätzlich kann der Collector in zwei verschiedenen Betriebsmodi eingesetzt werden:
-
Lokal: Direkter Zugriff auf den SENEC-Stromspeicher über dessen lokale IP-Adresse. Die Daten werden über die
lala.cgi-Schnittstelle ausgelesen. Möglich ist das beim V2.1 und V3, nicht aber beim Home 4, denn dieser hat keine lokale Schnittstelle. Der Collector liest in kurzem Intervall aus, standardmäßig alle 5 Sekunden. -
Cloud: Abholen der Messwerte aus der SENEC-Cloud, über die Schnittstelle, die SENEC für seine Mobil-Apps bereitstellt. Dafür sind die SENEC-Zugangsdaten anzugeben (E-Mail und Passwort). Möglich ist das auch für den Home 4. Neue Werte liefert die Cloud allerdings nur in größeren Abständen: beim Home 4 im 1-Minuten-Takt, beim V2.1 und V3 im 5-Minuten-Takt. Ein kürzeres Abfrageintervall bringt daher nichts, der Collector lässt ohnehin nur mindestens 60 Sekunden zu.
Vergleich der Betriebsmodi
Abschnitt betitelt „Vergleich der Betriebsmodi“| Lokal | Cloud | |
|---|---|---|
| SENEC.Home V2.1 | Ja (5sec) | Ja (5min) |
| SENEC.Home V3 | Ja (5sec) | Ja (5min) |
| SENEC.Home 4 | Nein | Ja (1min) |
Beim V2.1 und V3 sind also beide Betriebsmodi möglich. Über die Cloud läuft SOLECTRUS auch komplett auf einem Cloud-Server, ohne Rechner im lokalen Netzwerk. Dafür kommen die Messwerte nur alle 5 Minuten statt alle 5 Sekunden.
Erfasste Messwerte
Abschnitt betitelt „Erfasste Messwerte“Der Collector schreibt die folgenden Messwerte als Field in das angegebene Measurement der InfluxDB. Einige Messwerte sind nur im lokalen Betrieb verfügbar (also nicht beim Home 4).
In der Cloud hängen vier Felder zusätzlich am Abfragemodus: case_temp, application_version, current_state und current_state_ok liefert der Collector nur bei SENEC_REQUEST_MODE=full. Beim Home 4 bleiben current_state und current_state_ok auch dann leer.
| Field | Beschreibung | Lokal | Cloud |
|---|---|---|---|
application_version | Version der Firmware | Ja | Nur full |
bat_charge_current | Batterie-Ladestrom, in A | Ja | Nein |
bat_fuel_charge | Batterie-Ladestand, in % | Ja | Ja |
bat_power_minus | Batterie-Entladeleistung, in W | Ja | Ja |
bat_power_plus | Batterie-Ladeleistung, in W | Ja | Ja |
bat_voltage | Batterie-Spannung, in V | Ja | Nein |
case_temp | Gehäuse-Temperatur, in °C | Ja | Nur full |
current_state_code | Aktueller Betriebszustand, als Zahl | Ja | Nein |
current_state | Aktueller Betriebszustand, als Text | Ja | Nur full |
current_state_ok | Aktueller Betriebszustand ist OK (Boolean) | Ja | Nur full |
ev_connected | Elektroauto verbunden, Ja/Nein | Ja | Ja |
grid_power_minus | Netzeinspeisung, in W | Ja | Ja |
grid_power_plus | Netzbezug, in W | Ja | Ja |
house_power | Hausverbrauch, in W | Ja | Ja |
inverter_power | Erzeugte Leistung des Wechselrichters, in W | Ja | Ja |
mpp1_power | Leistung von Strang 1, in W | Ja | Nein |
mpp2_power | Leistung von Strang 2, in W | Ja | Nein |
mpp3_power | Leistung von Strang 3, in W | Ja | Nein |
power_ratio | Leistungsbegrenzung, in % | Ja | Nein |
response_duration | Dauer der Antwort, in ms | Ja | Nein |
wallbox_charge_power | Wallbox-Ladeleistung, in W | Ja | Ja |
wallbox_charge_power0 | Wallbox-Ladeleistung für erste Wallbox, in W | Ja | Nein |
wallbox_charge_power1 | Wallbox-Ladeleistung für zweite Wallbox, in W | Ja | Nein |
wallbox_charge_power2 | Wallbox-Ladeleistung für dritte Wallbox, in W | Ja | Nein |
wallbox_charge_power3 | Wallbox-Ladeleistung für vierte Wallbox, in W | Ja | Nein |
Logging
Abschnitt betitelt „Logging“Der Collector schreibt ein Protokoll ins Docker-Log, das im Normalfall so aussieht:
SENEC collector for SOLECTRUS, Version v0.21.0, built at 2026-06-01T11:03:23.082Zhttps://github.com/solectrus/senec-collectorCopyright (c) 2020-2026 Georg Ledermann, released under the MIT License
Using Ruby 4.0.5 on platform aarch64-linux-muslPushing to InfluxDB at http://influxdb:8086, bucket solectrus, measurement SENEC
Wait until InfluxDB is ready ... OK
Pulling from your local SENEC at https://192.168.178.29 every 5 secondsGetting state names (language: de) from SENEC by parsing source code...OK, got 99 state names
Got record #1 at 2026-07-14 10:22:29 +0200 within 144 ms, FERNABSCHALTUNG, Inverter 4251 W, House 460 W, Wallbox 0 WSuccessfully pushed record #1 to InfluxDB...Fehler protokolliert der Collector ebenfalls, etwa wenn der Stromspeicher oder die InfluxDB nicht erreichbar ist.
Quelltext
Abschnitt betitelt „Quelltext“Der SENEC-Collector ist in Ruby implementiert, der Quelltext ist auf GitHub verfügbar:
github.com/solectrus/senec-collector