homebridge/homekit

Begonnen von justme1968, 01 Februar 2016, 16:16:37

Vorheriges Thema - Nächstes Thema

justme1968

und wie bekommst du die bonjour nachrichten von einem vlan ins andere? hast du einen proxy im netz?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

dikay

Das mache ich mit einem "Bonjour Gateway", wie hier beschrieben:
http://www.cisco.com/c/en/us/support/docs/wireless/aironet-1100-series-access-point/113443-cuwn-apple-bonjour-dg-00.html#deploy

Ich habe dafür eine Debian VM die in allen zu versorgenden VLANs hängt. Das klappt seit Jahren wirklich super und funktioniert auch mit AirPrint, AirPlay usw..
Leider kriegt man damit aber die Multicast Problematik einiger Devices nicht in den Griff (Yamaha MusicCast, Sonos etc.)

RaspiLED

Hi,
Zwischen zwei Netzen geht es auch per Hand ;-)
https://forum.fhem.de/index.php/topic,48558.msg596415/topicseen.html#msg596415
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

dikay

#2718
Leider treten nun nach einem Tag doch wieder die Meldungen "Aktualisieren" auf. :-(
Ich vermute irgendwie das hat mit dem Refresh der MusicCast Devices zu tun. Ich hatte dort den Pull Intervall auf 120 60 (Device off & on Intervall) im Default. Gestern Nachmittag auf 10 10, danach doch wieder etwas erhöht auf 60 30.

Leider ist das alles eine Glaskugel.
Wo kann ich denn die homebridge-fhem Logs finden?
Gibt es eine Übersicht aller notwendigen Attribute und Mappings für FHEM Devices? (der Thread ist leider mittlerweile etwas lang  ;D)

Was ich finden konnte:
# tail -10 /var/log/homebridge.err
[2018-1-2 17:46:25] [FHEM] LIV_mcLivingRoom-power not a number: off
[2018-1-2 17:46:25] [FHEM] PAR_mcPartyRoom-power not a number: off
[2018-1-2 17:46:25] [FHEM] siri: no service type detected
HAP Warning: Characteristic 00000079-0000-1000-8000-xxxxxxxxxxxx not in required or optional characteristics for service 0000004A-0000-1000-8000-xxxxxxxxxx. Adding anyway.
[2018-1-2 18:27:50] [FHEM] DIN_mcDiningRoom-power not a number: off
[2018-1-2 18:28:16] [FHEM] DIN_mcDiningRoom-power not a number: on
[2018-1-2 18:37:10] [FHEM] DIN_mcDiningRoom-power not a number: off
[2018-1-2 21:31:50] [FHEM] BTH_mcBathroom-power not a number: on
[2018-1-2 21:33:53] [FHEM] BTH_mcBathroom-power not a number: off
[2018-1-3 11:11:09] [FHEM] DIN_mcDiningRoom-power not a number: on


Zeitgleich im homebridge.log:
[2018-1-3 11:11:09] [FHEM] DIN_mcDiningRoom: executing set cmd for On with value
true
[2018-1-3 11:11:09] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=set%20DI
N_mcDiningRoom%20on&fwcsrf=csrf_xxxxxxxxxxxxxx&XHR=1
  2018-01-03 11:11:09 caching: DIN_mcDiningRoom-state: on
[2018-1-3 11:11:09] [FHEM]     caching: On: true (as boolean; from 'on')
  2018-01-03 11:11:09 caching: DIN_mcDiningRoom-power: on


Danke und viele Grüße
Dominik

justme1968

die logs werden nach stdout geschrieben. wo du die bei dir findest hängt von deinem start script ab.

wie das mapping funktioniert steht im ersten posting und im wiki. was möglich ist hängt von der jeweiligen homekit version ab. gundsätlioch wird alles unterstütz das mit homekit geht.

um auszuschliessen das es am homebridge-fhem liegt: am besten erst mal mit einem einfachen dummy schalter anfangen der nur on und off kann. wenn es damit auch nicht geht liegt es an deinem netzwerk.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

dikay

Danke für schnelle Antwort! Die Log Files passen dann schon.

Ich habe jetzt noch diesen homebridge fix eingebaut: https://github.com/nfarina/homebridge/issues/1277 ganz unten
Die TCP Session iOS --> Homebridge wird laut meiner Firewall scheinbar ca. 2h offen gehalten. Ich teste also in 2h nochmal. Mal sehen...

Noch ein paar Fragen zur Implementierung:
- Sind diese Error Meldungen "not a number: off" ok, oder müsste ich meine MusicCast Devices irgendwie mappen?
- Wie wird denn Lauter/Leiser bei SONOS implementiert? Ist das über HomeKit Dimmer implementiert oder kann man dort wirklich Volume und damit auch Siri den Befehl für die Lautstärke geben?
- Ab und an "verhakt" sich das Caching z.B. bei HomeMatic Switches - würdest du ein Abschalten des Caching empfehlen?

Danke und Grüße
Dominik

justme1968

ich meine das es normal ist das diese verbindung nicht die ganze zeit offen gehalten wird. aber sie sollte automatisch neu aufgebaut werden. bis jetzt waren es immer irgendwelche netzwerk/bionjour probleme wenn es nicht korrekt funktioniert.

wenn ein not a number erscheint stimmt etwas mit dem mapping nicht.

über eine custom characteristic. die ist auch über eve steuerbar. es gibt angeblich eine neue offizielle Volume characteristic, aber die funktioniert scheinbar noch nicht.

siri kennt aktuell kein lautstärke kommando für homekit geräte.

eigentlich darf sich da nichts verhaken. schau mal was du dann im log findest. ich weiss garnicht ob das abschalten aktuell tatsächlich noch geht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

dikay

Moin Moin  :),

neues aus dem Testlabor: Die Aktualisierungsprobleme sind weiterhin vorhanden, jedoch konnte ich es jetzt mal ganz gut beobachten. Die Home App wartet und wartet, während auf der FHEM VM einfach keine TCP Verbindung im netstat erscheint. Von daher definitiv Netzwerk... Next step: IPS Filter und AV Scan in der Firewall deaktiviert.

Bzgl. MusicCast habe ich jetzt ein bisschen gebastelt und ein Mapping als Lampe mit Dimmer gebaut. Das funktioniert soweit auch, jedoch kommt es innerhalb FHEM zu sehr langen Verzögerungen, obwohl die Befehle korrekt und schnell in der homebridge umgesetzt werden. Dies verursacht vermutlich das MusicCast Modul in FHEM.

Noch eine Frage dazu: Wenn ich die Helligkeit (also die Lautstärke) ändere, sehe ich im homebridge Log jedes mal NACH dem Brightness Befehl erneut den "power on" Befehl, obwohl das Gerät bereits läuft. Kommt dies durch HomeKit/iOS selbst, oder wird das im homebridge-Modul so umgesetzt? Passt vllt. mein Mapping nicht, so dass HomeKit den aktuellen Status nicht richtig erkennt?

Ich habe dazu schon ein Notify-Macro gebaut, das den Power-On Befehl abfängt, jedoch bleibt der unschöne Delay von ca. 32s - wie man im Log sehr schön sehen kann:

[2018-1-4 11:56:28] [FHEM] DIN_mcDiningRoom: executing set cmd for Brightness with value 50
[2018-1-4 11:56:28] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=set%20DIN_mcDiningRoom%20volume%2050&fwcsrf=csrf_xxxxx&XHR=1
[2018-1-4 11:56:28] [FHEM] DIN_mcDiningRoom: executing set cmd for On with value true
[2018-1-4 11:56:28] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=set%20DIN_mcDiningRoom%20;trigger%20Notify_HomeBridge_MC_power_on%20DIN_mcDiningRoom&fwcsrf=csrf_xxxxx&XHR=1
  2018-01-04 11:57:00 caching: DIN_mcDiningRoom-volume: 50


Hier noch mein Mapping: (cmdOn ist noch eine Baustelle)
attr genericDeviceType Lightbulb
homebridgeMapping clear On=power,valueOn=on,valueOff=off,cmdOn=;trigger+Notify_HomeBridge_MC_power_on+DIN_mcDiningRoom,cmdOff=power+off Brightness=volume::volume


Notify:
Notify_HomeBridge_MC_power_on {
if($EVENT ne "on") {
fhem("set $EVENT power on");
}
}


Danke und viele Grüße
dikay

justme1968

homekit selber sendet beim ändern der helligkeit immer noch zusätzlich ein on. es gibt diverse thread mit varianten wie man das auf fhem seite zum teil wieder rückgängig machen kann. mit einem notify kann man das nicht abfangen, aber z.b. mit FILTER und cmdalias.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

elmar

Hallo liebes Forum,
ich betreibe meinen fhem-Server seit etwas über 4 Jahren. Nach Erweiterung mit MQTT und etlichen sonoffs  :) habe ich mich, im Rahmen der überfälligen Aufräumarbeiten, auch um die Anbindung von HomeKit gekümmert.
Großen Dank an die fleissigen Pfleger und Ersteller von Wiki und Forum!

Was bei mir, trotz umfangreicher Recherche, nicht so richtig klappen will sind die Befehle in Richtung fhem.

Ich habe mir einen Thermostat Dummy mit genericDeviceType thermostat, den Readings measured-temp und desired-temp angelegt.

Mein bisheriges Mapping:

clear TargetTemperature=desired-temp::desired-temp,minValue=21,maxValue=26,minStep=1,nocache=1
CurrentTemperature=measured-temp

Funktioniert soweit. Bis eben auf die Änderung/Aktualisierung von desired-temp in fhem.
Mir erschließt sich die Anwendung des cmd: irgendwie (noch) nicht. Leider kommt es in keinem der gefundenen Beispiele als cmd vor. ich habe immer nur cmds: gefunden, möchte aber nur ein set zurück geben.

Ginge so etwas ?

clear CurrentTemperature=measured-temp
TargetTemperature=desired-temp::desired-temp,cmd=value ...


Kurz zu meinem Hintergrund.
Ich programmiere in C, C++. Meine Perl-Kenntnisse sind eher bescheiden.
Zumindest bisher hat´s für mein fhem-Projekte aber gereicht. ;)

(fhem und hombebridge sind aktuell)

Hilfe willkommen
VG Elmar

justme1968

damit ein dummy ein set kommando direkt in einem reading ablegt musst du dort das readingsList attribut richtig setzen. sonst landet alles immer nur in state.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

elmar

 :D wow Danke!
... hatte ich auch irgendwo gelesen, aber wieder vergessen.

VG Elmar

dikay

Vielen Dank für den Tipp mit dem cmdalias.

Hier meine nun meine funktionsfähige Lösung um die Lautstärke von MusicCast Devices zu steuern:

cmdalias pro Device definieren:
set DIN_mcDiningRoom power on AS {
if(Value("$EVTPART0") ne "on") {
fhem("set " . $EVENT);
}
}


Device für HomeKit fit machen:
attr genericDeviceType Lightbulb
attr homebridgeMapping clear On=power,valueOn=on,valueOff=off,cmdOn=power+on,cmdOff=power+off Brightness=volume::volume
attr siriName MusicCast (optional, versteht Siri aber sehr gut)

hboltz

Hallo,

ich kämpfe grade mit meinen Somfy Rollos, die in FHEM selbst hervorragend funktionieren, die ich aber über Homekit nicht ordentlich steuern kann. Die Konfiguration eines Rollos sieht in FHEM wie folgt aus:

Internals:
   ADDRESS         000021
   DEF                 000021 A0 0010
   IODev             CUL433
   NAME             OG_Rollo1_B
   NR                 84
   STATE            open
   TYPE              SOMFY
   move             stop
   CODE:
     1          000021
   READINGS:
     2018-01-04 15:00:21   enc_key         A0
     2018-01-04 15:00:21   exact           0
     2018-01-02 15:50:34   parsestate      off
     2018-01-04 15:00:21   position        0
     2018-01-04 15:00:22   received        20
     2018-01-04 15:00:21   rolling_code    0010
     2018-01-04 15:00:21   state           open
Attributes:
   IODev                          CUL433
   alias                             Rollo Bad
   devStateIcon                .*:fts_shutter_100
   eventMap                     attr OG_Rollo1_B eventMap on:down off:up
   genericDeviceType        blind
   icon                             fts_shutter_10
   model                          somfyblinds
   room                           Rollos,Homekit
   webCmd                      up:stop:down

Ohne den "genericDeviceType blind" funktionieren die Rollos in Homekit/Eve soweit, dass sie sich über einen Schalter fahren lassen. U.U. muss ich den 2 mal betätigen, da die Apps nicht wissen, wie der aktuelle Status bzw. die Position ist. Dies ist aber i.d.R. egal. da ich dies ja weiß oder sehe. Mit dem "genericDeviceType blind" sehen die Rollos in den Apps aus wie Rollos, haben auch hoch und runter Symbole, lassen sich aber nicht mehr bedienen.

Was ich gerne als Minimallösung hätte, wäre das ich die Rollos über entsprechende Icons im Homekit "up - stop - down" fahren kann. Kann mir hier einer der "homebridgemapping" Profis helfen. Ich verstehe die Logik hinter diesem Attribut einfach momentan noch nicht.

no_Legend

Zitat von: exit2308 am 17 November 2017, 19:47:15
Lassen sich bei Custom Characteristics irgendwie die Units im mapping mit angeben oder ändern?
(PERCENTAGE,CELSIUS,LUX,ARC_DEGREE .. usw.)
bzw. werden nur die Hauseigenen von Apple unterstützt?

CCC04890-565B-4376-B39A-3113341D9E0F=Wetter:rain_day,name=RainDay,format=FLOAT,unit=mm

Funktioniert so weit, mir fehlt da nur die Masseinheit noch..

Was hast du für ne generic device typ genommen?
Gibt es eine Liste wo alle generic device typ aufgelistet sind?

Danke und Gruß Robert
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.