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

anbei eine erste version von modulen um devices aus homebridge ((noch) nicht homekit!) in fhem einzubinden.

das ganze ist dazu gedacht geräte in fhem einzubinden für die es keine nativen module gibt für die aber homebridge plugins existieren.

konkretes beispiel: über homebridge-unifi-protect lassen sich so die protect kameras als bewegungsmelder in fhem einbinden. über fhem lassen sich die melder und kameras dann z.b. anwesenheitsbasiert aktivieren.

man kann damit zwar auch dinge machen wie fhem -> homebridge-fhem -> homebridge -> fhem2, so etwas ist aber nicht sinnvoll.


  • voraussetzungen:

    • homebridge wird mit -I im insecure mode gestartet
    • homebridge-config-ui-x ist auf homebridge seite installiert
    • wenn man einen eigenen user für fhem in homebridge-config-ui-x anlegen möchte,  muß dieser admin sein um auch steuern zu können. zum nur lesen reicht ein nicht admin user.
    • die beiden angehängten files sind ins .../FHEM verzeichnis kopiert
    • autocreate in FHEM muss aktiv sein
    • fhem muß aktuell (d.h. HttpUtils.pm von heute) sein

  • devices in fhem anlegen:

    • define <homebridge> homebridge <homebridge server ip:port>
    • das neue device eventuell in einen eigenen raum schieben
    • attr <homebridge> user <user>
    • attr <homebridge> password <password>

  • was schon geht:

    • verbindung zu homebridge sollte automatisch aufgebaut und gehalten werden
    • auslesen der devices aus homebridge
    • autocreate
    • anzeigen von readings
    • steuern aus FHEM

  • was noch nicht geht:

    • nur bestimmte devices aus homebridge in fhem anlegen
    • es gibt nur für einige device typen mappigns auf fhem default reading namen und werten
      d.h. alle anderen namen und werte behalten die namen auf homekit seite
    • nur bestimmte (gefilterte) devices aus homebridge in fhem anlegen
    • es gibt scheinbar einen bug in homebridge-config-ui-x der verhindert das die helligkeit einer lampe. gesteuert werden kann, das ein- und ausschalten sowie steuern von Hue und Saturation gehen problemlos
    • ich habe versucht einige der für fhem unsinnigen devices auszublenden. das ist aber noch nicht vollständig

update 2021-03-14: tippfehler in 39_homebridge.pm behoben
update 2021-09-13: bug fix
update 2021-09-14: neues attribut homebridge-fhem
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

andasquared

habe bis jetzt noch keine Erfahrung mit Homebridge oder HomeKit, aber hab das mal versucht zu installieren.


https://wiki.fhem.de/wiki/Homebridge_einrichten
https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Debian-or-Ubuntu-Linux

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libssl-dev
sudo apt-get install python g++ libavahi-compat-libdnssd-dev

node -v
v15.11.0

sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x
sudo npm install -g homebridge-fhem
sudo npm install -g --unsafe-perm homebridge-unifi-protect
sudo hb-service install --user homebridge

http://fhem:8581


cp 39_homekitDevice.pm /opt/fhem/FHEM/
cp 39_homebridge.pm /opt/fhem/FHEM/

sudo chown fhem /opt/fhem/FHEM/39_homekitDevice.pm
sudo chgrp dialout /opt/fhem/FHEM/39_homekitDevice.pm
sudo chmod 755 /opt/fhem/FHEM/39_homekitDevice.pm
sudo chown fhem /opt/fhem/FHEM/39_homebridge.pm
sudo chgrp dialout /opt/fhem/FHEM/39_homebridge.pm
sudo chmod 755 /opt/fhem/FHEM/39_homebridge.pm

sudo reboot

defmod HomeBridge homebridge 127.0.0.1
attr HomeBridge user fhem
attr HomeBridge password XXXXXX
attr homebridge room HomeBridge


Komme auf das Webinterface drauf und kann dort auch das UniFi Protect Plugin konfigurieren.
Wenn ich allerdings das homebridge Device in Fhem anlegen will, bekomme ich diese Meldung im Log:


2021.03.14 14:45:32 1 : reload: Error:Modul 39_homebridge deactivated: Can't locate DevIO.pm in @INC (you may need to install the DevIO module) (@INC contains: ./FHEM/lib ./lib ./FHEM . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ./FHEM/39_homebridge.pm line 14. BEGIN failed--compilation aborted at ./FHEM/39_homebridge.pm line 14.
2021.03.14 14:45:32 0 : Can't locate DevIO.pm in @INC (you may need to install the DevIO module) (@INC contains: ./FHEM/lib ./lib ./FHEM . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ./FHEM/39_homebridge.pm line 14. BEGIN failed--compilation aborted at ./FHEM/39_homebridge.pm line 14.



Cannot load module homebridge steht unter der Befehlszeile in Fhem.

muss ich noch was machen?

lg

andasquared

fhem ist soweit aktuell - also die Fhem Updates habe ich vorher installiert.
habe jetzt gerade nur die HttpUtils.pm gecheckt - die hat ein älteres Datum:


-rwxrwxrwx  1 fhem dialout   30792 Oct 17 14:42 HttpUtils.pm


meine Version stimmt aber mit der hier überein:
https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/HttpUtils.pm


justme1968

sorry. da war noch ein tippfehler in 39_homebridge.pm. bitte noch mal runter laden.

und HttpUtils.pm muss mindestens vom 12. sein. also bitte auch noch updaten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

sorry. da war noch ein tippfehler in 39_homebridge.pm. bitte noch mal runter laden.

und HttpUtils.pm muss mindestens vom 12. sein. also bitte auch noch updaten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

andasquared

cool - klappt mit der neuen Version.

beim define hab ich noch die Portnummer angeben müssen, damit die Verbindung aufgebaut werden kann:

define HomeBridge homebridge 127.0.0.1:8581 USERNAME PASSWORD

spiele mich ein bisschen damit und gebe dir nochmal Rückmeldung.
Danke inzwischen,
LG

andasquared

klappt bis jetzt ganz gut.
einzig - es dauert doch recht lang, bis ein Motion event in Fhem ankommt.
ich denke aber, dass das nicht an deinem Modul liegt.
es dauert in dem HomeBridge Plugin recht lang, bis es anschlägt - und an Fhem die Info weiter gibt.

unterschiedlich, aber so zwischen 3-7 Sekunden hätte ich gesagt.
ich muss schauen, ob ich das auf HomeBridge Seite noch schneller hinbekommen kann, damit ich das wirklich gut verwenden kann.

dein Modul ist aber top!

Danke!
lg

justme1968

versuch mal rauszufinden woran die verzögerung liegt. bei mir geht das innerhalb einer sekunde.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Mitch

Genial, auf das warte ich schon lange!

Bis jetzt liefen erste Test sehr positiv. Konnte keine direkten Probleme feststellen.
Natürlich ist jetzt vieles doppelt in FHEM, aber das hast du ja auf der Liste.

Soll ich etwas bestimmtest testen?
FHEM im Proxmox Container

Thyraz

Mal wieder eine unglaublich geniale Idee.
Danke Andre. :)
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

justme1968

einfach mal sammeln welche devices funktionieren, welche eventuell noch passende defaults und mappings brauchen, welche ausgeblendet werden sollten weil sie nicht sinnvoll sind.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Mitch

Hier mal ein Logauszug.
Die Meldung kommt immer mal wieder (unregelmässig) und von verschiedenen Geräten.

2021.03.15 14:28:37 1: Error: >homekitDevice_8555c6000fc4bc6e25e14279962e0aba42222539510bb3e13f< has no TYPE, but following keys: >Helper<
2021.03.15 14:28:36 0: Strange call for nonexistent homekitDevice_8555c6000fc4bc6e25e14279962e0aba42222539510bb3e13f: DbLog_splitFn
FHEM im Proxmox Container

justme1968

#12
zeig mal bitte die ausgabe von {Dumper $defs{<name aus der meldung>}}
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Mitch

Irgendwie geht das nicht, wirft mir immer einen Fehler aus: Global symbol "%def" requires explicit package name
FHEM im Proxmox Container

justme1968

sorry. da hatte die autokorrektur zugeschlagen. es muss defs heißen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Mitch

FHEM im Proxmox Container

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Mitch

Ja, habe es bei drei Devices probiert, immer das gleiche Ergebnis
FHEM im Proxmox Container

Mitch

Seit heute keine Verbindung mehr.
Neustart con Homebridge brauchte keine Besserung.

Log:
2021.03.17 16:00:23 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMyMjMsImV4cCI6MTYxNjAyMjAyM30.QtRzHasPEYGsEouprbg1NSGYdaElA5XUynx344rxW3o&EIO=3&transport=polling&sid=zvC4wfHbDrfGzkibAAAP: HTTP response code 200
2021.03.17 16:00:23 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMyMjMsImV4cCI6MTYxNjAyMjAyM30.QtRzHasPEYGsEouprbg1NSGYdaElA5XUynx344rxW3o&EIO=3&transport=polling&sid=zvC4wfHbDrfGzkibAAAP: HTTP response code 200
2021.03.17 16:00:23 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 16:00:23 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMyMjMsImV4cCI6MTYxNjAyMjAyM30.QtRzHasPEYGsEouprbg1NSGYdaElA5XUynx344rxW3o&EIO=3&transport=polling&sid=zvC4wfHbDrfGzkibAAAP: HTTP response code 200
2021.03.17 16:00:23 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 16:00:23 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 16:00:23 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMyMjMsImV4cCI6MTYxNjAyMjAyM30.QtRzHasPEYGsEouprbg1NSGYdaElA5XUynx344rxW3o&EIO=3&transport=polling: HTTP response code 200
2021.03.17 16:00:23 1: IP: 192.168.0.205 -> 192.168.0.205

$VAR14 = 'Connection: close';
$VAR13 = 'Date: Wed, 17 Mar 2021 15:00:23 GMT';
$VAR12 = 'content-length: 552';
$VAR11 = 'content-type: application/json; charset=utf-8';
$VAR10 = 'access-control-allow-origin: false';
$VAR9 = 'vary: Origin';
$VAR8 = 'X-XSS-Protection: 0';
$VAR7 = 'Referrer-Policy: no-referrer';
$VAR6 = 'X-Permitted-Cross-Domain-Policies: none';
$VAR5 = 'X-Content-Type-Options: nosniff';
$VAR4 = 'X-Download-Options: noopen';
$VAR3 = 'Expect-CT: max-age=0';
$VAR2 = 'X-DNS-Prefetch-Control: off';
2021.03.17 16:00:23 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://192.168.0.205:8581 ws://192.168.0.205:8581 ';
2021.03.17 16:00:13 1: Error: >homekitDevice_ff0fb228963faf980986d9821577ab959714f88caae0af1e49< has no TYPE, but following keys: >Helper<
2021.03.17 16:00:13 1: Error: >homekitDevice_f358a4235e6e60e35927be0078d2e748d2a1358e83aff0c986< has no TYPE, but following keys: >Helper<
2021.03.17 16:00:13 1: Error: >homekitDevice_8555c6000fc4bc6e25e14279962e0aba42222539510bb3e13f< has no TYPE, but following keys: >Helper<
2021.03.17 16:00:13 1: Error: >homekitDevice_1b160fc50ce4a73b11c2dff6c1253cf6a93b647e6631709a16< has no TYPE, but following keys: >Helper<
2021.03.17 16:00:10 1: !!!!closed!!!!
2021.03.17 16:00:10 0: Strange call for nonexistent homekitDevice_1b160fc50ce4a73b11c2dff6c1253cf6a93b647e6631709a16: DbLog_splitFn
2021.03.17 16:00:10 0: Strange call for nonexistent homekitDevice_f358a4235e6e60e35927be0078d2e748d2a1358e83aff0c986: DbLog_splitFn
2021.03.17 16:00:10 0: Strange call for nonexistent homekitDevice_8555c6000fc4bc6e25e14279962e0aba42222539510bb3e13f: DbLog_splitFn
2021.03.17 16:00:10 0: Strange call for nonexistent homekitDevice_ff0fb228963faf980986d9821577ab959714f88caae0af1e49: DbLog_splitFn
2021.03.17 16:00:10 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMyMTAsImV4cCI6MTYxNjAyMjAxMH0.mNRMnxDClhtpn2hqvbro31RBkNWTEkjSDhIriQ90-pk&EIO=3&transport=polling&sid=oy35Vd6nHFtYuhqkAAAO: HTTP response code 200
2021.03.17 16:00:10 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMyMTAsImV4cCI6MTYxNjAyMjAxMH0.mNRMnxDClhtpn2hqvbro31RBkNWTEkjSDhIriQ90-pk&EIO=3&transport=polling&sid=oy35Vd6nHFtYuhqkAAAO: HTTP response code 200
2021.03.17 16:00:10 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 16:00:10 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMyMTAsImV4cCI6MTYxNjAyMjAxMH0.mNRMnxDClhtpn2hqvbro31RBkNWTEkjSDhIriQ90-pk&EIO=3&transport=polling&sid=oy35Vd6nHFtYuhqkAAAO: HTTP response code 200
2021.03.17 16:00:10 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 16:00:10 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 16:00:10 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMyMTAsImV4cCI6MTYxNjAyMjAxMH0.mNRMnxDClhtpn2hqvbro31RBkNWTEkjSDhIriQ90-pk&EIO=3&transport=polling: HTTP response code 200
2021.03.17 16:00:10 1: IP: 192.168.0.205 -> 192.168.0.205

$VAR14 = 'Connection: close';
$VAR13 = 'Date: Wed, 17 Mar 2021 15:00:10 GMT';
$VAR12 = 'content-length: 552';
$VAR11 = 'content-type: application/json; charset=utf-8';
$VAR10 = 'access-control-allow-origin: false';
$VAR9 = 'vary: Origin';
$VAR8 = 'X-XSS-Protection: 0';
$VAR7 = 'Referrer-Policy: no-referrer';
$VAR6 = 'X-Permitted-Cross-Domain-Policies: none';
$VAR5 = 'X-Content-Type-Options: nosniff';
$VAR4 = 'X-Download-Options: noopen';
$VAR3 = 'Expect-CT: max-age=0';
$VAR2 = 'X-DNS-Prefetch-Control: off';
2021.03.17 16:00:10 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://192.168.0.205:8581 ws://192.168.0.205:8581 ';
2021.03.17 15:59:57 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMxOTcsImV4cCI6MTYxNjAyMTk5N30.1cusDoSFm8CH3brGewYeXBPYW06iuXD5LG7udICHwRw&EIO=3&transport=polling&sid=7_7-forNoeIwigs6AAAN: HTTP response code 200
2021.03.17 15:59:57 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 15:59:57 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMxOTcsImV4cCI6MTYxNjAyMTk5N30.1cusDoSFm8CH3brGewYeXBPYW06iuXD5LG7udICHwRw&EIO=3&transport=polling&sid=7_7-forNoeIwigs6AAAN: HTTP response code 200
2021.03.17 15:59:57 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMxOTcsImV4cCI6MTYxNjAyMTk5N30.1cusDoSFm8CH3brGewYeXBPYW06iuXD5LG7udICHwRw&EIO=3&transport=polling&sid=7_7-forNoeIwigs6AAAN: HTTP response code 200
2021.03.17 15:59:57 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 15:59:57 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 15:59:57 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMxOTcsImV4cCI6MTYxNjAyMTk5N30.1cusDoSFm8CH3brGewYeXBPYW06iuXD5LG7udICHwRw&EIO=3&transport=polling: HTTP response code 200
2021.03.17 15:59:57 1: IP: 192.168.0.205 -> 192.168.0.205

$VAR14 = 'Connection: close';
$VAR13 = 'Date: Wed, 17 Mar 2021 14:59:57 GMT';
$VAR12 = 'content-length: 552';
$VAR11 = 'content-type: application/json; charset=utf-8';
$VAR10 = 'access-control-allow-origin: false';
$VAR9 = 'vary: Origin';
$VAR8 = 'X-XSS-Protection: 0';
$VAR7 = 'Referrer-Policy: no-referrer';
$VAR6 = 'X-Permitted-Cross-Domain-Policies: none';
$VAR5 = 'X-Content-Type-Options: nosniff';
$VAR4 = 'X-Download-Options: noopen';
$VAR3 = 'Expect-CT: max-age=0';
$VAR2 = 'X-DNS-Prefetch-Control: off';
2021.03.17 15:59:57 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://192.168.0.205:8581 ws://192.168.0.205:8581 ';
2021.03.17 15:59:45 1: !!!!closed!!!!
2021.03.17 15:59:45 1: Error: >homekitDevice_f358a4235e6e60e35927be0078d2e748d2a1358e83aff0c986< has no TYPE, but following keys: >Helper<
2021.03.17 15:59:45 1: Error: >homekitDevice_c477b88ac2c7a0fee70934d7cec24b11793bd45de2bfaadf93< has no TYPE, but following keys: >Helper<
2021.03.17 15:59:45 1: Error: >homekitDevice_8555c6000fc4bc6e25e14279962e0aba42222539510bb3e13f< has no TYPE, but following keys: >Helper<
2021.03.17 15:59:45 1: Error: >homekitDevice_726d17b08d69cb2f41de5d72fad38e9de75a66236d60806336< has no TYPE, but following keys: >Helper<
2021.03.17 15:59:45 1: Error: >homekitDevice_1b160fc50ce4a73b11c2dff6c1253cf6a93b647e6631709a16< has no TYPE, but following keys: >Helper<
2021.03.17 15:59:45 0: Strange call for nonexistent homekitDevice_1b160fc50ce4a73b11c2dff6c1253cf6a93b647e6631709a16: DbLog_splitFn
2021.03.17 15:59:45 0: Strange call for nonexistent homekitDevice_f358a4235e6e60e35927be0078d2e748d2a1358e83aff0c986: DbLog_splitFn
2021.03.17 15:59:45 0: Strange call for nonexistent homekitDevice_c477b88ac2c7a0fee70934d7cec24b11793bd45de2bfaadf93: DbLog_splitFn
2021.03.17 15:59:45 0: Strange call for nonexistent homekitDevice_8555c6000fc4bc6e25e14279962e0aba42222539510bb3e13f: DbLog_splitFn
2021.03.17 15:59:45 0: Strange call for nonexistent homekitDevice_726d17b08d69cb2f41de5d72fad38e9de75a66236d60806336: DbLog_splitFn
2021.03.17 15:59:45 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMxODUsImV4cCI6MTYxNjAyMTk4NX0.7wCa_Z6IO-rxtq0KHp01e4l5XYsUVMB6lOxrsKIkGIc&EIO=3&transport=polling&sid=YZGlZDCFNgHkNp4wAAAM: HTTP response code 200
2021.03.17 15:59:45 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 15:59:45 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMxODUsImV4cCI6MTYxNjAyMTk4NX0.7wCa_Z6IO-rxtq0KHp01e4l5XYsUVMB6lOxrsKIkGIc&EIO=3&transport=polling&sid=YZGlZDCFNgHkNp4wAAAM: HTTP response code 200
2021.03.17 15:59:45 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMxODUsImV4cCI6MTYxNjAyMTk4NX0.7wCa_Z6IO-rxtq0KHp01e4l5XYsUVMB6lOxrsKIkGIc&EIO=3&transport=polling&sid=YZGlZDCFNgHkNp4wAAAM: HTTP response code 200
2021.03.17 15:59:45 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 15:59:45 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 15:59:45 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5OTMxODUsImV4cCI6MTYxNjAyMTk4NX0.7wCa_Z6IO-rxtq0KHp01e4l5XYsUVMB6lOxrsKIkGIc&EIO=3&transport=polling: HTTP response code 200
2021.03.17 15:59:45 1: IP: 192.168.0.205 -> 192.168.0.205

$VAR14 = 'Connection: close';
$VAR13 = 'Date: Wed, 17 Mar 2021 14:59:45 GMT';
$VAR12 = 'content-length: 552';
$VAR11 = 'content-type: application/json; charset=utf-8';
$VAR10 = 'access-control-allow-origin: false';
$VAR9 = 'vary: Origin';
$VAR8 = 'X-XSS-Protection: 0';
$VAR7 = 'Referrer-Policy: no-referrer';
$VAR6 = 'X-Permitted-Cross-Domain-Policies: none';
$VAR5 = 'X-Content-Type-Options: nosniff';
$VAR4 = 'X-Download-Options: noopen';
$VAR3 = 'Expect-CT: max-age=0';
$VAR2 = 'X-DNS-Prefetch-Control: off';
2021.03.17 15:59:45 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://192.168.0.205:8581 ws://192.168.0.205:8581 ';
2021.03.17 14:05:20 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5ODYzMjAsImV4cCI6MTYxNjAxNTEyMH0.CaLRN2NLOoxNdhUdCoT6i2iBtgcN8QGjKxZwq8Kjge0&EIO=3&transport=polling&sid=uetKCmRiTmTurTWFAAAK: HTTP response code 200
2021.03.17 14:05:20 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5ODYzMjAsImV4cCI6MTYxNjAxNTEyMH0.CaLRN2NLOoxNdhUdCoT6i2iBtgcN8QGjKxZwq8Kjge0&EIO=3&transport=polling&sid=uetKCmRiTmTurTWFAAAK: HTTP response code 200
2021.03.17 14:05:20 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 14:05:20 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5ODYzMjAsImV4cCI6MTYxNjAxNTEyMH0.CaLRN2NLOoxNdhUdCoT6i2iBtgcN8QGjKxZwq8Kjge0&EIO=3&transport=polling&sid=uetKCmRiTmTurTWFAAAK: HTTP response code 200
2021.03.17 14:05:20 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 14:05:20 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 14:05:20 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5ODYzMjAsImV4cCI6MTYxNjAxNTEyMH0.CaLRN2NLOoxNdhUdCoT6i2iBtgcN8QGjKxZwq8Kjge0&EIO=3&transport=polling: HTTP response code 200
2021.03.17 14:05:20 1: IP: 192.168.0.205 -> 192.168.0.205

$VAR14 = 'Connection: close';
$VAR13 = 'Date: Wed, 17 Mar 2021 13:05:20 GMT';
$VAR12 = 'content-length: 549';
$VAR11 = 'content-type: application/json; charset=utf-8';
$VAR10 = 'access-control-allow-origin: false';
$VAR9 = 'vary: Origin';
$VAR8 = 'X-XSS-Protection: 0';
$VAR7 = 'Referrer-Policy: no-referrer';
$VAR6 = 'X-Permitted-Cross-Domain-Policies: none';
$VAR5 = 'X-Content-Type-Options: nosniff';
$VAR4 = 'X-Download-Options: noopen';
$VAR3 = 'Expect-CT: max-age=0';
$VAR2 = 'X-DNS-Prefetch-Control: off';
2021.03.17 14:05:20 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://192.168.0.205:8581 ws://192.168.0.205:8581 ';
2021.03.17 14:05:07 1: !!!!closed!!!!
2021.03.17 14:05:07 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5ODYzMDcsImV4cCI6MTYxNjAxNTEwN30.3GdpFIsw5uYcRdMTwgxZ3BMYi2K_jeYzQoOdJaGwcko&EIO=3&transport=polling&sid=XjnsSFK2WFmnkPX_AAAJ: HTTP response code 200
2021.03.17 14:05:07 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5ODYzMDcsImV4cCI6MTYxNjAxNTEwN30.3GdpFIsw5uYcRdMTwgxZ3BMYi2K_jeYzQoOdJaGwcko&EIO=3&transport=polling&sid=XjnsSFK2WFmnkPX_AAAJ: HTTP response code 200
2021.03.17 14:05:07 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 14:05:07 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5ODYzMDcsImV4cCI6MTYxNjAxNTEwN30.3GdpFIsw5uYcRdMTwgxZ3BMYi2K_jeYzQoOdJaGwcko&EIO=3&transport=polling&sid=XjnsSFK2WFmnkPX_AAAJ: HTTP response code 200
2021.03.17 14:05:07 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 14:05:07 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 14:05:07 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5ODYzMDcsImV4cCI6MTYxNjAxNTEwN30.3GdpFIsw5uYcRdMTwgxZ3BMYi2K_jeYzQoOdJaGwcko&EIO=3&transport=polling: HTTP response code 200
2021.03.17 14:05:07 1: IP: 192.168.0.205 -> 192.168.0.205

$VAR14 = 'Connection: close';
$VAR13 = 'Date: Wed, 17 Mar 2021 13:05:07 GMT';
$VAR12 = 'content-length: 549';
$VAR11 = 'content-type: application/json; charset=utf-8';
$VAR10 = 'access-control-allow-origin: false';
$VAR9 = 'vary: Origin';
$VAR8 = 'X-XSS-Protection: 0';
$VAR7 = 'Referrer-Policy: no-referrer';
$VAR6 = 'X-Permitted-Cross-Domain-Policies: none';
$VAR5 = 'X-Content-Type-Options: nosniff';
$VAR4 = 'X-Download-Options: noopen';
$VAR3 = 'Expect-CT: max-age=0';
$VAR2 = 'X-DNS-Prefetch-Control: off';
2021.03.17 14:05:07 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://192.168.0.205:8581 ws://192.168.0.205:8581 ';
2021.03.17 13:44:53 3: CUL_HM set CUL_HM_HM_SEC_KEY_23DB96 open 0
2021.03.17 13:11:53 3: CUL_HM set CUL_HM_HM_SEC_KEY_23DB96 open 0
2021.03.17 13:06:45 1: HMUARTLGW HMWLANGW_OG did not respond for the 1. time, resending
2021.03.17 11:07:02 1: PERL WARNING: Argument "e0" isn't numeric in sprintf at ./FHEM/14_SD_WS09.pm line 263.
2021.03.17 11:07:02 1: PERL WARNING: Argument "f" isn't numeric in sprintf at ./FHEM/14_SD_WS09.pm line 262.
2021.03.17 11:07:02 1: PERL WARNING: Argument "d" isn't numeric in sprintf at ./FHEM/14_SD_WS09.pm line 257.
2021.03.17 10:37:01 1: ERROR: Unhandled packet CONNACK, disconnecting Wallbox_10.11.0.168_63969
2021.03.17 08:51:16 1: RMDIR: ./restoreDir/save/2021-03-14
2021.03.17 08:24:23 1: PERL WARNING: Argument "runningDown" isn't numeric in subtraction (-) at ./FHEM/98_Siro.pm line 1263.
2021.03.17 08:24:23 1: PERL WARNING: Use of uninitialized value $zielposition in concatenation (.) or string at ./FHEM/98_Siro.pm line 1106.
2021.03.17 08:24:23 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Siro.pm line 658.
2021.03.17 08:24:23 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_Siro.pm line 587.
2021.03.17 08:24:23 1: PERL WARNING: Use of uninitialized value $lastparse in split at ./FHEM/98_Siro.pm line 474.
2021.03.17 06:23:53 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5NTg2MzMsImV4cCI6MTYxNTk4NzQzM30.1Ab79qHYyT3-FtDxWSlJ5bq_QoiCCDI2g69yfQP29Oo&EIO=3&transport=polling&sid=W9qFR1nD2LIsQUwmAAAI: HTTP response code 200
2021.03.17 06:23:53 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5NTg2MzMsImV4cCI6MTYxNTk4NzQzM30.1Ab79qHYyT3-FtDxWSlJ5bq_QoiCCDI2g69yfQP29Oo&EIO=3&transport=polling&sid=W9qFR1nD2LIsQUwmAAAI: HTTP response code 200
2021.03.17 06:23:53 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 06:23:53 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5NTg2MzMsImV4cCI6MTYxNTk4NzQzM30.1Ab79qHYyT3-FtDxWSlJ5bq_QoiCCDI2g69yfQP29Oo&EIO=3&transport=polling&sid=W9qFR1nD2LIsQUwmAAAI: HTTP response code 200
2021.03.17 06:23:53 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 06:23:53 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 06:23:53 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5NTg2MzMsImV4cCI6MTYxNTk4NzQzM30.1Ab79qHYyT3-FtDxWSlJ5bq_QoiCCDI2g69yfQP29Oo&EIO=3&transport=polling: HTTP response code 200
2021.03.17 06:23:53 1: IP: 192.168.0.205 -> 192.168.0.205

$VAR14 = 'Connection: close';
$VAR13 = 'Date: Wed, 17 Mar 2021 05:23:53 GMT';
$VAR12 = 'content-length: 549';
$VAR11 = 'content-type: application/json; charset=utf-8';
$VAR10 = 'access-control-allow-origin: false';
$VAR9 = 'vary: Origin';
$VAR8 = 'X-XSS-Protection: 0';
$VAR7 = 'Referrer-Policy: no-referrer';
$VAR6 = 'X-Permitted-Cross-Domain-Policies: none';
$VAR5 = 'X-Content-Type-Options: nosniff';
$VAR4 = 'X-Download-Options: noopen';
$VAR3 = 'Expect-CT: max-age=0';
$VAR2 = 'X-DNS-Prefetch-Control: off';
2021.03.17 06:23:53 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://192.168.0.205:8581 ws://192.168.0.205:8581 ';
2021.03.17 06:23:40 1: !!!!closed!!!!
2021.03.17 06:23:40 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5NTg2MTksImV4cCI6MTYxNTk4NzQxOX0.ET2SK1l-SOw8oz6lUIRQf8c6zmd80WkvdZd2jb_n4Wo&EIO=3&transport=polling&sid=kNgUtML-f5aGSI-PAAAH: HTTP response code 200
2021.03.17 06:23:40 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5NTg2MTksImV4cCI6MTYxNTk4NzQxOX0.ET2SK1l-SOw8oz6lUIRQf8c6zmd80WkvdZd2jb_n4Wo&EIO=3&transport=polling&sid=kNgUtML-f5aGSI-PAAAH: HTTP response code 200
2021.03.17 06:23:40 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 06:23:40 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5NTg2MTksImV4cCI6MTYxNTk4NzQxOX0.ET2SK1l-SOw8oz6lUIRQf8c6zmd80WkvdZd2jb_n4Wo&EIO=3&transport=polling&sid=kNgUtML-f5aGSI-PAAAH: HTTP response code 200
2021.03.17 06:23:40 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 06:23:40 1: IP: 192.168.0.205 -> 192.168.0.205
2021.03.17 06:23:40 1: http://192.168.0.205:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im1hcmt1cyIsIm5hbWUiOiJNYXJrdXMiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjcwMzE3MmEyOWRhY2U1OTg1MDM2NTY1YzM1MjE5MzQyMGIwZjYzYzI0MzFjZGViZDNmNjA2MzAyZDdiZmFlYzEiLCJpYXQiOjE2MTU5NTg2MTksImV4cCI6MTYxNTk4NzQxOX0.ET2SK1l-SOw8oz6lUIRQf8c6zmd80WkvdZd2jb_n4Wo&EIO=3&transport=polling: HTTP response code 200
2021.03.17 06:23:39 1: IP: 192.168.0.205 -> 192.168.0.205
FHEM im Proxmox Container

justme1968

auf den ersten blick sehe ich keine ursache.

probier mal in fhem ein set <homebridge> reconnect

wenn das nicht hilft: starte mal beide seiten (d.h. auch fhem) neu.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

andasquared

Ich hab das gleiche Verhalten.
wenn ich debian neu starte, dann läufts wieder eine Zeit lang.
nur Homebridge neustarten hat nicht geholfen.
das nächste mal Versuche ich auch Homebridge und Fhem neuzustarten - ohne einen kompletten Systemneustart zu machen.

andasquared

... ok, ein Neustart von Fhem hilft auch, damit die Verbindung wieder geöffnet werden kann.

d.h.
wenn das Device auf disconnected geht...
... hilft kein Reconnect
... hilft kein Neustart von HomeBridge
aber es hilft ein Neustart von Fhem

justme1968

wie oft passsiert das ?
siehst du mit verbose 4 oder 5 mehr im log?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

andasquared

#23
ich glaube das passiert bei einem Token Refresh.
... aber nicht bei jedem.
2 oder 3 Token Refreshs hat er gestern "überstanden"
in der Nacht um 4:15 wäre der nächste Refresh gewesen, da ist es dann auf disconnected gegangen.

im Log finde ich das:


2021.03.20 04:15:50 4: HomeBridge: posting data to http://127.0.0.1:8581/api/auth/login
2021.03.20 04:15:50 5: HomeBridge: HttpAnswer: HTTP/1.1 201 Created
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
X-DNS-Prefetch-Control: off
Expect-CT: max-age=0
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: no-referrer
X-XSS-Protection: 0
vary: Origin
access-control-allow-origin: false
content-type: application/json; charset=utf-8
content-length: 367
Date: Sat, 20 Mar 2021 03:15:50 GMT
Connection: close
2021.03.20 04:15:50 4: HomeBridge: Got Cookie: io=Fdr-rKo52MzRmj0JAAAL
2021.03.20 04:15:50 4: HomeBridge: received {"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s","token_type":"Bearer","expires_in":28800}
2021.03.20 04:15:50 3: HomeBridge: got token
2021.03.20 04:15:50 4: HomeBridge: token valid, next token refresh at: 12:05:50
2021.03.20 04:15:50 4: HomeBridge: fetching data from http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling
2021.03.20 04:15:50 2: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling
2021.03.20 04:15:50 1: IP: 127.0.0.1 -> 127.0.0.1
2021.03.20 04:15:50 2: HttpUtils request header:
GET /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling HTTP/1.0
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s
Cookie: io=Fdr-rKo52MzRmj0JAAAL

2021.03.20 04:15:50 1: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling: HTTP response code 200
2021.03.20 04:15:50 2: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling: Got data, length: 103
2021.03.20 04:15:50 2: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 103
Access-Control-Allow-Origin: *
Set-Cookie: io=E5D2KxMCzZM-cB0UAAAM; Path=/; HttpOnly; SameSite=Strict
Date: Sat, 20 Mar 2021 03:15:50 GMT
Connection: close
2021.03.20 04:15:50 5: HomeBridge: HttpAnswer: HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 103
Access-Control-Allow-Origin: *
Set-Cookie: io=E5D2KxMCzZM-cB0UAAAM; Path=/; HttpOnly; SameSite=Strict
Date: Sat, 20 Mar 2021 03:15:50 GMT
Connection: close
2021.03.20 04:15:50 4: HomeBridge: Got Cookie: io=E5D2KxMCzZM-cB0UAAAM
2021.03.20 04:15:50 4: HomeBridge: received 96:0{"sid":"E5D2KxMCzZM-cB0UAAAM","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}2:40
2021.03.20 04:15:50 4: HomeBridge: posting data to http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM: 323:40/status?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s
2021.03.20 04:15:50 2: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM
2021.03.20 04:15:50 1: IP: 127.0.0.1 -> 127.0.0.1
2021.03.20 04:15:50 4: HomeBridge: posting data to http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM: 328:40/accessories?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s
2021.03.20 04:15:50 2: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM
2021.03.20 04:15:50 1: IP: 127.0.0.1 -> 127.0.0.1
2021.03.20 04:15:50 2: HttpUtils request header:
POST /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM HTTP/1.0
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Cookie: io=E5D2KxMCzZM-cB0UAAAM
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s
Content-Length: 332
Content-Type: application/x-www-form-urlencoded

2021.03.20 04:15:50 2: HttpUtils request header:
POST /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM HTTP/1.0
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Cookie: io=E5D2KxMCzZM-cB0UAAAM
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s
Content-Length: 327
Content-Type: application/x-www-form-urlencoded

2021.03.20 04:15:50 1: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM: HTTP response code 200
2021.03.20 04:15:50 2: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM: Got data, length: 2
2021.03.20 04:15:50 2: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2
Access-Control-Allow-Origin: *
Set-Cookie: io=E5D2KxMCzZM-cB0UAAAM; Path=/; HttpOnly; SameSite=Strict
Date: Sat, 20 Mar 2021 03:15:50 GMT
Connection: close
2021.03.20 04:15:50 5: HomeBridge: HttpAnswer: HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2
Access-Control-Allow-Origin: *
Set-Cookie: io=E5D2KxMCzZM-cB0UAAAM; Path=/; HttpOnly; SameSite=Strict
Date: Sat, 20 Mar 2021 03:15:50 GMT
Connection: close
2021.03.20 04:15:50 4: HomeBridge: Got Cookie: io=E5D2KxMCzZM-cB0UAAAM
2021.03.20 04:15:50 4: HomeBridge: received ok
2021.03.20 04:15:50 4: HomeBridge: fetching data from http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM
2021.03.20 04:15:50 2: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM
2021.03.20 04:15:50 1: IP: 127.0.0.1 -> 127.0.0.1
2021.03.20 04:15:50 2: HttpUtils request header:
GET /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM HTTP/1.0
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Cookie: io=E5D2KxMCzZM-cB0UAAAM
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s

2021.03.20 04:15:50 1: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM: HTTP response code 200
2021.03.20 04:15:50 2: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM: Got data, length: 2
2021.03.20 04:15:50 2: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2
Access-Control-Allow-Origin: *
Set-Cookie: io=E5D2KxMCzZM-cB0UAAAM; Path=/; HttpOnly; SameSite=Strict
Date: Sat, 20 Mar 2021 03:15:50 GMT
Connection: close
2021.03.20 04:15:50 5: HomeBridge: HttpAnswer: HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2
Access-Control-Allow-Origin: *
Set-Cookie: io=E5D2KxMCzZM-cB0UAAAM; Path=/; HttpOnly; SameSite=Strict
Date: Sat, 20 Mar 2021 03:15:50 GMT
Connection: close
2021.03.20 04:15:50 4: HomeBridge: Got Cookie: io=E5D2KxMCzZM-cB0UAAAM
2021.03.20 04:15:50 4: HomeBridge: received ok
2021.03.20 04:15:50 2: parseHttpAnswer: unhandled key socket.io:step2b
2021.03.20 04:15:50 1: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM: HTTP response code 200
2021.03.20 04:15:50 2: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=polling&sid=E5D2KxMCzZM-cB0UAAAM: Got data, length: 31
2021.03.20 04:15:50 2: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 31
Access-Control-Allow-Origin: *
Set-Cookie: io=E5D2KxMCzZM-cB0UAAAM; Path=/; HttpOnly; SameSite=Strict
Date: Sat, 20 Mar 2021 03:15:50 GMT
Connection: close
2021.03.20 04:15:50 5: HomeBridge: HttpAnswer: HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 31
Access-Control-Allow-Origin: *
Set-Cookie: io=E5D2KxMCzZM-cB0UAAAM; Path=/; HttpOnly; SameSite=Strict
Date: Sat, 20 Mar 2021 03:15:50 GMT
Connection: close
2021.03.20 04:15:50 4: HomeBridge: Got Cookie: io=E5D2KxMCzZM-cB0UAAAM
2021.03.20 04:15:50 4: HomeBridge: received 10:40/status,15:40/accessories,
2021.03.20 04:15:50 3: Opening HomeBridge device ws:127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=websocket&sid=E5D2KxMCzZM-cB0UAAAM
2021.03.20 04:15:50 5: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=websocket&sid=E5D2KxMCzZM-cB0UAAAM
2021.03.20 04:15:50 4: IP: 127.0.0.1 -> 127.0.0.1
2021.03.20 04:15:50 5: HttpUtils request header:
GET /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=websocket&sid=E5D2KxMCzZM-cB0UAAAM HTTP/1.1
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Connection: Upgrade
Sec-WebSocket-Key: l7Qyb9TJuy7OQwB6j61eZA==
Cookie: io=E5D2KxMCzZM-cB0UAAAM
Upgrade: websocket
Sec-WebSocket-Version: 13

2021.03.20 04:15:50 4: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=websocket&sid=E5D2KxMCzZM-cB0UAAAM: HTTP response code 101
2021.03.20 04:15:50 5: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1lIjoiQWRtaW5pc3RyYXRvciIsImFkbWluIjp0cnVlLCJpbnN0YW5jZUlkIjoiMDNjM2ZkOTBkYWE0NmRhYzZiNmMxMDlhYmRjZGNkNmEwOTIyN2MxYTNkZTk5NTI1Y2EyYzE5MTlmZjlhMWNiYyIsImlhdCI6MTYxNjIxMDE1MCwiZXhwIjoxNjE2MjM4OTUwfQ.QxSe76H2XfJ-zlOxJAYl0oOyAQLd-tSqNstnsJn-L-s&EIO=3&transport=websocket&sid=E5D2KxMCzZM-cB0UAAAM: Got data, length: 0
2021.03.20 04:15:50 5: HttpUtils response header:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: XlU/5t0m+C5FAzL15DQ0fxq9cZs=
2021.03.20 04:15:50 3: HomeBridge device opened
2021.03.20 04:15:50 5: SW: 2probe
2021.03.20 04:15:50 5: SW: 5
2021.03.20 04:15:50 5: SW: 42/accessories,["get-accessories"]
2021.03.20 04:15:50 5: Websocket msg: OP:1 LEN:6 MASK:0 FIN:1
2021.03.20 04:15:50 5: HomeBridge: got: 3probe
2021.03.20 04:15:50 5: HomeBridge: got pong: 3probe
2021.03.20 04:15:50 5: Websocket msg: OP:1 LEN:107595 MASK:0 FIN:1
2021.03.20 04:15:50 5: HomeBridge: got: 42/accessories,["accessories-data",[{"aid":1,"iid":2000000008,"uuid":"000000A2-0000-1000-8000-0026BB765291","type":"ProtocolInformation","humanType":"Protocol Information","serviceName":"Homebridge 782E D456","serviceCharacteristics":[{"aid":1,"iid":9,"uuid":"00000037-0000-1000-8000-0026BB765291","type":"Version","serviceType":"ProtocolInformation","serviceName":"Homebridge 782E D456","description":"Version","value":"1.1.0","format":"string","perms":["pr"],"canRead":true,"canWrite":false,"ev":false}],"accessoryInformation":{"Manufacturer":"homebridge.io","Model":"homebridge","Name":"Homebridge 782E D456","Serial Number":"AA:BB:CC:11.11.11","Firmware Revision":"1.3.4"},"values":{"Version":"1.1.0"},"instance":{"name":"homebridge","username":"AA:BB:CC:11.11.11","ipAddress":"xxx.xxx.xxx.35","port":51243,"services":[],"connectionFailedCount":0},"uniqueId":"f8789adaad5acf650c23ee49ab2f1e6e6ede70aef4da090df246e2a9e66f1ca5"},{"aid":2,"iid":9,"uuid":"00000085-0000-1000-8000-0026BB765291","type":"MotionSensor","humanType":"Motion Sensor","serviceName":"G3 Micro","serviceCharacteristics":[{"aid":2,"iid":11,"uuid":"00000022-0000-1000-8000-0026BB765291","type":"MotionDetected","serviceType":"MotionSensor","serviceName":"G3 Micro","description":"Motion Detected","value":0,"format":"bool","perms":["ev","pr"],"canRead":true,"canWrite":false,"ev":true}],"accessoryInformation":{"Manufacturer":"Ubiquiti Networks","Model":"UVC G3 Micro","Name":"G3 Micro","Serial Number":"F09FC2C1A891","Firmware Revision":"4.34.22","Hardware Revision":"23"},"values":{"MotionDetected":0},"instance":{"name":"homebridge","username":"AA:BB:CC:11.11.11","ipAddress":"xxx.xxx.xxx.35","port":51243,"services":[],"connectionFailedCount":0},"uniqueId":"beb750bd491127efb87ab2ec610715454cb34f6e903fd7f812c289e9e9e00f42"},{"aid":2,"iid":12,"uuid":"00000112-0000-1000-8000-0026BB765291","type":"Microphone","humanType":"Microphone","serviceName":"G3 Micro","serviceCharacteristics":[{"aid":2,"iid":13,"uuid":"0000011A-0000-1000-8000-0026BB765291","type":"Mute","serviceType":"Microphone","serviceName":"G3 Micro","description":"Mute","value":0,"format":"bool","perms":["ev","pr","pw"],"canRead":true,"canWrite":true,"ev":true},{"aid":2,"iid":14,"uuid":"00000119-0000-1000-8000-0026BB765291","type":"Volume","serviceType":"Microphone","serviceName":"G3 Micro","description":"Volume","value":100,"format":"uint8","perms":["ev","pr","pw"],"unit":"percentage","maxValue":100,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true}],"accessoryInformation":{"Manufacturer":"Ubiquiti Networks","Model":"UVC G3 Micro","Name":"G3 Micro","Serial Number":"F09FC2C1A891","Firmware Revision":"4.34.22","Hardware Revision":"23"},"values":{"Mute":0,"Volume":100},"instance":{"name":"homebridge","username":"AA:BB:CC:11.11.11","ipAddress":"xxx.xxx.xxx.35","port":51243,"services":[],"connectionFailedCount":0},"uniqueId":"d03795018ca8c35d61e27adc8f65e3376755a0bdc4e02cdc3c42e31181185db5"},{"aid":2,"iid":15,"uuid":"00000113-0000-1000-8000-0026BB765291","type":"Speaker","humanType":"Speaker","serviceName":"G3 Micro","serviceCharacteristics":[{"aid":2,"iid":16,"uuid":"0000011A-0000-1000-8000-0026BB765291","type":"Mute","serviceType":"Speaker","serviceName":"G3 Micro","description":"Mute","value":0,"format":"bool","perms":["ev","pr","pw"],"canRead":true,"canWrite":true,"ev":true},{"aid":2,"iid":17,"uuid":"00000119-0000-1000-8000-0026BB765291","type":"Volume","serviceType":"Speaker","serviceName":"G3 Micro","description":"Volume","value":100,"format":"uint8","perms":["ev","pr","pw"],"unit":"percentage","maxValue":100,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true}],"accessoryInformation":{"Manufacturer":"Ubiquiti Networks","Model":"UVC G3 Micro","Name":"G3 Micro","Serial Number":"F09FC2C1A891","Firmware Revision":"4.34.22","Hardware Revision":"23"},"values":{"Mute":0,"Volume":100},"instance":{"name":"homebridge","username":"AA:BB:CC:11.11.11","ipAddress":"xxx.xxx.xxx.35","port":51243,"services":[],"connectionFailedCount":0},"uniqueId":"eed89f053df9761bee4255f76ea60ec0234c45ae2faf290dd947e66ac7935235"},{"aid":2,"iid":18,"uuid":"00000110-0000-1000-8000-0026BB765291","type":"CameraRTPStreamManagement","humanType":"Camera Rtp Stream Management","serviceName":"G3 Micro","serviceCharacteristics":[{"aid":2,"iid":19,"uuid":"00000117-0000-1000-8000-0026BB765291","type":"SelectedRTPStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Selected RTP Stream Configuration","value":"AQMCAQI=","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":20,"uuid":"00000118-0000-1000-8000-0026BB765291","type":"SetupEndpoints","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Setup Endpoints","value":"AgEC","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":21,"uuid":"00000120-0000-1000-8000-0026BB765291","type":"StreamingStatus","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Streaming Status","value":"AQEA","format":"tlv8","perms":["ev","pr"],"canRead":true,"canWrite":false,"ev":true},{"aid":2,"iid":22,"uuid":"00000115-0000-1000-8000-0026BB765291","type":"SupportedAudioStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported Audio Stream Configuration","value":"AQ4BAQICCQEBAQIBAAMBAQIBAA==","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":23,"uuid":"00000116-0000-1000-8000-0026BB765291","type":"SupportedRTPConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported RTP Configuration","value":"AgEA","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":24,"uuid":"00000114-0000-1000-8000-0026BB765291","type":"SupportedVideoStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported Video Stream Configuration","value":"AXABAQACEwEBAQIBAAAAAgEBAAACAQIDAQADCwECAA8CAnAIAwEeAAADCwECgAcCAjgEAwEeAAADCwECAAUCAtACAwEeAAADCwECAAQCAkACAwEPAAADCwECgAICAmgBAwEPAAADCwECQAECAvAAAwEP","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":25,"uuid":"000000B0-0000-1000-8000-0026BB765291","type":"Active","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Active","value":1,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true}],"accessoryInformation":{"Manufacturer":"Ubiquiti Networks","Model":"UVC G3 Micro","Name":"G3 Micro","Serial Number":"F09FC2C1A891","Firmware Revision":"4.34.22","Hardware Revision":"23"},"values":{"SelectedRTPStreamConfiguration":"AQMCAQI=","SetupEndpoints":"AgEC","StreamingStatus":"AQEA","SupportedAudioStreamConfiguration":"AQ4BAQICCQEBAQIBAAMBAQIBAA==","SupportedRTPConfiguration":"AgEA","SupportedVideoStreamConfiguration":"AXABAQACEwEBAQIBAAAAAgEBAAACAQIDAQADCwECAA8CAnAIAwEeAAADCwECgAcCAjgEAwEeAAADCwECAAUCAtACAwEeAAADCwECAAQCAkACAwEPAAADCwECgAICAmgBAwEPAAADCwECQAECAvAAAwEP","Active":1},"instance":{"name":"homebridge","username":"AA:BB:CC:11.11.11","ipAddress":"xxx.xxx.xxx.35","port":51243,"services":[],"connectionFailedCount":0},"uniqueId":"07bcd12870573b1498f7d2fc48d9dd8578ddce0237c7a67aa1c92cf05ea05403"},{"aid":2,"iid":26,"uuid":"00000110-0000-1000-8000-0026BB765291","type":"CameraRTPStreamManagement","humanType":"Camera Rtp Stream Management","serviceName":"G3 Micro","serviceCharacteristics":[{"aid":2,"iid":27,"uuid":"00000117-0000-1000-8000-0026BB765291","type":"SelectedRTPStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Selected RTP Stream Configuration","value":"AQMCAQI=","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":28,"uuid":"00000118-0000-1000-8000-0026BB765291","type":"SetupEndpoints","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Setup Endpoints","value":"AgEC","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":29,"uuid":"00000120-0000-1000-8000-0026BB765291","type":"StreamingStatus","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Streaming Status","value":"AQEA","format":"tlv8","perms":["ev","pr"],"canRead":true,"canWrite":false,"ev":true},{"aid":2,"iid":30,"uuid":"00000115-0000-1000-8000-0026BB765291","type":"SupportedAudioStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported Audio Stream Configuration","value":"AQ4BAQICCQEBAQIBAAMBAQIBAA==","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":31,"uuid":"00000116-0000-1000-8000-0026BB765291","type":"SupportedRTPConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported RTP Configuration","value":"AgEA","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":32,"uuid":"00000114-0000-1000-8000-0026BB765291","type":"SupportedVideoStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported Video Stream Configuration","value":"AXABAQACEwEBAQIBAAAAAgEBAAACAQIDAQADCwECAA8CAnAIAwEeAAADCwECgAcCAjgEAwEeAAADCwECAAUCAtACAwEeAAADCwECAAQCAkACAwEPAAADCwECgAICAmgBAwEPAAADCwECQAECAvAAAwEP","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":33,"uuid":"000000B0-0000-1000-8000-0026BB765291","type":"Active","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Active","value":1,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true}],"accessoryInformation":{"Manufacturer":"Ubiquiti Networks","Model":"UVC G3 Micro","Name":"G3 Micro","Serial Number":"F09FC2C1A891","Firmware Revision":"4.34.22","Hardware Revision":"23"},"values":{"SelectedRTPStreamConfiguration":"AQMCAQI=","SetupEndpoints":"AgEC","StreamingStatus":"AQEA","SupportedAudioStreamConfiguration":"AQ4BAQICCQEBAQIBAAMBAQIBAA==","SupportedRTPConfiguration":"AgEA","SupportedVideoStreamConfiguration":"AXABAQACEwEBAQIBAAAAAgEBAAACAQIDAQADCwECAA8CAnAIAwEeAAADCwECgAcCAjgEAwEeAAADCwECAAUCAtACAwEeAAADCwECAAQCAkACAwEPAAADCwECgAICAmgBAwEPAAADCwECQAECAvAAAwEP","Active":1},"instance":{"name":"homebridge","username":"AA:BB:CC:11.11.11","ipAddress":"xxx.xxx.xxx.35","port":51243,"services":[],"connectionFailedCount":0},"uniqueId":"3a45011d0e23b375330aeba6b160951d1693a08c40b1070e25461c3727a3f33a"},{"aid":2,"iid":34,"uuid":"00000110-0000-1000-8000-0026BB765291","type":"CameraRTPStreamManagement","humanType":"Camera Rtp Stream Management","serviceName":"G3 Micro","serviceCharacteristics":[{"aid":2,"iid":35,"uuid":"00000117-0000-1000-8000-0026BB765291","type":"SelectedRTPStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Selected RTP Stream Configuration","value":"AQMCAQI=","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":36,"uuid":"00000118-0000-1000-8000-0026BB765291","type":"SetupEndpoints","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Setup Endpoints","value":"AgEC","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":37,"uuid":"00000120-0000-1000-8000-0026BB765291","type":"StreamingStatus","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Streaming Status","value":"AQEA","format":"tlv8","perms":["ev","pr"],"canRead":true,"canWrite":false,"ev":true},{"aid":2,"iid":38,"uuid":"00000115-0000-1000-8000-0026BB765291","type":"SupportedAudioStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported Audio Stream Configuration","value":"AQ4BAQICCQEBAQIBAAMBAQIBAA==","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":39,"uuid":"00000116-0000-1000-8000-0026BB765291","type":"SupportedRTPConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported RTP Configuration","value":"AgEA","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":40,"uuid":"00000114-0000-1000-8000-0026BB765291","type":"SupportedVideoStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported Video Stream Configuration","value":"AXABAQACEwEBAQIBAAAAAgEBAAACAQIDAQADCwECAA8CAnAIAwEeAAADCwECgAcCAjgEAwEeAAADCwECAAUCAtACAwEeAAADCwECAAQCAkACAwEPAAADCwECgAICAmgBAwEPAAADCwECQAECAvAAAwEP","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":41,"uuid":"000000B0-0000-1000-8000-0026BB765291","type":"Active","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Active","value":1,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true}],"accessoryInformation":{"Manufacturer":"Ubiquiti Networks","Model":"UVC G3 Micro","Name":"G3 Micro","Serial Number":"F09FC2C1A891","Firmware Revision":"4.34.22","Hardware Revision":"23"},"values":{"SelectedRTPStreamConfiguration":"AQMCAQI=","SetupEndpoints":"AgEC","StreamingStatus":"AQEA","SupportedAudioStreamConfiguration":"AQ4BAQICCQEBAQIBAAMBAQIBAA==","SupportedRTPConfiguration":"AgEA","SupportedVideoStreamConfiguration":"AXABAQACEwEBAQIBAAAAAgEBAAACAQIDAQADCwECAA8CAnAIAwEeAAADCwECgAcCAjgEAwEeAAADCwECAAUCAtACAwEeAAADCwECAAQCAkACAwEPAAADCwECgAICAmgBAwEPAAADCwECQAECAvAAAwEP","Active":1},"instance":{"name":"homebridge","username":"AA:BB:CC:11.11.11","ipAddress":"xxx.xxx.xxx.35","port":51243,"services":[],"connectionFailedCount":0},"uniqueId":"ef07bc091d3e059036554b5a548eae329b0b85abb094c9dfc14139f3961e992c"},{"aid":2,"iid":42,"uuid":"00000110-0000-1000-8000-0026BB765291","type":"CameraRTPStreamManagement","humanType":"Camera Rtp Stream Management","serviceName":"G3 Micro","serviceCharacteristics":[{"aid":2,"iid":43,"uuid":"00000117-0000-1000-8000-0026BB765291","type":"SelectedRTPStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Selected RTP Stream Configuration","value":"AQMCAQI=","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":44,"uuid":"00000118-0000-1000-8000-0026BB765291","type":"SetupEndpoints","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Setup Endpoints","value":"AgEC","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":45,"uuid":"00000120-0000-1000-8000-0026BB765291","type":"StreamingStatus","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Streaming Status","value":"AQEA","format":"tlv8","perms":["ev","pr"],"canRead":true,"canWrite":false,"ev":true},{"aid":2,"iid":46,"uuid":"00000115-0000-1000-8000-0026BB765291","type":"SupportedAudioStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported Audio Stream Configuration","value":"AQ4BAQICCQEBAQIBAAMBAQIBAA==","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":47,"uuid":"00000116-0000-1000-8000-0026BB765291","type":"SupportedRTPConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported RTP Configuration","value":"AgEA","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":48,"uuid":"00000114-0000-1000-8000-0026BB765291","type":"SupportedVideoStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported Video Stream Configuration","value":"AXABAQACEwEBAQIBAAAAAgEBAAACAQIDAQADCwECAA8CAnAIAwEeAAADCwECgAcCAjgEAwEeAAADCwECAAUCAtACAwEeAAADCwECAAQCAkACAwEPAAADCwECgAICAmgBAwEPAAADCwECQAECAvAAAwEP","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":49,"uuid":"000000B0-0000-1000-8000-0026BB765291","type":"Active","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Active","value":1,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true}],"accessoryInformation":{"Manufacturer":"Ubiquiti Networks","Model":"UVC G3 Micro","Name":"G3 Micro","Serial Number":"F09FC2C1A891","Firmware Revision":"4.34.22","Hardware Revision":"23"},"values":{"SelectedRTPStreamConfiguration":"AQMCAQI=","SetupEndpoints":"AgEC","StreamingStatus":"AQEA","SupportedAudioStreamConfiguration":"AQ4BAQICCQEBAQIBAAMBAQIBAA==","SupportedRTPConfiguration":"AgEA","SupportedVideoStreamConfiguration":"AXABAQACEwEBAQIBAAAAAgEBAAACAQIDAQADCwECAA8CAnAIAwEeAAADCwECgAcCAjgEAwEeAAADCwECAAUCAtACAwEeAAADCwECAAQCAkACAwEPAAADCwECgAICAmgBAwEPAAADCwECQAECAvAAAwEP","Active":1},"instance":{"name":"homebridge","username":"AA:BB:CC:11.11.11","ipAddress":"xxx.xxx.xxx.35","port":51243,"services":[],"connectionFailedCount":0},"uniqueId":"df6ebecd36cd1450f29f9b5ac20cc4812269957dcad19d44e8c74114a048bc30"},{"aid":2,"iid":50,"uuid":"00000110-0000-1000-8000-0026BB765291","type":"CameraRTPStreamManagement","humanType":"Camera Rtp Stream Management","serviceName":"G3 Micro","serviceCharacteristics":[{"aid":2,"iid":51,"uuid":"00000117-0000-1000-8000-0026BB765291","type":"SelectedRTPStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Selected RTP Stream Configuration","value":"AQMCAQI=","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":52,"uuid":"00000118-0000-1000-8000-0026BB765291","type":"SetupEndpoints","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Setup Endpoints","value":"AgEC","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":53,"uuid":"00000120-0000-1000-8000-0026BB765291","type":"StreamingStatus","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Streaming Status","value":"AQEA","format":"tlv8","perms":["ev","pr"],"canRead":true,"canWrite":false,"ev":true},{"aid":2,"iid":54,"uuid":"00000115-0000-1000-8000-0026BB765291","type":"SupportedAudioStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported Audio Stream Configuration","value":"AQ4BAQICCQEBAQIBAAMBAQIBAA==","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":55,"uuid":"00000116-0000-1000-8000-0026BB765291","type":"SupportedRTPConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported RTP Configuration","value":"AgEA","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":56,"uuid":"00000114-0000-1000-8000-0026BB765291","type":"SupportedVideoStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Supported Video Stream Configuration","value":"AXABAQACEwEBAQIBAAAAAgEBAAACAQIDAQADCwECAA8CAnAIAwEeAAADCwECgAcCAjgEAwEeAAADCwECAAUCAtACAwEeAAADCwECAAQCAkACAwEPAAADCwECgAICAmgBAwEPAAADCwECQAECAvAAAwEP","format":"tlv8","perms":["pr"],"canRead":true,"canWrite":false,"ev":false},{"aid":2,"iid":57,"uuid":"000000B0-0000-1000-8000-0026BB765291","type":"Active","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Active","value":1,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true}],"accessoryInformation":{"Manufacturer":"Ubiquiti Networks","Model":"UVC G3 Micro","Name":"G3 Micro","Serial Number":"F09FC2C1A891","Firmware Revision":"4.34.22","Hardware Revision":"23"},"values":{"SelectedRTPStreamConfiguration":"AQMCAQI=","SetupEndpoints":"AgEC","StreamingStatus":"AQEA","SupportedAudioStreamConfiguration":"AQ4BAQICCQEBAQIBAAMBAQIBAA==","SupportedRTPConfiguration":"AgEA","SupportedVideoStreamConfiguration":"AXABAQACEwEBAQIBAAAAAgEBAAACAQIDAQADCwECAA8CAnAIAwEeAAADCwECgAcCAjgEAwEeAAADCwECAAUCAtACAwEeAAADCwECAAQCAkACAwEPAAADCwECgAICAmgBAwEPAAADCwECQAECAvAAAwEP","Active":1},"instance":{"name":"homebridge","username":"AA:BB:CC:11.11.11","ipAddress":"xxx.xxx.xxx.35","port":51243,"services":[],"connectionFailedCount":0},"uniqueId":"2f58ddde8dde416a25e9abc400fb9c57233a536d0117fc1e58f59c0e3edd8709"},{"aid":2,"iid":58,"uuid":"00000110-0000-1000-8000-0026BB765291","type":"CameraRTPStreamManagement","humanType":"Camera Rtp Stream Management","serviceName":"G3 Micro","serviceCharacteristics":[{"aid":2,"iid":59,"uuid":"00000117-0000-1000-8000-0026BB765291","type":"SelectedRTPStreamConfiguration","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Selected RTP Stream Configuration","value":"AQMCAQI=","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":60,"uuid":"00000118-0000-1000-8000-0026BB765291","type":"SetupEndpoints","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Setup Endpoints","value":"AgEC","format":"tlv8","perms":["pr","pw"],"canRead":true,"canWrite":true,"ev":false},{"aid":2,"iid":61,"uuid":"00000120-0000-1000-8000-0026BB765291","type":"StreamingStatus","serviceType":"CameraRTPStreamManagement","serviceName":"G3 Micro","description":"Streaming Status","value":"AQEA","format":"tlv8","perms":["ev","pr"],"canRead":true,"canWrite":false,"ev":true},{"aid":2,"iid":62,"uuid":"00000115-0000-1000-8000

justme1968

komisch das ein set reconnect nicht hilft aber ein fhem neustart. das wird schwierig zu finden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

andasquared

ich werde mal versuchen, einen Reconnect zu machen, bevor der Token ausläuft.
bzw. auch mit einem AT alle 60 Minuten oder so.
... nach einem manuellen reconnect ist dann auch der "nexttoken" um diese Zeit später.
vielleicht bleibt das Device so länger "open".

ich schau mal ob das was bringt.

justme1968

ja. gute idee. kannst du vielleicht noch sagen wie lange es vom ersten connect bis zum fehler dauert? vielleicht habe ich einfach die gültigkeitsdauer falsche berechnet. die zeit ist mir sowieso komisch vorgekommen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

andasquared

Seit dem ich über ein AT alle 90 Minuten einen Reconnect mache, habe ich keinen Ausfall des Devices mehr gehabt.

Ich lasse das noch 1-2 Tage laufen.
Dann schau ich mir das nochmal ohne "AT-Reconnect" an um die deine Frage zu beantworten.
Ich hebe mir leider nur die Logfiles der letzten 3 Tage auf - da sehe ich das jetzt nicht mehr.

justme1968

ok. wenn das tatsächlich hilft ist vielleicht nur die timeout berechnung falsch.
vielleicht kannst du aus der zeile 375: my $refresh = $hash->{helper}{auth}{timestamp} + $hash->{helper}{auth}{expires_in} - 10*60; mal my $refresh = $hash->{helper}{auth}{timestamp} + $hash->{helper}{auth}{expires_in}/100 - 10*60; oder ähnlich machen.

im internal nexttoken sollte der zeitpunkt jeweils lesbar stehen. der refresh darf natürlich auch nicht zu oft passieren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

andasquared

hab das gerade probiert - und habe die 39_homebridge.pm editiert.
... danach geht das Device aber garnicht auf opened.

hab in kurzer Zeit ein 2 GB großes Logfile gehabt  ;)


Connection: close
2021.03.25 14:45:57 4: HomeBridge: Got Cookie: io=af9wuJTmORxc8s4pAB8m
2021.03.25 14:45:57 4: HomeBridge: received ok
2021.03.25 14:45:57 2: parseHttpAnswer: unhandled key socket.io:step2b


hab es jetzt wieder ausgebaut.  :)

justme1968

dann war 100 zu groß. wenn du noch nicht genug hast versuch mal 10.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

andasquared

mit 10 funktioniert es.

opened:     18:29:29
nexttoken: 19:07:25

passiert beim nexttoken genau das gleiche wie bei einem set Homebridge reconnect?

ist das dann zu oft?
.. weil du vorher meintest, zu knapp hintereinander sollte die Authentifizierung nicht gemacht werden

justme1968

das schaut nach einer halben stunde aus. wenn es damit ok ist ist es gut.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

andasquared

sorry, jetzt komm ich wieder mit einer Rückmeldung  :-X

der Tokenrefresh passiert jetzt alle ca. 30 Minuten.
allerdings bleibt es so nach einer Zeit auch stecken und das Device geht auf disconnected.

hier ein Auszug aus den Logs beim Abbruch.
(hab die Logs abgeschnitten, weil hier viel zu viel drinnen steht)


2021.03.26 08:51:44 4: HomeBridge: posting data to http://127.0.0.1:8581/api/auth/login
2021.03.26 08:51:44 5: HomeBridge: HttpAnswer: HTTP/1.1 201 Created
Content-Security-Policy: default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval
X-DNS-Prefetch-Control: off
Expect-CT: max-age=0
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: no-referrer
X-XSS-Protection: 0
vary: Origin
access-control-allow-origin: false
content-type: application/json; charset=utf-8
content-length: 367
Date: Fri, 26 Mar 2021 07:51:44 GMT
Connection: close
2021.03.26 08:51:44 4: HomeBridge: Got Cookie: io=r9QPD8s47f-wW9XnAAAH
2021.03.26 08:51:44 4: HomeBridge: received {"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6I
2021.03.26 08:51:44 3: HomeBridge: got token
2021.03.26 08:51:44 4: HomeBridge: token valid, next token refresh at: 09:29:44
2021.03.26 08:51:44 4: HomeBridge: fetching data from http://127.0.0.1:8581/socket.io/?tok
2021.03.26 08:51:44 2: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUz
2021.03.26 08:51:44 1: IP: 127.0.0.1 -> 127.0.0.1
2021.03.26 08:51:44 2: HttpUtils request header:
GET /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1
Cookie: io=r9QPD8s47f-wW9XnAAAH

2021.03.26 08:51:44 1: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6
2021.03.26 08:51:44 2: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1Ni
2021.03.26 08:51:44 2: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 103
Access-Control-Allow-Origin: *
Set-Cookie: io=Md-A_SvZ5ke7TFZqAAAI; Path=/; HttpOnly; SameSite=Strict
Date: Fri, 26 Mar 2021 07:51:44 GMT
Connection: close
2021.03.26 08:51:44 5: HomeBridge: HttpAnswer: HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 103
Access-Control-Allow-Origin: *
Set-Cookie: io=Md-A_SvZ5ke7TFZqAAAI; Path=/; HttpOnly; SameSite=Strict
Date: Fri, 26 Mar 2021 07:51:44 GMT
Connection: close
2021.03.26 08:51:44 4: HomeBridge: Got Cookie: io=Md-A_SvZ5ke7TFZqAAAI
2021.03.26 08:51:44 4: HomeBridge: received 96:0{"sid":"Md-A_SvZ5ke7TFZqAAAI","upgrades":[
2021.03.26 08:51:44 4: HomeBridge: posting data to http://127.0.0.1:8581/socket.io/?token=
2021.03.26 08:51:44 2: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUz
2021.03.26 08:51:44 1: IP: 127.0.0.1 -> 127.0.0.1
2021.03.26 08:51:44 4: HomeBridge: posting data to http://127.0.0.1:8581/socket.io/?token=
2021.03.26 08:51:44 2: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUz
2021.03.26 08:51:44 1: IP: 127.0.0.1 -> 127.0.0.1
2021.03.26 08:51:44 2: HttpUtils request header:
POST /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1
Cookie: io=Md-A_SvZ5ke7TFZqAAAI
Content-Length: 332
Content-Type: application/x-www-form-urlencoded

2021.03.26 08:51:44 2: HttpUtils request header:
POST /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1
Cookie: io=Md-A_SvZ5ke7TFZqAAAI
Content-Length: 327
Content-Type: application/x-www-form-urlencoded

2021.03.26 08:51:44 1: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6
2021.03.26 08:51:44 2: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1Ni
2021.03.26 08:51:44 2: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2
Access-Control-Allow-Origin: *
Set-Cookie: io=Md-A_SvZ5ke7TFZqAAAI; Path=/; HttpOnly; SameSite=Strict
Date: Fri, 26 Mar 2021 07:51:44 GMT
Connection: close
2021.03.26 08:51:44 5: HomeBridge: HttpAnswer: HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2
Access-Control-Allow-Origin: *
Set-Cookie: io=Md-A_SvZ5ke7TFZqAAAI; Path=/; HttpOnly; SameSite=Strict
Date: Fri, 26 Mar 2021 07:51:44 GMT
Connection: close
2021.03.26 08:51:44 4: HomeBridge: Got Cookie: io=Md-A_SvZ5ke7TFZqAAAI
2021.03.26 08:51:44 4: HomeBridge: received ok
2021.03.26 08:51:44 2: parseHttpAnswer: unhandled key socket.io:step2b
2021.03.26 08:51:44 1: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6
2021.03.26 08:51:44 2: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1Ni
2021.03.26 08:51:44 2: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2
Access-Control-Allow-Origin: *
Set-Cookie: io=Md-A_SvZ5ke7TFZqAAAI; Path=/; HttpOnly; SameSite=Strict
Date: Fri, 26 Mar 2021 07:51:44 GMT
Connection: close
2021.03.26 08:51:44 5: HomeBridge: HttpAnswer: HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2
Access-Control-Allow-Origin: *
Set-Cookie: io=Md-A_SvZ5ke7TFZqAAAI; Path=/; HttpOnly; SameSite=Strict
Date: Fri, 26 Mar 2021 07:51:44 GMT
Connection: close
2021.03.26 08:51:44 4: HomeBridge: Got Cookie: io=Md-A_SvZ5ke7TFZqAAAI
2021.03.26 08:51:44 4: HomeBridge: received ok
2021.03.26 08:51:44 4: HomeBridge: fetching data from http://127.0.0.1:8581/socket.io/?tok
2021.03.26 08:51:44 2: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUz
2021.03.26 08:51:44 1: IP: 127.0.0.1 -> 127.0.0.1
2021.03.26 08:51:44 2: HttpUtils request header:
GET /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1
Cookie: io=Md-A_SvZ5ke7TFZqAAAI

2021.03.26 08:51:44 1: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6
2021.03.26 08:51:44 2: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1Ni
2021.03.26 08:51:44 2: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 31
Access-Control-Allow-Origin: *
Set-Cookie: io=Md-A_SvZ5ke7TFZqAAAI; Path=/; HttpOnly; SameSite=Strict
Date: Fri, 26 Mar 2021 07:51:44 GMT
Connection: close
2021.03.26 08:51:44 5: HomeBridge: HttpAnswer: HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 31
Access-Control-Allow-Origin: *
Set-Cookie: io=Md-A_SvZ5ke7TFZqAAAI; Path=/; HttpOnly; SameSite=Strict
Date: Fri, 26 Mar 2021 07:51:44 GMT
Connection: close
2021.03.26 08:51:44 4: HomeBridge: Got Cookie: io=Md-A_SvZ5ke7TFZqAAAI
2021.03.26 08:51:44 4: HomeBridge: received 15:40/accessories,10:40/status,
2021.03.26 08:51:44 3: Opening HomeBridge device ws:127.0.0.1:8581/socket.io/?token=eyJhbG
2021.03.26 08:51:44 5: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUz
2021.03.26 08:51:44 4: IP: 127.0.0.1 -> 127.0.0.1
2021.03.26 08:51:44 5: HttpUtils request header:
GET /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImZoZW0iLCJuYW1
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Sec-WebSocket-Version: 13
Upgrade: websocket
Connection: Upgrade
Cookie: io=Md-A_SvZ5ke7TFZqAAAI
Sec-WebSocket-Key: 0shFHI4hVspB5AwWBgYWwg==

2021.03.26 08:51:44 4: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6
2021.03.26 08:51:44 5: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1Ni
2021.03.26 08:51:44 5: HttpUtils response header:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: yCJBIO2eYYj4jbuF7AeJF06pEow=
2021.03.26 08:51:44 3: HomeBridge device opened
2021.03.26 08:51:44 5: SW: 2probe
2021.03.26 08:51:44 5: SW: 5
2021.03.26 08:51:44 5: SW: 42/accessories,["get-accessories"]
2021.03.26 08:51:44 5: Websocket msg: OP:1 LEN:6 MASK:0 FIN:1
2021.03.26 08:51:44 5: HomeBridge: got: 3probe
2021.03.26 08:51:44 5: HomeBridge: got pong: 3probe
2021.03.26 08:51:44 5: Websocket msg: OP:1 LEN:107595 MASK:0 FIN:1
2021.03.26 08:51:44 5: HomeBridge: got: 42/accessories,["accessories-data",[{"aid":1,"iid"
2021.03.26 08:51:44 1: ws:127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX
2021.03.26 08:51:44 1: !!!!closed!!!!


um 6:55 heute hab ich Fhem neu gestartet.
um 8:51 ist das Device auf disconnected gegangen.

ich kenne mich viel zu wenig im Detail mit der Technik aus, aber es scheint so als würde ein set Homebridge reconnect was anderes zu machen, als ein Tokenrefresh.
beim Reconnecten ist das Device immer opened geblieben.

vielleicht hilft dir das irgendwie weiter

Sascha_F

#34
Hi zusammen,

eine kurze Rückmeldung von mir: Das Problem mit dem HomeBridge-Device habe ich auch. Es wechselt auf disconnected und nur ein FHEM-Neustart behebt es. Da ich aber eh einen MQTT-Broker (MQTT2_SERVER) laufen habe, habe ich in Homebride im homebridge-unifi-protect den Broker eingetragen. Im Beispiel der "Eingabehilfe" ist es nicht benannt, aber es ist mqtt://user:passwort@IP:Port (sofern der Broker selbst oder über ein ALLOWED-Device abgesichert ist) --> damit werden die Motion-Events dann an das MQTT-Device übergeben. Für mich zumindest ist das OK, da ich den Broker eh laufen habe.

Ggf. ist dieses auch eine Variante (oder zumindest temporäre Lösung). @justme1968: Ich weiß nicht, wie das die breite Masse sieht, könnte Dich aber ggf. auch hinsichtlich der 39_homekitDevice.pm bzw. eher der 39_homebridge.pm entlasten...


Edit: Naja, etwas zu früh gefreut. Nach jedem Homebrigde-Neustart (oder zu Zeitpunkt X) erhalte ich das Motion-Event über den MQTT-Broker, allerdings werden immer neue Devices (z.B. MQTT2_mqttjs_2e35b933) angelegt (subscriptions ist unverändert) = so ist das natürlich nicht nutzbar. Genau dieses Problem hatte ich mit einer RING-Doorbell schon mal und konnte es nicht wirklich lösen (auch mqttjs) - bin dann dafür auf IFTTT umgestiegen. Und jetzt, wo ich demnächst auch auf die UniFi Doorbell wechseln will, holt es mich wieder ein :-/

Edit2: Wenn ich alles richtig verstanden habe, dann erzeugt mqttjs immer eine neue ClientID (was auch so gewollt ist) - was dann zum autocreate neuer Devices führt. Das autocreate sollte allerdings nur erfolgen, sofern noch kein MTTT2_DEVICE "lauscht". Ich habe jetzt im attr readingList die ClientID entfernt --> das sollte jetzt eigentlich schon die Lösung sein.

viele Grüße
Sascha

mcp

#35
ich hab's soeben installiert und in FHEM eingebunden.

Ich bekomme leider keine Devices angelegt trotz autocreate aktiv, -I (insecure Mode) und admin Rechten.

FHEM in aktuell von grade eben, Homebridge 1.3.4 mit diversen Sub-Bridges, ebenso homebridge-config-ui-x, Raspian Buster auf einen Pi 4b.

Im FHEM Log sieht man sowas:


2021.08.04 18:13:29 1: socket.io: unexpected answer: 97:0{"sid":"zVcY10dAbQJmnP7bAAAF","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}



Internals:
   CFGFN     
   DEF        127.0.0.1:8581
   FUUID      610abadf-f33f-b956-0f49-781ab015efea6230
   HOST       127.0.0.1:8581
   NAME       homebridge
   NOTIFYDEV  global
   NR         723
   NTFY_ORDER 50-homebridge
   STATE      active
   TYPE       homebridge
   homebridgeInstanceName Homebridge MCP
   homebridgeVersion 1.3.4
   nexttoken  02:03:29
   helper:
     auth:
       access_token foobarblabla
       expires_in 28800
       timestamp  1628093609.25499
       token_type Bearer
Attributes:
   password   crypt:bla
   room       23_Homekit
   user       crypt:blub


Wenn er keine Devices erstellt die eh von FHEM kommen ist ja super, ich hab aber auch 4 Devices die nicht in FHEM drin sind, zumindest die würde ich gerne sehen wollen :)

What am I doing wrong? :-)
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

justme1968

sind alle voraussetzungen laut erstem post erfüllt?
- insecure mode?
- homebridge-config-ui-x ?

wenn ja fällt mir auf die schelle nichts ein. kann erst nach dem urlaub schauen. vielleicht siehst du mit verbose 4/5 mehr.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

mcp

#37
Ja, hatte ich auch geschrieben.

Ich probiere mal mit verbose und schau mal ob ich was rausfinden kann.

Vielen Dank jedenfalls schon mal für deine Arbeit und weiterhin einen schönen Urlaub :)
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

mcp

#38
Man sieht die ganzen HTTP Response Header, Return Codes sind alle 200, und dann am Ende wieder den socket.io unexpected answer Fehler (der erste im Code)


2021.08.04 18:46:20 4: homebridge: Got Cookie:
2021.08.04 18:46:20 4: homebridge: received 97:0{"sid":"Ne-eTrqY2vHzF6syAAAM","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}
2021.08.04 18:46:20 1: socket.io: unexpected answer: 97:0{"sid":"Ne-eTrqY2vHzF6syAAAM","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}


Bei Bedarf kann ich natürlich auch das ganze Log posten.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

mcp

Guten Morgen.

Gibt's evtl. schon irgendwelche Neuigkeiten oder bist du immer noch im Urlaub @justme1968? :)
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

justme1968

gerade auf dem rückweg :). dauert noch bis zum
wochende. dann schaue ich.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

mcp

Ich hoffe du hattest einen schönen Urlaub und bist wieder gut nach Hause gekommen.

Ich wollte mal vorsichtig anfragen ob du schon Zeit hattest?

Ich bin wirklich gespannt auf die Möglichkeit die das Modul hier bietet und würde es wirklich gerne nutzen.

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

justme1968

ja. inzwischen bin ich zurück. das problem steht fürs wochenende auf dem plan.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

ich glaube das problem fängt schon mit der Got Cookie zeile an. da sollte das cookie stehen. bitte poste mal die HttpAnswer zeile direkt davor wenn du mit verbose 5 logst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

mcp

ich poste mal das ganze Log :)


2021.09.12 21:41:24 4: homebridge2fhem: fetching data from http://127.0.0.1:8581/api/auth/settings
2021.09.12 21:41:24 5: homebridge2fhem: HttpAnswer: HTTP/1.1 200 OK
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://ope
nweathermap.org https://api.openweathermap.org wss://127.0.0.1:8581 ws://127.0.0.1:8581
X-DNS-Prefetch-Control: off
Expect-CT: max-age=0
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: no-referrer
X-XSS-Protection: 0
vary: Origin
content-type: application/json; charset=utf-8
content-length: 552
Date: Sun, 12 Sep 2021 19:41:24 GMT
Connection: close
2021.09.12 21:41:24 4: homebridge2fhem: Got Cookie:
2021.09.12 21:41:24 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-12T19:41:24.330Z"}
2021.09.12 21:41:24 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: Sun, 12 Sep 2021 19:41:24 GMT';
$VAR13 = 'Connection: close';

2021.09.12 21:41:24 4: homebridge2fhem: posting data to http://127.0.0.1:8581/api/auth/login
2021.09.12 21:41:24 5: homebridge2fhem: HttpAnswer: HTTP/1.1 201 Created
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
X-DNS-Prefetch-Control: off
Expect-CT: max-age=0
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: no-referrer
X-XSS-Protection: 0
vary: Origin
content-type: application/json; charset=utf-8
content-length: 368
Date: Sun, 12 Sep 2021 19:41:24 GMT
Connection: close
2021.09.12 21:41:24 4: homebridge2fhem: Got Cookie:
2021.09.12 21:41:24 4: homebridge2fhem: received {"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwibmFtZSI6IkFkbWluaXN0cmF0b3IiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjVhMzAxOTkwNTNlMDE3MjE4MTA1N2JlM2U4OTQyNDZmYzRjNTUzOTM2MGUyZGVjODRiNjBlMWQyMzc5YmNlMGIiLCJpYXQiOjE2MzE0NzU2ODQsImV4cCI6MTYzMTUwNDQ4NH0.XoBIEzqFTyDMI26LvHjY0jIGdnM6E8RIU-LNyMEQYW8","token_type":"Bearer","expires_in":28800}
2021.09.12 21:41:24 3: homebridge2fhem: got token
2021.09.12 21:41:24 4: homebridge2fhem: token valid, next token refresh at: 05:31:24
2021.09.12 21:41:24 4: homebridge2fhem: fetching data from http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwibmFtZSI6IkFkbWluaXN0cmF0b3IiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjVhMzAxOTkwNTNlMDE3MjE4MTA1N2JlM2U4OTQyNDZmYzRjNTUzOTM2MGUyZGVjODRiNjBlMWQyMzc5YmNlMGIiLCJpYXQiOjE2MzE0NzU2ODQsImV4cCI6MTYzMTUwNDQ4NH0.XoBIEzqFTyDMI26LvHjY0jIGdnM6E8RIU-LNyMEQYW8&EIO=3&transport=polling
2021.09.12 21:41:24 2: HttpUtils url=http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwibmFtZSI6IkFkbWluaXN0cmF0b3IiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjVhMzAxOTkwNTNlMDE3MjE4MTA1N2JlM2U4OTQyNDZmYzRjNTUzOTM2MGUyZGVjODRiNjBlMWQyMzc5YmNlMGIiLCJpYXQiOjE2MzE0NzU2ODQsImV4cCI6MTYzMTUwNDQ4NH0.XoBIEzqFTyDMI26LvHjY0jIGdnM6E8RIU-LNyMEQYW8&EIO=3&transport=polling NonBlocking via http
2021.09.12 21:41:24 1: IP: 127.0.0.1 -> 127.0.0.1
2021.09.12 21:41:24 2: HttpUtils request header:
GET /socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwibmFtZSI6IkFkbWluaXN0cmF0b3IiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjVhMzAxOTkwNTNlMDE3MjE4MTA1N2JlM2U4OTQyNDZmYzRjNTUzOTM2MGUyZGVjODRiNjBlMWQyMzc5YmNlMGIiLCJpYXQiOjE2MzE0NzU2ODQsImV4cCI6MTYzMTUwNDQ4NH0.XoBIEzqFTyDMI26LvHjY0jIGdnM6E8RIU-LNyMEQYW8&EIO=3&transport=polling HTTP/1.0
Host: 127.0.0.1:8581
User-Agent: fhem
Accept-Encoding: gzip,deflate
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwibmFtZSI6IkFkbWluaXN0cmF0b3IiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjVhMzAxOTkwNTNlMDE3MjE4MTA1N2JlM2U4OTQyNDZmYzRjNTUzOTM2MGUyZGVjODRiNjBlMWQyMzc5YmNlMGIiLCJpYXQiOjE2MzE0NzU2ODQsImV4cCI6MTYzMTUwNDQ4NH0.XoBIEzqFTyDMI26LvHjY0jIGdnM6E8RIU-LNyMEQYW8
Cookie:

2021.09.12 21:41:24 1: http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwibmFtZSI6IkFkbWluaXN0cmF0b3IiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjVhMzAxOTkwNTNlMDE3MjE4MTA1N2JlM2U4OTQyNDZmYzRjNTUzOTM2MGUyZGVjODRiNjBlMWQyMzc5YmNlMGIiLCJpYXQiOjE2MzE0NzU2ODQsImV4cCI6MTYzMTUwNDQ4NH0.XoBIEzqFTyDMI26LvHjY0jIGdnM6E8RIU-LNyMEQYW8&EIO=3&transport=polling: HTTP response code 200
2021.09.12 21:41:24 2: HttpUtils http://127.0.0.1:8581/socket.io/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwibmFtZSI6IkFkbWluaXN0cmF0b3IiLCJhZG1pbiI6dHJ1ZSwiaW5zdGFuY2VJZCI6IjVhMzAxOTkwNTNlMDE3MjE4MTA1N2JlM2U4OTQyNDZmYzRjNTUzOTM2MGUyZGVjODRiNjBlMWQyMzc5YmNlMGIiLCJpYXQiOjE2MzE0NzU2ODQsImV4cCI6MTYzMTUwNDQ4NH0.XoBIEzqFTyDMI26LvHjY0jIGdnM6E8RIU-LNyMEQYW8&EIO=3&transport=polling: Got data, length: 100
2021.09.12 21:41:24 2: HttpUtils response header:
HTTP/1.1 200 OK
Vary: Origin
Access-Control-Allow-Credentials: true
Content-Type: text/plain; charset=UTF-8
Content-Length: 100
Date: Sun, 12 Sep 2021 19:41:24 GMT
Connection: close
2021.09.12 21:41:24 5: homebridge2fhem: HttpAnswer: HTTP/1.1 200 OK
Vary: Origin
Access-Control-Allow-Credentials: true
Content-Type: text/plain; charset=UTF-8
Content-Length: 100
Date: Sun, 12 Sep 2021 19:41:24 GMT
Connection: close
2021.09.12 21:41:24 4: homebridge2fhem: Got Cookie:
2021.09.12 21:41:24 4: homebridge2fhem: received 97:0{"sid":"1h1JED8llK9mz0UvAAAH","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}
2021.09.12 21:41:24 1: socket.io: unexpected answer 1: 97:0{"sid":"1h1JED8llK9mz0UvAAAH","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

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

justme1968

wenn das at tatsächlich geht: kannst du den den timer für das eingebaut refresh auch mal auf eine stunde setzen?

wenn es damit geht liegt es tatsächlich an der zeit, wenn es damit nicht geht weiß ich wenigstens den unterschied und kann suchen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

mcp

#61
Du meinst das hier:


my $refresh = $hash->{helper}{auth}{timestamp} + $hash->{helper}{auth}{expires_in} - 10*60;


? das hatte ich IMHO doch schon mit /10 getestet.

... das "set reconnect" reicht aus um das ganze im opened Status zu lassen solange der reconncet _VOR_ der nexttoken Zeit passiert. Es reichen z.B. auch alle 4 Stunden. Ich würde fast vermuten, daß auch 5 Sekunden vor der nexttoken Zeit reichen würde.


Was mir grade noch aufgefallen ist als ich fhem update gemacht habe:

im Eventmonitor taucht alle naselang (jede Sekunde) 1-3 x irgendein Device mit der Meldung:


Global global UNDEFINED homekitDevice_$lange-uuid homekitDevice $lange-uuid


auf. Das sind wohl alle diejenigen, die ich beim autocreate mit ignoreTypes gesetzt habe.

Muss das? also ich meine, die ständigen Events? :)
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

mcp

was leider auch noch nicht funktioniert ist die Aktualisierung der Readings von Geräten, die während der Startphase von Homebridge noch nicht eingeschaltet waren.

Konkret geht es bei mir um einen Luftentfeuchter, den ich automatisiert ein- & ausschalten lasse, je nachdem wie hoch die Luftfeuchtigkeit im Keller ist.

Der ist sehr oft aus und wenn man in diesem Zustand FHEM neu startet, dann bekommt homebridge2fhem es nicht mit, wenn er eingeschaltet wird. Homebridge selbst erkennt das und zeigt auch aktuelle Werte des Luftentfeuchters an.

Weiterhin ist mir aufgefallen, daß weder beim Luftentfeuchter (via Midea Air) noch beim Garagentor (via Meross) die Set Möglichkeiten mehr existieren, die sind - warum auch immer - weg. Die waren ja mal da, siehe paar Posts vorher von mir, wo ich beschrieben habe was an set funktioniert und was nicht.

Weiterhin zeigt FHEMweb für Attribute unterhalb homekitDevice 1x #readingList und 1x #setExtensionsEvent an (ja, mit # davor) was nicht funktioniert (Bad attribute name ...)

Das liegt wohl hier dran:


sub
homekitDevice_Initialize($)
{
  my ($hash) = @_;

  $hash->{SetFn}     = "homekitDevice_Set";
  $hash->{DefFn}     = "homekitDevice_Define";
  $hash->{UndefFn}   = "homekitDevice_Undefine";

  no warnings 'qw';
  my @attrList = qw(
    disable
    disabledForIntervals
    #readingList                                <---
    #setExtensionsEvent:1,0                     <---
    setList
    IODev
  );
  use warnings 'qw';
  $hash->{AttrList} = join(" ", @attrList)." $readingFnAttributes";
}


;-)

nachdem ich # jeweils weggenommen habe und FHEM 1x neu gestartet habe sind die Set Möglichkeiten auch wieder vorhanden.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

justme1968

ich kann mich gerade nicht erinnern die kommentare da eingebaut zu haben... klar das es nicht geht.

das 'nicht mitbekommen' problem: liegt es wirklich am zustand oder liegt es eventuell daran das zufällig gerade geschaltet wird wenn fhem noch nicht wieder ganz läuft?

ich schaue am wochenende noch mal danach.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

mcp

FHEM läuft dann schon lange. Wäre es während des Startups, hätte ich nix gesagt, würde ja nicht wundern :)
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

justme1968

kannst du mal bitte im log schauen ob es für das schalten ein event oder eine nachricht gibt?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

mcp

#66
Entschuldige bitte die späte Antwort, ich hatte ein wenig zu viel zu tun...

Ja, ich kann es nicht mehr reproduzieren, keine Ahnung wieso weshalb warum.

wegen den Set Befehlen, wo einige funktionieren, andere aber nicht, habe ich folgendes Debug Output für Dich:


2021.10.05 21:39:05 4: homebridge2fhem: posting data to http://127.0.0.1:8581/api/accessories/aa70a708d2871e955e9cd09c9ea4eaa4e58df2b54f49653f3de9b63d4099118d: {"characteristicType": "Active", "value": "Active" }

das passiert z.B. wenn ich den Luftentfeuchter mit set $bla Active 0 abschalten will.

Der Code setzt den Value ebenso auf Active anstatt 0. Hier z.B. etwas was funktioniert:


2021.10.05 21:40:41 4: homebridge2fhem: posting data to http://127.0.0.1:8581/api/accessories/aa70a708d2871e955e9cd09c9ea4eaa4e58df2b54f49653f3de9b63d4099118d: {"characteristicType": "RotationSpeed", "value": "73.0" }

das passiert z.B. wenn ich bei dem Luftentfeuchter die Drehgeschwindigkeit ändere. Hier sieht man einen korrekten Wert (in diesem Beispiel 73.0) und nicht RotationSpeed.

Das ist beim Garagentor via Meross nicht anders:


2021.10.05 21:44:05 4: homebridge2fhem: posting data to http://127.0.0.1:8581/api/accessories/5ab49d9474db66af67aa7c7a52b06df72be5a5fba1054175be5e7c701d6dcc76: {"characteristicType": "TargetDoorState", "value": "TargetDoorState" }
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

sorry. dauert noch. mir ist hier gerade alles mögliche dazwischen gekommen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

mcp

ok, danke für die Info.

Ja, solch' Tage/Wochen kenne ich ;-(
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

HansDampfHH

Bin auf dieses Module geschubbst worden, wäre genau das was ich suche.
Leider war die Einrichtung bisher nicht so erfolgreich.

Homebridge läuft bereits im insecure mode.
Habe die entsprechenden Files in den FHEM Ordner kopiert, Dateirechte passen und FHEM wurde neu gestartet.
Device wurde angelegt und autocreate is aktiviert:


Internals:
   CFGFN     
   DEF        192.168.148.46:8581
   FUUID      61ddf5ad-f33f-1920-0029-a98b382a25447cbe
   HOST       192.168.148.46:8581
   NAME       Homebridge
   NOTIFYDEV  global
   NR         584
   NTFY_ORDER 50-Homebridge
   STATE      active
   TYPE       homebridge
   homebridgeInstanceName Homebridge 5782
   homebridgeVersion 1.3.8
   helper:
Attributes:
   DbLogExclude .*
   alias      Homebridge
   room       Steuerung
   verbose    5


Da ich homebridge ohne Authentifizierung laufen habe, habe ich entsprechend kein user/pass gesetzt.
Im Log ist unter verbose 5 leider nicht viel zu sehen. nach einem 'reconnect' bekomme ich folgendes:


2022.01.12 10:01:47 5: Homebridge: HttpAnswer: HTTP/1.1 200 OK
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://192.168.148.46:8581 ws://192.168.148.46:8581
X-DNS-Prefetch-Control: off
Expect-CT: max-age=0
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: no-referrer
X-XSS-Protection: 0
vary: Origin
content-type: application/json; charset=utf-8
content-length: 553
Date: Wed, 12 Jan 2022 09:01:47 GMT
Connection: close
2022.01.12 10:01:47 4: Homebridge: Got Cookie:
2022.01.12 10:01:47 4: Homebridge: received {"env":{"ableToConfigureSelf":true,"enableAccessories":true,"enableTerminalAccess":true,"homebridgeVersion":"1.3.8","homebridgeInstanceName":"Homebridge 5782","nodeVersion":"v16.13.1","packageName":"homebridge-config-ui-x","packageVersion":"4.41.5","platform":"linux","runningInDocker":true,"runningInLinux":false,"dockerOfflineUpdate":true,"serviceMode":true,"temperatureUnits":"c","lang":"de","instanceId":"b988afb2c64f2bfe029664bf83...dc6d5826d2efacf78ff6"},"formAuth":false,"theme":"auto","serverTimestamp":"2022-01-12T09:01:47.795Z"}
2022.01.12 10:01:47 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://192.168.148.46:8581 ws://192.168.148.46: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: 553';
$VAR12 = 'Date: Wed, 12 Jan 2022 09:01:47 GMT';
$VAR13 = 'Connection: close';


Ich habe in Homebridge einen Xiaomi Fan laufen, den ich dort schalten kann. In FHEM wird aber kein entsprechendes Device angelegt.
Was mach ich falsch? Jemand einen Rat?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

justme1968

hast du das homebridge-config-ui-x installiert?

was meinst du mit
Zitathomebridge ohne Authentifizierung

ich bin mir nicht sicher ob das für homebridge-config-ui-x überhaupt geht und ob das modul damit klar kommen würde. das einfachst ist vermutlich du richtest einen admin user für fhem in homebridge-config-ui-x ein.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

HansDampfHH

#72
config-ui-x ist installiert, ich glaube das sieht man auch im Response:
"packageName":"homebridge-config-ui-x"

Ich meine, dass ich mich nicht anmelden muss im Frontend:

{
        "name": "Config",
        "port": 8581,
---> "auth": "none",
        "theme": "auto",
        "tempUnits": "c",
        "lang": "de",
        "platform": "config"
},


Oder verstehe ich da etwas falsch!?
Ich versuch es mal mit einem eigenen User für FHEM...

EDIT
Das hat leider nichts gebracht, User als admin angelegt und Credentials hinterlegt:

Internals:
   CFGFN     
   DEF        192.168.148.46:8581
   FUUID      61ddf5ad-f33f-1920-0029-a98b382a25447cbe
   HOST       192.168.148.46:8581
   NAME       Homebridge
   NOTIFYDEV  global
   NR         584
   NTFY_ORDER 50-Homebridge
   STATE      active
   TYPE       homebridge
   homebridgeInstanceName Homebridge 5782
   homebridgeVersion 1.3.8
   helper:
Attributes:
   DbLogExclude .*
   alias      Homebridge
   password   crypt:44574a45
   room       Steuerung
   user       crypt:565a5c5c
   verbose    5


Im Log taucht nichts besonders Neues auf und auch ein Device habe ich nicht :-(
Homebridge wurde auch neu gestartet.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

HansDampfHH

#73
Okay, erstes Problem gelöst. Es geht grundsätzlich nicht ohne Authentifizierung.
In der config muss "auth" gesetzt sein, auf "form". Entsprechend wurden Devices angelegt.

Aber leider nicht alle.
In den Screenshots sieht man das. Das eigentlich Device 'Xiaomi Fan2' toggled den Active-State.
Den habe so jetzt nicht in FHEM. Kann ich das lösen?

EDIT
Gerade gesehen, im Device kann ich über 'set' alles setzen.
Prima, besten dank für das Modul!
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

HansDampfHH

`tschuldigung. Doch noch mal.
Ich kann nun meinen Fan steuern, allerdings nur in eine Richtung, also nur Werte größer 0 setzen:

set homekitDevice_58bf6b6185a2293e9358da196b19d SwingMode 1 <-- funktioniert und kann man im Post sehen {"characteristicType": "SwingMode", "value": "1" }
set homekitDevice_58bf6b6185a2293e9358da196b19d SwingMode 0 <-- funktioniert nicht, im Post steht {"characteristicType": "SwingMode", "value": "SwingMode" }


Wenn man mal Testweise eine andere Zahl eingibt, die zwar keine Auswirkung hat, sieht man aber den Wert im Post:


set homekitDevice_58bf6b6185a2293e9358da196b19d SwingMode 2 <-- funktioniert und kann man im Post sehen {"characteristicType": "SwingMode", "value": "2" }


Ist das ein Bug oder gewollt, dass "0" nicht funktioniert?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

justme1968

zeig mal bitte ein jsonlist2 vom device und die ausgabe von set <name> ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

HansDampfHH

jsonlist

{
  "Arg":"homekitDevice_58bf147f0fc53cd584c1bf47fb30a7c3748f1b76b61e9358da196b19d",
  "Results": [
  {
    "Name":"homekitDevice_58bf147f0fc53cd584c1bf47fb30a7c3748f1b76b61e9358da196b19d",
    "PossibleSets":"Active: RotationSpeed:slider,0,0.5,100,1 LockPhysicalControls:0,1 SwingMode: RotationDirection:0,1 ",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userattr userReadings:textField-long verbose:0,1,2,3,4,5  disable disabledForIntervals #readingList #setExtensionsEvent:1,0 setList IODev event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading DbLogExclude DbLogInclude DbLogValueFn:textField-long alarmDevice:Actor,Sensor alarmSettings alexaName alexaProactiveEvents:1,0 alexaRoom batteryChange cmdIcon devStateIcon devStateIcon:textField-long devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,scene homebridgeMapping:textField-long icon room_map setList sortby structexclude webCmd webCmdLabel:textField-long widgetOverride",
    "Internals": {
      "CFGFN": "",
      "DEF": "58bf147f0fc53cd584c1bf47fb30a7c3748f1b76b61e9358da196b19d",
      "FUUID": "61df25a7-f33f-1920-8946-b20ac6e876ee5bb1",
      "IODev": "Homebridge",
      "NAME": "homekitDevice_58bf147f0fc53cd584c1bf47fb30a7c3748f1b76b61e9358da196b19d",
      "NR": "29057",
      "STATE": "???",
      "TYPE": "homekitDevice",
      "type": "Fanv2 [Active,CurrentFanState,RotationSpeed,LockPhysicalControls,SwingMode,RotationDirection]",
      "uniqueId": "58bf147f0fc53cd584c1bf47fb30a7c3748f1b76b61e9358da196b19d"
    },
    "Readings": {
      "Active": { "Value":"0", "Time":"2022-01-12 20:02:00" },
      "CurrentFanState": { "Value":"0", "Time":"2022-01-12 20:02:00" },
      "IODev": { "Value":"Homebridge", "Time":"2022-01-12 20:01:59" },
      "LockPhysicalControls": { "Value":"0", "Time":"2022-01-12 20:02:00" },
      "RotationDirection": { "Value":"1", "Time":"2022-01-12 20:02:00" },
      "RotationSpeed": { "Value":"0", "Time":"2022-01-12 20:02:00" },
      "SwingMode": { "Value":"0", "Time":"2022-01-12 20:02:00" }
    },
    "Attributes": {
      "DbLogExclude": ".*",
      "IODev": "Homebridge",
      "alias": "Xiaomi Fan 2",
      "room": "Steuerung"
    }
  }  ],
  "totalResultsReturned":1
}



set Active 1

2022.01.12 20:04:50 4: Homebridge: posting data to http://192.168.148.46:8581/api/accessories/58bf147f0fc53cd584c1bf47fb30a7c3748f1b76b61e9358da196b19d: {"characteristicType": "Active", "value": "1" }
2022.01.12 20:04:50 5: Homebridge: HttpAnswer: HTTP/1.1 200 OK
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://192.168.148.46:8581 ws://192.168.148.46:8581
X-DNS-Prefetch-Control: off
Expect-CT: max-age=0
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: no-referrer
X-XSS-Protection: 0
vary: Origin
content-type: application/json; charset=utf-8
content-length: 2472
Date: Wed, 12 Jan 2022 19:04:50 GMT
Connection: close


set Active 0

2022.01.12 20:07:36 4: Homebridge: posting data to http://192.168.148.46:8581/api/accessories/58bf147f0fc53cd584c1bf47fb30a7c3748f1b76b61e9358da196b19d: {"characteristicType": "Active", "value": "Active" }
2022.01.12 20:07:36 5: Homebridge: HttpAnswer: HTTP/1.1 200 OK
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://192.168.148.46:8581 ws://192.168.148.46:8581
X-DNS-Prefetch-Control: off
Expect-CT: max-age=0
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: no-referrer
X-XSS-Protection: 0
vary: Origin
content-type: application/json; charset=utf-8
content-length: 2472
Date: Wed, 12 Jan 2022 19:07:36 GMT
Connection: close
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

justme1968

ok. mir fällt auf das bei Active und bei SwingMode keine möglichen paramter in der set liste stehen.

kannst du mal bitte die log ausgaben mit verbose 5 im homebridge device zeigen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

HansDampfHH

Okay, ich hoffe das passt so, erst Active 1 und dann Active 0:

2022.01.13 19:36:47 4: Homebridge: posting data to http://192.168.148.46:8581/api/accessories/58bf147f0fc53cd584c1bf47fb30a7c: {"characteristicType": "Active", "value": "1" }
2022.01.13 19:36:47 5: Homebridge: HttpAnswer: HTTP/1.1 200 OK
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://192.168.148.46:8581 ws://192.168.148.46:8581
X-DNS-Prefetch-Control: off
Expect-CT: max-age=0
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: no-referrer
X-XSS-Protection: 0
vary: Origin
content-type: application/json; charset=utf-8
content-length: 2472
Date: Thu, 13 Jan 2022 18:36:47 GMT
Connection: close
2022.01.13 19:36:47 4: Homebridge: Got Cookie:
2022.01.13 19:36:47 4: Homebridge: received {"aid":2,"iid":2,"uuid":"000000B7-0000-1000-8000-0026BB765291","type":"Fanv2","humanType":"Fanv2","serviceName":"Xiaomi Fan 2","serviceCharacteristics":[{"aid":2,"iid":4,"uuid":"000000B0-0000-1000-8000-0026BB765291","type":"Active","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Active","value":0,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true},{"aid":2,"iid":5,"uuid":"000000AF-0000-1000-8000-0026BB765291","type":"CurrentFanState","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Current Fan State","value":0,"format":"uint8","perms":["ev","pr"],"maxValue":2,"minValue":0,"minStep":1,"canRead":true,"canWrite":false,"ev":true},{"aid":2,"iid":6,"uuid":"00000029-0000-1000-8000-0026BB765291","type":"RotationSpeed","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Rotation Speed","value":0,"format":"float","perms":["ev","pr","pw"],"unit":"percentage","maxValue":100,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true},{"aid":2,"iid":7,"uuid":"000000A7-0000-1000-8000-0026BB765291","type":"LockPhysicalControls","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Lock Physical Controls","value":0,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true},{"aid":2,"iid":8,"uuid":"000000B6-0000-1000-8000-0026BB765291","type":"SwingMode","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Swing Mode","value":0,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true},{"aid":2,"iid":9,"uuid":"00000028-0000-1000-8000-0026BB765291","type":"RotationDirection","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Rotation Direction","value":1,"format":"int","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true}],"accessoryInformation":{"Manufacturer":"Xiaomi","Model":"dmaker.fan.p18","Name":"Xiaomi Fan 2","Serial Number":"250630064","Firmware Revision":"1.5.7"},"values":{"Active":0,"CurrentFanState":0,"RotationSpeed":0,"LockPhysicalControls":0,"SwingMode":0,"RotationDirection":1},"instance":{"name":"homebridge","username":"0E:62:CC:81:57:82","ipAddress":"192.168.148.46","port":52198,"services":[],"connectionFailedCount":0},"uniqueId":"58bf147f0fc53cd584c1bf47fb30a7c"}


2022.01.13 19:40:40 4: Homebridge: posting data to http://192.168.148.46:8581/api/accessories/58bf147f0fc53cd584c1bf47fb30a7c: {"characteristicType": "Active", "value": "Active" }
2022.01.13 19:40:40 5: Homebridge: HttpAnswer: HTTP/1.1 200 OK
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://192.168.148.46:8581 ws://192.168.148.46:8581
X-DNS-Prefetch-Control: off
Expect-CT: max-age=0
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: no-referrer
X-XSS-Protection: 0
vary: Origin
content-type: application/json; charset=utf-8
content-length: 2472
Date: Thu, 13 Jan 2022 18:40:40 GMT
Connection: close
2022.01.13 19:40:40 4: Homebridge: Got Cookie:
2022.01.13 19:40:40 4: Homebridge: received {"aid":2,"iid":2,"uuid":"000000B7-0000-1000-8000-0026BB765291","type":"Fanv2","humanType":"Fanv2","serviceName":"Xiaomi Fan 2","serviceCharacteristics":[{"aid":2,"iid":4,"uuid":"000000B0-0000-1000-8000-0026BB765291","type":"Active","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Active","value":0,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true},{"aid":2,"iid":5,"uuid":"000000AF-0000-1000-8000-0026BB765291","type":"CurrentFanState","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Current Fan State","value":0,"format":"uint8","perms":["ev","pr"],"maxValue":2,"minValue":0,"minStep":1,"canRead":true,"canWrite":false,"ev":true},{"aid":2,"iid":6,"uuid":"00000029-0000-1000-8000-0026BB765291","type":"RotationSpeed","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Rotation Speed","value":0,"format":"float","perms":["ev","pr","pw"],"unit":"percentage","maxValue":100,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true},{"aid":2,"iid":7,"uuid":"000000A7-0000-1000-8000-0026BB765291","type":"LockPhysicalControls","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Lock Physical Controls","value":0,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true},{"aid":2,"iid":8,"uuid":"000000B6-0000-1000-8000-0026BB765291","type":"SwingMode","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Swing Mode","value":0,"format":"uint8","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true},{"aid":2,"iid":9,"uuid":"00000028-0000-1000-8000-0026BB765291","type":"RotationDirection","serviceType":"Fanv2","serviceName":"Xiaomi Fan 2","description":"Rotation Direction","value":1,"format":"int","perms":["ev","pr","pw"],"maxValue":1,"minValue":0,"minStep":1,"canRead":true,"canWrite":true,"ev":true}],"accessoryInformation":{"Manufacturer":"Xiaomi","Model":"dmaker.fan.p18","Name":"Xiaomi Fan 2","Serial Number":"250630064","Firmware Revision":"1.5.7"},"values":{"Active":0,"CurrentFanState":0,"RotationSpeed":0,"LockPhysicalControls":0,"SwingMode":0,"RotationDirection":1},"instance":{"name":"homebridge","username":"0E:62:CC:81:57:82","ipAddress":"192.168.148.46","port":52198,"services":[],"connectionFailedCount":0},"uniqueId":"58bf147f0fc53cd584c1bf47fb30a7c"}
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

HansDampfHH

Ist schon etwas her, aber ich hake noch mal nach...der Sommer ist ja bald da ;-)
Konntest du was mit den Log-Ausgabe anfangen?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

HansDampfHH

#80
Hm, ist ja doch schlagartig warm geworden und der Fan steht hier nun.
Meinst du, du kannst mir noch mal einen  Rat geben woher dieses "Setting" kommt?
Warum fehlen bei Active und SwingMode die Werte? Setzen kann ich sie mit setList zumindest nicht.


"PossibleSets":"Active: RotationSpeed:slider,0,0.5,100,1 LockPhysicalControls:0,1 SwingMode: RotationDirection:0,1 ",
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

mcp

Ich ,,hampel" mit dem Modul auch rum ;)

Für einige meiner Probleme mit dem Modul muss ich als Workaround einen reconnect machen, nachdem man 1x etwas gesetzt hat, was danach nicht mehr geht. Ist zwar nicht schön aber so funktioniert es wenigstens ein bisschen besser :)

Ich würde mich über eine Weiterentwicklung von homebridge2fhem sehr freuen.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

justme1968

sorry für das lange schweigen. ich knabbere gerade an einer möglichkeit wie man auch nicht-homebridge (d.h. native homekit) geräte aus homekit in fhem verwenden kann und ich glaube ich habe inzwischen auch dafür eine prinzipielle lösung und ich kann aktuell einen luftbefeuchter für den es kein fhem modul und keine weitere schnittstelle gibt über diesen weg aus fhem heraus ansprechen.

bis das ganze sinnvoll für andere zu verwenden ist wird es noch etwas dauern. aber es wird vermutlich dieses jahr noch etwas :).
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

mcp

hmm ok, bringt dann aber nichts für Geräte, die HomeKit nicht nativ können.

Das andere Projekt (homebridge2fhem) ist dann also so gesehen tot?

Eigentlich müsste ich jede Minute einen Reconnect machen, weil manchmal einfach nichts aktualisiert wird, jedoch muss ich dann mehrfach am Tag FHEM neu starten, weil sich dein Modul dann irgendwann sporadisch nicht mehr verbinden will und permanent im disconnected Mode bleibt.
Maintainer: 98_vitoconnect.pm
Raspberry Pi 4B, 4 GB RAM, 32 GB SD Karte
Raspbian Bullseye 32-bit, FHEM up2date

Lee181

#84
Hallo zusammen!

Vielen Dank erstmal an @justme1968 für dieses Modul! Es war für mich ein wenig ein Gamechanger, da ich nach einem Weg gesucht habe, den aktuellen Status (An/Aus/Play/Pause) von meinem AppleTV in FHEM auswerten zu können.
Da ich kein Modul gefunden habe, das einen AppleTV direkt anspricht, habe ich es gelöst über die Installation eines Homebridge-Plugins (https://github.com/maxileith/homebridge-appletv-enhanced) und dem Modul von justme1968 aus diesem Thread.

Damit das funktioniert, musste ich folgende Änderungen vornehmen:

- in der Datei 39_homebridge.pm habe ich geändert bzw. auskommentiert:

Zeile 297
ORIGINAL
        next if( $accessory->{type} eq 'Television' );
NEU
#        next if( $accessory->{type} eq 'Television' );
Somit wird der AppleTV schonmal (nach einem reconnect des FHEM-Moduls) erkannt!

- Weiterhin habe ich in der Datei 39_homekitDevice.pm noch folgendes eingefügt bzw. geändert:

ORIGINAL:
my $readings = {             On => 'state',
             CurrentTemperature => 'temperature',
        CurrentRelativeHumidity => 'humidity',
                 MotionDetected => 'motion',
                CurrentPosition => '',
                 TargetPosition => 'pct',
                  PositionState => 'motor',
              OccupancyDetected => 'presence',
               CurrentDoorState => 'state',
             ContactSensorState => 'state',
               StatusLowBattery => 'battery',
              TargetTemperature => 'desired',
              TargetTemperature => 'desired',
      TargetHeatingCoolingState => 'mode',
     CurrentHeatingCoolingState => '',
               };

my $values = {
                           On => { 0 => 'off',
                                   1 => 'on', },
               MotionDetected => { 0 => 'nomotion',
                                   1 => 'motion', },
                PositionState => { 0 => 'down',
                                   1 => 'up',
                                   2 => 'stopped', },
            OccupancyDetected => { 0 => 'absent',
                                   1 => 'present', },
             CurrentDoorState => { 0 => 'open',
                                   1 => 'closed', },
           ContactSensorState => { 0 => 'closed',
                                   1 => 'open', },
             StatusLowBattery => { 0 => 'ok',
                                   1 => 'low', },
    TargetHeatingCoolingState => { 0 => 'off',
                                   1 => 'heat',
                                   2 => 'cool',
                                   3 => 'auto', },
      TemperatureDisplayUnits => { 0 => 'celsius',
                                   1 => 'fahrenheit', },
             };

NEU:
my $readings = {             On => 'state',

# für AppleTV eingefügt
             Active => 'state',

             CurrentTemperature => 'temperature',
        CurrentRelativeHumidity => 'humidity',
                 MotionDetected => 'state',
                CurrentPosition => '',
                 TargetPosition => 'pct',
                  PositionState => 'motor',
              OccupancyDetected => 'presence',
               CurrentDoorState => 'state',
             ContactSensorState => 'state',
               StatusLowBattery => 'battery',
              TargetTemperature => 'desired',
              TargetTemperature => 'desired',
      TargetHeatingCoolingState => 'mode',
     CurrentHeatingCoolingState => '',
               };

my $values = {
                           On => { 0 => 'off',
                                   1 => 'on', },


# für AppleTV eingefügt
                      Active  => { 0 => 'off',
                                   1 => 'on', },
# für AppleTV geändert
               MotionDetected => { 0 => 'off',
                                   1 => 'on', },


                PositionState => { 0 => 'down',
                                   1 => 'up',
                                   2 => 'stopped', },
            OccupancyDetected => { 0 => 'absent',
                                   1 => 'present', },
             CurrentDoorState => { 0 => 'open',
                                   1 => 'closed', },
           ContactSensorState => { 0 => 'closed',
                                   1 => 'open', },
             StatusLowBattery => { 0 => 'ok',
                                   1 => 'low', },
    TargetHeatingCoolingState => { 0 => 'off',
                                   1 => 'heat',
                                   2 => 'cool',
                                   3 => 'auto', },
      TemperatureDisplayUnits => { 0 => 'celsius',
                                   1 => 'fahrenheit', },
             };

Einerseits gibt es jetzt das Basis-Device des AppleTVs, das ich jetzt von FHEM an- und ausschalten kann (Remote-Knöpfe drücken ebenso); das Auslesen des aktuellen Apps (über "ActiveIdentifier") geht auch.
Andererseits werte ich einen über das Homebridge-Plugin bereitgestellten Motion-Sensor aus, ob der AppleTV gerade etwas abspielt oder pausiert.
Das ganze wird dann von diversen DOIFS verwurstet, die dann beim Anschalten des AppleTVs z.B. den Beamer einschalten, das Licht ausmachen (bzw. rückwärts). Und wenn ich auf Pause drücke, geht das Licht leicht gedimmt wieder an bzw. aus.

Soweit so gut... Vielleicht kann ja jemand damit etwas anfangen, daher wollte ich es hier teilen.

ABER: Auch ich laufe leider immer wieder in diesen "disconnected"-Fehler rein. Ich habe es zwar halbgar gelöst, indem ich alle drei Stunden einen automatischen reconnect des Devices mache.

Nur passiert es sporadisch immer wieder, dass nach einem reconnect auch der Status der einzelnen Devices in FHEM sich ohne Zutun kurz ändert (der Status des AppleTVs geht kurzzeitig auf "on" und dann wieder auf "off") und in der Folge nachts im leeren Wohnzimmer das Licht angeht (weil ein DOIF das Licht hochfährt, wenn der AppleTV auf "off" geht).

Gibt es dafür vielleicht eine Lösung?
Ist der Autor an dem Modul noch dran oder ist es verwaist?
Kennt jemand vielleicht einen Weg, mit dem ich direkt von FHEM aus den AppleTV auswerten kann?