Autor Thema: test: modul zu integration von homebridge geräten in fhem  (Gelesen 6482 mal)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20833
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
« Letzte Änderung: 14 September 2021, 09:24:02 von justme1968 »
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline andasquared

  • New Member
  • *
  • Beiträge: 27
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #1 am: 14 März 2021, 15:23:02 »
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

Offline andasquared

  • New Member
  • *
  • Beiträge: 27
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #2 am: 14 März 2021, 15:37:37 »
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


Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20833
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #3 am: 14 März 2021, 16:27:56 »
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.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20833
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #4 am: 14 März 2021, 16:30:00 »
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.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline andasquared

  • New Member
  • *
  • Beiträge: 27
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #5 am: 14 März 2021, 17:36:12 »
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

Offline andasquared

  • New Member
  • *
  • Beiträge: 27
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #6 am: 15 März 2021, 09:42:08 »
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

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20833
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #7 am: 15 März 2021, 09:56:27 »
versuch mal rauszufinden woran die verzögerung liegt. bei mir geht das innerhalb einer sekunde.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Mitch

  • Hero Member
  • *****
  • Beiträge: 2561
  • Give more - Expect less
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #8 am: 15 März 2021, 10:46:23 »
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

https://ts.la/markus34522

Offline Thyraz

  • Hero Member
  • *****
  • Beiträge: 1212
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #9 am: 15 März 2021, 11:43:16 »
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, ...

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20833
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #10 am: 15 März 2021, 11:47:35 »
einfach mal sammeln welche devices funktionieren, welche eventuell noch passende defaults und mappings brauchen, welche ausgeblendet werden sollten weil sie nicht sinnvoll sind.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Mitch

  • Hero Member
  • *****
  • Beiträge: 2561
  • Give more - Expect less
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #11 am: 15 März 2021, 15:00:23 »
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

https://ts.la/markus34522

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20833
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #12 am: 15 März 2021, 15:29:53 »
zeig mal bitte die ausgabe von {Dumper $defs{<name aus der meldung>}}
« Letzte Änderung: 15 März 2021, 16:30:00 von justme1968 »
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Mitch

  • Hero Member
  • *****
  • Beiträge: 2561
  • Give more - Expect less
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #13 am: 15 März 2021, 16:15:50 »
Irgendwie geht das nicht, wirft mir immer einen Fehler aus: Global symbol "%def" requires explicit package name
FHEM im Proxmox Container

https://ts.la/markus34522

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20833
Antw:test: modul zu integration von homebridge geräten in fhem
« Antwort #14 am: 15 März 2021, 16:31:01 »
sorry. da hatte die autokorrektur zugeschlagen. es muss defs heißen.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH