Optimierungsvorschlag "HandleTimeout()" in fhem.pl

Begonnen von noansi, 20 Dezember 2017, 21:54:02

Vorheriges Thema - Nächstes Thema

KernSani

Hänge mich mal rein zum mitlesen . Das scheint ja meinen FREEZEMON über kurz oder lang obsolet zu machen...


Kurz, weil mobil...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

noansi

Hallo KernSani,

ZitatDas scheint ja meinen FREEZEMON über kurz oder lang obsolet zu machen...
ok, kannte ich noch nicht.

Der wäre ohne Anpassungen auch betroffen, würde aber prinzipiell davon profitieren können.  ;)

Gruß, Ansgar.

KernSani

Zitat von: noansi am 04 Februar 2018, 18:48:17
Hallo KernSani,
ok, kannte ich noch nicht.
gibt's ja auch erst seit gestern :-D
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

rudolfkoenig

Ich habe jetzt meine Variante eingecheckt, d.h. InternalTimer ist von %intAt auf dem nach TRIGGERTIME sortierten @intAtA umgestellt.

Folgen:
- Der Overhead fuer das Ausfuehren der richtigen Funktion ist bei vielen kurzen Timern deutlich geringer, da das Sortieren entfaellt. Nebeneffekt: Wiederholende at Definitionen, die zur gleichen Zeit ausgefuehrt werden, behalten jetzt ihre Reihenfolge.
- InternalTimer() ist etwas langsamer, da die richtige Stelle gesucht werden muss. Wegen binaerer Suche sollte der Zusatzaufwand sich in Grenzen halten, und geringer sein als das Sortieren.
- Aufwand fuer RemoveInternalTimer sollte in etwa gleich bleiben.
- Codegroesse ist in etwa gleich geblieben, Komplexitaet ist wg. der Binaersuche gestiegen.

%intAt wird weitergepflegt, da apptime und freezemon davon abhaengen, und der Aufwand fuer die Pflege minimal ist.
Nachdem diese Befehle auf @intAtA umgestellt haben, werde ich die %intAt Pflege entfernen.

Ich habe zwar jetzt eine Weile getestet, kann aber nicht ausschliessen, dass es unerwartete Nebeneffekte hat: bitte in der naechsten Zeit daran denken.

noansi

Hallo Rudolf,

vielen Dank für's übernehmen.  :)

Ergänzend trifft noch zu:
ZitatVom Verhalten her ergibt sich bei HandleTimer auch ein kleiner Unterschied, falls ein neuer Timer in einer Timerroutine mit Ausführungszeit 1 oder gettimeofday erzeugt wird. Dann wird er auch gleich im gleichen HandleTimeraufruf noch ausgeführt, während er in Deinem bisherigen Code erst im nächsten Aufruf von HandleTimer zur Ausführung kommt.
Ausführungszeitpunkt 0 führt zu 1, trifft also auch zu.

D.h. Jörg muss sich damit zurecht finden vgl. https://forum.fhem.de/index.php/topic,81365.msg756314.html#msg756314.

Gruß, Ansgar.

KernSani

Dann werde ich mir heute abend mal die neue Version saugen und versuchen freezemon so umzubauen, dass es mit beidem zurecht kommt...


Kurz, weil mobil...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

herrmannj

Zitat von: noansi am 18 Februar 2018, 16:54:27
Hallo Rudolf,

vielen Dank für's übernehmen.  :)

Ergänzend trifft noch zu:Ausführungszeitpunkt 0 führt zu 1, trifft also auch zu.

D.h. Jörg muss sich damit zurecht finden vgl. https://forum.fhem.de/index.php/topic,81365.msg756314.html#msg756314.

Gruß, Ansgar.
Grmpf. Aber ich hab einen hack in der Schublade 😀

rudolfkoenig

ZitatVom Verhalten her ergibt sich bei HandleTimer auch ein kleiner Unterschied, falls ein neuer Timer in einer Timerroutine mit Ausführungszeit 1 oder gettimeofday erzeugt wird. Dann wird er auch gleich im gleichen HandleTimeraufruf noch ausgeführt, während er in Deinem bisherigen Code erst im nächsten Aufruf von HandleTimer zur Ausführung kommt.

Genauer: wenn man in der beim InternalTimer spezifizierten Funktion einen weiteren InternalTimer mit $timeout << gettimeofday() aufruft, dann wird dieser Eintrag am Anfang des Arrays eingetragen, und damit nach Beenden des aktuellen Aufrufs ausgefuehrt. Dabei ist "<<" leider variabel: da $now vor der Schleife geholt wird, die einzelnen ausgefuehrten Funktionen unterschiedlich lang dauern koennen, und die Genauigkeit von gettimeofday nicht gerantiert ist, ist diese Differenz unbestimmt. Wenn man aber etwas ganz Kleines (aber noch per float Darstellbares) auf gettimeofday() draufaddiert, dann sollte es nicht mehr in der aktuellen HandleTimeout abgearbeitet werden.

DS_Starter

#83
Hallo zusammen,

am 20.02. habe ich auf die aktuelle fhem.pl (das gesamte FHEM) upgedated. Die neueste Version war 16228 2018-02-20. Ab diesem Zeitpunkt habe ich beobachtet dass die CPU-Auslastung stetig bis 25% (4 CPU's -> entspricht 100% f. eine CPU) hochgeklettert ist. Verbunden war dieser Anstieg ab einer gewissen Stufe mit fortlaufenden Freezes. Nach einem Restart war alles wieder ok um sofort wieder entsprechend anzusteigen.

Der beschriebene Vorgang schaukelte sich so über mehrere Stunden auf. Die RAM-Auslastung blieb über die gesamte Zeit weitgehend unauffällig bei 300-400MB.

Nun bin ich wieder auf die fhem.pl 16204 2018-02-17 zurück gegangen. Mit dieser Version läuft alles wieder chic so wie es sein soll mit 0 -1 % Auslastung.

In dem angehängten SVG habe ich die CPU-Auslastungsentwicklung dokumentiert. Die steilen Flanken nach 0 sind jeweils Restarts bis ich heute wieder zurück auf die lauffähige Version gegangen bin.
FHEM.pl habe ich erstmal vom Update-Prozess ausgenommen.
Auf meiner Testmaschine ist dieses Verhalten nicht so stark ausgeprägt und betriebsverhindernd, wobei auf dieser Instanz z.B. kein Homematic läuft.

Es ist zu vermuten, dass diese Problematik mit den hier im Thread beschriebenen Änderungen in Zusammenhang steht.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Phiolin

#84
Ich beobachte ebenfalls erhöhte CPU Last durch den FHEM Prozess. Nicht im kritischen Bereich, da die CPU auch gut dimensioniert ist. Aber doch deutlich sichtbar, gute 10% höher im Schnitt seit Update und Restart gestern und seitdem langsam aber sichtbar ansteigend.

fhem.pl ist rev 16214, also genau dieser Change hier.
Ich gehe jetzt zurück auf 16211 und beobachte das mal.

Update 23.02. 07:00
Mit der 16211 alles stabil und kein Anstieg der CPU nach bisher 8 Stunden.

DS_Starter

Ich habe einen erneuten Test mit fhem.pl 16228 2018-02-20 durchgeführt.
Im Produktivsystem hatte ich noch 99_perfmon.pm aktiv. Die Komponente habe ich deaktiviert.
Ergebnis ist, dass die CPU-Auslastung sich langsamer als vorher in die Höhe schraubt, d.h. der Anstieg ist flacher wie im beigefügten SVG zu sehen ist.

Grundsätzlich bleibt es aber bei dem beschriebenen Verhalten.
Es macht nun etwa einen Anstieg von ca. 1% CPU-Auslastung pro Stunde aus, jetzt nach ca. 10 h Testlaufzeit beträgt die Grundlast durch perl 9 %.

Bin nun auch wieder zurück auf Version fhem.pl 16204 vom 2018-02-17.

Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig

Load kann, muss aber nicht hilfreich sein, zeigt die Anzahl der Prozesse, die was tun wollen, d.h. auch Warten auf Netz oder Platte zaehlt, nicht nur aktive CPU Nutzung. Allerdings ist die gezeigte Linie nicht in Ordnung, wenn FHEM die Ursache ist. Was liefert
{ @intAtA }
{ int(keys %intAt) }

zurueck, jeweils nach dem Start und nach einem relevanten Load-Anstieg?

Soweit ich sehe, startet perfmon nur einen Timer einmal die Sekunde, provoziert also eher das Problem. Ich hatte hier auch schon eine (sonst leere) Konfiguration mit 60 at Definitionen mit Logging, die jeweils alle 10s zugeschlagen haben, ohne Auffaelligkeiten laenger am laufen, mit 0.3% CPU Auslastung.

DS_Starter

Morgen Rudi,

seit gestern habe ich wieder die Version fhem.pl 16204 auf dem Prod drin. Und damit läuft es wieder seit Stunden sauber so wie immer. Nur nochmal als Statement.
(siehe SVG). Die CPU-Last wird tatsächlich durch den fhem/perl - Prozess gestaltet, sieht man mit top.

Auf meiner Testmaschine, die sich von der Prod durch fehlendes FS20, Homematic und IT-Komponenten unterscheidet (also alles was eine E/A-Einheit braucht), ist dieser doch recht deutliche Anstieg der CPU-Last über die Zeit auch nicht so ausgepägt. Er bewegt sich im Bereich 0,5% pro 4 Stunden. Steigt aber auch dort stetig an. Nur fällt es wahrscheinlich nicht auf wenn man nicht darauf achtet. 
Auf dieser Instanz gibt es natürlich auch deutlich weniger at, notify usw., benutzt aber ansonsten die gleichen Module wie Prod.

Um deine Fragen zu beantworten habe ich jetzt die fhem.pl 16228 2018-02-20 wieder aktiviert und restartet. Wenn die CPU wieder hochgeklettert ist (also in ein paar Stunden), gebe ich ein Update. Perfmon ist weiterhin aus.

08:55:
{ @intAtA }               -> 560
{ int(keys %intAt) }  ->  118


LG,
Heiko



ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig

intAtA ud intAt sollten "in Sync" sein. Verwendest du Module, die nicht aktuell sind bzw. nicht aus der "offiziellen" update stammen, und %intAt aendern? Was liefert
{ join("\n", map {$intAtA[$_]->{FN}} grep { !$intAt{ $intAtA[$_]->{atNr} } } (0..@intAtA)) }

DS_Starter

#89
ZitatVerwendest du Module, die nicht aktuell sind bzw. nicht aus der "offiziellen" update stammen, und %intAt aendern?
Auf der Prod nicht bzw. nicht dass mir etwas einfällt.

Ich habe mal die verwendeten Module ausgegeben.

Testmaschine:


Modules Model Count
CALVIEW 1
CUL_HM
ActionDetector 1
Calendar 1
DBPlan 1
DOIF 3
Dashboard 1
DbLog 1
SQLITE 1
MYSQL 2
POSTGRESQL 2
DbRep 40
FHEMWEB 4
FileLog 1
FileLogConvert 2
HTTPMOD 4
HTTPSRV 1
Log2Syslog 3
MQTT 1
NUT 1
Nmap 2
PHILIPS_AUDIO
NP3700 1
SHM 1
SHMForecastRelative 1
SMAEM 1
SMAInverter 1
SSCam
SVS 1
CAM 4
SVG 51
SYSMON 1
TelegramBot 1
Verkehrsinfo 1
Weather 1
YAAHM 1
allowed 1
at 22
autocreate 1
cmdalias 7
dummy 17
eventTypes 1
freezemon 1
holiday 1
logProxy 1
msgConfig 1
notify 25
readingsGroup 5
rssFeed 2
serviced 1
telnet 1
weblink 12
withings 3
Wireless Blood Pressure Monitor 1


Produktion:


Modules Model Count
Alarm 1
CALVIEW 1
CUL 2
CUL_HM
HM-LC-SW1-FM 2
CCU-FHEM 1
HM-ES-PMSw1-Pl 2
HM-RC-Sec4-3 2
HM-SEC-WDS-2 1
HM-LC-Sw1-Pl-DN-R1 5
HM-Sen-MDIR-O-2 1
HM-SEC-SC-2 19
HM-PB-2-WM55-2 1
HM-OU-CFM-PL 1
HM-LC-DIM1T-FM 2
ActionDetector 1
HM-SEC-SD-2 6
HM-CC-RT-DN 3
HM-LC-Sw4-DR-2 1
HM-TC-IT-WM-W-EU 5
HM-RC-8 1
Calendar 3
Dashboard 2
DbLog
MYSQL 2
DbRep 98
FHEMWEB 4
FS20
fs20piri 4
FileLog 1
HMLAN 2
HMinfo 1
HTTPMOD 4
HTTPSRV 2
IT 7
itswitch 4
Log2Syslog 3
NUT 1
Nmap 2
PHILIPS_AUDIO
NP3700 2
NP3500 1
SHM 1
SHMForecastRelative 1
SMAEM 1
SMAInverter 1
SSCam
CAM 5
SVS 1
SVG 22
SYSMON 1
TelegramBot 1
Verkehrsinfo 1
Weather 1
allowed 2
at 61
autocreate 1
cmdalias 6
dummy 26
eventTypes 1
holiday 1
msgConfig 1
notify 152
readingsGroup 13
remotecontrol 1
sequence 1
serviced 1
structure 2
telnet 1
weblink 11
weekprofile 1
withings 3
Wireless Blood Pressure Monitor 1


Die Ausgabe von "{ join("\n", map {$intAtA[$_]->{FN}} grep { !$intAt{ $intAtA[$_]->{atNr} } } (0..@intAtA)) }" liefert:


CODE(0x1b36920)
CODE(0x1b45c10)
CODE(0x1be2988)
CODE(0x182ea88)
CODE(0x1c5ed48)
CODE(0x3ba2e58)
CODE(0x3cf6018)
CODE(0x4e12640)
CODE(0x5478bd8)
CODE(0x5b60530)
CODE(0x5dc3d28)
CODE(0x5dc4400)
CODE(0x5dc45b0)
CODE(0x60756f8)
CODE(0x60831b0)
CODE(0x6094c08)
CODE(0x6191998)
CODE(0x61a5650)
CODE(0x61c1908)
CODE(0x61ca718)
CODE(0x61de2c0)
CODE(0x62347a8)
CODE(0x620bcc8)
CODE(0x623e5f0)
CODE(0x614a380)
CODE(0x614a698)
CODE(0x614aa70)
CODE(0x614b028)
CODE(0x615ad70)
CODE(0x615aec0)
CODE(0x615b6e8)
CODE(0x615b9e8)
CODE(0x6244710)
CODE(0x6244c80)
CODE(0x6245040)
CODE(0x62453d0)
CODE(0x6245788)
CODE(0x6245b18)
CODE(0x6245ea8)
CODE(0x6246238)
CODE(0x62465c8)
CODE(0x624b028)
CODE(0x62495d8)
CODE(0x624b490)
CODE(0x624cb80)
CODE(0x624ce80)
CODE(0x624d210)
CODE(0x624e468)
CODE(0x624e618)
CODE(0x624eb28)
CODE(0x627f100)
CODE(0x6283b08)
CODE(0x6283e68)
CODE(0x62842d0)
CODE(0x6284610)
CODE(0x6284bc8)
CODE(0x6284f58)
CODE(0x6285360)
CODE(0x62a4580)
CODE(0x62a4970)
CODE(0x62a4d60)
CODE(0x62a5180)
CODE(0x62a5520)
CODE(0x62a56e8)
CODE(0x62a5c10)
CODE(0x62a58b0)
CODE(0x62a6258)
CODE(0x62be5a8)
CODE(0x62c1d48)
CODE(0x62c3240)
CODE(0x66fd2a0)
CODE(0x6831eb8)
CODE(0x62fef18)
CODE(0x62ff728)
CODE(0x67c2800)
CODE(0x67c2d10)
CODE(0x67c2f08)
CODE(0x67c3268)
CODE(0x67cce50)
CODE(0x691d728)
CODE(0x691de48)
CODE(0x6a79c38)
CODE(0x6a79d58)
CODE(0x6a795f0)
CODE(0x6a77650)
CODE(0x6a7a218)
CODE(0x6a7a530)
CODE(0x6a7a848)
CODE(0x6a7ab60)
CODE(0x6a7ae78)
CODE(0x6a7bf98)
CODE(0x6a7c2b0)
CODE(0x6a7c5c8)
CODE(0x6a7c8e0)
CODE(0x6a7cbf8)
CODE(0x6a7dd18)
CODE(0x6a7e0d8)
CODE(0x6ad87f0)
CODE(0x6ae52b0)
CODE(0x6b21928)
CODE(0x6ae1ba0)
CODE(0x6aef710)
CODE(0x742cbd0)
CODE(0x742c720)
CODE(0x742d020)
CODE(0x78ed6a8)
CODE(0x79479f0)
CODE(0x7947840)
CODE(0x7eaa760)
CODE(0x7eaabf8)
CODE(0x7d14968)
CODE(0x7d14e00)
CODE(0x7d14d10)
CODE(0x7d15410)
CODE(0x7d15578)
CODE(0x7d15980)
CODE(0x7d15ba8)
CODE(0x7d15938)
CODE(0x7d0fdf8)
CODE(0x7d15e30)
CODE(0x7d0fa50)
CODE(0x7d105d8)
CODE(0x7ea2a30)
CODE(0x7ea29e8)
CODE(0x7ea3000)
CODE(0x7ea2fe8)
CODE(0x7ea36f0)
CODE(0x636e318)
CODE(0x7ea3348)
CODE(0x636e948)
CODE(0x636eab0)
CODE(0x636eb70)
CODE(0x636f110)
CODE(0x636f7e0)
CODE(0x636f990)
CODE(0x636fbb8)
CODE(0x6370170)
CODE(0x7c9ab90)
CODE(0x7c9ae60)
CODE(0x7c9b0b8)
CODE(0x7c9b658)
CODE(0x7c9afc8)
CODE(0x7c9ba30)
CODE(0x7c9c010)
CODE(0x7c9c1c0)
CODE(0x7c9c538)
CODE(0x7c9c730)
CODE(0x6373508)
CODE(0x6373610)
CODE(0x6373898)
CODE(0x6373bb0)
CODE(0x6375ce8)
CODE(0x7d57230)
CODE(0x7d57890)
CODE(0x7d59350)
CODE(0x7d88608)
CODE(0x7ee6dd8)
CODE(0x7ebd688)
CODE(0x7ee8258)
CUL_HM_setupHMLAN
CODE(0x1c18c90)
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
DbLog_setinternalcols
DbLog_setinternalcols
getsnapinfo
getsnapinfo
DbLog_ConnectPush
DbLog_ConnectPush
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
CheckDashboardAttributUssage
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
Alarm_CreateEntry
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
Calendar_Wakeup
Calendar_Wakeup
Calendar_Wakeup
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
getsnapinfo
DbRep_firstconnect
CheckDashboardAttributUssage
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
DbRep_firstconnect
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
Calendar_PollChild
Calendar_PollChild
Calendar_PollChild
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getsnapinfo
getsnapinfo
delcookiefile
TelegramBot_RestartPolling
Weather_GetUpdate
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_clearQ
getsnapinfo
HMLAN_KeepAliveCheck
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
FW_closeInactiveClients
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
serviced_Set
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
FW_closeInactiveClients
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
FW_closeInactiveClients
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
getcaminfoall
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
FW_closeInactiveClients
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
FW_closeInactiveClients
HMLAN_KeepAliveCheck
delcookiefile
SHMForecastRelative_Parse
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
FW_closeInactiveClients
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
FW_closeInactiveClients
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
FW_closeInactiveClients
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
FW_closeInactiveClients
getsnapinfo
getcaminfoall
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
FW_closeInactiveClients
HMLAN_KeepAliveCheck
SHM_CallInfo
delcookiefile
SHMForecastRelative_Parse
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
FW_closeInactiveClients
HMLAN_KeepAliveCheck
delcookiefile
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
HMLAN_KeepAliveCheck
FW_closeInactiveClients
HMinfo_autoUpdate
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getsnapinfo
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
FW_closeInactiveClients
getcaminfoall
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getsnapinfo
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
delcookiefile
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
FW_closeInactiveClients
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getcaminfoall
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
FW_closeInactiveClients
HMLAN_KeepAliveCheck
SHMForecastRelative_Parse
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
FW_closeInactiveClients
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
FW_closeInactiveClients
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
delcookiefile
HMLAN_KeepAliveCheck
Calendar_Wakeup
getcaminfoall
HMLAN_KeepAliveCheck
Calendar_PollChild
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
delcookiefile
getcaminfoall
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getsnapinfo
FW_closeInactiveClients
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
FW_closeInactiveClients
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
FW_closeInactiveClients
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
getcaminfoall
HMLAN_KeepAliveCheck
SHM_CallInfo
SHMForecastRelative_Parse
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
Weather_GetUpdate
FW_closeInactiveClients
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
FW_closeInactiveClients
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
FW_closeInactiveClients
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
getcaminfoall
FW_closeInactiveClients
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
HMinfo_autoUpdate
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
delcookiefile
HMLAN_KeepAliveCheck
FW_closeInactiveClients
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
SHMForecastRelative_Parse
delcookiefile
HMLAN_KeepAliveCheck
getcaminfoall
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getsnapinfo
getcaminfoall
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
FW_closeInactiveClients
getcaminfoall
getsnapinfo
getsnapinfo
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
CUL_HandleWriteQueue
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
PHILIPS_AUDIO_SendCommandBuffer
FW_closeInactiveClients
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
CUL_HandleWriteQueue
delcookiefile
HMLAN_KeepAliveCheck
CUL_HM_motionCheck
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
getcaminfoall
getcaminfo
getsnapinfo
getsvsinfo
getsnapinfo
getcapabilities
getptzlistpreset
getptzlistpatrol
getsnapinfo
getmotionenum
delcookiefile
getStmUrlPath
FW_closeInactiveClients
HMLAN_KeepAliveCheck
getcaminfoall
getcaminfo
getsnapinfo
getsvsinfo
getsnapinfo
getcapabilities
getptzlistpreset
getptzlistpatrol
getsnapinfo
getmotionenum
getStmUrlPath
HMLAN_KeepAliveCheck
delcookiefile
getcaminfoall
gethomemodestate
getsvslog
getsvsinfo
PHILIPS_AUDIO_SendCommandBuffer
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
FW_closeInactiveClients
HMLAN_KeepAliveCheck
getcaminfoall
getcaminfo
getsnapinfo
getsvsinfo
getsnapinfo
getptzlistpreset
getptzlistpatrol
HMLAN_KeepAliveCheck
getmotionenum
getcapabilities
getStmUrlPath
getcaminfoall
getcaminfo
getsnapinfo
getsvsinfo
getsnapinfo
getcapabilities
getptzlistpreset
getptzlistpatrol
getsnapinfo
getmotionenum
getStmUrlPath
delcookiefile
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
HMLAN_KeepAliveCheck
FW_closeInactiveClients
getcaminfoall
HMLAN_KeepAliveCheck
getcaminfo
getsnapinfo
getsvsinfo
getsnapinfo
getcapabilities
getptzlistpreset
getptzlistpatrol
getsnapinfo
getmotionenum
getStmUrlPath
HMLAN_KeepAliveCheck
SHM_CallInfo
SHMForecastRelative_Parse
delcookiefile
CUL_HM_procQs
HMLAN_KeepAliveCheck
HMLAN_KeepAliveCheck
delcookiefile
FW_closeInactiveClients


EDIT: Das fhem auf beiden Instanzen halte ich immer aktuell. Ist maximal 3 Tage alt.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter