Im ersten Teil meines Beitrags habe ich Euch die Basics der verschiedenen Netzwerktechnologien erläutert. Was sind mDNS, DNS-SD und VLAN? Die Antworten darauf sind nun bekannt. Kommen wir also zum Elefanten im Raum: Was zum Teufel hat das alles mit HomeKit zu tun? Eine ganze Menge, aber fangen wir vorne an.
Nehmen wir als Beispiel einen einfachen Stromzwischenstecker, der per WiFi ins Netzwerk eingebunden ist. Dieser Adapter bekommt über das DHCP Protokoll eine IP-Adresse in Eurem Netzwerk zugewiesen.
Unter dieser Adresse ist dieser Adapter nun in Eurem Netzwerk erreichbar. Der Adapter fängt nun an per Multicast Datenpakete in Euer Netzwerk zu senden. Diese Datenpakete enthalten zum Beispiel Informationen über seinen Namen, seine IP-Adresse sowie die Dienste, die er anbietet. Als Beispiel kann man hier einen AirPlay Speaker nehmen. Wenn Ihr einen solchen in Eurem Netzwerk betreibt und Ihr auf Eurem iPhone in der Musik App das AirPlay Icon drückt, erscheint dieser automatisch in der Liste der wählbaren Ausgabemöglichkeiten. Aber woher weiß Euer iPhone überhaupt, dass dieser Speaker existiert und wie er erreichbar ist?
It just works?
Ganz einfach: Der Speaker hat diese Informationen über Multicast in Eurer Netzwerk gesendet. Das Multicast Protokoll sendet diese Daten an jedes Netzwerkgerät, welches in Eurem Netzwerk existiert, egal, ob es diese bekommen möchte oder nicht.
Ihr könnt dies sehr einfach nachprüfen. Im App Store gibt es hierzu eine App namens „Discovery“, diese ist auch für Macs verfügbar. Diese App macht sichtbar, was ihr normalerweise nicht mitkommt. Es listet die verschiedenen Multicast Daten auf, die Euer Gerät unentwegt bekommt. In unserem Beispiel oben werdet ihr feststellen, dass ein „Bereich“ in der App auftaucht, der sich „_raop._tcp“ nennt. In diesem Bereich tauchen alle Geräte auf, die den Dienst „AirPlay“ anbieten. Wahrscheinlich werdet ihr noch weitere Bereiche antreffen, diese werden ebenfalls von Geräten in Eurem Netzwerk ausgesendet.
Home(Kit) Accessory Protocol
Die für uns interessanten Details findet Ihr unter dem Bereich „_hap._tcp.“. Hier tauchen alle HomeKit Geräte auf, die Ihr in Eurem Netzwerk betreibt. Achtung: Natürlich seht Ihr hier nur Geräte, die per WiFi oder Ethernet eingebunden sind. „HAP“ steht hier für „Home(Kit) Accessory Protocol“. Die App „Discovery“ ist also Euer erster Anlaufpunkt, um zu schauen, ob Eurer Geräte sich in Eurem Netzwerk erfolgreich per Multicast bekanntgeben können.
Doch was, wenn hier keine Geräte auftauchen? Wieso können Probleme auftreten und noch viel wichtiger: Wie könnt Ihr diese Probleme lösen? All das in Teil 3 dieser Artikelserie.