[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

curiosus

Hallo zusammen,

anbei eine neuerlich aktualisierte Version 2.22.2 des Moduls.

Auslöser für die letzte Änderung waren bei mir zunächst unerklärliche Homematic-Disconnects. Bei der Suche nach der Ursache via apptime zeigte sich, dass FHEM zeitweise erhebliche Lags hatte.

Als Ursache stellte sich schließlich Senec_connect() innerhalb der regelmäßigen lokalen SENEC-Abfrage heraus. Dort wurde ein synchroner HttpUtils_BlockingGet mit einem Timeout von bis zu 120 Sekunden ausgeführt. Antwortete der SENEC nicht rechtzeitig, konnte damit der gesamte FHEM-Hauptprozess blockiert werden – Homematic war in diesem Fall nur der auffällige ,,Seismograph" dafür.

Der blockierende Aufruf wurde aus dem regelmäßigen lokalen Poll entfernt. Die eigentlichen lokalen SENEC-Abfragen laufen weiterhin nichtblockierend.

Nach der Änderung liegen die lokalen SENEC-Polls bei mir nur noch bei rund 27–28 ms; größere Timer-Lags bzw. die damit zusammenhängenden Homematic-Disconnects sind seitdem nicht mehr aufgetreten.


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

Uwe Ernst

Hallo curiosus
Dein neues Modul läuft bei mir Fehlerfrei. Habe aber die API Abfrage auf 15 min. geändert.

HGButte
Ich mache die Abfrage der Aktuellen Werte mit HTTPMOD:
Abfrage alle 5 sec.
Nur wenn schnellere Abfrage erfordrlich sind (Heizstab in Pufferspeicher ein) schalte ich auf 2 sec. durch at und notify um.
Bisher keine Probleme.

Bobby

Hallo Klaus,

ich habe deine Version 2.22.1 übers Wochenende getestet. Die Hänger der API Abfrage sind jetzt endlich weg. Damit habe ich ja schon länger Probleme.
Allerdings sind mir auch die "kurzen" Hänger bei der lokalen Abfrage aufgefallen.

2026.09.21 08:39:23 1: [Freezemon] checkFreezes: possible freeze starting at 08:39:22, delay is 1.052 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 08:49:24 1: [Freezemon] checkFreezes: possible freeze starting at 08:49:23, delay is 1.082 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 08:59:25 1: [Freezemon] checkFreezes: possible freeze starting at 08:59:24, delay is 1.066 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 09:09:26 1: [Freezemon] checkFreezes: possible freeze starting at 09:09:25, delay is 1.052 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 09:19:27 1: [Freezemon] checkFreezes: possible freeze starting at 09:19:26, delay is 1.066 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 09:29:28 1: [Freezemon] checkFreezes: possible freeze starting at 09:29:27, delay is 1.057 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 09:39:29 1: [Freezemon] checkFreezes: possible freeze starting at 09:39:28, delay is 1.066 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 09:49:30 1: [Freezemon] checkFreezes: possible freeze starting at 09:49:29, delay is 1.059 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 09:59:31 1: [Freezemon] checkFreezes: possible freeze starting at 09:59:30, delay is 1.05 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 10:09:32 1: [Freezemon] checkFreezes: possible freeze starting at 10:09:31, delay is 1.061 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 10:19:33 1: [Freezemon] checkFreezes: possible freeze starting at 10:19:32, delay is 1.082 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 10:29:34 1: [Freezemon] checkFreezes: possible freeze starting at 10:29:33, delay is 1.06 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 10:39:35 1: [Freezemon] checkFreezes: possible freeze starting at 10:39:34, delay is 1.131 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 10:49:36 1: [Freezemon] checkFreezes: possible freeze starting at 10:49:35, delay is 1.098 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 10:59:37 1: [Freezemon] checkFreezes: possible freeze starting at 10:59:36, delay is 1.086 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
2026.09.21 11:09:38 1: [Freezemon] checkFreezes: possible freeze starting at 11:09:37, delay is 1.093 possibly caused by: tmr-FHEM::Senec::periodicCallLocal(N/A)
Ich hatte auch Probleme mit anderen Geräten, z.B. Abbrüche bei HomeConnect oder Harmony.

Ich habe deine Aktuelle Version gerade in FHEM kopiert und werde weiter testen und berichten.


Grüße Thomas

HGButte

Zitat von: Uwe Ernst am 21 September 2026, 11:02:32Hallo curiosus
Dein neues Modul läuft bei mir Fehlerfrei. Habe aber die API Abfrage auf 15 min. geändert.

HGButte
Ich mache die Abfrage der Aktuellen Werte mit HTTPMOD:
Abfrage alle 5 sec.
Nur wenn schnellere Abfrage erfordrlich sind (Heizstab in Pufferspeicher ein) schalte ich auf 2 sec. durch at und notify um.
Bisher keine Probleme.


Im alten Modul war die separate Einstellung von mir eingebaut. Ein separates HTTPMOD war nicht nötig und macht es vielleicht nur unnötig kompliziert.
Aber die Idee ist gut. Möchte deine Variante hier definitiv nicht schlecht reden.

Bei mir läuft 2.22.1 auch sehr gut.

Teste ab sofort noch die 2.22.2

Uwe Ernst

Hallo HGButte
Bis zu welcher Zeit kannst du die Abfrage runterstellen ohne Fehler?

HGButte

Zitat von: Uwe Ernst am 21 September 2026, 22:12:35Hallo HGButte
Bis zu welcher Zeit kannst du die Abfrage runterstellen ohne Fehler?

Aktuell habe ich 5sek. Läuft bisher ganz gut. Werde es beobachten.

Mit meinem alten Modul hatte ich so 6 bis 7sek eingestellt.

Die e-Go wallbox habe ich allerdings konstant über einen stabilen Timer mit den notwendigen Daten versorgt.