test: modul zu integration von homebridge geräten in fhem

Begonnen von justme1968, 12 März 2021, 22:45:59

Vorheriges Thema - Nächstes Thema

justme1968

es gibt ganz oben eine neue version die (wieder) gehen müsste.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

mcp

Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

mcp

#47
ok, funktioniert. Er hat 175 Devices erstellt, wovon 145 von FHEM selbst sind.

Ich finde, daß man diejenigen, die von FHEM selbst sind (via Homebridge-FHEM) ignoren kann bzw. sollte :)
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

justme1968

ich kann die fhem devices nicht wirklich automatisch erkennen. auf ein fhem im namen zu matchen ist nicht der saubere weg.

unabhängig davon: bei so vielen devices und auch bei einer mischung aus fhem und nicht-fhem empfiehlt es sich auf homebridge seite mit mehreren (sub-)bridges zu arbeiten. dann hast du eine gut trennung auch was verzögerungen und ausfälle angeht da HomeKit mehrere bridges parallel anfragt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

mcp

#49
Kannst Du nicht auf den Manufacturer matchen? Der beinhaltet ja bei allem was von FHEM selbst kommt "FHEM:"

Ich benutze bereits mehrere Sub-Bridges, soweit es geht pro Plugin mindestens eine.
FHEM habe ich 4x unterteilt: 1x PHC (79), 1x HmIP (37), 1x IT (10), 1x Rest (19)
Ich habe insgesamt 14 Bridges.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

mcp

Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

justme1968

zur aufteilung in mehrere bridges: damit homebridge-config-ui das ganze auch auftrennt muss die pin in den verschiednen instanzen/subbridges unterschiedlich sein.

aber: es gibt ganz oben eine neue version. so lange dort das neue attribut homebridge-fhem nicht gesetzt ist werden devices die von hombridge-fhem kommen ignoriert.

gibt es devices die nicht funktionieren wie erwartet? fehlen readings die du erwarten würdest? hast du devices bei denen ein set funktioniere müsste?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

mcp

hmm, zu früh gefreut :-/

Anscheinend gibt es ein Problem mit dem Aktualisieren der Readings in FHEM, wenn Änderungen außerhalb von FHEM gemacht werden (via Homebridge selbst, oder via iOS oder via einer App wie z.B. Aquatemp) - das funktioniert nur manchmal.

Manche set Befehle funktionieren, warum auch immer, nicht. In diesem Fall ist es ein Luftentfeuchter, angebunden mit dem Midea Air Plugin. Da funktioniert "set bla Active 1" bzw. "set bla Active 0" nicht, die anderen (z.B. RotationSpeed funktionieren hingegen) Wenn man den via Homebridge selbst ein und ausschaltet aktualisiert sich das Reading Active entsprechend korrekt.

Weiterhin war die letzte Aktualisierung von den Readings gestern Abend gegen 22 Uhr, danach nichts mehr, und der Status steht auf disconnected. Im Log ist davor und danach nichts zu sehen. Wenn ich auf reconnect gehe, ist der Status kurz opened, danach wieder disconnected. Der Logauszug davon:


2021.09.14 08:45:01 4: homebridge2fhem: fetching data from http://127.0.0.1:8581/api/auth/settings
2021.09.14 08:45:01 4: homebridge2fhem: Got Cookie:
2021.09.14 08:45:01 4: homebridge2fhem: received {"env":{"ableToConfigureSelf":true,"enableAccessories":true,"enableTerminalAccess":true,"homebridgeVersion":"1.3.4","homebridgeInstanceName":"Homebridge MCP","nodeVersion":"v14.17.6","packageName":"homeb
ridge-config-ui-x","packageVersion":"4.41.2","platform":"linux","runningInDocker":false,"runningInLinux":true,"dockerOfflineUpdate":false,"serviceMode":true,"temperatureUnits":"c","lang":null,"instanceId":"5a30199053e0172181057be3e894246fc4c5539360e2de
c84b60e1d2379bce0b"},"formAuth":true,"theme":"auto","serverTimestamp":"2021-09-14T06:45:01.229Z"}
2021.09.14 08:45:01 1: $VAR1 = 'Content-Security-Policy: default-src \'self\';script-src \'self\' \'unsafe-inline\' \'unsafe-eval\';style-src \'self\' \'unsafe-inline\';img-src \'self\' data: https://raw.githubusercontent.com https://user-images.github
usercontent.com;connect-src \'self\' https://openweathermap.org https://api.openweathermap.org wss://127.0.0.1:8581 ws://127.0.0.1:8581 ';
$VAR2 = 'X-DNS-Prefetch-Control: off';
$VAR3 = 'Expect-CT: max-age=0';
$VAR4 = 'X-Download-Options: noopen';
$VAR5 = 'X-Content-Type-Options: nosniff';
$VAR6 = 'X-Permitted-Cross-Domain-Policies: none';
$VAR7 = 'Referrer-Policy: no-referrer';
$VAR8 = 'X-XSS-Protection: 0';
$VAR9 = 'vary: Origin';
$VAR10 = 'content-type: application/json; charset=utf-8';
$VAR11 = 'content-length: 552';
$VAR12 = 'Date: Tue, 14 Sep 2021 06:45:01 GMT';
$VAR13 = 'Connection: close';

2021.09.14 08:45:01 4: homebridge2fhem: posting data to http://127.0.0.1:8581/api/auth/login
2021.09.14 08:45:01 4: homebridge2fhem: Got Cookie:
2021.09.14 08:45:01 4: homebridge2fhem: received {"access_token":"token-bla","token_type":"Bearer","expires_in":28800}
2021.09.14 08:45:01 3: homebridge2fhem: got token
2021.09.14 08:45:01 4: homebridge2fhem: token valid, next token refresh at: 16:35:01
2021.09.14 08:45:01 4: homebridge2fhem: fetching data from http://127.0.0.1:8581/socket.io/?token=token-bla&transport=polling
2021.09.14 08:45:01 4: homebridge2fhem: Got Cookie:
2021.09.14 08:45:01 4: homebridge2fhem: received 97:0{"sid":"WbIAvOCx3azyhritAAAb","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}
2021.09.14 08:45:01 4: homebridge2fhem: posting data to http://127.0.0.1:8581/socket.io/?token=token-bla&transport=polling&sid=WbIAvOCx3azyhritAAAb: 324:40/status?token=token-bla
2021.09.14 08:45:01 4: homebridge2fhem: posting data to http://127.0.0.1:8581/socket.io/?token=token-bla&transport=polling&sid=WbIAvOCx3azyhritAAAb: 329:40/accessories?token=token-bla
2021.09.14 08:45:01 4: homebridge2fhem: Got Cookie:
2021.09.14 08:45:01 4: homebridge2fhem: received ok
2021.09.14 08:45:01 2: parseHttpAnswer: unhandled key socket.io:step2b
2021.09.14 08:45:01 4: homebridge2fhem: Got Cookie:
2021.09.14 08:45:01 4: homebridge2fhem: received ok
2021.09.14 08:45:01 4: homebridge2fhem: fetching data from http://127.0.0.1:8581/socket.io/?token=token-bla&transport=polling&sid=WbIAvOCx3azyhritAAAb
2021.09.14 08:45:01 4: homebridge2fhem: Got Cookie:
2021.09.14 08:45:01 4: homebridge2fhem: received 2:4015:40/accessories,10:40/status,
2021.09.14 08:45:01 3: Opening homebridge2fhem device ws:127.0.0.1:8581/socket.io/?token=token-bla&transport=websocket&sid=WbIAvOCx3azyhritAAAb
2021.09.14 08:45:01 4: IP: 127.0.0.1 -> 127.0.0.1
2021.09.14 08:45:01 4: http://127.0.0.1:8581/socket.io/?token=token-bla&transport=websocket&sid=WbIAvOCx3azyhritAAAb: HTTP response code 101
2021.09.14 08:45:01 3: homebridge2fhem device opened
2021.09.14 08:45:10 1: ws:127.0.0.1:8581/socket.io/?token=token-bla&transport=websocket&sid=WbIAvOCx3azyhritAAAb disconnected, waiting to reappear (homebridge2fhem)
2021.09.14 08:45:10 1: !!!!closed!!!!


Erst ein FHEM restart hilft und macht das wieder funktionsfähig.

Ich werde das heute nochmal weiter beobachten.

Danke für die neue Version, welche homebridge-fhem weg lässt. Ich hatte mir gestern mit "ignoreTypes homekitDevice.*" bei autocreate geholfen.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

mcp

#53
leider heute 16:47 wieder disconnected.

Log:


==> /opt/fhem/log/fhem-20210914.log <==
2021.09.14 16:47:48 4: homebridge2fhem: posting data to http://127.0.0.1:8581/api/auth/login
2021.09.14 16:47:48 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:48 4: homebridge2fhem: received {"access_token":"token-bla","token_type":"Bearer","expires_in":28800}
2021.09.14 16:47:48 3: homebridge2fhem: got token
2021.09.14 16:47:48 4: homebridge2fhem: token valid, next token refresh at: 00:37:48
2021.09.14 16:47:48 4: homebridge2fhem: fetching data from http://127.0.0.1:8581/socket.io/?token=token-bla&EIO=3&transport=polling
2021.09.14 16:47:48 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:48 4: homebridge2fhem: received 97:0{"sid":"XqUqa1aj5PGUB-NTAABy","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}
2021.09.14 16:47:48 4: homebridge2fhem: posting data to http://127.0.0.1:8581/socket.io/?token=token-bla&EIO=3&transport=polling&sid=XqUqa1aj5PGUB-NTAABy: 324:40/status?token=token-bla
2021.09.14 16:47:48 4: homebridge2fhem: posting data to http://127.0.0.1:8581/socket.io/?token=token-bla&EIO=3&transport=polling&sid=XqUqa1aj5PGUB-NTAABy: 329:40/accessories?token=token-bla
2021.09.14 16:47:48 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:48 4: homebridge2fhem: received ok
2021.09.14 16:47:48 2: parseHttpAnswer: unhandled key socket.io:step2b
2021.09.14 16:47:48 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:48 4: homebridge2fhem: received ok
2021.09.14 16:47:48 4: homebridge2fhem: fetching data from http://127.0.0.1:8581/socket.io/?token=token-bla&EIO=3&transport=polling&sid=XqUqa1aj5PGUB-NTAABy
2021.09.14 16:47:48 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:48 4: homebridge2fhem: received 2:4015:40/accessories,10:40/status,
2021.09.14 16:47:48 3: Opening homebridge2fhem device ws:127.0.0.1:8581/socket.io/?token=token-bla&EIO=3&transport=websocket&sid=XqUqa1aj5PGUB-NTAABy
2021.09.14 16:47:48 4: IP: 127.0.0.1 -> 127.0.0.1
2021.09.14 16:47:48 4: http://127.0.0.1:8581/socket.io/?token=token-bla&EIO=3&transport=websocket&sid=XqUqa1aj5PGUB-NTAABy: HTTP response code 101
2021.09.14 16:47:48 3: homebridge2fhem device opened
2021.09.14 16:47:48 1: ws:127.0.0.1:8581/socket.io/?token=token-bla&EIO=3&transport=websocket&sid=XqUqa1aj5PGUB-NTAABy disconnected, waiting to reappear (homebridge2fhem)
2021.09.14 16:47:48 1: !!!!closed!!!!
2021.09.14 16:47:58 4: homebridge2fhem: fetching data from http://127.0.0.1:8581/api/auth/settings
2021.09.14 16:47:58 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:58 4: homebridge2fhem: received {"env":{"ableToConfigureSelf":true,"enableAccessories":true,"enableTerminalAccess":true,"homebridgeVersion":"1.3.4","homebridgeInstanceName":"Homebridge MCP","nodeVersion":"v14.17.6","packageName":"homebridge-config-ui-x","packageVersion":"4.41.2","platform":"linux","runningInDocker":false,"runningInLinux":true,"dockerOfflineUpdate":false,"serviceMode":true,"temperatureUnits":"c","lang":null,"instanceId":"5a30199053e0172181057be3e894246fc4c5539360e2dec84b60e1d2379bce0b"},"formAuth":true,"theme":"auto","serverTimestamp":"2021-09-14T14:47:58.265Z"}
2021.09.14 16:47:58 1: $VAR1 = 'Content-Security-Policy: default-src \'self\';script-src \'self\' \'unsafe-inline\' \'unsafe-eval\';style-src \'self\' \'unsafe-inline\';img-src \'self\' data: https://raw.githubusercontent.com https://user-images.githubusercontent.com;connect-src \'self\' https://openweathermap.org https://api.openweathermap.org wss://127.0.0.1:8581 ws://127.0.0.1:8581 ';
$VAR2 = 'X-DNS-Prefetch-Control: off';
$VAR3 = 'Expect-CT: max-age=0';
$VAR4 = 'X-Download-Options: noopen';
$VAR5 = 'X-Content-Type-Options: nosniff';
$VAR6 = 'X-Permitted-Cross-Domain-Policies: none';
$VAR7 = 'Referrer-Policy: no-referrer';
$VAR8 = 'X-XSS-Protection: 0';
$VAR9 = 'vary: Origin';
$VAR10 = 'content-type: application/json; charset=utf-8';
$VAR11 = 'content-length: 552';
$VAR12 = 'Date: Tue, 14 Sep 2021 14:47:58 GMT';
$VAR13 = 'Connection: close';

2021.09.14 16:47:58 4: homebridge2fhem: posting data to http://127.0.0.1:8581/api/auth/login
2021.09.14 16:47:58 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:58 4: homebridge2fhem: received {"access_token":"token-blub","token_type":"Bearer","expires_in":28800}
2021.09.14 16:47:58 3: homebridge2fhem: got token
2021.09.14 16:47:58 4: homebridge2fhem: token valid, next token refresh at: 00:37:58
2021.09.14 16:47:58 4: homebridge2fhem: fetching data from http://127.0.0.1:8581/socket.io/?token=token-blub&EIO=3&transport=polling
2021.09.14 16:47:58 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:58 4: homebridge2fhem: received 97:0{"sid":"3PZKeutL2N7V06pQAABz","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}
2021.09.14 16:47:58 4: homebridge2fhem: posting data to http://127.0.0.1:8581/socket.io/?token=token-blub&EIO=3&transport=polling&sid=3PZKeutL2N7V06pQAABz: 324:40/status?token=token-blub
2021.09.14 16:47:58 4: homebridge2fhem: posting data to http://127.0.0.1:8581/socket.io/?token=token-blub&EIO=3&transport=polling&sid=3PZKeutL2N7V06pQAABz: 329:40/accessories?token=token-blub
2021.09.14 16:47:58 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:58 4: homebridge2fhem: received ok
2021.09.14 16:47:58 4: homebridge2fhem: fetching data from http://127.0.0.1:8581/socket.io/?token=token-blub&EIO=3&transport=polling&sid=3PZKeutL2N7V06pQAABz
2021.09.14 16:47:58 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:58 4: homebridge2fhem: received ok
2021.09.14 16:47:58 2: parseHttpAnswer: unhandled key socket.io:step2b
2021.09.14 16:47:58 4: homebridge2fhem: Got Cookie:
2021.09.14 16:47:58 4: homebridge2fhem: received 2:4010:40/status,15:40/accessories,


und kommt auch nicht wieder, außer nach einem FHEM restart.

Das Problem hatten andere hier in dem Thread ja auch schon beobachtet wie ich grade sehe.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

justme1968

schau mal bitte weiter oben im thread ob das ändern des timeout hilft.

ansonsten scheint es irgendwo noch ein leck zu geben. ich vermute ein filedesciptor wird noch nicht korrekt wieder freigegeben.

kannst du mal bitte auf dem fhem system unter /proc/<pid von fhem>/fd schauen wie viele es gibt und ob es im laufe der zeit mehr werden ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

mcp

ok das mit dem Timeout teste ich (du meinst die geteilt durch 10 Änderung ja?)

FDs gibt's aktuell (im disconnected Zustand) 114 insgesamt.

Nach einem Neustart von FHEM sind's 156.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

mcp

hmm nun kurze Zeit später wieder disconnected, deutlich schneller als vorher ohne die Modifikation des Timeouts.

Die FDs werden nicht mehr.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

mcp

du darfst 1x raten ;) erneut disconnected und tot, immer nach der nexttoken Zeit.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

justme1968

sehr komisch. ich habe noch keine idee woran das liegt...
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

mcp

Ich hab' mir jetzt erstmal mit einem at pro Stunde beholfen welches ein set reconnect macht.

Damit scheint es zu klappen, ist nun schon 1 Stunde über die ursprüngliche nexttoken Zeit. Wenn das so bleibt kann ich gut damit leben. Ob Speicherverbrauch oder sich FDs erhöhen werde ich beobachten.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date