[36_Senec.pm] FHEM module zur Integration eines SENEC Speicher und MeinSenec

Begonnen von carlos, 12 November 2021, 15:22:44

Vorheriges Thema - Nächstes Thema

Doemy

Hallo zusammen,

seit ein paar Tagen habe ich auch wieder das Probem, dass nur die aktuellen Werte angezeigt werden, keine Tages-/Monats-/Jahreswerte.
Device neu angelegt habe ich auch schon. Bringt leider alles nichts.
Bei stateAPI wird systems call failed angezeigt.

Weiß jemand an was das liegen kann?

Danke euch.

Gruß
Thomas

curiosus

Hallo Thomas,

ja das ist mir vorgestern auch aufgefallen - ich bin schon bei der Untersuchung. Mal sehen, vielleicht kriegen wir das wieder hin...

Klaus
Fronthem/Smartvisu | Nextcloud | Grafana | div. HM Akt-/Sensoren | ESP8266/32 | 1-Wire | Shelly | WH1000 | PWM-PWMR | Xiaomi | MQTT | CarConnectivity-MQTT | Luftsensor.info | Alexa | iRobots | Zigbee | HUE | SENEC Bat+Wallbox | Fronius | Zoneminder | Fritz!/Box/Fon/Repeater | Navimow | somfy io

curiosus

Hallo zusammen,

seit hgbutte's letzten Änderungen habe ich im Zeitablauf diverse Updates dieses Moduls gemacht. Teileweise auch zwangsweise, weil es nach einer Neuinstallation von fhem bei mir nicht mehr lauffähig war.

Nachdem Carlos ja selbst keinen Senec mehr im Einsatz hat, ist das Modul sozusagen verwaist, deshalb hier eine nicht offizielle Version:

36_Senec.pm 2.21.3 - Test-/Forumsversion
Stand: 2026-09-13
Basis: 2.21.2 von hgbutte (2026-03-03)

Wesentliche Änderungen:
- SENEC Measurements V2: manueller FULL-Abruf verarbeitet nun die YEAR-Timeseries korrekt.
- *_total-Readings werden aus dem FULL-Aggregat aktualisiert.
- FULL-Timestamp entspricht der Berechnungszeit statt dem Timestamp eines Jahres-Buckets.
- Tageswerte werden für die API aus dem aktuellen TAGE-Bucket in *_tag geschrieben.
- autarkie_tag, wallbox_tag, einheit_tag und zeitstempel_tag werden gepflegt.
- INFO-Anzeige nutzt für die Tagesspalte *_tag statt der ggf. veralteten *_heute-Readings.
- Schutz bei fehlendem aktuellen Tages-Bucket (z.B. um Mitternacht).
- Guards für fehlende/ungültige measurements/timeSeries API-Daten.
- Tokenbehandlung robuster gegen fehlendes/ungültiges Connection-Objekt.
- Erfolgreiches APIMS LOGIN OK von Log-Level 1 auf 4 reduziert.
- JAHRE/MONATE: readingsEndUpdate wird auch bei leeren Daten sauber aufgerufen.

Getestet auf produktivem SENEC-System:
- get <device> measurments TAGE
- get <device> measurments FULL
- Aktualisierung der *_tag- und *_total-Readings
- INFO-Darstellung der Tageswerte
- isolierte Perl-Syntaxchecks der geaenderten Kern-Subs

Hinweis:
Diese Datei ist eine Test-/Community-Version und keine offizielle FHEM-Releaseversion.
Vor Installation vorhandene 36_Senec.pm sichern und vom regulären fhem Update ausschließen!

Ausgiebige Tests werden empfohlen.


Fronthem/Smartvisu | Nextcloud | Grafana | div. HM Akt-/Sensoren | ESP8266/32 | 1-Wire | Shelly | WH1000 | PWM-PWMR | Xiaomi | MQTT | CarConnectivity-MQTT | Luftsensor.info | Alexa | iRobots | Zigbee | HUE | SENEC Bat+Wallbox | Fronius | Zoneminder | Fritz!/Box/Fon/Repeater | Navimow | somfy io

Bobby

Hallo Curiosus,

erstmal vielen Dank für deine Arbeit an dem Modul.

Ich bekomme damit keine Tageswerte mehr. Die API meldet "DAY call faild".

Hier ist ein  Auszug vom Logfile:

2026.09.16 01:47:03 2: [PV_Anlage | 0000 | none | Senec.3883] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2Callback] - invalid status code: 400
2026.09.16 01:47:03 2: [PV_Anlage | 0000 | none | Senec.3883] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2Callback] - invalid status code: 400
2026.09.16 01:47:03 2: [PV_Anlage | 0000 | none | Senec.3883] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2Callback] - invalid status code: 400
2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6.41

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  11010.35

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  12493.36

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  13158.09

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  11196.13

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1040.54

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  7203.31

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  9372.65

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  10319.69

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 01:47:17 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  7587.28

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1044.09

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3045.77

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3611.11

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  4067.70

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1738.20

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1.35

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6773.30

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6640.58

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6807.31

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 01:47:18 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  5254.42

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3.51

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1286.18

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1582.24

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1700.37

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  2136.02

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  10.18

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1364.00

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1671.75

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1797.99

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 01:47:19 3: [PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  2228.65

2026.09.16 01:47:19 1: [Freezemon] checkFreezes: possible freeze starting at 01:47:08, delay is 11.816 possibly caused by: tmr-FHEM::Senec::periodicCallAPI(N/A)
2026.09.16 01:47:20 2: [PV_Anlage | 0000 | none | Senec.3511] - SIGNIFICANT:[FHEM::Senec::SenecApiv2_getCallback] - invalid status code: 400
2026.09.16 01:47:20 2: [PV_Anlage | 0000 | none | Senec.3883] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2Callback] - invalid status code: 400
2026.09.16 01:47:20 2: [PV_Anlage | 0000 | none | Senec.3883] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2Callback] - invalid status code: 400
2026.09.16 01:47:20 2: [PV_Anlage | 0000 | none | Senec.3883] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2Callback] - invalid status code: 400

Vielleicht hast du ja eine Idee, was bei mir schief läuft.

Ich habe auch immer noch die Probleme mit dem einfrieren, wie man im Logfile sehen kann. Bei jedem Update 5 -10 Sekunden. Da ich die API Werte aber nur jede Stunde aktualisiere, ist das nicht so schlimm.

Grüße Thomas

Bobby

Ich habe jetzt das Device gelöscht und neu hinzugefügt.

Jetzt bekomme ich keine Daten mehr von der API.

Hier ist ein Auszug aus dem debugLog:

2026.09.16 08:56:14 3:[PV_Anlage | 0000 | none | Senec.7358] - BASIC:redirection debugLog: ./log/PV_Anlage_debugLog-%Y-%m.dlog started
2026.09.16 08:57:53 5:[PV_Anlage | 0000 | none | Senec.2158] - DEBUG:- starting api request
2026.09.16 08:57:54 5:[PV_Anlage | 0000 | none | Senec.3394] - DEBUG:[FHEM::Senec::SenecApi_getTechnicaldata] - No SYSTEM_ID available
2026.09.16 08:57:54 5:[PV_Anlage | 0000 | none | Senec.3443] - DEBUG:[FHEM::Senec::SenecApi_getSystemdetails] - No SYSTEM_ID available
2026.09.16 08:57:54 5:[PV_Anlage | 0000 | none | Senec.3345] - DEBUG:[FHEM::Senec::SenecApi_getDashboardv2] - No SYSTEM_ID available
2026.09.16 08:57:54 4:[PV_Anlage | 0000 | none | Senec.2675] - EXPANDED:[FHEM::Senec::SenecApi_ms_login] called for PV_Anlage Senec
2026.09.16 08:57:59 4:[PV_Anlage | 0000 | none | Senec.2743] - EXPANDED:[FHEM::Senec::SenecApi_ms_login] mein-senec login 200 OK
2026.09.16 08:57:59 4:[PV_Anlage | 0000 | none | Senec.2303] - EXPANDED:APIMS LOGIN OK
2026.09.16 08:57:59 4:[PV_Anlage | 0000 | none | Senec.2960] - EXPANDED:[FHEM::Senec::SenecApi_ms_getPeriod] called for PV_Anlage Senec
2026.09.16 08:58:01 4:[PV_Anlage | 0000 | none | Senec.2960] - EXPANDED:[FHEM::Senec::SenecApi_ms_getPeriod] called for PV_Anlage Senec
2026.09.16 08:58:03 4:[PV_Anlage | 0000 | none | Senec.2960] - EXPANDED:[FHEM::Senec::SenecApi_ms_getPeriod] called for PV_Anlage Senec
2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6.41

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  11010.35

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  12493.36

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  13158.09

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  11196.46

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1040.54

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  7203.31

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  9372.65

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  10319.69

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 08:58:04 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  7592.79

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1044.09

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3045.77

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3611.11

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  4067.70

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1739.13

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1.35

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6773.30

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6640.58

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6807.31

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 08:58:05 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  5254.56

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3.51

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1286.18

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1582.24

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1700.37

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  2140.53

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  10.18

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1364.00

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1671.75

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1797.99

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 08:58:06 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  2228.79

2026.09.16 08:58:06 5:[PV_Anlage | 0000 | none | Senec.3718] - DEBUG:[FHEM::Senec::SenecApi_getMeasurementsV2] - PERIOD: TAGE
2026.09.16 08:58:06 2:[PV_Anlage | 0000 | none | Senec.3728] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2] - No SYSTEM_ID available
2026.09.16 08:58:06 5:[PV_Anlage | 0000 | none | Senec.3718] - DEBUG:[FHEM::Senec::SenecApi_getMeasurementsV2] - PERIOD: MONATE
2026.09.16 08:58:06 2:[PV_Anlage | 0000 | none | Senec.3728] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2] - No SYSTEM_ID available
2026.09.16 08:58:06 5:[PV_Anlage | 0000 | none | Senec.3718] - DEBUG:[FHEM::Senec::SenecApi_getMeasurementsV2] - PERIOD: JAHRE
2026.09.16 08:58:06 2:[PV_Anlage | 0000 | none | Senec.3728] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2] - No SYSTEM_ID available
2026.09.16 08:58:07 5:[PV_Anlage | 0000 | none | Senec.3269] - DEBUG:[FHEM::Senec::SenecApi_getSystemsCallback] - invalid status code: 400
2026.09.16 08:58:07 5:[PV_Anlage | 0000 | none | Senec.3269] - DEBUG:[FHEM::Senec::SenecApi_getSystemsCallback] - invalid status code: 400
2026.09.16 08:58:07 5:[PV_Anlage | 0000 | none | Senec.3269] - DEBUG:[FHEM::Senec::SenecApi_getSystemsCallback] - invalid status code: 400
2026.09.16 08:58:07 5:[PV_Anlage | 0000 | none | Senec.3269] - DEBUG:[FHEM::Senec::SenecApi_getSystemsCallback] - invalid status code: 400
2026.09.16 09:01:41 5:[PV_Anlage | 0000 | none | Senec.2158] - DEBUG:- starting api request
2026.09.16 09:01:41 5:[PV_Anlage | 0000 | none | Senec.3394] - DEBUG:[FHEM::Senec::SenecApi_getTechnicaldata] - No SYSTEM_ID available
2026.09.16 09:01:41 5:[PV_Anlage | 0000 | none | Senec.3443] - DEBUG:[FHEM::Senec::SenecApi_getSystemdetails] - No SYSTEM_ID available
2026.09.16 09:01:41 5:[PV_Anlage | 0000 | none | Senec.3345] - DEBUG:[FHEM::Senec::SenecApi_getDashboardv2] - No SYSTEM_ID available
2026.09.16 09:01:41 4:[PV_Anlage | 0000 | none | Senec.2675] - EXPANDED:[FHEM::Senec::SenecApi_ms_login] called for PV_Anlage Senec
2026.09.16 09:01:46 4:[PV_Anlage | 0000 | none | Senec.2743] - EXPANDED:[FHEM::Senec::SenecApi_ms_login] mein-senec login 200 OK
2026.09.16 09:01:46 4:[PV_Anlage | 0000 | none | Senec.2303] - EXPANDED:APIMS LOGIN OK
2026.09.16 09:01:46 4:[PV_Anlage | 0000 | none | Senec.2960] - EXPANDED:[FHEM::Senec::SenecApi_ms_getPeriod] called for PV_Anlage Senec
2026.09.16 09:01:48 4:[PV_Anlage | 0000 | none | Senec.2960] - EXPANDED:[FHEM::Senec::SenecApi_ms_getPeriod] called for PV_Anlage Senec
2026.09.16 09:01:51 4:[PV_Anlage | 0000 | none | Senec.2960] - EXPANDED:[FHEM::Senec::SenecApi_ms_getPeriod] called for PV_Anlage Senec
2026.09.16 09:01:51 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 09:01:51 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6.41

2026.09.16 09:01:51 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 09:01:51 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  11010.35

2026.09.16 09:01:51 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 09:01:51 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  12493.36

2026.09.16 09:01:51 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 09:01:51 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  13158.09

2026.09.16 09:01:51 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 09:01:51 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  11196.46

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1040.54

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  7203.31

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  9372.65

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  10319.69

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  7592.79

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1044.09

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3045.77

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3611.11

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  4067.70

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 09:01:52 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1739.13

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1.35

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6773.30

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6640.58

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6807.31

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  5254.56

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3.51

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1286.18

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1582.24

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1700.37

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  2140.53

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  10.18

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1364.00

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1671.75

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1797.99

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2994] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026

2026.09.16 09:01:53 3:[PV_Anlage | 0000 | none | Senec.2997] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  2228.79

2026.09.16 09:01:53 5:[PV_Anlage | 0000 | none | Senec.3718] - DEBUG:[FHEM::Senec::SenecApi_getMeasurementsV2] - PERIOD: TAGE
2026.09.16 09:01:53 2:[PV_Anlage | 0000 | none | Senec.3728] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2] - No SYSTEM_ID available
2026.09.16 09:01:53 5:[PV_Anlage | 0000 | none | Senec.3718] - DEBUG:[FHEM::Senec::SenecApi_getMeasurementsV2] - PERIOD: MONATE
2026.09.16 09:01:53 2:[PV_Anlage | 0000 | none | Senec.3728] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2] - No SYSTEM_ID available
2026.09.16 09:01:53 5:[PV_Anlage | 0000 | none | Senec.3718] - DEBUG:[FHEM::Senec::SenecApi_getMeasurementsV2] - PERIOD: JAHRE
2026.09.16 09:01:53 2:[PV_Anlage | 0000 | none | Senec.3728] - SIGNIFICANT:[FHEM::Senec::SenecApi_getMeasurementsV2] - No SYSTEM_ID available
2026.09.16 09:01:54 5:[PV_Anlage | 0000 | none | Senec.3269] - DEBUG:[FHEM::Senec::SenecApi_getSystemsCallback] - invalid status code: 400
2026.09.16 09:01:54 5:[PV_Anlage | 0000 | none | Senec.3269] - DEBUG:[FHEM::Senec::SenecApi_getSystemsCallback] - invalid status code: 400
2026.09.16 09:01:54 5:[PV_Anlage | 0000 | none | Senec.3269] - DEBUG:[FHEM::Senec::SenecApi_getSystemsCallback] - invalid status code: 400
2026.09.16 09:01:54 5:[PV_Anlage | 0000 | none | Senec.3269] - DEBUG:[FHEM::Senec::SenecApi_getSystemsCallback] - invalid status code: 400

Ich habe es auch mit der Vorgängerversion des Moduls versucht, bekomme aber das gleiche Ergebnis.
Verwendet ihr die MFA Anmeldung bei Senec? Ich verwende noch die "normale" Authentifizierung.

Ich habe habe jetzt den ganzen morgen versucht und habe keine Ideen mehr.

curiosus

Hallo,

vielen Dank für die Rückmeldung. Ja, mir sind da auch einige seltsame Dinge aufgefallen. Die nächste Version ist bereits in Arbeit, also noch etwas Geduld bitte...


Klaus
Fronthem/Smartvisu | Nextcloud | Grafana | div. HM Akt-/Sensoren | ESP8266/32 | 1-Wire | Shelly | WH1000 | PWM-PWMR | Xiaomi | MQTT | CarConnectivity-MQTT | Luftsensor.info | Alexa | iRobots | Zigbee | HUE | SENEC Bat+Wallbox | Fronius | Zoneminder | Fritz!/Box/Fon/Repeater | Navimow | somfy io

curiosus

Nachdem es noch einige Ecken und Kanten gab, hier nun eine neue Version 2.22.0.

Es wurde neben der Beseitigung von Fehlern insbesondere die Stabilität und Fehlerbehandlung der Cloud-Anbindung überarbeitet:

  • robustere Behandlung von HTTP- und JSON-Fehlern
  • fehlerhafte bzw. unerwartete SENEC-Antworten sollen FHEM nicht mehr zum Absturz bringen
  • Überarbeitung der Cloud-Authentifizierung und Token-Behandlung
  • Login-Backoff zur Vermeidung permanenter Login-Versuche bei fehlerhaften Zugangsdaten
  • eindeutige Meldung, wenn Benutzername oder Passwort von SENEC abgelehnt werden
  • Folgefehler wie ,,NO TOKEN" oder ,,NO SYSTEM_ID" verdecken nicht mehr die eigentliche Login-Ursache
  • periodische API-Abfragen melden nicht mehr pauschal ,,connected", wenn die Abfrage tatsächlich fehlgeschlagen ist
  • automatische und periodische Aktualisierung der API- und Wallboxdaten überarbeitet
  • Debug-Ausgaben reduziert und Ausgaben potentiell sensibler Daten wie Zugangsdaten und Authentifizierungs-URLs entfernt

Die Version wurde mit meiner eigenen SENEC-Anlage getestet. Dabei sind sowohl lokale Daten als auch die Cloud-API sowie historische Messwerte und zwei vorhandene Wallboxen im Einsatz. Probleme in anderen Konfigurationen und Umgebungen können natürlich nicht ausgeschlossen werden.

Wer die neue Version ausprobiert, sollte vorher seine vorhandene 36_Senec.pm sichern. Möglicherweise ist eine Löschung und Neudefinition des Devices nötig.

Falls Fehler auftreten, wären neben einer kurzen Beschreibung insbesondere die verwendete SENEC-Konfiguration und die betreffenden FHEM-Logmeldungen hilfreich. Bitte dabei keine Zugangsdaten, Tokens oder sonstige persönliche Daten veröffentlichen.

Vielen Dank an Carlos für die ursprüngliche Entwicklung des Moduls und an hgbutte für die Weiterentwicklung in den vergangenen Versionen.

Grüße
curiosus
Fronthem/Smartvisu | Nextcloud | Grafana | div. HM Akt-/Sensoren | ESP8266/32 | 1-Wire | Shelly | WH1000 | PWM-PWMR | Xiaomi | MQTT | CarConnectivity-MQTT | Luftsensor.info | Alexa | iRobots | Zigbee | HUE | SENEC Bat+Wallbox | Fronius | Zoneminder | Fritz!/Box/Fon/Repeater | Navimow | somfy io

Bobby

Hallo curiosus,

Die fehlenden Werte sind jetzt wieder da. Bei nicht gesetzten "verbose" scheibt der API call die Werte ins Logfile.

2026.09.18 04:08:05 1: [Freezemon] checkFreezes: possible freeze starting at 04:07:54, delay is 11.796 possibly caused by: tmr-FHEM::Senec::periodicCallAPI(N/A)
2026.09.18 05:08:02 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022
2026.09.18 05:08:02 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6.41
2026.09.18 05:08:02 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023
2026.09.18 05:08:02 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  11010.35
2026.09.18 05:08:02 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024
2026.09.18 05:08:02 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  12493.36
2026.09.18 05:08:02 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025
2026.09.18 05:08:02 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  13158.09
2026.09.18 05:08:02 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026
2026.09.18 05:08:02 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  11274.52
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1040.54
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  7203.31
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  9372.65
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  10319.69
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  7635.91
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1044.09
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3045.77
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3611.11
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  4067.70
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026
2026.09.18 05:08:03 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1742.96
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1.35
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6773.30
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6640.58
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  6807.31
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  5286.99
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  3.51
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1286.18
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1582.24
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1700.37
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026
2026.09.18 05:08:04 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  2158.41
2026.09.18 05:08:05 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2022
2026.09.18 05:08:05 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  10.18
2026.09.18 05:08:05 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2023
2026.09.18 05:08:05 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1364.00
2026.09.18 05:08:05 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2024
2026.09.18 05:08:05 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1671.75
2026.09.18 05:08:05 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2025
2026.09.18 05:08:05 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  1797.99
2026.09.18 05:08:05 3: [PV_Anlage | 0000 | none | Senec.3632] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] key:  2026
2026.09.18 05:08:05 3: [PV_Anlage | 0000 | none | Senec.3635] - BASIC:[FHEM::Senec::SenecApi_ms_getPeriod] value:  2253.00
2026.09.18 05:08:05 1: [Freezemon] checkFreezes: possible freeze starting at 05:07:54, delay is 11.639 possibly caused by: tmr-FHEM::Senec::periodicCallAPI(N/A)

Hängt dein FHEM bei der API Abfrage auch so lange? 11 Sekunden finde ich schon lange.

Aber trotzdem vielen Dank für die Bemühungen das Modul weiterzuentwickeln.

Grüße Thomas

curiosus

Danke für den Hinweis – beide Punkte waren berechtigt.

Die vielen `key:`-/`value:`-Meldungen kamen noch aus `SenecApi_ms_getPeriod()` und wurden mit Log-Level 3 (Standard in FHEM) ausgegeben. Diese Debug-Ausgaben habe ich entfernt.

Interessanter war allerdings der von Freezemon gemeldete Hänger. Ursache waren die alten `mein-senec`-Statistikabfragen im automatischen `periodicCallAPI`. Diese verwenden synchrone HTTP-Aufrufe und blockieren damit während der Abfrage den FHEM-Hauptprozess.

Da die benötigten Tages-, Monats-, Jahres- und Gesamtwerte inzwischen wieder vollständig über die Measurement API V2 geliefert werden, habe ich die alten blockierenden Statistikabfragen aus dem automatischen Polling entfernt. Die Legacy-Funktionen selbst bleiben vorerst im Modul erhalten.

Das Ergebnis ist recht deutlich:

Bei dir wurden etwa 11–12 Sekunden Blockade gemeldet. Auf meinem System benötigt `periodicCallAPI()` mit der Änderung nur noch ca. **0,07 Sekunden**.

Dieser Wert ist natürlich nicht immer gleich und ändert sich aufgrund anderer "Jobs" in fhem - du kannst ihn einfach erfahren durch folgende Eingabe in der FHEM Kommandozeile:

{my $t=time();; FHEM::Senec::periodicCallAPI("senecAPI");; return sprintf("%.3f Sekunden",time()-$t);;}
Anschließend habe ich mehrere automatische Durchläufe geprüft:

* keine neuen Freezemon-Meldungen
* keine `SenecApi_ms_getPeriod`-Logausgaben
* Tages-, Monats-, Jahres- und Gesamtwerte werden weiterhin aktualisiert
* Wallbox-, Autarkie- und Zeitstempelwerte sind ebenfalls weiterhin vorhanden

Ich habe die Änderung deshalb in **2.22.1** aufgenommen.

Danke für die Rückmeldung – ohne den Freezemon-Hinweis wäre die alte blockierende Abfrage vorübergehend unentdeckt geblieben. :-)
Fronthem/Smartvisu | Nextcloud | Grafana | div. HM Akt-/Sensoren | ESP8266/32 | 1-Wire | Shelly | WH1000 | PWM-PWMR | Xiaomi | MQTT | CarConnectivity-MQTT | Luftsensor.info | Alexa | iRobots | Zigbee | HUE | SENEC Bat+Wallbox | Fronius | Zoneminder | Fritz!/Box/Fon/Repeater | Navimow | somfy io

HGButte

Sorry ich war länger im Urlaub. Habe die Probleme auch bemerkt aber bisher noch keine Zeit.

Schön dass jemand noch aktiv mit am Start ist.

curiosus

Fronthem/Smartvisu | Nextcloud | Grafana | div. HM Akt-/Sensoren | ESP8266/32 | 1-Wire | Shelly | WH1000 | PWM-PWMR | Xiaomi | MQTT | CarConnectivity-MQTT | Luftsensor.info | Alexa | iRobots | Zigbee | HUE | SENEC Bat+Wallbox | Fronius | Zoneminder | Fritz!/Box/Fon/Repeater | Navimow | somfy io

HGButte

Ich habe deine Version gerade mal geladen und werde sie testen.

Spricht was dagegen mein "interval_local_energy" attribute wieder einzubauen?

Ich brauche für die Überschussladung an meiner e-go Wallbox schnellere Werte vom lokalen Interface.
Daher hatte ich ein separates Intervall eingeführt.

Muss es für mich sowieso wieder in den Code einbauen.

//Edit:

Oder hat "interval" attribute jetzt genau diese Funktion und die APIs werden nur stündlich abgerufen?

curiosus

Ja, im Prinzip hast du es richtig erkannt:

In der aktuellen Version sind Local- und API-Intervall voneinander getrennt. Bei vorhandener lokaler SENEC-Verbindung steuert interval den lokalen Abruf über periodicCallLocal(). Die SENEC-App/API wird unabhängig davon nur noch einmal pro Stunde abgefragt.

Ohne lokale Verbindung wird interval dagegen weiterhin auch für den API-Abruf verwendet.

Dein interval_local_energy ist damit aber nicht zwangsläufig überflüssig. Wenn du damit gezielt nur die lokalen ENERGY-Werte in einem kurzen Intervall – z. B. 10 Sekunden für die PV-Überschussregelung deiner go-e Wallbox – abfragst, hat das gegenüber einem generell auf 10 Sekunden gesetzten interval durchaus einen Vorteil.

Ich würde es daher nicht vorschnell ausbauen. Im Gegenteil: Die Trennung zwischen

normalem lokalen Abfrageintervall,
schnellem lokalem ENERGY-Intervall und
langsamem API-Intervall

finde ich eigentlich sinnvoll.

Wenn du möchtest, können wir interval_local_energy auch wieder sauber in die aktuelle Version integrieren, anstatt dass du dir die Änderung bei jeder neuen Modulversion selbst wieder einbauen musst (eine neue Version ist eigentlich fast fertig). Das ist allerdings nicht in einer Minute erledigt und ich werde frühestens Sonntag Zeit dafür finden...
Fronthem/Smartvisu | Nextcloud | Grafana | div. HM Akt-/Sensoren | ESP8266/32 | 1-Wire | Shelly | WH1000 | PWM-PWMR | Xiaomi | MQTT | CarConnectivity-MQTT | Luftsensor.info | Alexa | iRobots | Zigbee | HUE | SENEC Bat+Wallbox | Fronius | Zoneminder | Fritz!/Box/Fon/Repeater | Navimow | somfy io


curiosus

Hallo zusammen,

ich habe die Änderungen der letzten Tage inzwischen noch einmal zusammengeführt und möchte den aktuellen Stand als **36_Senec.pm 2.22.1** zum Testen bereitstellen.

### Was sich in 2.22.1 geändert hat

**SENEC App-/Measurement-API**

* Tages-, Monats-, Jahres- und Gesamtwerte (`*_tag`, `*_monat`, `*_jahr`, `*_total`) an die aktuelle API angepasst
* Berechnung und Aktualisierung der FULL-/Totalwerte korrigiert
* Zeitstempelbehandlung korrigiert, insbesondere UTC → lokale Zeit
* fehlende bzw. leere Tages-Buckets, z. B. rund um Mitternacht, werden abgefangen
* INFO verwendet für die Tageswerte jetzt die aktuellen `*_tag`-Readings

**Performance**

* die alten synchronen `mein-senec`-Statistikabfragen werden nicht mehr automatisch im regelmäßigen API-Poll ausgeführt
* dadurch sollte insbesondere die von Freezemon gemeldete Blockierung von etwa 11–12 Sekunden verschwunden sein
* die alten Funktionen bleiben im Modul erhalten
* bei mir benötigt `periodicCallAPI()` für den synchronen Teil inzwischen nur noch den Bruchteil einer Sekunde; die eigentlichen HTTP-Abfragen laufen anschließend nichtblockierend weiter
* außerdem wurden noch verbliebene Debug-/Log-Ausgaben entfernt

**Wallbox**

* zusätzlich zu den bisherigen Summenwerten gibt es nun Readings für die einzelnen Wallboxen, z. B. `wallbox_1`, `wallbox_1_tag`, `wallbox_1_monat`, `wallbox_1_jahr` und `wallbox_1_total`
* entsprechend auch für `wallbox_2`, `wallbox_3` usw.
* damit lassen sich die Werte der einzelnen Wallboxen beispielsweise direkt in smartVISU verwenden

**Schnellere lokale ENERGY-Werte (`interval_local_energy`)**

Auf Wunsch ist das separate Attribut `interval_local_energy` wieder enthalten.

Das normale Attribut `interval` steuert weiterhin die vollständige lokale Abfrage. Ein sehr kleines `interval` würde deshalb nicht nur die für eine Überschussregelung interessanten Leistungswerte, sondern den kompletten lokalen SENEC-Datensatz entsprechend häufig abfragen.

Mit `interval_local_energy` gibt es dafür wieder einen **eigenen, schnellen lokalen Poll ausschließlich für den ENERGY-Bereich**.

Darüber werden insbesondere die aktuellen lokalen Leistungswerte wie

* PV-Erzeugung (`GUI_INVERTER_POWER`)
* Netzbezug bzw. Netzeinspeisung (`GUI_GRID_POW`)
* Hausverbrauch (`GUI_HOUSE_POW`)
* Batterieleistung, Batteriespannung, Batteriestrom und Ladezustand

aktualisiert.

Damit kann beispielsweise eine externe PV-Überschussregelung wesentlich schneller auf Änderungen von Erzeugung und Einspeisung reagieren, ohne deshalb sämtliche lokalen SENEC-Daten alle paar Sekunden abfragen zu müssen.

Beispiel:

`attr senecAPI interval_local_energy 10`

fragt ausschließlich die lokalen ENERGY-Daten alle 10 Sekunden ab.

`interval_local_energy` ist standardmäßig `0` und damit deaktiviert. Wer das zusätzliche schnelle Intervall nicht benötigt, bekommt also keine weiteren lokalen Abfragen.

Für die Kontrolle des separaten Timers gibt es außerdem das Reading `nextUpdateEnergy`.

**Tests**


Die zuvor beobachtete längere Blockierung durch die alten Statistikabfragen ist bei mir nicht mehr aufgetreten.

Da sich bei SENEC unterschiedliche Anlagen- und Firmwarestände bemerkbar machen können, wäre Feedback von weiteren Installationen durchaus hilfreich.

**Version: 2.22.1**

Viele Grüße
Klaus
Fronthem/Smartvisu | Nextcloud | Grafana | div. HM Akt-/Sensoren | ESP8266/32 | 1-Wire | Shelly | WH1000 | PWM-PWMR | Xiaomi | MQTT | CarConnectivity-MQTT | Luftsensor.info | Alexa | iRobots | Zigbee | HUE | SENEC Bat+Wallbox | Fronius | Zoneminder | Fritz!/Box/Fon/Repeater | Navimow | somfy io