Hallöle,
wollte nur mal kurz einen Zwischenbescheid geben, dass ich Symcon mit Homekit auf einem Synology-NAS DS-918+ unter Docker am Laufen habe.
Da ich die letzten Wochen etwas Gelegenheit hatte, mich im Zuge einer Kamera-Integration etwas intensiver mit den Niederungen von HAP auseinander zusetzen, ist es mir nun zwischenzeitlich gelungen, diese Kombination ans Laufen zu bekommen. Auf der Syno läuft auch weiterhin der Bonjour-Dienst für Syno-Services, da Syno den avahi-daemon etwas aufgebohrt hat
MIt der wichtigste Punkte ist der Folgende:
-
Docker darf nicht im HOST-Modus betrieben werden, da auf dem Default-Interface docker0 kein bridging erfolgt und bei Verwendung dieses Netzwerkmodus weitere Einschränkungen im Hinblick auf zusätzliche Netzwerke existieren. Stattdessen müssen alle Ports statisch bei der Container-Erstellung angegeben werden
-
Es ist ein eigenes Hostnetz mittels Macvlan zu erstellen, ich habe das so gelöst, dass ich die IP-Adresse dieses eigenen Interfaces in meinen normalen Bereich 192.168.x.x gelegt habe:
Es hat ab dem Zeitpunkt funktioniert, als ich im symcon image sowohl den avahi-daemon als auch dbus und diverse dbus-tools installiert und eine bestimmte Reihenfolge eingehalten habe. Man kann zwar in der avahi-daemon.conf den Zugriff via dbus deaktivieren, wenn der avahi-daemon aber mit dbus-Support kompiliert ist, funktioniert das trotzdem nicht. Und für alpine-linux habe ich nur das avahi-Paket mit dbus-Support gefunden
Auch hat der normale dbus autolaunch wegen mangelndem X11 nicht funktioniert, der manuelle dbus-launch ist ebenfalls gescheitert. Nachdem ich nun aber den dbus service „manuell“ starte, funktioniert auch der avahi-daemon (die PID muss ggfs. zuvor gelöscht werden, je nachdem wie der dbus Service zuvor angehalten wurde)
Was auf jede Fall notwendig ist: sobald der avahi beendet und neugestartet wird, muss zwingend die Instanzkonfiguration für DNS-SD in Symcon aufgerufen werden, damit sich Symcon wieder bei Homekit „anmeldet“. KOntrollieren kann man das dann mit dem avahi-browser
Außerdem ist mir aufgefallen, dass von Symcon nicht immer der alte Service via DNS-SD abgemeldet wird, wenn im Bereich HomekitBridge der Name/ID/Port umbenannt wird etc. Dies führt dann entweder zu Dubletten, die im Zuge der Namensauflösung als -1, -2 etc. aufgelöst werden, oder aber eben zu Paring-Fehlern durch den bereits vorhandenen Namen
Ich werde die nächsten Tage hoffentlich dazukommen, das nochmals mit Standard-Symcon Image zu testen und eine kleine Anleitung zu liefern.
Auf jeden Fall funktioniert es bei mir bisher mit Homekit gut bis auf die folgenden Punkte:
1.) Nach einem Neustart des dbus/avahi muss Symcon den Dienst wieder via DNS-SD erneut registrieren, bevor die HOME-APP das Vorhandensein erkennt
2.) Nach dem Neustart von 1.) werden in der HOME-App nur aktive Accessories als solche erkannt. Für alle anderen ACCs muss man zuerst einmal auf den Button zum Ausschalten klicken, dann wieder aktivieren, dann tut es.
=>Das dürfte bei mir aberr ein Problem des KNX-Moduls sein, so dass Symcon nicht den richtigen Status an HomekitBridge übergeben kann und erst nach aus und wieder einschalten des jeweiligen ACCs die HOME-App den Status korrekt übermittelt bekommt.
Greetings,
Torsten