Neues Modul: 98_FREEZEMON Freezes monitoren und Verursacher identifizieren

Begonnen von KernSani, 05 Februar 2018, 23:27:22

Vorheriges Thema - Nächstes Thema

KernSani

Aus irgendeinem Grund scheint der Hash nicht immer gleich auszusehen, um dem Fehler auf den Grund zu gehen (ohne dein FHEM abzuschiessen) könntest du Zeile 516

$shortarg = $shortarg->{abortArg}{NAME};
durch
Log3 undef, 1, "Freezemon:Problem in $fn" . Dumper($shortarg);
ersetzen?

Dann sollte im Log irgendwann ein längerer "Baum" auftauchen. Den bräuchte ich...

Danke,

Oli

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

P.A.Trick

Werde ich morgen versuchen, ist halt doof wenn FHEM nicht stabil läuft. Ich habe freezemon ersteinmal deaktiviert.
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

Zitat von: KernSani am 18 Februar 2018, 21:13:28
Ist mir irgendwie nicht klar, wie es zu em Fehler kommen kann... sehen die Zeilen 515-517 bei dir so aus:


                if ( $fn eq "BlockingKill" ) {
                    $shortarg = $shortarg->{abortArg}{NAME};
                }


Ja siehe Screenshot!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

KernSani

Ok. Um sicher zu gehen habe ich eine neue Version gebastelt,

Zur Erläuterung: Freezemon greift die internen Timer von FHEM ab, um mögliche Verursacher zu identifizieren. Normlerweise haben diese ein Attribut NAME, über das sich das Device ermitteln lässt. In einigen Fällen fehlt dieses Attribut (in apptime erscheinen diese dann als UNNAMED_HASH o.ä.). Für manche dieser Fälle versucht Freezemon trotzdem das auslösende Device zu ermitteln - unter der Annahme, dass die Hashes für die selbe Funktion immer gleich aussehen. Dies scheint nicht immer der Fall zu sein und führt dann ggf. zu einem Crash.

Daher gibt es jetzt in Freezemon ein neues Attribut fm_extDetail, mit dem die oben geschilderte Funktionalität ein- und ausgeschaltet werden kann.

Achtung: Die angehängte Version benötigt "shutdown restart", "reload" alleine reicht nicht.



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

P.A.Trick

Ok ich habe die neue Version eingespielt und freezemon wieder aktiviert. Bei dem dumper Befehl habe ich Problem mit. Dort werden mir zuviele "intime" Informationen mit protokolliert. Kannst du mir genauer sagen wonach du suchst!?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

tpm88

Ich habe das gleiche Problem beobachtet. Betroffen bei mir ist ein Device mit Internal NAME Vitodens300 ( Modul VCONTROL300 ).

Allerdings ist dieses Device inaktiv, d.h. Attribut disable = 1.

Kann es damit zusammenhängen?


Mobil gesendet, darum kurz...
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

ToKa

Hallo zusammen,

nach einem Update von fhem, Neustart und Aktivieren von freezemon hängt sich mein fhem auf. Im Log ist der letzte Eintrag:

argument is not a reference at ./FHEM/98_freezemon.pm line 566.

Woran liegt das?

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

KernSani

@P.A.Trick, tpm88: Bei euch läuft's mit der neuen Version?

@ToKa: Das ist interessant, das ist eine Codingstelle, die seit der ersten Version so existiert (und mehr oder weniger so aus apptime übernommen wurde). Zudem zum ersten Mal, dass ich sehe, dass die prioQueues verwendet werden (eine relativ neue Entwicklung in fhem.pl).
Die angehängte Version sollte das fixen (interessant wäre aber ob apptime dein FHEM auch zum Absturz bringt).
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Zitat von: P.A.Trick am 18 Februar 2018, 23:09:15
Ok ich habe die neue Version eingespielt und freezemon wieder aktiviert. Bei dem dumper Befehl habe ich Problem mit. Dort werden mir zuviele "intime" Informationen mit protokolliert. Kannst du mir genauer sagen wonach du suchst!?
war wahrscheinlich keine so gute Idee mit dem Dumper. Eigentlich suche ich {NAME} (und den "Pfad" dorthin) das sich irgendwo in dem Hash verstecken sollte... Vielleicht kannst du einfach mal einen Dumper-Auszug anhängen. Ich fürchte aber, insgesamt ist das ohnehin ein sinnloses Unterfangen, wenn ich nicht davon ausgehen kann, dass die Hashes bei der selben Funktion immer gleich aufgebaut sind.

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

ToKa

Hallo KernSani,

ja ich versuche gerade einem Problem mit NO ACK Meldungen auf die Spur zukommen und habe dazu "prioQueues" eingebaut. Parallel wollte ich mir mit freezemon anschauen, was so im System passiert.

Auch apptime stürzt ab:
argument is not a reference at ./FHEM/98_apptime.pm line 128.

Leider aber auch die neue freezemon Version:
Can't call method "fn" on an undefined value at ./FHEM/98_freezemon.pm line 567.

Hoffe die Fehlermeldung reicht aus.

Beste Grüße
Torsten

RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

KernSani

Kannst du mir noch deinen prioqueues code schicken, dann kann ich das nachbauen...


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

ToKa

Klar und schon mal danke!

## Alle Heizungsventile bis auf Badezimmer E4 auf gewünschten Modus setzen
my @THKV_Heizkoerper = devspec2array("TYPE=ZWave:FILTER=NAME=(?!E4_bz_).*_THKV_Heizkoerper_.*");

$i = 1;
foreach(@THKV_Heizkoerper) {
  $cmd = "fhem 'set $_ $event'";
Log $LogLevel, $i." myHeatingControl - set thermostatMode: ".$cmd;

PrioQueue_add(sub(){
## InternalTimer(gettimeofday()+$i*7.5,sub(){
my ($arg1,$LogArg) = @{$_[0]};
Log $LogArg, "myHeatingControl - set thermostatMode Timer: ".$arg1;
eval $arg1;
}, [$cmd,$LogLevel_Debug]);
## }, ["$cmd","$LogLevel_Debug"]);
$i = $i + 1;
}

## Aktuell gültige Temperatur bei zeitgesteuerten Heizungen einstellen
my @THKV_Heizkoerper_hC = devspec2array("TYPE=Heating_Control");
foreach(@THKV_Heizkoerper_hC) {
    Log $LogLevel, $i." myHeatingControl - Heating_Control_SetTemp: ".$_;
 
PrioQueue_add(sub(){
## InternalTimer(gettimeofday()+$i*7.5,sub() {
my ($arg1,$LogArg) = @{$_[0]};
Log $LogArg, "myHeatingControl - Heating_Control_SetTemp Timer: ".$arg1;
Heating_Control_SetTemp("$arg1"); ## SetAllTemps
}, [$_,$LogLevel_Debug]);
## }, ["$_","$LogLevel_Debug"]);
$i = $i + 1;


Gruß
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

KernSani

Hi ToKa,

ich kann das Problem nachvollziehen, kriege es aber heute nicht mehr zufriedenstellend gelöst. Die angehängte Version sollte aber zumindest keine crashes mehr verursachen.

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

rico5588

Hallo @ all,

da ich seit einer weile auch Probleme mit der Reaktionsgeschwindigkeit meines Fhem's zu tun habe bin ich irgendwie hier gelandet...
Anbei ein Auszug meiner letzten 20 Freeze
1 - 2018-02-20: s:14:12:49 e:14:12:51 f:2.934 d:BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) BOSEST_checkWe...
1 - 2018-02-20: s:14:13:52 e:14:13:55 f:3.005 d:BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) BOSEST_checkWe...
1 - 2018-02-20: s:14:14:55 e:14:14:57 f:2.971 d:BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) ModbusTCPServe...
1 - 2018-02-20: s:14:15:58 e:14:16:01 f:3.014 d:BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) ModbusTCPServe...
1 - 2018-02-20: s:14:17:01 e:14:17:04 f:3.111 d:BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) ModbusTCPServer_Poll(N/A) BOSEST_checkWebSocketConnection(BOSE_A8...
1 - 2018-02-20: s:14:19:05 e:14:19:08 f:3.002 d:BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A) BOSEST_checkWebSocke...
1 - 2018-02-20: s:14:20:09 e:14:20:11 f:2.363 d:SIP_watch_listen(N/A) BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) ModbusTCPServer_Poll(N/A) DENON_AVR_Connect...
1 - 2018-02-20: s:14:21:12 e:14:21:14 f:2.306 d:ModbusTCPServer_Poll(N/A) BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) BOSEST_checkWebSocketConnection(BOSE_A8...
1 - 2018-02-20: s:14:22:15 e:14:22:16 f:1.176 d:SIP_watch_listen(N/A) BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) ModbusTCPServer_Poll(N/A) DENON_AVR_Connect...
1 - 2018-02-20: s:14:23:16 e:14:23:19 f:3.068 d:BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) BOSEST_checkWe...
1 - 2018-02-20: s:14:24:19 e:14:24:22 f:3.005 d:BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) ModbusTCPServer_Poll(N/A) BOSEST_checkWebSocketConnection(BOSE_A8...
1 - 2018-02-20: s:14:25:23 e:14:25:25 f:2.509 d:ModbusTCPServer_Poll(N/A) SIP_watch_listen(N/A) DENON_AVR_ConnectionCheck(DenonAVR2400RicoMaster) DbLog_execmemcache...
1 - 2018-02-20: s:14:26:26 e:14:26:28 f:2.58 d:ModbusTCPServer_Poll(N/A) BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) BOSEST_checkWebSocketConnection(BOSE_38D...
1 - 2018-02-20: s:14:27:29 e:14:27:31 f:2.79 d:BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A) SIP_watch_listen(N/A)...
1 - 2018-02-20: s:14:28:32 e:14:28:34 f:2.786 d:ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A) BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) SIP_watch_listen(N/A...
1 - 2018-02-20: s:14:29:35 e:14:29:36 f:1.232 d:BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A) BOSEST_checkWebSocke...
1 - 2018-02-20: s:14:30:36 e:14:30:38 f:2.92 d:BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) BOSEST_checkWeb...
1 - 2018-02-20: s:14:31:03 e:14:31:06 f:3.991 d:BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) ModbusTCPServer_Poll(N/A) BOSEST_checkWebSocketConnection(BOSE_38...
1 - 2018-02-20: s:14:31:39 e:14:31:42 f:3.002 d:CUL_HM_procQs(N/A) ModbusTCPServer_Poll(N/A) BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) BOSEST_checkWebSocke...
1 - 2018-02-20: s:14:32:42 e:14:32:45 f:3.002 d:BOSEST_checkWebSocketConnection(BOSE_A81B6A26A3B6) BOSEST_checkWebSocketConnection(BOSE_38D2696EAB40) BOSEST_checkWe...

Entweder stimmt bei mir was Grundsätzlich nicht oder aber mein System ist am Ende...(So mein Gefühl).
Zum System
Fhem läuft auf einem Raspi 2, weitere Frage beantworte ich gern um mein Performance Problem zu lösen.
Kann mir jedoch nicht vorstellen das so viele Module Probleme verursachen!
Update1
Auszug Eventmonitor
2018-02-20 15:05:13 freezemon myFreezemon s:15:05:10 e:15:05:13 f:3.041 d:ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A) SIP_watch_listen(N/A) DENON_AVR_ConnectionCheck(DenonAVR2400RicoMaster)
2018-02-20 15:05:13 freezemon myFreezemon freezeTime: 3.041
2018-02-20 15:05:13 freezemon myFreezemon fcDay: 874
2018-02-20 15:05:13 freezemon myFreezemon ftDay: 2325.449
2018-02-20 15:05:13 freezemon myFreezemon freezeDevice: ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A) SIP_watch_listen(N/A) DENON_AVR_ConnectionCheck(DenonAVR2400RicoMaster)
2018-02-20 15:06:16 freezemon myFreezemon s:15:06:13 e:15:06:16 f:3.002 d:ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A)
2018-02-20 15:06:16 freezemon myFreezemon freezeTime: 3.002
2018-02-20 15:06:16 freezemon myFreezemon fcDay: 875
2018-02-20 15:06:16 freezemon myFreezemon ftDay: 2328.451
2018-02-20 15:06:16 freezemon myFreezemon freezeDevice: ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A)
2018-02-20 15:07:19 freezemon myFreezemon s:15:07:16 e:15:07:19 f:3.002 d:ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A)
2018-02-20 15:07:19 freezemon myFreezemon freezeTime: 3.002
2018-02-20 15:07:19 freezemon myFreezemon fcDay: 876
2018-02-20 15:07:19 freezemon myFreezemon ftDay: 2331.453
2018-02-20 15:07:19 freezemon myFreezemon freezeDevice: ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A)
2018-02-20 15:08:20 freezemon myFreezemon s:15:08:19 e:15:08:20 f:1.739 d:ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A) PRESENCE_StartLocalScan(LEDEinfahrtWIFILIGHT)
2018-02-20 15:08:20 freezemon myFreezemon freezeTime: 1.739
2018-02-20 15:08:20 freezemon myFreezemon fcDay: 877
2018-02-20 15:08:20 freezemon myFreezemon ftDay: 2333.192
2018-02-20 15:08:20 freezemon myFreezemon freezeDevice: ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A) PRESENCE_StartLocalScan(LEDEinfahrtWIFILIGHT)
2018-02-20 15:09:24 freezemon myFreezemon s:15:09:21 e:15:09:24 f:3.002 d:ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A)
2018-02-20 15:09:24 freezemon myFreezemon freezeTime: 3.002
2018-02-20 15:09:24 freezemon myFreezemon fcDay: 878
2018-02-20 15:09:24 freezemon myFreezemon ftDay: 2336.194
2018-02-20 15:09:24 freezemon myFreezemon freezeDevice: ModbusTCPServer_Poll(N/A) CUL_HM_procQs(N/A)
2018-02-20 15:10:27 freezemon myFreezemon s:15:10:24 e:15:10:27 f:3.002 d:CUL_HM_procQs(N/A) ModbusTCPServer_Poll(N/A)
2018-02-20 15:10:27 freezemon myFreezemon freezeTime: 3.002
2018-02-20 15:10:27 freezemon myFreezemon fcDay: 879
2018-02-20 15:10:27 freezemon myFreezemon ftDay: 2339.196
2018-02-20 15:10:27 freezemon myFreezemon freezeDevice: CUL_HM_procQs(N/A) ModbusTCPServer_Poll(N/A)
2018-02-20 15:11:30 freezemon myFreezemon s:15:11:27 e:15:11:30 f:3.052 d:CUL_HM_procQs(N/A) ModbusTCPServer_Poll(N/A)
2018-02-20 15:11:30 freezemon myFreezemon freezeTime: 3.052
2018-02-20 15:11:30 freezemon myFreezemon fcDay: 880
2018-02-20 15:11:30 freezemon myFreezemon ftDay: 2342.248
2018-02-20 15:11:30 freezemon myFreezemon freezeDevice: CUL_HM_procQs(N/A) ModbusTCPServer_Poll(N/A)
2018-02-20 15:12:33 freezemon myFreezemon s:15:12:31 e:15:12:33 f:2.509 d:ModbusTCPServer_Poll(N/A) SIP_watch_listen(N/A) DENON_AVR_ConnectionCheck(DenonAVR2400RicoMaster) CUL_HM_procQs(N/A) DbLog_execmemcache(logdb) PRESENCE_StartLocalScan(FernseherRicoPresence)
2018-02-20 15:12:33 freezemon myFreezemon freezeTime: 2.509
2018-02-20 15:12:33 freezemon myFreezemon fcDay: 881
2018-02-20 15:12:33 freezemon myFreezemon ftDay: 2344.757
2018-02-20 15:12:33 freezemon myFreezemon freezeDevice: ModbusTCPServer_Poll(N/A) SIP_watch_listen(N/A) DENON_AVR_ConnectionCheck(DenonAVR2400RicoMaster) CUL_HM_procQs(N/A) DbLog_execmemcache(logdb) PRESENCE_StartLocalScan(FernseherRicoPresence)
2018-02-20 15:13:36 freezemon myFreezemon s:15:13:34 e:15:13:36 f:2.701 d:ModbusTCPServer_Poll(N/A) SIP_watch_listen(N/A) DENON_AVR_ConnectionCheck(DenonAVR2400RicoMaster) DbLog_execmemcache(logdb) PRESENCE_StartLocalScan(HandyHermann) CUL_HM_procQs(N/A)
2018-02-20 15:13:36 freezemon myFreezemon freezeTime: 2.701
2018-02-20 15:13:36 freezemon myFreezemon fcDay: 882
2018-02-20 15:13:36 freezemon myFreezemon ftDay: 2347.458
2018-02-20 15:13:36 freezemon myFreezemon freezeDevice: ModbusTCPServer_Poll(N/A) SIP_watch_listen(N/A) DENON_AVR_ConnectionCheck(DenonAVR2400RicoMaster) DbLog_execmemcache(logdb) PRESENCE_StartLocalScan(HandyHermann) CUL_HM_procQs(N/A)


MFG Rico
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS414
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

MadMax-FHEM

Hi Rico,

irgendwie steht überall das "CheckWebsocketConnection" drin.

Evtl. ist das blocking programmiert?
Und wenn es dann (bei dir) auf irgendwelche Timeouts läuft, dann steht fhem eben...

Ich nutze das Modul nicht, daher kann ich das nicht sagen.

EDIT: evtl. für das konkrete Problem/Frage einen eigenen, passenden Thread aufmachen. Hier geht es doch eher um das Modul (und damit verbundenen Problemen)... Äh: meine Meinung... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)