{"id":89813,"date":"2015-11-26T18:34:06","date_gmt":"2015-11-26T17:34:06","guid":{"rendered":"http:\/\/www.iphone-ticker.de\/?p=89813"},"modified":"2015-11-26T18:34:33","modified_gmt":"2015-11-26T17:34:33","slug":"homebridge-siri-und-das-terminal-homekit-server-selbst-gebaut","status":"publish","type":"post","link":"https:\/\/www.iphone-ticker.de\/homebridge-siri-und-das-terminal-homekit-server-selbst-gebaut-89813\/","title":{"rendered":"Homebridge, Siri und das Terminal: Homekit-Server selbst gebaut"},"content":{"rendered":"<p>ifun.de Leser Dirk hat sich genauer mit der quelloffenen Homebridge-L\u00f6sung besch\u00e4ftigt, die sowohl auf dem Mac als auch auf einem Windows-Rechner oder einem Raspberry Pi installiert werden kann und anschlie\u00dfend in der Lage ist, eure Ger\u00e4te Homekit-kompatibel zu verwalten. Ein Bastel-Projekt, das euch unter anderem dazu bef\u00e4higt, die eigenen HUE-Lampen auch dann mit Siris Hilfe zu steuern, wenn ihr noch nicht in die <a rel=\"noindex, nofollow\" href=\"http:\/\/www.ifun.de\/amzn\/B016151IPI\">neue HUE-Bridge<\/a> investiert habt. <\/p>\n<p><a href=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/nodejs.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-89814\" src=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/nodejs.jpg\" alt=\"nodejs\" width=\"500\" height=\"329\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/nodejs.jpg 500w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/nodejs-300x197.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Doch nicht nur HUE-Lampen lassen sich so in Apples Homekit-Konzept einbinden, der freie Homebridgeversteht sich auch auf zahlreiche andere Devices, die \u00fcber eine Netzwerkschnittstelle verf\u00fcgen. <\/p>\n<p>Um euch den Einstieg zu erleichtern, hat Dirk den groben Ablauf (Node installieren, Homebridge installieren, Homebridge konfigurieren und Homekit-Setup konfigurieren) im Anschluss notiert und motiviert euch so vielleicht ein etwas umfangreicheres Wochenendprojekt in Angriff zu nehmen. Wir sagen Dank und w\u00fcnschen euch viel Erfolg. <\/p>\n<h2>Node.js installieren<\/h2>\n<p>Das Installationspaket kann auf <a href=\"https:\/\/nodejs.org\/en\/\">nodejs.org<\/a> aus dem Netz geladen werden.<\/p>\n<h2>Homebridge und Hue-Plugin im Terminal installieren<\/h2>\n<p>W\u00e4hrend der Terminal-Installation der Node-Pakete <a href=\"https:\/\/github.com\/nfarina\/homebridge\">Homebridge<\/a> und <a href=\"https:\/\/www.npmjs.com\/package\/homebridge-philipshue\">Homebridge-Philips<\/a> darauf achten, dass nicht die Entwickler-Versionen, sondern die normalen Pakete ausgew\u00e4hlt werden. Eventuell werden hierbei Xcode-Komponenten nachinstalliert.<\/p>\n<p><code>sudo npm install -g homebridge<br \/>\nsudo npm install -g homebridge-philipshue<\/code><\/p>\n<h2>Homebridge starten<\/h2>\n<p><code>homebridge<\/code><\/p>\n<p>Es erscheint folgende Fehlermeldung:<\/p>\n<blockquote><p>Couldn\u2019t find a config.json file at &#8218;\/Users\/username\/.homebridge\/config.json&#8216;. Look at config-sample.son for examples of how to format your config.js and add your home accessories.<\/p><\/blockquote>\n<h2>Config-Datei anlegen<\/h2>\n<p>Die fehlende config.json-Datei mit folgendem Inhalt (und einem geeigneten Editor wie etwa Textmate) erstellen und in das angegebene Verzeichnis packen.<\/p>\n<p><a href=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code1.png\" alt=\"code1\" width=\"700\" height=\"408\" class=\"aligncenter size-full wp-image-89824\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code1.png 700w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code1-300x175.png 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Hierf\u00fcr eventuell zun\u00e4chst in das Terminal abtauchen, um versteckte Ordner sichtbar zu machen:<\/p>\n<p><code>defaults write com.apple.finder AppleShowAllFiles true<br \/>\nkillall Finder<\/code><\/p>\n<h2>Homebridge erneut starten<\/h2>\n<p><code>homebridge<\/code><\/p>\n<p>Es erscheint wieder eine Fehlermeldung, da in der Config-Datei noch die Angaben der Hue fehlen:<\/p>\n<blockquote><p>Save the Philips Hue bridge ip address ##.##.##.## to your config to skip discovery.<\/p>\n<p>\/usr\/local\/lib\/node_modules\/homebridge-philipshue\/node_modules\/node-hue-api\/node_modules\/q\/q.js:126<br \/>\nthrow e;<br \/>\n^<br \/>\nPlease press the link button on your Philips Hue bridge, then start the HomeBridge server within 30 seconds.<\/p><\/blockquote>\n<p>Einfach den Anweisungen folgen und die Werte in der Config-Datei erg\u00e4nzen. Danach jeweils neu starten. Am Ende sollte der Hue-Abschnitt in etwa so aussehen:<\/p>\n<p><a href=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code2.png\" alt=\"code2\" width=\"700\" height=\"218\" class=\"aligncenter size-full wp-image-89825\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code2.png 700w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code2-300x93.png 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<h2>Homebridge final starten<\/h2>\n<p><code>homebridge<\/code><br \/>\nFolgende Ausgabe erscheint im Terminal:<br \/>\n<a href=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code3.png\" alt=\"code3\" width=\"700\" height=\"314\" class=\"aligncenter size-full wp-image-89826\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code3.png 700w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/code3-300x135.png 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<h2>Homebridge mit dem iPhone Verbinden<\/h2>\n<p>Hierf\u00fcr am besten <a rel=\"noindex, nofollow\" href=\"http:\/\/www.ifun.de\/app\/917695792\">die Eve-App<\/a> verwenden und den Anweisungen folgen. Weitere Infos dazu lassen sich <a href=\"https:\/\/www.elgato.com\/de\/eve-app-homekit\">hier einsehen<\/a>.<\/p>\n<p>Zwar werden die Szenen aus der Hue-App (sofern keine Homekit-f\u00e4hige Hue-Bridge vorhanden ist) nicht automatisch \u00fcbernommen, aber man kann in der App seine eigenen Szenen definieren. Ich habe zudem festgestellt, dass die Hue-App mit neuer Bridge nicht ganz fehlerfrei l\u00e4uft.<\/p>\n<p>So werden etwa die Szenen synchronisiert, aber nicht, wenn man diese l\u00f6scht und nicht zuvor aus den Siri-Einstellungen entfernt hat. Diese bleiben wohl auf ewig im HomeKit. Daher lieber diese App f\u00fcr die Administration verwenden.<\/p>\n<h2>Eventuell die Anzeige versteckter Dateien wieder r\u00fcckg\u00e4ngig machen<\/h2>\n<p><code>defaults write com.apple.finder AppleShowAllFiles false<br \/>\nkillall Finder<\/code><\/p>\n<h3>Fertig!<\/h3>\n<p>Jetzt sollten Siri-Befehle wie \u201eMach die Lampen aus [dunkler, heller]\u201c oder \u201eAktiviere [Szene]\u201c funktionieren:<\/p>\n<h2>F\u00fcr Entwickler<\/h2>\n<p>Wer will, kann auch seine eigenen Plugins schreiben. Hierf\u00fcr empfiehlt es sich, die Bridge nicht global (ohne -g) zu installieren:<\/p>\n<p><code>npm install homebridge<br \/>\nnpm install homebridge-philipshue<\/code><\/p>\n<p>Anschlie\u00dfend das Verzeichnis \u201enodes_modules\u201c (aus dem eigenen Home-Verzeichnis) in einem Editor \u00f6ffnen. Hier am Beispiel von <a href=\"https:\/\/code.visualstudio.com\/download\">Microsoft Code<\/a>, was auch \u00e4hnlich unter Windows aussehen sollte. Darin die config.json-Datei direkt im Root erstellen:<\/p>\n<p><a href=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/config.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-89816\" src=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/config.jpg\" alt=\"config\" width=\"700\" height=\"526\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/config.jpg 700w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/config-300x225.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Zum Starten eine launch.json Datei mit dem Zahnrad erstellen:<\/p>\n<p><a href=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/starten.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-89817\" src=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/starten.jpg\" alt=\"starten\" width=\"700\" height=\"523\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/starten.jpg 700w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/starten-300x224.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>und die Parameter f\u00fcr \u201eProgram\u201c und \u201eargs\u201c so anpassen, dass die Bridge gestartet wird und die richtige config.json-Datei l\u00e4dt:<\/p>\n<p><code>\"program\": \".bin\/homebridge\",<br \/>\n\"args\": [\"--user-storage-path=.\/\"],<\/code><\/p>\n<p><a href=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/conf.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-89818\" src=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/conf.jpg\" alt=\"conf\" width=\"700\" height=\"526\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/conf.jpg 700w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/conf-300x225.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Die Homebridge mit F5 oder dem Pfeil starten:<\/p>\n<p><a href=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/launch.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-89819\" src=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/launch.jpg\" alt=\"launch\" width=\"700\" height=\"525\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/launch.jpg 700w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/launch-300x225.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<h3>Fertig!<\/h3>\n<p>Wer sich ein wenig mit Javascript auskennt, kann seine eigenen Plugins schreiben. Ich habe mir z.B. eines f\u00fcr meinen Fernseher (Toshiba) geschrieben, welcher via http-Requests gesteuert werden kann. Diese kann man beispielsweise mit der entsprechenden iPhone-App (falls es eine solche f\u00fcr den Fernseher gibt) und der Proxy-App <a href=\"https:\/\/www.charlesproxy.com\/\">Charles<\/a> herausfinden.<\/p>\n<p>Anschlie\u00dfend muss man diese dann in das Script integrieren. Theoretisch k\u00f6nnte man alles ansteuern, was via Bluetooth, http, ssh, Applescript usw. erreichbar ist.<\/p>\n<p>Einfach mal in die entsprechenden Beispiele schauen, wie so etwas geht: <a href=\"https:\/\/www.npmjs.com\/browse\/keyword\/homebridge-plugin\">Hier gibt\u2019s auch schon<\/a> fertige Anbindungen f\u00fcr diverse Ger\u00e4te:<\/p>\n<p><a href=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/homekit1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-89820\" src=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/homekit1.jpg\" alt=\"homekit\" width=\"700\" height=\"398\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/homekit1.jpg 700w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/homekit1-300x171.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Und so sieht das dann im Terminal aus:<\/p>\n<p><a href=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/terminal.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-89821\" src=\"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/terminal.jpg\" alt=\"terminal\" width=\"700\" height=\"324\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/terminal.jpg 700w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/terminal-300x139.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>Viel Spa\u00df!<\/p>\n","protected":false},"excerpt":{"rendered":"<a href=\"https:\/\/www.iphone-ticker.de\/homebridge-siri-und-das-terminal-homekit-server-selbst-gebaut-89813\/\"><img width=\"150\" height=\"150\" src=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/11\/terminal-150x150.jpg\" class=\"alignright tfe wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a><p>ifun.de Leser Dirk hat sich genauer mit der quelloffenen Homebridge-L\u00f6sung besch\u00e4ftigt, die sowohl auf dem Mac als auch auf einem Windows-Rechner oder einem Raspberry Pi installiert werden kann und anschlie\u00dfend in der Lage ist, eure Ger\u00e4te Homekit-kompatibel zu verwalten. Ein Bastel-Projekt, das euch unter anderem dazu bef\u00e4higt, die eigenen HUE-Lampen auch dann mit Siris Hilfe [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":89821,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[379,55,3220,2821,1730,3221,2795,74],"class_list":["post-89813","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-anleitung","tag-diy","tag-homebridge","tag-homekit","tag-hue","tag-node","tag-terminal","tag-tipp"],"aioseo_notices":[],"featured_image":["http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/10\/august-homekit-header.jpg"],"rest_api_enabler":{"featured_image":"http:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2015\/10\/august-homekit-header.jpg"},"_links":{"self":[{"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/posts\/89813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/comments?post=89813"}],"version-history":[{"count":7,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/posts\/89813\/revisions"}],"predecessor-version":[{"id":89831,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/posts\/89813\/revisions\/89831"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/media\/89821"}],"wp:attachment":[{"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/media?parent=89813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/categories?post=89813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/tags?post=89813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}