<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wuppi68</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wuppi68"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Wuppi68"/>
	<updated>2026-04-21T17:18:12Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Trennung/Aufteilung_von_TCP/IP_Netzen_zur_Erh%C3%B6hung_der_Sicherheit&amp;diff=30029</id>
		<title>Trennung/Aufteilung von TCP/IP Netzen zur Erhöhung der Sicherheit</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Trennung/Aufteilung_von_TCP/IP_Netzen_zur_Erh%C3%B6hung_der_Sicherheit&amp;diff=30029"/>
		<updated>2019-04-01T12:26:14Z</updated>

		<summary type="html">&lt;p&gt;Wuppi68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}} &lt;br /&gt;
&lt;br /&gt;
In diesem Wiki-Artikel geht es um die Aufteilung/Einrichtung eines (W)LAN-Netztes mit 2 getrennten Adressbereichen sowie die Einrichtung von Subnetzen. Das hat Grundsätzlich nichts mit FHEM direkt zu tun, trägt aber zur Netzwekssicherheit bei. &lt;br /&gt;
Dies Beispiel bezieht sich auf eine Konkrete Ausgangslage mit einem Netzwerk, welches durch eine Fritzbox verwaltet wird. Sinngemäß sollte es sich aber auf andere Router (Speedport funktioniert nicht, da dort keine weitere Route für das lokale Netz eingetragen werden kann) übertragen lassen. FHEM läuft auf einen Raspberry Pi 3+ (zudem wird dieser auch als Pi-Hole verwendet).&amp;lt;br&amp;gt;&lt;br /&gt;
Ein ganz besonderer Dank geht an Wuppi68, der mir geduldig geholfen hat mein Netzwerk umzugestalten.&lt;br /&gt;
Hinweis: {{Hinweis|Dies ist keine Schritt-für-Schritt Anleitung. Der Artikel dient lediglich als Leitfaden. Die entsprechenden Einstellungen und Befehle sind auf die vorhandene Software anzupassen.&lt;br /&gt;
}} &lt;br /&gt;
== Ausgangslage ==&lt;br /&gt;
Das vorhandene Netzwerk besteht aus einer Fritzbox 7490 an der ein Klasse-C mit dem Adressbereich 192.168.178.0/24 angebunden ist. Die Geräte sind mittel WLAN und LAN angeschlossen.&lt;br /&gt;
== Ziel ==&lt;br /&gt;
Wie bereits eingangs erwähnt, wird es am Ende zwei Netzwerke geben.&lt;br /&gt;
Ein Gästenetzwerk mit der Adresse 192.168.178.0/24 sowie ein internes Netzwerk mit mehreren Subnetzen im Adressbereich 172.16.0.0/24.&lt;br /&gt;
Für das interne Routing wird zusätzliche Hardware benötigt. Ein Raspbarry Pi 3+ kann hardwarebeding schnell an die Grenzen kommen sollte dieser als Router eingesetzt werden.&lt;br /&gt;
Es wird empfohlen eine Sicherung Einstellungen des Routers und des Pis durchzuführen um jederzeit zur Ausgangslage zurück zu kehren!&lt;br /&gt;
== Motivation ==&lt;br /&gt;
In der heutigen Zeit kommunizieren eine Vielzahl von Geräten mittels (W)LAN. Wo anfangs nur ein Handy und ein Laptop waren sind heutzutage noch Sprachassistenten, Fernseher und besonders Geräte des IoTs dazu gekommen. Gerade in Hinblick auf Sicherheit sind dies Geräte besonders zu betrachten. Entweder werden diese Geräte mit fest eingestellten Nutzernamen/Passwörter ausgeliefert oder erkannte Sicherheitslücken werden nicht geschlossen. Dazu kommt noch eine Cloud-Verbindung bei der auch nicht überprüft werden kann, welche Daten übertragen werden.&lt;br /&gt;
Durch die Trennung der verschiedenen (Sub)Netze kann verhindert werden das u.a vertrauliche Daten ausgeleitet werden können oder aber der Zugriff auf das Internet komplett unterbunden wird&lt;br /&gt;
== DHCP anpassen ==&lt;br /&gt;
Bisher erfolgte die IP-Vergabe durch die Fritzbox. Zukünftig erfolgt die IP-Vergabe durch den Raspberry Pi (hier durch die Pi-Hole Software).&lt;br /&gt;
=== IP-Bereich ===&lt;br /&gt;
Im ersten Schritt wird der DHCP-Server so angepasst, dass zukünftig Adressen aus dem IP-Bereich 172.16.0.0/16 vergeben werden.&lt;br /&gt;
In diesem Fall aus dem Bereich 172.16.1.100 – 172.16.1.200.&lt;br /&gt;
Später erfolgt die weitere Unterteilung der 16er Netze in 24er Netze.&lt;br /&gt;
=== Aufteilung in Subnetze===&lt;br /&gt;
Über den DHCP-Server werden für bekannte Geräte statische Adressen vergeben. Dabei erfolgt eine weitere Aufteilung in Subnetze. &lt;br /&gt;
Später können diese 24er Netze durch Firewallregeln und VLAN-TAgs entsprechende Zugrissrechte bekommen und voneinander abgegrenzt werden.&lt;br /&gt;
Als Beispiel für die Aufteilung&lt;br /&gt;
* 172.16.1.0 --&amp;gt; Default&lt;br /&gt;
* 172.16.2.0 --&amp;gt; Heimautomation&lt;br /&gt;
* 172.16.3.0 --&amp;gt; Media&lt;br /&gt;
* 172.16.4.0 --&amp;gt; Zocken&lt;br /&gt;
* ...&lt;br /&gt;
* 172.16.255.0 --&amp;gt; das letzte &lt;br /&gt;
Dadurch das als Subnetmaske die 255.255.0.0 (entspricht /16) gewählt wurde, sind die Geräte auch weiterhin noch untereinander erreichbar.&lt;br /&gt;
Die Fritzbox (der Router) bekommt die Adresse 172.16.1.1 mit der Netzmaske 255.255.0.0&lt;br /&gt;
Nach dieser Umstellung sollten alle Geräte wie gewohnt erreichbar sein.&lt;br /&gt;
&lt;br /&gt;
=== FHEM-Anpassen===&lt;br /&gt;
Nach der IP-Umstellung empfiehlt es sich in FHEM alles Devices und Bedingungen anzupassen, welche auf alte IPs verweisen.&lt;br /&gt;
===Beobachten===&lt;br /&gt;
Sind alle Adressen umgestellt und FHEM entsprechend angepasst, sollte das Netzwerk jetzt ein wenig beobachtet werden. Läuft alles? Sind alle Geräte erreichbar? Gibt es ungewöhnliches Verhalten?&lt;br /&gt;
Wenn alles läuft, kann mit dem Nächsten Schrift fortgefahren werden. Ansonsten ggf. noch Fehler korrigieren.&lt;/div&gt;</summary>
		<author><name>Wuppi68</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LC-Sw1PBU-FM_Unterputz-Schaltaktor_1-fach&amp;diff=22919</id>
		<title>HM-LC-Sw1PBU-FM Unterputz-Schaltaktor 1-fach</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LC-Sw1PBU-FM_Unterputz-Schaltaktor_1-fach&amp;diff=22919"/>
		<updated>2017-10-14T20:42:59Z</updated>

		<summary type="html">&lt;p&gt;Wuppi68: HW defekt mit aufgenommen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware|Bild=HM-LC-Sw1PBU-FM_Front.jpg&lt;br /&gt;
|Bildbeschreibung=HM-LC-Sw1PBU-FM Unterputz-Schaltaktor 1-fach für Markenschalter&lt;br /&gt;
|HWProtocol=HomeMatic &lt;br /&gt;
|HWType=Aktor / Sender&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3MHz&lt;br /&gt;
|HWChannels=1&lt;br /&gt;
|HWVoltage=230V&lt;br /&gt;
|HWPowerConsumption=0,5W (Standby)&lt;br /&gt;
|HWPoweredBy=Netz&lt;br /&gt;
|HWSize=71x71x37 mm &lt;br /&gt;
|HWDeviceFHEM=[http://fhem.de/commandref.html#CUL_HM CUL_HM]&lt;br /&gt;
|HWManufacturer=eQ-3}}&lt;br /&gt;
&lt;br /&gt;
[[HM-LC-Sw1PBU-FM Unterputz-Schaltaktor 1-fach]] ist ein einkanaliger Funk-Schaltaktor &amp;quot;für Markenschalter&amp;quot;, der mittels entsprechender Installationsadapter mit Tasterwippen diverser renommierter Hersteller versehen werden kann und sich dadurch nahtlos in bestehende Elektroinstallationen einfügt.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Das besondere an diesem Schalter ist, dass er den vorhandenen Unterputzeinsatz vollständig ersetzt. Dabei kann die Wippe des vorhandenen Schalters - je nach Hersteller - mit einer entsprechenden Adapterplatte weiterverwendet werden.&lt;br /&gt;
&lt;br /&gt;
Es handelt sich hierbei nur um einen Aktor. Es ist nicht möglich die Taster mit anderen Homematic Geräten zu peeren. Man kann nur andere Taster mit dem Aktor peeren und diesen fernsteuern.&lt;br /&gt;
&lt;br /&gt;
== Technische Daten ==&lt;br /&gt;
&lt;br /&gt;
{|  &lt;br /&gt;
| Art&lt;br /&gt;
| Unterputz&lt;br /&gt;
|- &lt;br /&gt;
| Typ&lt;br /&gt;
| 1fach&lt;br /&gt;
|- &lt;br /&gt;
| Stand-by-Verbrauch&lt;br /&gt;
| 0,5 W (lt. Bedienungsanleitung, S. 31, Stand 02/2012, 1 W)&lt;br /&gt;
|- &lt;br /&gt;
| Versorgungsspannung&lt;br /&gt;
| 230 V&lt;br /&gt;
|- &lt;br /&gt;
| Abmessungen (B x H x T)&lt;br /&gt;
| 71 x 71 x 37 mm&lt;br /&gt;
|- &lt;br /&gt;
| Farbe&lt;br /&gt;
| Grau&lt;br /&gt;
|- &lt;br /&gt;
| Max. Schaltleistung&lt;br /&gt;
| 1000 W&lt;br /&gt;
|- &lt;br /&gt;
| Relaistyp&lt;br /&gt;
| Wechsler&lt;br /&gt;
|- &lt;br /&gt;
| Funkfrequenz&lt;br /&gt;
| 868,3 MHz&lt;br /&gt;
|- &lt;br /&gt;
| Empfängerklasse&lt;br /&gt;
| SRD Class 2&lt;br /&gt;
|- &lt;br /&gt;
| Sicherung (intern)&lt;br /&gt;
| Rundsicherung 5 A, träge&lt;br /&gt;
|- &lt;br /&gt;
| Max. Sendeleistung&lt;br /&gt;
| 10 mW&lt;br /&gt;
|- &lt;br /&gt;
| IP-Schutzgrad&lt;br /&gt;
| IP 20&lt;br /&gt;
|- &lt;br /&gt;
| Umgebungstemperaturbereich&lt;br /&gt;
| 5–35 °C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Hardware-Installation ==&lt;br /&gt;
Der vorhandene Schalter muss ersetzt werden. Dabei sind ein paar Dinge zu beachten:&lt;br /&gt;
&lt;br /&gt;
* Der (neue) Schalter benötigt neben dem L-Leiter auch einen N-Leiter für die Stromversorgung.&lt;br /&gt;
* Die Befestigung ist nicht wie bei dem System z.B. von Merten durch spreizen von Klammern möglich. Der Schalter muss in die Löcher in der Dose geschraubt werden (Schrauben im Lieferumfang enthalten).&lt;br /&gt;
* Die &amp;quot;Frontplatte&amp;quot; bzw. der Befestigungsrahmen ist etwas dicker, als der Rahmen eines normalen Schalters. Dadurch kann es sein, dass der vorhandene Rahmen des Schalters nicht mehr ganz an der Wand anliegt.&lt;br /&gt;
* Um die bereits vorhandene Schalter-Wippe weiter nutzen zu können, muss ein passender Adapter verwendet werden.&lt;br /&gt;
&lt;br /&gt;
{{Randnotiz|RNText=&#039;&#039;&#039;Info zum Bausatz&#039;&#039;&#039;&lt;br /&gt;
Das Gerät ist als Bausatz verfügbar, es sind die folgenden bedrahteten Bauteile einzulöten:&lt;br /&gt;
* 6 Kondensatoren&lt;br /&gt;
* 3 Stiftleisten/Fassungen (insgesamt 16 Pole)&lt;br /&gt;
* 1 Spannungsregler, 1 Diode&lt;br /&gt;
* 1 Relais (8 Pole)&lt;br /&gt;
* 1 Induktivität&lt;br /&gt;
* 1 Widerstand, 1 Varistor&lt;br /&gt;
Die zu lötenden Bauteile sind relativ unproblematisch, die Lötstellen befinden sich jedoch in drei Fällen sehr nah an bzw. zwischen vorbestückten SMD-Bauteilen.}}&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Das [[Pairing (HomeMatic)|Pairing]] sollte wie in [[HomeMatic Devices pairen]] beschrieben durchgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== FHEM Config-Auszug ===&lt;br /&gt;
Ein exemplarischer Auszug aus der [[Konfiguration]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define LichtWohnzimmer CUL_HM 197764&lt;br /&gt;
attr LichtWohnzimmer devInfo 010100&lt;br /&gt;
attr LichtWohnzimmer firmware 2.1&lt;br /&gt;
attr LichtWohnzimmer hmClass receiver&lt;br /&gt;
attr LichtWohnzimmer model unknown&lt;br /&gt;
attr LichtWohnzimmer room Wohnzimmer&lt;br /&gt;
attr LichtWohnzimmer serialNr JEQ0xxxxxx&lt;br /&gt;
attr LichtWohnzimmer subType switch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mögliche Schaltoperationen ===&lt;br /&gt;
Der Aktor versteht folgende Aktionen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set &amp;lt;name&amp;gt; on -&amp;gt; Schaltet den Aktor ein&lt;br /&gt;
set &amp;lt;name&amp;gt; off -&amp;gt; Schaltet den Aktor aus&lt;br /&gt;
set &amp;lt;name&amp;gt; toggle -&amp;gt; Ändert den Zustand des Aktors, d.h. ein eingeschalteter Aktor wird ausgeschaltet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzliche Funktionen wie ein direkter Zugriff auf die integrierten Taster (self01 und self02) des Schalters können durch Programmieren der [[HomeMatic_Register_programmieren | HomeMatic Register]] realisiert werden.&lt;br /&gt;
&lt;br /&gt;
Dabei entspricht self01 dem Ausschalter des Wippschalters und self02 dem Einschalter des Wippschalters. Settings, die man also für den self01 Schalter einstellt, werden beim Ausschalten des Lichts (im Standard) angewandt und umgekehrt.&lt;br /&gt;
&lt;br /&gt;
=== Log-Auszug ===&lt;br /&gt;
In FHEM ist nach dem Schalten des HM-LC-Sw1PBU-FM folgendes Log zu sehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2012-06-05_00:09:22 LichtWohnzimmer deviceMsg: off&lt;br /&gt;
2012-06-05_00:09:22 LichtWohnzimmer off&lt;br /&gt;
2012-06-05_07:40:51 LichtWohnzimmer on&lt;br /&gt;
2012-06-05_07:40:51 LichtWohnzimmer deviceMsg: on&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Einrichten des Schalters kommt folgender Auszug (Stand: 06.2012)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2012.06.04 23:12:27 2: CUL_HM pair: CUL_HM_switch_197764 is a switch, model unknown serialNr JEQ0xxxxxx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Funktion als Treppenlichtschalter ===&lt;br /&gt;
Um dafür zu sorgen, dass z.B. ein durch den HM-LC-Sw1PBU-FM eingeschaltetes Licht automatisch von FHEM nach 10 Minuten ausgeschaltet wird, kann folgende Definition verwendet werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Beleuchtung_an notify Beleuchtung:on* define Beleuchtung_aus at +00:10:00 set Beleuchtung off &amp;lt;/code&amp;gt;&lt;br /&gt;
Das Licht kann auch direkt über den Schalter nach 10 Minuten ausgeschaltet werden. Dies hat den Vorteil, dass die Funktion auch ohne FHEM funktioniert und keinen Funkverkehr verursacht. Wert ist in Sekunden also 60*10 für 10 Minuten. Es gibt zwei Schaltoperationen long press (lg) und short press (sh), short press ist ein kurzes antippen, long press ist den Schalter für ca. 1 Sekunde oder mehr gedrückt halten.&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet shOnTime 600 self01&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet lgOnTime 600 self01&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet shOnTime 600 self02&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet lgOnTime 600 self02&lt;br /&gt;
&lt;br /&gt;
=== Workaround um den Taster in FHEM zu nutzen ===&lt;br /&gt;
Man kann den Taster in der Originalfirmware nicht mit anderen Geräten peeren. Allerdings kann man mit folgendem Workaround den Taster in FHEM nutzen. Das hat jedoch eine Verzögerung zwischen drei und acht Sekunden zur Folge. Dabei ist es trotzdem möglich, den Aktor per FHEM oder gepeertem Gerät weiter zu steuern. Der Taster beeinflusst den Aktor nicht mehr. Das ganze funktioniert, weil der HM-LC-Sw1PBU-FM bei jedem Tastendruck das reading für state aktualisiert, auch wenn sich der Wert nicht ändert.&lt;br /&gt;
&lt;br /&gt;
Zuerst setzt man ein event auf event-on-change-reading:&lt;br /&gt;
&lt;br /&gt;
 attr HM-LC-Sw1PBU-FM event-on-change-reading state&lt;br /&gt;
 attr HM-LC-Sw1PBU-FM event-on-update-reading state&lt;br /&gt;
&lt;br /&gt;
Weiterhin wird der Schalter deaktiviert (hier nur für kurzen Tastendruck; mit lgSwJtXXX wird dieser Effekt auch für den langen Tastendruck erzielt):&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet intKeyVisib visib&lt;br /&gt;
 set HM-LC-Sw1PBU-FM getConfig&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet prep shSwJtOff off self01&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet prep shSwJtOn on self01&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet prep shSwJtOff off self02&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet exec shSwJtOn on self02&lt;br /&gt;
&lt;br /&gt;
Nun setzt man einen Notify auf das Reading:&lt;br /&gt;
:&amp;lt;code&amp;gt;define HM-LC-Sw1PBU-FM-TasterPressed notify HM-LC-Sw1PBU-FM {set YourOtherDevice toggle}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alternative Firmware ===&lt;br /&gt;
Um die beiden Taster als Remote und den Aktor getrennt zu nutzen gibt es alternative Firmware, deren Funktion und Benutzung auf der Seite [[HM-LC-Sw1PBU-FM Alternative Firmware]] im Detail beschrieben ist.&lt;br /&gt;
&lt;br /&gt;
=== Schalter immer toggeln lassen ===&lt;br /&gt;
Im Werkszustand schaltet die Wippe bei Druck auf der einen Seite ein, auf der anderen Seite aus. Möchte man, dass bei jedem Tastendruck einfach der Zustand geändert wird, kann man das wie folgt erreichen (unten nur für den kurzen Tastendruck dargestellt):&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet intKeyVisib visib&lt;br /&gt;
 set HM-LC-Sw1PBU-FM getConfig&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet shActionType  jmpToTarget self01&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet shSwJtOn      dlyOff      self01&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet shSwJtOff     dlyOn       self01&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet shSwJtDlyOn   on          self01&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet shSwJtDlyOff  off         self01&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet shActionType  jmpToTarget self02&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet shSwJtOn      dlyOff      self02&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet shSwJtOff     dlyOn       self02&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet shSwJtDlyOn   on          self02&lt;br /&gt;
 set HM-LC-Sw1PBU-FM regSet shSwJtDlyOff  off         self02&lt;br /&gt;
&lt;br /&gt;
Um den Werkszustand bezüglich Schaltwippe wiederherzustellen (eine Seite schaltet aus, die andere wieder ein) entsprechen folgende Einstellungen dem Werkszustand:&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet shSwJtOn      dlyOff     self01&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet shSwJtOff     off        self01&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet shSwJtDlyOn   off        self01&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet shSwJtDlyOff  off        self01&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet shSwJtOn      on         self02&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet shSwJtOff     dlyOn      self02&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet shSwJtDlyOn   on         self02&lt;br /&gt;
 set &amp;lt;device&amp;gt; regSet shSwJtDlyOff  on         self02&lt;br /&gt;
&lt;br /&gt;
=== on-for-timer Ersatz ===&lt;br /&gt;
Der HM-LC-Sw1PBU-FM kennt kein &amp;lt;code&amp;gt;set on-for-timer&amp;lt;/code&amp;gt;. Um den HM-LC-Sw1PBU-FM trotzdem für einige Zeit anschalten zu können (z. B. wenn ein Fensteröffner dranhängt und das Fenster nur für eine gewisse Zeit geöffnet werden soll), muss ein Button der vccu mit dem HM-LC-Sw1PBU-FM gepeered werden:&lt;br /&gt;
 set vccu_Btn4 peerChan 0 HM-LC-Sw1PBU-FM dual set&lt;br /&gt;
&lt;br /&gt;
Danach wären (in diesem Fall mit vccu_Btn4) die virtuellen Buttons 4 und 5 mit dem HM-LC-Sw1PBU-FM gepeered. Das Fenster könnte dann über &amp;lt;code&amp;gt;set vccu_Btn4 press short&amp;lt;/code&amp;gt; für die vorher über &amp;lt;code&amp;gt;set HM-LC-Sw1PBU-FM regSet shOnTime [Dauer] vccu_Btn4&amp;lt;/code&amp;gt; die Öffnungszeit eingestellt werden kann.&lt;br /&gt;
&lt;br /&gt;
== Mögliche Hardware Defekte ==&lt;br /&gt;
&lt;br /&gt;
Wenn der Schalter zwischendruch immer wieder neu startet, kann ein Kondensator defekt sein.&lt;br /&gt;
&lt;br /&gt;
C26 ist der Glättungsspeicher direkt nach dem Schaltnetzteil, 10µ/25V herkömmliche Bauart. Die Platine hat Bestückungsdruck.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Anleitung (PDF {{DocLink|elv|/Assets/Produkte/10/1030/103029/Downloads/103029_FunkSchaltaktor_um.pdf}})&lt;br /&gt;
* Produktwebseite bei [http://www.elv.de/output/controller.aspx?cid=74&amp;amp;detail=10&amp;amp;detail2=37991 ELV]&lt;br /&gt;
* [[HM-LC-Sw1PBU-FM Alternative_Firmware|Alternative Firmware]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Schalter (Empfänger)]]&lt;/div&gt;</summary>
		<author><name>Wuppi68</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LC-Dim1TPBU-FM_1-Kanal-Dimmer_UP&amp;diff=22918</id>
		<title>HM-LC-Dim1TPBU-FM 1-Kanal-Dimmer UP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LC-Dim1TPBU-FM_1-Kanal-Dimmer_UP&amp;diff=22918"/>
		<updated>2017-10-14T20:38:41Z</updated>

		<summary type="html">&lt;p&gt;Wuppi68: Hardware defekt mit aufgenommen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=PlatzHalter.png&lt;br /&gt;
|Bildbeschreibung=&lt;br /&gt;
|HWProtocol=BidCoS ([[HomeMatic]])&lt;br /&gt;
|HWType=[[HomeMatic Type Dimmer|Dimmer]]&lt;br /&gt;
|HWCategory=[[:Kategorie:Dimmer|Dimmer]]&lt;br /&gt;
|HWComm=868,3&amp;amp;nbsp;MHz&lt;br /&gt;
|HWChannels=1&lt;br /&gt;
|HWVoltage=230&amp;amp;nbsp;V&lt;br /&gt;
|HWPowerConsumption=1&amp;amp;nbsp;W (Stand-by)&lt;br /&gt;
|HWPoweredBy=Netz&lt;br /&gt;
|HWSize=71x71x37 mm&lt;br /&gt;
|HWDeviceFHEM=[[CUL_HM]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3&lt;br /&gt;
}}&lt;br /&gt;
Der &#039;&#039;&#039;HM-LC-Dim1TPBU-FM 1-Kanal-Dimmer UP&#039;&#039;&#039; ist ein Phasenabschnitts-Dimmer für die Unterputzmontage. Er verfügt über eine Schalterwippe, die sich mit einem Adapter in einige Schalterprogramme verschiedener Hersteller integrieren lässt. Der Dimmer kann sowohl vor Ort über die Schalterwippe als auch per Funk gesteuert werden.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
Schaltdoseneinsatz als Ersatz für vorhandenen Dimmer-Einsatz (erfordert keine tiefere Schaltdose). Kann mittels Adapter in bestehende Schalterserien wie Busch Jäger, Gira usw. integriert werden.&lt;br /&gt;
&lt;br /&gt;
=== Technische Daten ===&lt;br /&gt;
&lt;br /&gt;
* Versorgungsspannung: 230&amp;amp;nbsp;V / 50&amp;amp;nbsp;Hz&lt;br /&gt;
* Minimallast: 10&amp;amp;nbsp;VA&lt;br /&gt;
* Minimalstrom: 40&amp;amp;nbsp;mA&lt;br /&gt;
* Maximale Schaltleistung: 180&amp;amp;nbsp;VA&lt;br /&gt;
* Standby-Verbrauch: 1&amp;amp;nbsp;W&lt;br /&gt;
* Dimmverfahren: Phasenabschnitt&lt;br /&gt;
* Funkfrequenz: 868,3&amp;amp;nbsp;MHz&lt;br /&gt;
* Empfängerklasse: SRD Class 2&lt;br /&gt;
* Maximale Sendeleistung: 10&amp;amp;nbsp;mW&lt;br /&gt;
* Schutzart: IP20&lt;br /&gt;
* Schutzklasse: II&lt;br /&gt;
* Umgebungstemperatur: +5&amp;amp;nbsp;°C bis +35&amp;amp;nbsp;°C&lt;br /&gt;
* Abmessungen (BxHxT): 71x71x37 mm&lt;br /&gt;
* Gewicht: 43&amp;amp;nbsp;g&lt;br /&gt;
&lt;br /&gt;
=== Schalter ===&lt;br /&gt;
&lt;br /&gt;
Der HM-LC-Dim1TPBU-FM besitzt zwei Schalter, die über eine Wippe angewählt werden können. Das Standard-Verhalten entspricht im Prinzip dem [[HM-LC-Bl1PBU-FM Unterputz-Jalousieaktor]]:&lt;br /&gt;
&lt;br /&gt;
* Ein kurzer Druck nach oben Schaltet den Verbraucher ein (100&amp;amp;nbsp;% Leistung).&lt;br /&gt;
* Ein kurzer Durck nach unten Schaltet den Verbraucher aus (0&amp;amp;nbsp;% Leistung).&lt;br /&gt;
* Ein langer Druck nach oben erhöht die Leistung bis der Schalter losgelassen wird.&lt;br /&gt;
* Ein langer Druck nach unten verringert die Leistung bis der Schalter losgelassen wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Hardware-Installation ==&lt;br /&gt;
&lt;br /&gt;
Der HM-LC-Dim1TPBU-FM verfügt über vier Anschlussklemmen: Phase, gedimmte Phase und zwei kurzgeschlossene Klemmen für den Neutralleiter. Das heißt, dass der Neutralleiter &amp;quot;durchgeschleift&amp;quot; werden kann.&lt;br /&gt;
&lt;br /&gt;
Der HM-LC-Dim1TPBU-FM füllt die Schalterdose links und rechts nahezu aus. Wenn möglich ist eine Zuführung der Leitungen von oben oder unten zu bevorzugen.&lt;br /&gt;
&lt;br /&gt;
== Kompatible Leuchtmittel ==&lt;br /&gt;
&lt;br /&gt;
In der Detailansicht vieler LED-Lampen auf der Webseite von ELV.de lässt sich eine Dimmer-Kompatibilitätsliste für das jeweilige Modell herunterladen. &lt;br /&gt;
&lt;br /&gt;
== Mögliche Hardware Defekte ==&lt;br /&gt;
&lt;br /&gt;
Wenn der Dimmer zwischendruch immer wieder neu startet, kann ein Kondensator defekt sein.&lt;br /&gt;
&lt;br /&gt;
In einem Fall war es der C7. --&amp;gt; https://forum.fhem.de/index.php/topic,55149.msg346499/topicseen.html&lt;br /&gt;
&lt;br /&gt;
C7 ist der Glättungsspeicher direkt nach dem Schaltnetzteil, 10µ/25V herkömmliche Bauart, und sitzt auf der Haupt-Platine gegenüber den Anschlussklemmen an einer Ecke neben einer Spule (L2) und einem Dreibein (IC2, Linearregler). Die Platine hat Bestückungsdruck.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* Anleitung: http://files.elv.de/Assets/Produkte/10/1030/103020/Downloads/103020_FunkDimmaktor_um.pdf&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Dimmer]]&lt;/div&gt;</summary>
		<author><name>Wuppi68</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer:Benheim/Startscript_systemd&amp;diff=19642</id>
		<title>Benutzer:Benheim/Startscript systemd</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer:Benheim/Startscript_systemd&amp;diff=19642"/>
		<updated>2017-02-09T19:36:55Z</updated>

		<summary type="html">&lt;p&gt;Wuppi68: Details zu dem Dateinamen hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Startscript für FHEM ==&lt;br /&gt;
&lt;br /&gt;
Für Linux-Versionen, die als Startsystem &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; einsetzen, kann folgende Unit (systemd-Bezeichnung für Startscripts) verwendet werden:&lt;br /&gt;
der Dateiname lautet dann &#039;&#039;&#039;fhem.service&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=FHEM service&lt;br /&gt;
After=network.target&lt;br /&gt;
Wants=hmland.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=forking&lt;br /&gt;
User=fhem&lt;br /&gt;
Group=dialout&lt;br /&gt;
WorkingDirectory=/opt/fhem&lt;br /&gt;
ExecStart=/usr/bin/perl fhem.pl fhem.cfg&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da der FHEM-Prozess sich nach dem Starten vom Eingabe-Terminal löst und im Hintergrund läuft, muss der Typ mit &amp;lt;code&amp;gt;Type=forking&amp;lt;/code&amp;gt; angegeben werden werden.&lt;br /&gt;
&lt;br /&gt;
== Startscript für einen unterstützenden Dienst ==&lt;br /&gt;
&lt;br /&gt;
Für das Starten des HomeMatic-Daemons &amp;lt;code&amp;gt;hmland&amp;lt;/code&amp;gt; ist ein ähnliches Unit verantwortlich: hier lautet der Dateiname dann &#039;&#039;&#039;hmland.service&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Homematic LAN Adapter service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/usr/local/bin/hmland -p 1234&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;hmland&amp;lt;/code&amp;gt; gibt den Prompt nach dem Starten nicht wieder frei, wenn die Option -d nicht gesetzt ist. In diesem Fall kann eine Angabe von &amp;lt;code&amp;gt;Type=&amp;lt;/code&amp;gt; entfallen. &lt;br /&gt;
&lt;br /&gt;
== Installation und Aktivierung ==&lt;br /&gt;
&lt;br /&gt;
Die Dateien kommen ins Verzeichnis &amp;lt;code&amp;gt;/etc/systemd/system&amp;lt;/code&amp;gt;. Sie sollten nicht ausführbar gemacht werden. Der Start klappt auch mit ausführbaren Dateien, aber im Log (&amp;lt;code&amp;gt;journalctl&amp;lt;/code&amp;gt;) lösen ausführbare Dateien eine Warnung aus. &lt;br /&gt;
&lt;br /&gt;
Nun muss einmalig der Befehl &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl daemon-reload&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
eingegeben werden, damit die neuen Dateien eingelesen werden. Mit dem Befehl &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl enable fhem.service&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
wird dafür gesorgt, dass bei einem Systemstart FHEM automatisch gestartet wird (ein symbolischer Link im mit &amp;lt;code&amp;gt;WantedBy=&amp;lt;/code&amp;gt; wird erstellt). Der automatische Start lässt sich mit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl disable fhem.service&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
wieder deaktivieren.&lt;br /&gt;
&lt;br /&gt;
== Starten, Stoppen und Statusabfrage ==&lt;br /&gt;
&lt;br /&gt;
Erfolgt ähnlich wie beim klassischen SysV-Init:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;systemctl start fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;systemctl stop fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;systemctl status fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Abhängigkeiten ==&lt;br /&gt;
&lt;br /&gt;
Durch den Eintrag in der Unit für FHEM &amp;lt;code&amp;gt;Wants=hmland.service&amp;lt;/code&amp;gt; wird dafür gesorgt, dass &#039;&#039;vor&#039;&#039; dem Start von FHEM der Daemon für den HomeMatic-Stick gestartet wird. Es können mehrere Dienste aufgelistet werden, die vorher gestartet werden müssen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Wants=hmland.service knxd.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Units müssen darum nicht für den automatischen Start &amp;quot;enabled&amp;quot; werden. Sollte einer dieser Dienste nicht gestartet werden können, wird FHEM trotzdem gestartet.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Systemd-Dokumentation: &lt;br /&gt;
&lt;br /&gt;
* [https://www.freedesktop.org/software/systemd/man/systemd.unit.html|Optionen für Units allgemein]&lt;br /&gt;
* [https://www.freedesktop.org/software/systemd/man/systemd.exec.html|Optionen für den Start von Prozessen]&lt;br /&gt;
* [https://www.freedesktop.org/software/systemd/man/systemd.service.html|Optionen für Units vom Typ service]&lt;/div&gt;</summary>
		<author><name>Wuppi68</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Homebridge_einrichten&amp;diff=13601</id>
		<title>Homebridge einrichten</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Homebridge_einrichten&amp;diff=13601"/>
		<updated>2016-01-17T13:28:55Z</updated>

		<summary type="html">&lt;p&gt;Wuppi68: /* Homebridge installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses HOWTO zeigt die Installation und Erstinbetriebnahme von Homebridge. &lt;br /&gt;
&lt;br /&gt;
Damit kann Siri benutzt werden, um FHEM-Devices zu steuern. So können Devices angesprochen werden, die offiziell HomeKit nicht unterstützen (die Vorgehensweise wurde auf einem Intel NUC mit Ubuntu Server 14.04 LTS und auf einem Raspberry Pi mit Raspian getestet). Der WIKI-Eintrag bezieht sich hauptsächlich auf eine {{Link2Forum|Topic=32652|LinkText=Diskussion im FHEM-Forum}}. Ein Riesendank gilt vor allem {{Link2FU|430|Andre (justme1968)}}.&lt;br /&gt;
&lt;br /&gt;
Eine Sammlung funktionsfähiger Homebridge FHEM Konfiguration kann hier gefunden werden: [[Hombridge User Configs]]. Die Sammlung befindet sich noch im Aufbau.&lt;br /&gt;
&lt;br /&gt;
= Vorbereitung der Umgebung =&lt;br /&gt;
&lt;br /&gt;
== NodeJS installieren ==&lt;br /&gt;
&#039;&#039;Die nachfolgenden Befehle sind alle mit &amp;quot;sudo&amp;quot; prefixed. Wenn du unter &amp;quot;root&amp;quot; arbeitest oder deine Distribution einen anderen Mechanismus verwendet, so kannst du dies natürlich weglassen.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Zunächst wird das Betriebssystem (in diesem Falle Debian oder Ubuntu) auf den aktuellen Stand gebracht:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
sudo apt-get install build-essential libssl-dev&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun muss NodeJS installiert werden. Leider ist die Version im Debian Repository deutlich zu alt, daher wird mit den folgenden Befehlen das Node Repository hinzugefügt und NodeJS (in der LTS Version) entsprechend installiert:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NodeJS V4&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -&lt;br /&gt;
sudo apt-get install -y nodejs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NodeJS V5&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%&amp;quot;&amp;gt;&lt;br /&gt;
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -&lt;br /&gt;
sudo apt-get install -y nodejs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ist NodeJS installiert.&lt;br /&gt;
&lt;br /&gt;
== Python, g++, MDNS installieren ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install python g++ libavahi-compat-libdnssd-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun sind alle Voraussetzungen geschaffen.&lt;br /&gt;
&lt;br /&gt;
= Installation von Homebridge &amp;amp; notwendiger Shims =&lt;br /&gt;
Im Nachfolgenden Absatz wird die Installation von Homebridge sowie des notwendigen Plugins (Shim) für FHEM erläutert.&lt;br /&gt;
&lt;br /&gt;
== Homebridge installieren ==&lt;br /&gt;
Die aktuelle Homebridge version wird mit&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
npm install -g homebridge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
installiert, was eine Weile dauert. Anschließend wird der FHEM platform shim mit:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:60%;&amp;quot;&amp;gt;&lt;br /&gt;
npm install -g homebridge-fhem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
installiert.&lt;br /&gt;
&lt;br /&gt;
== Homebridge aktualisieren ==&lt;br /&gt;
Die aktuelle Homebridge version wird mit&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
npm update -g homebridge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
installiert, was eine Weile dauert. Anschließend wird der FHEM platform shim mit:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:60%;&amp;quot;&amp;gt;&lt;br /&gt;
npm update -g homebridge-fhem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
installiert.&lt;br /&gt;
&lt;br /&gt;
=== Fehler während der Installation ===&lt;br /&gt;
Bei folgendem Fehler ist das abrufen von Github nicht möglich.&lt;br /&gt;
&amp;lt;pre&amp;gt;npm ERR! git clone --template=/home/hs-server-admin/.npm/_git-remotes/_templates --mirror &lt;br /&gt;
git://github.com/KhaosT/ed25519.git /home/hs-server-admin/.npm/_git-remotes/git-github-com-KhaosT-ed25519-git-d8bdee1d: &lt;br /&gt;
github.com[0: 192.30.252.128]: errno=Die Wartezeit für die Verbindung ist abgelaufen&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fehlerursache konnte hier durch eine aktive Firewall verursacht werden.&lt;br /&gt;
&lt;br /&gt;
Kommt eine DNS Fehlermeldung fehlt meistens der AVAHI-DAEMON, zu installieren via&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width=50%&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install avahi-daemon&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Homebridge konfigurieren =&lt;br /&gt;
&#039;&#039;Wichtig: Für die weiteren Schritte sollte man nicht root verwenden, sondern beispielsweise einen dedizieren Nutzer für homebridge oder der Einfachheit halber den Nutzer unter dem auch FHEM läuft (meist &amp;quot;fhem&amp;quot;).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Einstellungen für homebridge ==&lt;br /&gt;
&lt;br /&gt;
Zunächst wird das Verzeichnis für die Konfigurationsdatei erstellt und in dieses gewechselt:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p ~/.homebridge&lt;br /&gt;
cd ~/.homebridge/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun muss darin noch die config.json erstellt bzw. angepasst werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.homebridge/config.json&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise zur Konfiguration:&lt;br /&gt;
* &amp;quot;&#039;&#039;bridge&#039;&#039;&amp;quot;:&lt;br /&gt;
** &amp;quot;&#039;&#039;username&#039;&#039;&amp;quot;: Sollte so belassen werden. Sollte später auf dem iOS Device keine Homebridge gefunden werden, so kann man hier beispielsweise den String auf 31 statt 30 enden lassen um so eine neue Homebridge vorzutäuschen.&lt;br /&gt;
** &amp;quot;&#039;&#039;port&#039;&#039;&amp;quot;: Sollte so belassen werden&lt;br /&gt;
** &amp;quot;&#039;&#039;pin&#039;&#039;&amp;quot;: Der PIN kann beliebig in dem Format xxx-xx-xxx angepasst werden. Dieser muss nur einmal bei der Einrichtung in iOS eingegeben werden.&lt;br /&gt;
* &amp;quot;&#039;&#039;platforms&#039;&#039;&amp;quot;: &lt;br /&gt;
** &amp;quot;&#039;&#039;platform&#039;&#039;&amp;quot;: Hier muss &amp;quot;homebridge-fhem.fhem&amp;quot; beibehalten werden.&lt;br /&gt;
** &amp;quot;&#039;&#039;server&#039;&#039;&amp;quot;: Hier muss die IP des FHEM-Servers eingetragen werden. Dabei muss Homebridge nicht auf dem selben Server laufen wie FHEM, kann aber. Wenn es auf dem gleichen Rechner läuft, dann bietet es sich an, die IP 127.0.0.1 zu verwenden.&lt;br /&gt;
** &amp;quot;&#039;&#039;port&#039;&#039;&amp;quot;: Hier muss der Port des gewählten FHEMWEBS eingetragen werden (muss nicht das &amp;quot;normale&amp;quot; sein, kann eine extra Instanz sein)&lt;br /&gt;
** &amp;quot;&#039;&#039;auth&#039;&#039;&amp;quot;: Ist FHEM nicht mit Nutzername/Password abgesichert, so kann man diese Zeile einfach entfernen.&lt;br /&gt;
** &amp;quot;&#039;&#039;filter&#039;&#039;&amp;quot;: Damit nicht alle Devices von Homebridge berücksichtigt werden, bietet es sich an, die Devices zu filtern. In diesem Beispiel wurden alle Devices, die über Siri steuerbar sein sollen, zusätzlich in den Raum Homekit konfiguriert.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;bridge&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;Homebridge&amp;quot;,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;CC:22:3D:E3:CE:30&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 51826,&lt;br /&gt;
        &amp;quot;pin&amp;quot;: &amp;quot;031-45-154&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;platforms&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;platform&amp;quot;: &amp;quot;homebridge-fhem.FHEM&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;FHEM&amp;quot;,&lt;br /&gt;
            &amp;quot;server&amp;quot;: &amp;quot;127.0.0.1&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: &amp;quot;8083&amp;quot;,&lt;br /&gt;
            &amp;quot;auth&amp;quot;: {&amp;quot;user&amp;quot;: &amp;quot;FhemUser&amp;quot;, &amp;quot;pass&amp;quot;: &amp;quot;XXX&amp;quot;},&lt;br /&gt;
            &amp;quot;filter&amp;quot;: &amp;quot;room=Homekit&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
     ],&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;accessories&amp;quot;: []&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird FHEM mit SSL abgesichert, so muss zusätzlich in der Sektion &amp;quot;platforms&amp;quot; noch diese Zeile (nach &amp;quot;port&amp;quot;) eingefügt werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;quot;ssl&amp;quot;: true,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FHEM konfigurieren =&lt;br /&gt;
Um die Devices richtig mit FHEM und Homebridge vertraut zu machen, müssen wir noch unter dem &#039;&#039;global&#039;&#039;-Device das folgende userattr hinzufügen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
genericDeviceType:ignore,switch,outlet,light,blind,speaker,thermostat,ignore,lock,window,contact&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das geht am einfachsten via Eingabefeld (nicht in der fhem.cfg):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{ addToAttrList(&amp;quot;genericDeviceType:ignore,switch,outlet,light,blind,speaker,thermostat,ignore,lock,window,contact&amp;quot;) }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich &#039;&#039;&#039;kann&#039;&#039;&#039; man an bestimmten Devices noch einen subtype setzen (beispielsweise Thermostaten, Rolladenschaltern oder HM-Fensteröffnersensoren). Dazu erstellt man im Device (hier als Beispiel DEIN.DEVICE als Name) zunächst das userattr &amp;quot;subtype&amp;quot;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{ addToDevAttrList(&amp;quot;DEIN.DEVICE&amp;quot;, &amp;quot;subtype:thermostat,blindActuator,threeStateSensor&amp;quot;) }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Wenn DEIN.DEVICE nun ein HM-CC-RT-DN ist, so wählt man dann in den Attributen einfach als &#039;&#039;subtype&#039;&#039; eben &#039;&#039;thermostat&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Start von Homebridge =&lt;br /&gt;
&lt;br /&gt;
== Hinweis ==&lt;br /&gt;
Nach allen Änderungen die in FHEM gemacht werden, welche Homebridge betreffen, muss Homebridge neu gestartet werden. Wie der Neustart erfolgen muss, ist abhängig davon, wie man Homebridge gestartet hat. Bitte den entsprechenden Methoden entnehmen.&lt;br /&gt;
&lt;br /&gt;
== Einmaliger Manueller Start ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
homebridge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Homebridge sollte nun laufen. Hier kann man die Kommunikation nachverfolgen. Abbrechen kann das ganze mit CTRL+c (es dann auch keine Befehle mehr mit Siri möglich). Damit Siri auch Befehle ohne ständig offenes Terminal bearbeiten kann, bitten nächsten Punkt beachten.&lt;br /&gt;
&lt;br /&gt;
== Homebridge automatisch starten ==&lt;br /&gt;
Es gibt verschiedene Methoden, Homebridge automatisch zu starten.&lt;br /&gt;
&lt;br /&gt;
=== Steuerung via FHEM ===&lt;br /&gt;
Auf Basis der unten stehenden &#039;&#039;Alternativen Methode&#039;&#039; wurde eine Version entwickelt, mit der man auch den Status einsehen und den Restart des Dienstes aus FHEM heraus erledigen kann. Diese Version ist auf der Seite [[Homebridge Start und Status in FHEM]] im Detail beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Alternative Methode ===&lt;br /&gt;
Dies startet homebridge als einen Service.&lt;br /&gt;
&lt;br /&gt;
==== Service anlegen ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /etc/init.d/homebridge&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code einfügen (startet den Homebridge Server als Benutzer &amp;quot;pi&amp;quot; und nimmt an, dass sich .homebridge/config.json in seinem Homeverzeichnis unter /home/pi/ befindet):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides: homebridge&lt;br /&gt;
# Required-Start: $network $remote_fs $syslog&lt;br /&gt;
# Required-Stop: $remote_fs $syslog&lt;br /&gt;
# Default-Start: 2 3 4 5&lt;br /&gt;
# Default-Stop: 0 1 6&lt;br /&gt;
# Short-Description: Start daemon at boot time for homebridge&lt;br /&gt;
# Description: Enable service provided by daemon.&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
export PATH=$PATH:/usr/local/bin&lt;br /&gt;
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules&lt;br /&gt;
PID=`pidof homebridge`&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)&lt;br /&gt;
if ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is already running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        su - pi -c &amp;quot;homebridge &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;quot;&lt;br /&gt;
        echo &amp;quot;Homebridge starting&amp;quot;&lt;br /&gt;
        $0 status&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
if ! ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is not running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        kill $PID&lt;br /&gt;
        echo &amp;quot;Homebridge closed&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
restart)&lt;br /&gt;
if ! ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        $0 start&lt;br /&gt;
else&lt;br /&gt;
        $0 stop&lt;br /&gt;
        $0 start&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
status)&lt;br /&gt;
if ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is running PID $PID&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;Homebridge is not running&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;Usage: $0 {start|stop|status|restart}&amp;quot;&lt;br /&gt;
exit 1&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Autostart aktivieren ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chmod 755 /etc/init.d/homebridge&lt;br /&gt;
&lt;br /&gt;
sudo update-rc.d homebridge defaults&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun kann man mit &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo service homebridge start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo /etc/init.d/homebridge start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Dienst starten&lt;br /&gt;
&lt;br /&gt;
== FHEM Device Einstellungen ==&lt;br /&gt;
Damit die zu schaltenden Geräte überhaupt in der Homebridge aufgenommen werden muss man sie im Raum Homekit hinzufügen.&lt;br /&gt;
&lt;br /&gt;
Um HM-CC-RT-DN Thermostate steuern zu können, muss wie oben beschrieben folgendes attribute gesetzt werden (hier als Beispiel das Device &amp;quot;Heizung&amp;quot;):&lt;br /&gt;
# attr Heizung subtype thermostat&lt;br /&gt;
Für einen Dummy muss man den genericDeviceType setzen, also beispielsweise:&lt;br /&gt;
# attr Dummy genericDeviceType switch&lt;br /&gt;
# attr Dummy setList on off&lt;br /&gt;
&lt;br /&gt;
Wie bereits vorher angemerkt: Fügt man ein Device hinzu oder führt eine Änderung an einem Device durch, so sollte homebridge neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
= HomeKit in iOS =&lt;br /&gt;
&lt;br /&gt;
== Einrichtung ==&lt;br /&gt;
Um FHEM über Homebridge in iOS nutzen zu können, muss HomeKit eingerichtet werden. &lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Apps. Im folgenden wird die App EVE von Elgato empfohlen, die aus dem App-Store geladen werden muss.&lt;br /&gt;
In der App auf:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
Gerät hinzufügen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es sollte ein Gerät mit der Bezeichnung &amp;quot;Homebridge&amp;quot; zur Auswahl erscheinen. Zur Ersteinrichtung auf PIN manuell eingeben gehen und (falls in der config.json nicht geändert):&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
031-45-154&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
eingeben.&lt;br /&gt;
&lt;br /&gt;
Im Anschluss können die Devices nach Belieben in verschiedene Räume zugeteilt werden, sowie Szenen und Bereiche erstellt werden.&lt;br /&gt;
&lt;br /&gt;
== Schalten mit Siri ==&lt;br /&gt;
&#039;&#039;&#039;HolyMoly&#039;&#039;&#039; aus dem FHEM-Forum hat ein paar Beispiele gegeben, wie man Siri dazu bringt Devices zu schalten:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Schalte alle Lampen im Obergeschoss ein.&amp;quot;&lt;br /&gt;
&amp;quot;Schalte Chloes Licht aus.&amp;quot;&lt;br /&gt;
&amp;quot;Dimme das Licht in der Küche.&amp;quot;&lt;br /&gt;
&amp;quot;Dimme das Licht im Esszimmer auf 50 %.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle das Licht in der Küche am hellsten ein.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle die Temperatur im Tahoe-Haus auf 22 °C ein.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle das Thermostat im Erdgeschoss auf 21 °C ein.&lt;br /&gt;
&amp;quot;Schalte den Drucker im Büro ein.&amp;quot;&lt;br /&gt;
&amp;quot;Siri, bereite alles für eine Party vor.&amp;quot;&lt;br /&gt;
&amp;quot;Bereite das Ambiente fürs Abendessen vor.&amp;quot;&lt;br /&gt;
&amp;quot;Aktiviere den Nachtruhemodus.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mittlerweile kann Siri auch noch die Lichtfarbe von LEDs ändern.&lt;br /&gt;
&lt;br /&gt;
= Hinweise =&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
Das Fhem Plugin von {{Link2FU|430|Andre (justme1968)}} unterstützt folgende Geräte&lt;br /&gt;
&lt;br /&gt;
    switches (devices with set on and set off commands)&lt;br /&gt;
    lights (devices with set on and set off commands)&lt;br /&gt;
    homematc and FS20 dimmers (devices with set on, set off and set dim or set pct commands)&lt;br /&gt;
    HUE, WifiLight, SWAP_0000002200000003 (hue, sat, bri, rgb)&lt;br /&gt;
    homematic, max and pid20 thermostats&lt;br /&gt;
    homematic blinds&lt;br /&gt;
    homematic, MAX and FHTTK contact sensors (door, window)&lt;br /&gt;
    HM-SEC-WIN, HM-SEC-KEY&lt;br /&gt;
    presence, ROOMMATE&lt;br /&gt;
    SONOS (power, volume)&lt;br /&gt;
    harmony scenes&lt;br /&gt;
    temperaturecw and humidity sensors&lt;br /&gt;
    CO20 air quality sensor&lt;br /&gt;
    probably some more ...&lt;br /&gt;
&lt;br /&gt;
== Steuerung von MiLight Allgemein ==&lt;br /&gt;
Wie hier im {{Link2Forum|Topic=32652|Message=351706|LinkText=Forum}} erwähnt, ist es möglich auch MiLight Geräte per Siri anzusprechen. Hierzu muss die config.json angepasst werden.&lt;br /&gt;
&lt;br /&gt;
1. Es muss die Bridge hinterlegt werden. Beispiel&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;platform&amp;quot;: &amp;quot;MiLight&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;MiLight&amp;quot;,&lt;br /&gt;
            &amp;quot;ip_address&amp;quot;: &amp;quot;192.168.001.033&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: 8899,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;rgbw&amp;quot;,&lt;br /&gt;
            &amp;quot;delay&amp;quot;: 30,&lt;br /&gt;
            &amp;quot;repeat&amp;quot;: 3,&lt;br /&gt;
            &amp;quot;zones&amp;quot;:[&amp;quot;Wohnzimmer Lampen&amp;quot;,&amp;quot;Badezimmer Lampen&amp;quot;,&amp;quot;Büro Lampen&amp;quot;,&amp;quot;Keller Lampen&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Es muss für jedes zu Steuernde Gerät ein Dummy angelegt werden. Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;accessory&amp;quot;: &amp;quot;Http&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Kitchen Lamp&amp;quot;,&lt;br /&gt;
            &amp;quot;on_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/on&amp;quot;,&lt;br /&gt;
            &amp;quot;off_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/off&amp;quot;,&lt;br /&gt;
            &amp;quot;brightness_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/brightness/%b&amp;quot;,&lt;br /&gt;
            &amp;quot;http_method&amp;quot;: &amp;quot;POST&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinweis für alte homebridge Versionen ==&lt;br /&gt;
UPDATE: Homebridge funktioniert mit einer kleinen Einschränkung nun auch mit node 4.0.0. Laut&lt;br /&gt;
[https://github.com/cflurin/homebridge-shims/wiki/Minimalist-Homebridge-on-a-Raspberry-Pi Homebridge on a Raspberry Pi] müssen die folgenden Abhängigkeiten (Dependencies) aus der &#039;&#039;&#039;package.json&#039;&#039;&#039; entfernt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;harmonyhubjs-client&amp;quot;: &amp;quot;^1.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-discover&amp;quot;: &amp;quot;git+https://github.com/swissmanu/harmonyhubjs-discover.git&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinweis zur Geschwindigkeitsoptimierung auf einem Raspberry PI ==&lt;br /&gt;
&lt;br /&gt;
Damit es auf einem Raspberry schneller läuft, wird darüber hinaus empfohlen auch diverse Abhängigkeiten aus der &#039;&#039;&#039;package.json&#039;&#039;&#039; zu entfernen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;ad2usb&amp;quot;: &amp;quot;git+https://github.com/alistairg/node-ad2usb.git#local&amp;quot;,&lt;br /&gt;
&amp;quot;carwingsjs&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
&amp;quot;chokidar&amp;quot;: &amp;quot;^1.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;eibd&amp;quot;: &amp;quot;^0.3.1&amp;quot;,&lt;br /&gt;
&amp;quot;elkington&amp;quot;: &amp;quot;kevinohara80/elkington&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-client&amp;quot;: &amp;quot;^1.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-discover&amp;quot;: &amp;quot;git+https://github.com/swissmanu/harmonyhubjs-discover.git&amp;quot;,&lt;br /&gt;
&amp;quot;lifx-api&amp;quot;: &amp;quot;^1.0.1&amp;quot;,&lt;br /&gt;
&amp;quot;lifx&amp;quot;: &amp;quot;git+https://github.com/magicmonkey/lifxjs.git&amp;quot;,&lt;br /&gt;
&amp;quot;node-hue-api&amp;quot;: &amp;quot;^1.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;node-icontrol&amp;quot;: &amp;quot;^0.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;node-milight-promise&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
&amp;quot;tough-cookie&amp;quot;: &amp;quot;^2.0.0&amp;quot;,&lt;br /&gt;
&amp;quot;sonos&amp;quot;: &amp;quot;0.8.x&amp;quot;,&lt;br /&gt;
&amp;quot;telldus-live&amp;quot;: &amp;quot;0.2.x&amp;quot;,&lt;br /&gt;
&amp;quot;teslams&amp;quot;: &amp;quot;1.0.1&amp;quot;,&lt;br /&gt;
&amp;quot;unofficial-nest-api&amp;quot;: &amp;quot;git+https://github.com/hachidorii/unofficial_nodejs_nest.git#d8d48edc952b049ff6320ef99afa7b2f04cdee98&amp;quot;,&lt;br /&gt;
&amp;quot;wemo&amp;quot;: &amp;quot;0.2.x&amp;quot;,&lt;br /&gt;
&amp;quot;wink-js&amp;quot;: &amp;quot;0.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;komponist&amp;quot; : &amp;quot;0.1.0&amp;quot;,&lt;br /&gt;
&amp;quot;yamaha-nodejs&amp;quot;: &amp;quot;0.4.x&amp;quot;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daher zunächst ein ein Backup der Datei anlegen &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp package.json package.json.bkp &amp;lt;/pre&amp;gt;&lt;br /&gt;
Am einfachsten geht das entfernen der Zeilen einem Editor, beispielsweise nano oder vi.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano package.json&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das config file sollte dann wie folgt aussehen: Achtung vor den letzten zwei &amp;quot;}&amp;quot; am Ende darf kein Komma sein.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;homebridge&amp;quot;,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;HomeKit support for the impatient&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;0.1.1&amp;quot;,&lt;br /&gt;
  &amp;quot;scripts&amp;quot;: {&lt;br /&gt;
    &amp;quot;start&amp;quot;: &amp;quot;DEBUG=* node app.js || true&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;repository&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;git&amp;quot;,&lt;br /&gt;
    &amp;quot;url&amp;quot;: &amp;quot;git://github.com/nfarina/homebridge.git&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;license&amp;quot;: &amp;quot;ISC&amp;quot;,&lt;br /&gt;
  &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
    &amp;quot;async&amp;quot;: &amp;quot;^1.4.2&amp;quot;,&lt;br /&gt;
    &amp;quot;color&amp;quot;: &amp;quot;0.10.x&amp;quot;,&lt;br /&gt;
    &amp;quot;debug&amp;quot;: &amp;quot;^2.2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;hap-nodejs&amp;quot;: &amp;quot;^0.0.2&amp;quot;,&lt;br /&gt;
    &amp;quot;isy-js&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;mdns&amp;quot;: &amp;quot;^2.2.4&amp;quot;,&lt;br /&gt;
    &amp;quot;netatmo&amp;quot;: &amp;quot;1.3.0&amp;quot;,&lt;br /&gt;
    &amp;quot;node-cache&amp;quot;: &amp;quot;3.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;node-persist&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
    &amp;quot;node-xmpp-client&amp;quot;: &amp;quot;1.0.0-alpha23&amp;quot;,&lt;br /&gt;
    &amp;quot;q&amp;quot;: &amp;quot;1.4.x&amp;quot;,&lt;br /&gt;
    &amp;quot;queue&amp;quot;: &amp;quot;^3.1.0&amp;quot;,&lt;br /&gt;
    &amp;quot;request&amp;quot;: &amp;quot;2.49.x&amp;quot;,&lt;br /&gt;
    &amp;quot;xml2js&amp;quot;: &amp;quot;0.4.x&amp;quot;,&lt;br /&gt;
    &amp;quot;xmldoc&amp;quot;: &amp;quot;0.1.x&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Wuppi68</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Homebridge_einrichten&amp;diff=13417</id>
		<title>Homebridge einrichten</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Homebridge_einrichten&amp;diff=13417"/>
		<updated>2015-12-31T17:19:48Z</updated>

		<summary type="html">&lt;p&gt;Wuppi68: kleine Ergänzung um Node V5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses HOWTO zeigt die Installation und Erstinbetriebnahme von Homebridge. &lt;br /&gt;
&lt;br /&gt;
Damit kann Siri benutzt werden, um FHEM-Devices zu steuern. So können Devices angesprochen werden, die offiziell HomeKit nicht unterstützen (die Vorgehensweise wurde auf einem Intel NUC mit Ubuntu Server 14.04 LTS und auf einem Raspberry Pi mit Raspian getestet). Der WIKI-Eintrag bezieht sich hauptsächlich auf eine {{Link2Forum|Topic=32652|LinkText=Diskussion im FHEM-Forum}}. Ein Riesendank gilt vor allem {{Link2FU|430|Andre (justme1968)}}.&lt;br /&gt;
&lt;br /&gt;
Eine Sammlung funktionsfähiger Homebridge FHEM Konfiguration kann hier gefunden werden: [[Hombridge User Configs]]. Die Sammlung befindet sich noch im Aufbau.&lt;br /&gt;
&lt;br /&gt;
= Vorbereitung der Umgebung =&lt;br /&gt;
&lt;br /&gt;
== NodeJS installieren ==&lt;br /&gt;
&#039;&#039;Die nachfolgenden Befehle sind alle mit &amp;quot;sudo&amp;quot; prefixed. Wenn du unter &amp;quot;root&amp;quot; arbeitest oder deine Distribution einen anderen Mechanismus verwendet, so kannst du dies natürlich weglassen.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Zunächst wird das Betriebssystem (in diesem Falle Debian oder Ubuntu) auf den aktuellen Stand gebracht:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
sudo apt-get install build-essential libssl-dev&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun muss NodeJS installiert werden. Leider ist die Version im Debian Repository deutlich zu alt, daher wird mit den folgenden Befehlen das Node Repository hinzugefügt und NodeJS (in der LTS Version) entsprechend installiert:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NodeJS V4&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -&lt;br /&gt;
sudo apt-get install -y nodejs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NodeJS V5&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%&amp;quot;&amp;gt;&lt;br /&gt;
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -&lt;br /&gt;
sudo apt-get install -y nodejs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ist NodeJS installiert.&lt;br /&gt;
&lt;br /&gt;
== Python, g++, MDNS installieren ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install python g++ libavahi-compat-libdnssd-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun sind alle Voraussetzungen geschaffen.&lt;br /&gt;
&lt;br /&gt;
= Installation von Homebridge &amp;amp; notwendiger Shims =&lt;br /&gt;
Im Nachfolgenden Absatz wird die Installation von Homebridge sowie des notwendigen Plugins (Shim) für FHEM erläutert.&lt;br /&gt;
&lt;br /&gt;
== Homebridge installieren ==&lt;br /&gt;
Die aktuelle Homebridge version wird mit&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
npm install -g homebridge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
installiert, was eine Weile dauert. Anschließend wird der FHEM platform shim mit:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:60%;&amp;quot;&amp;gt;&lt;br /&gt;
npm install -g homebridge-fhem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
installiert.&lt;br /&gt;
&lt;br /&gt;
=== Fehler während der Installation ===&lt;br /&gt;
Bei folgendem Fehler ist das abrufen von Github nicht möglich.&lt;br /&gt;
&amp;lt;pre&amp;gt;npm ERR! git clone --template=/home/hs-server-admin/.npm/_git-remotes/_templates --mirror &lt;br /&gt;
git://github.com/KhaosT/ed25519.git /home/hs-server-admin/.npm/_git-remotes/git-github-com-KhaosT-ed25519-git-d8bdee1d: &lt;br /&gt;
github.com[0: 192.30.252.128]: errno=Die Wartezeit für die Verbindung ist abgelaufen&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fehlerursache konnte hier durch eine aktive Firewall verursacht werden.&lt;br /&gt;
&lt;br /&gt;
Kommt eine DNS Fehlermeldung fehlt meistens der AVAHI-DAEMON, zu installieren via&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width=50%&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install avahi-daemon&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Homebridge konfigurieren =&lt;br /&gt;
&#039;&#039;Wichtig: Für die weiteren Schritte sollte man nicht root verwenden, sondern beispielsweise einen dedizieren Nutzer für homebridge oder der Einfachheit halber den Nutzer unter dem auch FHEM läuft (meist &amp;quot;fhem&amp;quot;).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Einstellungen für homebridge ==&lt;br /&gt;
&lt;br /&gt;
Zunächst wird das Verzeichnis für die Konfigurationsdatei erstellt und in dieses gewechselt:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p ~/.homebridge&lt;br /&gt;
cd ~/.homebridge/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun muss darin noch die config.json erstellt bzw. angepasst werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.homebridge/config.json&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise zur Konfiguration:&lt;br /&gt;
* &amp;quot;&#039;&#039;bridge&#039;&#039;&amp;quot;:&lt;br /&gt;
** &amp;quot;&#039;&#039;username&#039;&#039;&amp;quot;: Sollte so belassen werden. Sollte später auf dem iOS Device keine Homebridge gefunden werden, so kann man hier beispielsweise den String auf 31 statt 30 enden lassen um so eine neue Homebridge vorzutäuschen.&lt;br /&gt;
** &amp;quot;&#039;&#039;port&#039;&#039;&amp;quot;: Sollte so belassen werden&lt;br /&gt;
** &amp;quot;&#039;&#039;pin&#039;&#039;&amp;quot;: Der PIN kann beliebig in dem Format xxx-xx-xxx angepasst werden. Dieser muss nur einmal bei der Einrichtung in iOS eingegeben werden.&lt;br /&gt;
* &amp;quot;&#039;&#039;platforms&#039;&#039;&amp;quot;: &lt;br /&gt;
** &amp;quot;&#039;&#039;platform&#039;&#039;&amp;quot;: Hier muss &amp;quot;homebridge-fhem.fhem&amp;quot; beibehalten werden.&lt;br /&gt;
** &amp;quot;&#039;&#039;server&#039;&#039;&amp;quot;: Hier muss die IP des FHEM-Servers eingetragen werden. Dabei muss Homebridge nicht auf dem selben Server laufen wie FHEM, kann aber. Wenn es auf dem gleichen Rechner läuft, dann bietet es sich an, die IP 127.0.0.1 zu verwenden.&lt;br /&gt;
** &amp;quot;&#039;&#039;port&#039;&#039;&amp;quot;: Hier muss der Port des gewählten FHEMWEBS eingetragen werden (muss nicht das &amp;quot;normale&amp;quot; sein, kann eine extra Instanz sein)&lt;br /&gt;
** &amp;quot;&#039;&#039;auth&#039;&#039;&amp;quot;: Ist FHEM nicht mit Nutzername/Password abgesichert, so kann man diese Zeile einfach entfernen.&lt;br /&gt;
** &amp;quot;&#039;&#039;filter&#039;&#039;&amp;quot;: Damit nicht alle Devices von Homebridge berücksichtigt werden, bietet es sich an, die Devices zu filtern. In diesem Beispiel wurden alle Devices, die über Siri steuerbar sein sollen, zusätzlich in den Raum Homekit konfiguriert.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;bridge&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;Homebridge&amp;quot;,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;CC:22:3D:E3:CE:30&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 51826,&lt;br /&gt;
        &amp;quot;pin&amp;quot;: &amp;quot;031-45-154&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;platforms&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;platform&amp;quot;: &amp;quot;homebridge-fhem.FHEM&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;FHEM&amp;quot;,&lt;br /&gt;
            &amp;quot;server&amp;quot;: &amp;quot;127.0.0.1&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: &amp;quot;8083&amp;quot;,&lt;br /&gt;
            &amp;quot;auth&amp;quot;: {&amp;quot;user&amp;quot;: &amp;quot;FhemUser&amp;quot;, &amp;quot;pass&amp;quot;: &amp;quot;XXX&amp;quot;},&lt;br /&gt;
            &amp;quot;filter&amp;quot;: &amp;quot;room=Homekit&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
     ],&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;accessories&amp;quot;: []&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird FHEM mit SSL abgesichert, so muss zusätzlich in der Sektion &amp;quot;platforms&amp;quot; noch diese Zeile (nach &amp;quot;port&amp;quot;) eingefügt werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;quot;ssl&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FHEM konfigurieren =&lt;br /&gt;
Um die Devices richtig mit FHEM und Homebridge vertraut zu machen, müssen wir noch unter dem &#039;&#039;global&#039;&#039;-Device das folgende userattr hinzufügen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
genericDeviceType:ignore,switch,outlet,light,blind,speaker,thermostat,ignore,lock,window,contact&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das geht am einfachsten via Eingabefeld (nicht in der fhem.cfg):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{ addToAttrList(&amp;quot;genericDeviceType:ignore,switch,outlet,light,blind,speaker,thermostat,ignore,lock,window,contact&amp;quot;) }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich &#039;&#039;&#039;kann&#039;&#039;&#039; man an bestimmten Devices noch einen subtype setzen (beispielsweise Thermostaten, Rolladenschaltern oder HM-Fensteröffnersensoren). Dazu erstellt man im Device (hier als Beispiel DEIN.DEVICE als Name) zunächst das userattr &amp;quot;subtype&amp;quot;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{ addToDevAttrList(&amp;quot;DEIN.DEVICE&amp;quot;, &amp;quot;subtype:thermostat,blindActuator,threeStateSensor&amp;quot;) }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Wenn DEIN.DEVICE nun ein HM-CC-RT-DN ist, so wählt man dann in den Attributen einfach als &#039;&#039;subtype&#039;&#039; eben &#039;&#039;thermostat&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Start von Homebridge =&lt;br /&gt;
&lt;br /&gt;
== Hinweis ==&lt;br /&gt;
Nach allen Änderungen die in FHEM gemacht werden, welche Homebridge betreffen, muss Homebridge neu gestartet werden. Wie der Neustart erfolgen muss, ist abhängig davon, wie man Homebridge gestartet hat. Bitte den entsprechenden Methoden entnehmen.&lt;br /&gt;
&lt;br /&gt;
== Einmaliger Manueller Start ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
homebridge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Homebridge sollte nun laufen. Hier kann man die Kommunikation nachverfolgen. Abbrechen kann das ganze mit CTRL+c (es dann auch keine Befehle mehr mit Siri möglich). Damit Siri auch Befehle ohne ständig offenes Terminal bearbeiten kann, bitten nächsten Punkt beachten.&lt;br /&gt;
&lt;br /&gt;
== Homebridge automatisch starten ==&lt;br /&gt;
Es gibt verschiedene Methoden, Homebridge automatisch zu starten.&lt;br /&gt;
&lt;br /&gt;
=== Steuerung via FHEM ===&lt;br /&gt;
Auf Basis der unten stehenden &#039;&#039;Alternativen Methode&#039;&#039; wurde eine Version entwickelt, mit der man auch den Status einsehen und den Restart des Dienstes aus FHEM heraus erledigen kann. Diese Version ist auf der Seite [[Homebridge Start und Status in FHEM]] im Detail beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Alternative Methode ===&lt;br /&gt;
Dies startet homebridge als einen Service.&lt;br /&gt;
&lt;br /&gt;
==== Service anlegen ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /etc/init.d/homebridge&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code einfügen (startet den Homebridge Server als Benutzer &amp;quot;pi&amp;quot; und nimmt an, dass sich .homebridge/config.json in seinem Homeverzeichnis unter /home/pi/ befindet):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides: homebridge&lt;br /&gt;
# Required-Start: $network $remote_fs $syslog&lt;br /&gt;
# Required-Stop: $remote_fs $syslog&lt;br /&gt;
# Default-Start: 2 3 4 5&lt;br /&gt;
# Default-Stop: 0 1 6&lt;br /&gt;
# Short-Description: Start daemon at boot time for homebridge&lt;br /&gt;
# Description: Enable service provided by daemon.&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
export PATH=$PATH:/usr/local/bin&lt;br /&gt;
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules&lt;br /&gt;
PID=`pidof homebridge`&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)&lt;br /&gt;
if ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is already running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        su - pi -c &amp;quot;homebridge &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;quot;&lt;br /&gt;
        echo &amp;quot;Homebridge starting&amp;quot;&lt;br /&gt;
        $0 status&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
if ! ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is not running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        kill $PID&lt;br /&gt;
        echo &amp;quot;Homebridge closed&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
restart)&lt;br /&gt;
if ! ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        $0 start&lt;br /&gt;
else&lt;br /&gt;
        $0 stop&lt;br /&gt;
        $0 start&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
status)&lt;br /&gt;
if ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is running PID $PID&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;Homebridge is not running&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;Usage: $0 {start|stop|status|restart}&amp;quot;&lt;br /&gt;
exit 1&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Autostart aktivieren ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chmod 755 /etc/init.d/homebridge&lt;br /&gt;
&lt;br /&gt;
sudo update-rc.d homebridge defaults&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun kann man mit &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo service homebridge start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo /etc/init.d/homebridge start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Dienst starten&lt;br /&gt;
&lt;br /&gt;
== FHEM Device Einstellungen ==&lt;br /&gt;
Damit die zu schaltenden Geräte überhaupt in der Homebridge aufgenommen werden muss man sie im Raum Homekit hinzufügen.&lt;br /&gt;
&lt;br /&gt;
Um HM-CC-RT-DN Thermostate steuern zu können, muss wie oben beschrieben folgendes attribute gesetzt werden (hier als Beispiel das Device &amp;quot;Heizung&amp;quot;):&lt;br /&gt;
# attr Heizung subtype thermostat&lt;br /&gt;
Für einen Dummy muss man den genericDeviceType setzen, also beispielsweise:&lt;br /&gt;
# attr Dummy genericDeviceType switch&lt;br /&gt;
# attr Dummy setList on off&lt;br /&gt;
&lt;br /&gt;
Wie bereits vorher angemerkt: Fügt man ein Device hinzu oder führt eine Änderung an einem Device durch, so sollte homebridge neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
= HomeKit in iOS =&lt;br /&gt;
&lt;br /&gt;
== Einrichtung ==&lt;br /&gt;
Um FHEM über Homebridge in iOS nutzen zu können, muss HomeKit eingerichtet werden. &lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Apps. Im folgenden wird die App EVE von Elgato empfohlen, die aus dem App-Store geladen werden muss.&lt;br /&gt;
In der App auf:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
Gerät hinzufügen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es sollte ein Gerät mit der Bezeichnung &amp;quot;Homebridge&amp;quot; zur Auswahl erscheinen. Zur Ersteinrichtung auf PIN manuell eingeben gehen und (falls in der config.json nicht geändert):&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
031-45-154&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
eingeben.&lt;br /&gt;
&lt;br /&gt;
Im Anschluss können die Devices nach Belieben in verschiedene Räume zugeteilt werden, sowie Szenen und Bereiche erstellt werden.&lt;br /&gt;
&lt;br /&gt;
== Schalten mit Siri ==&lt;br /&gt;
&#039;&#039;&#039;HolyMoly&#039;&#039;&#039; aus dem FHEM-Forum hat ein paar Beispiele gegeben, wie man Siri dazu bringt Devices zu schalten:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Schalte alle Lampen im Obergeschoss ein.&amp;quot;&lt;br /&gt;
&amp;quot;Schalte Chloes Licht aus.&amp;quot;&lt;br /&gt;
&amp;quot;Dimme das Licht in der Küche.&amp;quot;&lt;br /&gt;
&amp;quot;Dimme das Licht im Esszimmer auf 50 %.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle das Licht in der Küche am hellsten ein.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle die Temperatur im Tahoe-Haus auf 22 °C ein.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle das Thermostat im Erdgeschoss auf 21 °C ein.&lt;br /&gt;
&amp;quot;Schalte den Drucker im Büro ein.&amp;quot;&lt;br /&gt;
&amp;quot;Siri, bereite alles für eine Party vor.&amp;quot;&lt;br /&gt;
&amp;quot;Bereite das Ambiente fürs Abendessen vor.&amp;quot;&lt;br /&gt;
&amp;quot;Aktiviere den Nachtruhemodus.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mittlerweile kann Siri auch noch die Lichtfarbe von LEDs ändern.&lt;br /&gt;
&lt;br /&gt;
= Hinweise =&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
Das Fhem Plugin von {{Link2FU|430|Andre (justme1968)}} unterstützt folgende Geräte&lt;br /&gt;
&lt;br /&gt;
    switches (devices with set on and set off commands)&lt;br /&gt;
    lights (devices with set on and set off commands)&lt;br /&gt;
    homematc and FS20 dimmers (devices with set on, set off and set dim or set pct commands)&lt;br /&gt;
    HUE, WifiLight, SWAP_0000002200000003 (hue, sat, bri, rgb)&lt;br /&gt;
    homematic, max and pid20 thermostats&lt;br /&gt;
    homematic blinds&lt;br /&gt;
    homematic, MAX and FHTTK contact sensors (door, window)&lt;br /&gt;
    HM-SEC-WIN, HM-SEC-KEY&lt;br /&gt;
    presence, ROOMMATE&lt;br /&gt;
    SONOS (power, volume)&lt;br /&gt;
    harmony scenes&lt;br /&gt;
    temperaturecw and humidity sensors&lt;br /&gt;
    CO20 air quality sensor&lt;br /&gt;
    probably some more ...&lt;br /&gt;
&lt;br /&gt;
== Steuerung von MiLight Allgemein ==&lt;br /&gt;
Wie hier im {{Link2Forum|Topic=32652|Message=351706|LinkText=Forum}} erwähnt, ist es möglich auch MiLight Geräte per Siri anzusprechen. Hierzu muss die config.json angepasst werden.&lt;br /&gt;
&lt;br /&gt;
1. Es muss die Bridge hinterlegt werden. Beispiel&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;platform&amp;quot;: &amp;quot;MiLight&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;MiLight&amp;quot;,&lt;br /&gt;
            &amp;quot;ip_address&amp;quot;: &amp;quot;192.168.001.033&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: 8899,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;rgbw&amp;quot;,&lt;br /&gt;
            &amp;quot;delay&amp;quot;: 30,&lt;br /&gt;
            &amp;quot;repeat&amp;quot;: 3,&lt;br /&gt;
            &amp;quot;zones&amp;quot;:[&amp;quot;Wohnzimmer Lampen&amp;quot;,&amp;quot;Badezimmer Lampen&amp;quot;,&amp;quot;Büro Lampen&amp;quot;,&amp;quot;Keller Lampen&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Es muss für jedes zu Steuernde Gerät ein Dummy angelegt werden. Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;accessory&amp;quot;: &amp;quot;Http&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Kitchen Lamp&amp;quot;,&lt;br /&gt;
            &amp;quot;on_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/on&amp;quot;,&lt;br /&gt;
            &amp;quot;off_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/off&amp;quot;,&lt;br /&gt;
            &amp;quot;brightness_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/brightness/%b&amp;quot;,&lt;br /&gt;
            &amp;quot;http_method&amp;quot;: &amp;quot;POST&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinweis für alte homebridge Versionen ==&lt;br /&gt;
UPDATE: Homebridge funktioniert mit einer kleinen Einschränkung nun auch mit node 4.0.0. Laut&lt;br /&gt;
[https://github.com/cflurin/homebridge-shims/wiki/Minimalist-Homebridge-on-a-Raspberry-Pi Homebridge on a Raspberry Pi] müssen die folgenden Abhängigkeiten (Dependencies) aus der &#039;&#039;&#039;package.json&#039;&#039;&#039; entfernt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;harmonyhubjs-client&amp;quot;: &amp;quot;^1.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-discover&amp;quot;: &amp;quot;git+https://github.com/swissmanu/harmonyhubjs-discover.git&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinweis zur Geschwindigkeitsoptimierung auf einem Raspberry PI ==&lt;br /&gt;
&lt;br /&gt;
Damit es auf einem Raspberry schneller läuft, wird darüber hinaus empfohlen auch diverse Abhängigkeiten aus der &#039;&#039;&#039;package.json&#039;&#039;&#039; zu entfernen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;ad2usb&amp;quot;: &amp;quot;git+https://github.com/alistairg/node-ad2usb.git#local&amp;quot;,&lt;br /&gt;
&amp;quot;carwingsjs&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
&amp;quot;chokidar&amp;quot;: &amp;quot;^1.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;eibd&amp;quot;: &amp;quot;^0.3.1&amp;quot;,&lt;br /&gt;
&amp;quot;elkington&amp;quot;: &amp;quot;kevinohara80/elkington&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-client&amp;quot;: &amp;quot;^1.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-discover&amp;quot;: &amp;quot;git+https://github.com/swissmanu/harmonyhubjs-discover.git&amp;quot;,&lt;br /&gt;
&amp;quot;lifx-api&amp;quot;: &amp;quot;^1.0.1&amp;quot;,&lt;br /&gt;
&amp;quot;lifx&amp;quot;: &amp;quot;git+https://github.com/magicmonkey/lifxjs.git&amp;quot;,&lt;br /&gt;
&amp;quot;node-hue-api&amp;quot;: &amp;quot;^1.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;node-icontrol&amp;quot;: &amp;quot;^0.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;node-milight-promise&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
&amp;quot;tough-cookie&amp;quot;: &amp;quot;^2.0.0&amp;quot;,&lt;br /&gt;
&amp;quot;sonos&amp;quot;: &amp;quot;0.8.x&amp;quot;,&lt;br /&gt;
&amp;quot;telldus-live&amp;quot;: &amp;quot;0.2.x&amp;quot;,&lt;br /&gt;
&amp;quot;teslams&amp;quot;: &amp;quot;1.0.1&amp;quot;,&lt;br /&gt;
&amp;quot;unofficial-nest-api&amp;quot;: &amp;quot;git+https://github.com/hachidorii/unofficial_nodejs_nest.git#d8d48edc952b049ff6320ef99afa7b2f04cdee98&amp;quot;,&lt;br /&gt;
&amp;quot;wemo&amp;quot;: &amp;quot;0.2.x&amp;quot;,&lt;br /&gt;
&amp;quot;wink-js&amp;quot;: &amp;quot;0.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;komponist&amp;quot; : &amp;quot;0.1.0&amp;quot;,&lt;br /&gt;
&amp;quot;yamaha-nodejs&amp;quot;: &amp;quot;0.4.x&amp;quot;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daher zunächst ein ein Backup der Datei anlegen &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp package.json package.json.bkp &amp;lt;/pre&amp;gt;&lt;br /&gt;
Am einfachsten geht das entfernen der Zeilen einem Editor, beispielsweise nano oder vi.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano package.json&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das config file sollte dann wie folgt aussehen: Achtung vor den letzten zwei &amp;quot;}&amp;quot; am Ende darf kein Komma sein.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;homebridge&amp;quot;,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;HomeKit support for the impatient&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;0.1.1&amp;quot;,&lt;br /&gt;
  &amp;quot;scripts&amp;quot;: {&lt;br /&gt;
    &amp;quot;start&amp;quot;: &amp;quot;DEBUG=* node app.js || true&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;repository&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;git&amp;quot;,&lt;br /&gt;
    &amp;quot;url&amp;quot;: &amp;quot;git://github.com/nfarina/homebridge.git&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;license&amp;quot;: &amp;quot;ISC&amp;quot;,&lt;br /&gt;
  &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
    &amp;quot;async&amp;quot;: &amp;quot;^1.4.2&amp;quot;,&lt;br /&gt;
    &amp;quot;color&amp;quot;: &amp;quot;0.10.x&amp;quot;,&lt;br /&gt;
    &amp;quot;debug&amp;quot;: &amp;quot;^2.2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;hap-nodejs&amp;quot;: &amp;quot;^0.0.2&amp;quot;,&lt;br /&gt;
    &amp;quot;isy-js&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;mdns&amp;quot;: &amp;quot;^2.2.4&amp;quot;,&lt;br /&gt;
    &amp;quot;netatmo&amp;quot;: &amp;quot;1.3.0&amp;quot;,&lt;br /&gt;
    &amp;quot;node-cache&amp;quot;: &amp;quot;3.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;node-persist&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
    &amp;quot;node-xmpp-client&amp;quot;: &amp;quot;1.0.0-alpha23&amp;quot;,&lt;br /&gt;
    &amp;quot;q&amp;quot;: &amp;quot;1.4.x&amp;quot;,&lt;br /&gt;
    &amp;quot;queue&amp;quot;: &amp;quot;^3.1.0&amp;quot;,&lt;br /&gt;
    &amp;quot;request&amp;quot;: &amp;quot;2.49.x&amp;quot;,&lt;br /&gt;
    &amp;quot;xml2js&amp;quot;: &amp;quot;0.4.x&amp;quot;,&lt;br /&gt;
    &amp;quot;xmldoc&amp;quot;: &amp;quot;0.1.x&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Wuppi68</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Homebridge_einrichten&amp;diff=13382</id>
		<title>Homebridge einrichten</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Homebridge_einrichten&amp;diff=13382"/>
		<updated>2015-12-28T22:18:09Z</updated>

		<summary type="html">&lt;p&gt;Wuppi68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses HOWTO zeigt die Installation und Erstinbetriebnahme von Homebridge. &lt;br /&gt;
&lt;br /&gt;
Damit kann Siri benutzt werden, um FHEM-Devices zu steuern. So können Devices angesprochen werden, die offiziell HomeKit nicht unterstützen (die Vorgehensweise wurde auf einem Intel NUC mit Ubuntu Server 14.04 LTS und auf einem Raspberry Pi mit Raspian getestet). Der WIKI-Eintrag bezieht sich hauptsächlich auf eine {{Link2Forum|Topic=32652|LinkText=Diskussion im FHEM-Forum}}. Ein Riesendank gilt vor allem {{Link2FU|430|Andre (justme1968)}}.&lt;br /&gt;
&lt;br /&gt;
Eine Sammlung funktionsfähiger Homebridge FHEM Konfiguration kann hier gefunden werden: [[Hombridge User Configs]]. Die Sammlung befindet sich noch im Aufbau.&lt;br /&gt;
&lt;br /&gt;
= Vorbereitung der Umgebung =&lt;br /&gt;
&lt;br /&gt;
== NodeJS installieren ==&lt;br /&gt;
&#039;&#039;Die nachfolgenden Befehle sind alle mit &amp;quot;sudo&amp;quot; prefixed. Wenn du unter &amp;quot;root&amp;quot; arbeitest oder deine Distribution einen anderen Mechanismus verwendet, so kannst du dies natürlich weglassen.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Zunächst wird das Betriebssystem (in diesem Falle Debian oder Ubuntu) auf den aktuellen Stand gebracht:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
sudo apt-get install build-essential libssl-dev&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun muss NodeJS installiert werden. Leider ist die Version im Debian Repository deutlich zu alt, daher wird mit den folgenden Befehlen das Node Repository hinzugefügt und NodeJS (in der LTS Version) entsprechend installiert:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -&lt;br /&gt;
sudo apt-get install -y nodejs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit ist NodeJS installiert.&lt;br /&gt;
&lt;br /&gt;
== Python, g++, MDNS installieren ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install python g++ libavahi-compat-libdnssd-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun sind alle Voraussetzungen geschaffen.&lt;br /&gt;
&lt;br /&gt;
= Installation von Homebridge &amp;amp; notwendiger Shims =&lt;br /&gt;
Im Nachfolgenden Absatz wird die Installation von Homebridge sowie des notwendigen Plugins (Shim) für FHEM erläutert.&lt;br /&gt;
&lt;br /&gt;
== Homebridge installieren ==&lt;br /&gt;
Die aktuelle Homebridge version wird mit&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
npm install -g homebridge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
installiert, was eine Weile dauert. Anschließend wird der FHEM platform shim mit:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:60%;&amp;quot;&amp;gt;&lt;br /&gt;
npm install -g homebridge-fhem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
installiert.&lt;br /&gt;
&lt;br /&gt;
=== Fehler während der Installation ===&lt;br /&gt;
Bei folgendem Fehler ist das abrufen von Github nicht möglich.&lt;br /&gt;
&amp;lt;pre&amp;gt;npm ERR! git clone --template=/home/hs-server-admin/.npm/_git-remotes/_templates --mirror &lt;br /&gt;
git://github.com/KhaosT/ed25519.git /home/hs-server-admin/.npm/_git-remotes/git-github-com-KhaosT-ed25519-git-d8bdee1d: &lt;br /&gt;
github.com[0: 192.30.252.128]: errno=Die Wartezeit für die Verbindung ist abgelaufen&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fehlerursache konnte hier durch eine aktive Firewall verursacht werden.&lt;br /&gt;
&lt;br /&gt;
Kommt eine DNS Fehlermeldung fehlt meistens der AVAHI-DAEMON, zu installieren via&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width=50%&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install avahi-daemon&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Homebridge konfigurieren =&lt;br /&gt;
&#039;&#039;Wichtig: Für die weiteren Schritte sollte man nicht root verwenden, sondern beispielsweise einen dedizieren Nutzer für homebridge oder der Einfachheit halber den Nutzer unter dem auch FHEM läuft (meist &amp;quot;fhem&amp;quot;).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Einstellungen für homebridge ==&lt;br /&gt;
&lt;br /&gt;
Zunächst wird das Verzeichnis für die Konfigurationsdatei erstellt und in dieses gewechselt:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p ~/.homebridge&lt;br /&gt;
cd ~/.homebridge/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun muss darin noch die config.json erstellt bzw. angepasst werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.homebridge/config.json&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise zur Konfiguration:&lt;br /&gt;
* &amp;quot;&#039;&#039;bridge&#039;&#039;&amp;quot;:&lt;br /&gt;
** &amp;quot;&#039;&#039;username&#039;&#039;&amp;quot;: Sollte so belassen werden. Sollte später auf dem iOS Device keine Homebridge gefunden werden, so kann man hier beispielsweise den String auf 31 statt 30 enden lassen um so eine neue Homebridge vorzutäuschen.&lt;br /&gt;
** &amp;quot;&#039;&#039;port&#039;&#039;&amp;quot;: Sollte so belassen werden&lt;br /&gt;
** &amp;quot;&#039;&#039;pin&#039;&#039;&amp;quot;: Der PIN kann beliebig in dem Format xxx-xx-xxx angepasst werden. Dieser muss nur einmal bei der Einrichtung in iOS eingegeben werden.&lt;br /&gt;
* &amp;quot;&#039;&#039;platforms&#039;&#039;&amp;quot;: &lt;br /&gt;
** &amp;quot;&#039;&#039;platform&#039;&#039;&amp;quot;: Hier muss &amp;quot;homebridge-fhem.fhem&amp;quot; beibehalten werden.&lt;br /&gt;
** &amp;quot;&#039;&#039;server&#039;&#039;&amp;quot;: Hier muss die IP des FHEM-Servers eingetragen werden. Dabei muss Homebridge nicht auf dem selben Server laufen wie FHEM, kann aber. Wenn es auf dem gleichen Rechner läuft, dann bietet es sich an, die IP 127.0.0.1 zu verwenden.&lt;br /&gt;
** &amp;quot;&#039;&#039;port&#039;&#039;&amp;quot;: Hier muss der Port des gewählten FHEMWEBS eingetragen werden (muss nicht das &amp;quot;normale&amp;quot; sein, kann eine extra Instanz sein)&lt;br /&gt;
** &amp;quot;&#039;&#039;auth&#039;&#039;&amp;quot;: Ist FHEM nicht mit Nutzername/Password abgesichert, so kann man diese Zeile einfach entfernen.&lt;br /&gt;
** &amp;quot;&#039;&#039;filter&#039;&#039;&amp;quot;: Damit nicht alle Devices von Homebridge berücksichtigt werden, bietet es sich an, die Devices zu filtern. In diesem Beispiel wurden alle Devices, die über Siri steuerbar sein sollen, zusätzlich in den Raum Homekit konfiguriert.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;bridge&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;Homebridge&amp;quot;,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;CC:22:3D:E3:CE:30&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 51826,&lt;br /&gt;
        &amp;quot;pin&amp;quot;: &amp;quot;031-45-154&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;platforms&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;platform&amp;quot;: &amp;quot;homebridge-fhem.FHEM&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;FHEM&amp;quot;,&lt;br /&gt;
            &amp;quot;server&amp;quot;: &amp;quot;127.0.0.1&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: &amp;quot;8083&amp;quot;,&lt;br /&gt;
            &amp;quot;auth&amp;quot;: {&amp;quot;user&amp;quot;: &amp;quot;FhemUser&amp;quot;, &amp;quot;pass&amp;quot;: &amp;quot;XXX&amp;quot;},&lt;br /&gt;
            &amp;quot;filter&amp;quot;: &amp;quot;room=Homekit&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
     ],&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;accessories&amp;quot;: []&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird FHEM mit SSL abgesichert, so muss zusätzlich in der Sektion &amp;quot;platforms&amp;quot; noch diese Zeile (nach &amp;quot;port&amp;quot;) eingefügt werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;quot;ssl&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FHEM konfigurieren =&lt;br /&gt;
Um die Devices richtig mit FHEM und Homebridge vertraut zu machen, müssen wir noch unter dem &#039;&#039;global&#039;&#039;-Device das folgende userattr hinzufügen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
genericDeviceType:ignore,switch,outlet,light,blind,speaker,thermostat,ignore,lock,window,contact&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das geht am einfachsten via Eingabefeld (nicht in der fhem.cfg):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{ addToAttrList(&amp;quot;genericDeviceType:ignore,switch,outlet,light,blind,speaker,thermostat,ignore,lock,window,contact&amp;quot;) }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich &#039;&#039;&#039;kann&#039;&#039;&#039; man an bestimmten Devices noch einen subtype setzen (beispielsweise Thermostaten, Rolladenschaltern oder HM-Fensteröffnersensoren). Dazu erstellt man im Device (hier als Beispiel DEIN.DEVICE als Name) zunächst das userattr &amp;quot;subtype&amp;quot;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{ addToDevAttrList(&amp;quot;DEIN.DEVICE&amp;quot;, &amp;quot;subtype:thermostat,blindActuator,threeStateSensor&amp;quot;) }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Wenn DEIN.DEVICE nun ein HM-CC-RT-DN ist, so wählt man dann in den Attributen einfach als &#039;&#039;subtype&#039;&#039; eben &#039;&#039;thermostat&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Start von Homebridge =&lt;br /&gt;
&lt;br /&gt;
== Hinweis ==&lt;br /&gt;
Nach allen Änderungen die in FHEM gemacht werden, welche Homebridge betreffen, muss Homebridge neu gestartet werden. Wie der Neustart erfolgen muss, ist abhängig davon, wie man Homebridge gestartet hat. Bitte den entsprechenden Methoden entnehmen.&lt;br /&gt;
&lt;br /&gt;
== Einmaliger Manueller Start ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
homebridge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Homebridge sollte nun laufen. Hier kann man die Kommunikation nachverfolgen. Abbrechen kann das ganze mit CTRL+c (es dann auch keine Befehle mehr mit Siri möglich). Damit Siri auch Befehle ohne ständig offenes Terminal bearbeiten kann, bitten nächsten Punkt beachten.&lt;br /&gt;
&lt;br /&gt;
== Homebridge automatisch starten ==&lt;br /&gt;
Es gibt verschiedene Methoden, Homebridge automatisch zu starten.&lt;br /&gt;
&lt;br /&gt;
=== Steuerung via FHEM ===&lt;br /&gt;
Auf Basis der unten stehenden &#039;&#039;Alternativen Methode&#039;&#039; wurde eine Version entwickelt, mit der man auch den Status einsehen und den Restart des Dienstes aus FHEM heraus erledigen kann. Diese Version ist auf der Seite [[Homebridge Start und Status in FHEM]] im Detail beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Alternative Methode ===&lt;br /&gt;
Dies startet homebridge als einen Service.&lt;br /&gt;
&lt;br /&gt;
==== Service anlegen ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /etc/init.d/homebridge&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code einfügen (startet den Homebridge Server als Benutzer &amp;quot;pi&amp;quot; und nimmt an, dass sich .homebridge/config.json in seinem Homeverzeichnis unter /home/pi/ befindet):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides: homebridge&lt;br /&gt;
# Required-Start: $network $remote_fs $syslog&lt;br /&gt;
# Required-Stop: $remote_fs $syslog&lt;br /&gt;
# Default-Start: 2 3 4 5&lt;br /&gt;
# Default-Stop: 0 1 6&lt;br /&gt;
# Short-Description: Start daemon at boot time for homebridge&lt;br /&gt;
# Description: Enable service provided by daemon.&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
export PATH=$PATH:/usr/local/bin&lt;br /&gt;
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules&lt;br /&gt;
PID=`pidof homebridge`&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)&lt;br /&gt;
if ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is already running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        su - pi -c &amp;quot;homebridge &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;quot;&lt;br /&gt;
        echo &amp;quot;Homebridge starting&amp;quot;&lt;br /&gt;
        $0 status&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
if ! ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is not running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        kill $PID&lt;br /&gt;
        echo &amp;quot;Homebridge closed&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
restart)&lt;br /&gt;
if ! ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        $0 start&lt;br /&gt;
else&lt;br /&gt;
        $0 stop&lt;br /&gt;
        $0 start&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
status)&lt;br /&gt;
if ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is running PID $PID&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;Homebridge is not running&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;Usage: $0 {start|stop|status|restart}&amp;quot;&lt;br /&gt;
exit 1&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Autostart aktivieren ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chmod 755 /etc/init.d/homebridge&lt;br /&gt;
&lt;br /&gt;
sudo update-rc.d homebridge defaults&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun kann man mit &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo service homebridge start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo /etc/init.d/homebridge start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Dienst starten&lt;br /&gt;
&lt;br /&gt;
== FHEM Device Einstellungen ==&lt;br /&gt;
Damit die zu schaltenden Geräte überhaupt in der Homebridge aufgenommen werden muss man sie im Raum Homekit hinzufügen.&lt;br /&gt;
&lt;br /&gt;
Um HM-CC-RT-DN Thermostate steuern zu können, muss wie oben beschrieben folgendes attribute gesetzt werden (hier als Beispiel das Device &amp;quot;Heizung&amp;quot;):&lt;br /&gt;
# attr Heizung subtype thermostat&lt;br /&gt;
Für einen Dummy muss man den genericDeviceType setzen, also beispielsweise:&lt;br /&gt;
# attr Dummy genericDeviceType switch&lt;br /&gt;
# attr Dummy setList on off&lt;br /&gt;
&lt;br /&gt;
Wie bereits vorher angemerkt: Fügt man ein Device hinzu oder führt eine Änderung an einem Device durch, so sollte homebridge neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
= HomeKit in iOS =&lt;br /&gt;
&lt;br /&gt;
== Einrichtung ==&lt;br /&gt;
Um FHEM über Homebridge in iOS nutzen zu können, muss HomeKit eingerichtet werden. &lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Apps. Im folgenden wird die App EVE von Elgato empfohlen, die aus dem App-Store geladen werden muss.&lt;br /&gt;
In der App auf:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
Gerät hinzufügen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es sollte ein Gerät mit der Bezeichnung &amp;quot;Homebridge&amp;quot; zur Auswahl erscheinen. Zur Ersteinrichtung auf PIN manuell eingeben gehen und (falls in der config.json nicht geändert):&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
031-45-154&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
eingeben.&lt;br /&gt;
&lt;br /&gt;
Im Anschluss können die Devices nach Belieben in verschiedene Räume zugeteilt werden, sowie Szenen und Bereiche erstellt werden.&lt;br /&gt;
&lt;br /&gt;
== Schalten mit Siri ==&lt;br /&gt;
&#039;&#039;&#039;HolyMoly&#039;&#039;&#039; aus dem FHEM-Forum hat ein paar Beispiele gegeben, wie man Siri dazu bringt Devices zu schalten:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Schalte alle Lampen im Obergeschoss ein.&amp;quot;&lt;br /&gt;
&amp;quot;Schalte Chloes Licht aus.&amp;quot;&lt;br /&gt;
&amp;quot;Dimme das Licht in der Küche.&amp;quot;&lt;br /&gt;
&amp;quot;Dimme das Licht im Esszimmer auf 50 %.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle das Licht in der Küche am hellsten ein.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle die Temperatur im Tahoe-Haus auf 22 °C ein.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle das Thermostat im Erdgeschoss auf 21 °C ein.&lt;br /&gt;
&amp;quot;Schalte den Drucker im Büro ein.&amp;quot;&lt;br /&gt;
&amp;quot;Siri, bereite alles für eine Party vor.&amp;quot;&lt;br /&gt;
&amp;quot;Bereite das Ambiente fürs Abendessen vor.&amp;quot;&lt;br /&gt;
&amp;quot;Aktiviere den Nachtruhemodus.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mittlerweile kann Siri auch noch die Lichtfarbe von LEDs ändern.&lt;br /&gt;
&lt;br /&gt;
= Hinweise =&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
Das Fhem Plugin von {{Link2FU|430|Andre (justme1968)}} unterstützt folgende Geräte&lt;br /&gt;
&lt;br /&gt;
    switches (devices with set on and set off commands)&lt;br /&gt;
    lights (devices with set on and set off commands)&lt;br /&gt;
    homematc and FS20 dimmers (devices with set on, set off and set dim or set pct commands)&lt;br /&gt;
    HUE, WifiLight, SWAP_0000002200000003 (hue, sat, bri, rgb)&lt;br /&gt;
    homematic, max and pid20 thermostats&lt;br /&gt;
    homematic blinds&lt;br /&gt;
    homematic, MAX and FHTTK contact sensors (door, window)&lt;br /&gt;
    HM-SEC-WIN, HM-SEC-KEY&lt;br /&gt;
    presence, ROOMMATE&lt;br /&gt;
    SONOS (power, volume)&lt;br /&gt;
    harmony scenes&lt;br /&gt;
    temperaturecw and humidity sensors&lt;br /&gt;
    CO20 air quality sensor&lt;br /&gt;
    probably some more ...&lt;br /&gt;
&lt;br /&gt;
== Steuerung von MiLight Allgemein ==&lt;br /&gt;
Wie hier im {{Link2Forum|Topic=32652|Message=351706|LinkText=Forum}} erwähnt, ist es möglich auch MiLight Geräte per Siri anzusprechen. Hierzu muss die config.json angepasst werden.&lt;br /&gt;
&lt;br /&gt;
1. Es muss die Bridge hinterlegt werden. Beispiel&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;platform&amp;quot;: &amp;quot;MiLight&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;MiLight&amp;quot;,&lt;br /&gt;
            &amp;quot;ip_address&amp;quot;: &amp;quot;192.168.001.033&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: 8899,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;rgbw&amp;quot;,&lt;br /&gt;
            &amp;quot;delay&amp;quot;: 30,&lt;br /&gt;
            &amp;quot;repeat&amp;quot;: 3,&lt;br /&gt;
            &amp;quot;zones&amp;quot;:[&amp;quot;Wohnzimmer Lampen&amp;quot;,&amp;quot;Badezimmer Lampen&amp;quot;,&amp;quot;Büro Lampen&amp;quot;,&amp;quot;Keller Lampen&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Es muss für jedes zu Steuernde Gerät ein Dummy angelegt werden. Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;accessory&amp;quot;: &amp;quot;Http&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Kitchen Lamp&amp;quot;,&lt;br /&gt;
            &amp;quot;on_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/on&amp;quot;,&lt;br /&gt;
            &amp;quot;off_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/off&amp;quot;,&lt;br /&gt;
            &amp;quot;brightness_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/brightness/%b&amp;quot;,&lt;br /&gt;
            &amp;quot;http_method&amp;quot;: &amp;quot;POST&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinweis für alte homebridge Versionen ==&lt;br /&gt;
UPDATE: Homebridge funktioniert mit einer kleinen Einschränkung nun auch mit node 4.0.0. Laut&lt;br /&gt;
[https://github.com/cflurin/homebridge-shims/wiki/Minimalist-Homebridge-on-a-Raspberry-Pi Homebridge on a Raspberry Pi] müssen die folgenden Abhängigkeiten (Dependencies) aus der &#039;&#039;&#039;package.json&#039;&#039;&#039; entfernt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;harmonyhubjs-client&amp;quot;: &amp;quot;^1.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-discover&amp;quot;: &amp;quot;git+https://github.com/swissmanu/harmonyhubjs-discover.git&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinweis zur Geschwindigkeitsoptimierung auf einem Raspberry PI ==&lt;br /&gt;
&lt;br /&gt;
Damit es auf einem Raspberry schneller läuft, wird darüber hinaus empfohlen auch diverse Abhängigkeiten aus der &#039;&#039;&#039;package.json&#039;&#039;&#039; zu entfernen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;ad2usb&amp;quot;: &amp;quot;git+https://github.com/alistairg/node-ad2usb.git#local&amp;quot;,&lt;br /&gt;
&amp;quot;carwingsjs&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
&amp;quot;chokidar&amp;quot;: &amp;quot;^1.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;eibd&amp;quot;: &amp;quot;^0.3.1&amp;quot;,&lt;br /&gt;
&amp;quot;elkington&amp;quot;: &amp;quot;kevinohara80/elkington&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-client&amp;quot;: &amp;quot;^1.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-discover&amp;quot;: &amp;quot;git+https://github.com/swissmanu/harmonyhubjs-discover.git&amp;quot;,&lt;br /&gt;
&amp;quot;lifx-api&amp;quot;: &amp;quot;^1.0.1&amp;quot;,&lt;br /&gt;
&amp;quot;lifx&amp;quot;: &amp;quot;git+https://github.com/magicmonkey/lifxjs.git&amp;quot;,&lt;br /&gt;
&amp;quot;node-hue-api&amp;quot;: &amp;quot;^1.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;node-icontrol&amp;quot;: &amp;quot;^0.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;node-milight-promise&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
&amp;quot;tough-cookie&amp;quot;: &amp;quot;^2.0.0&amp;quot;,&lt;br /&gt;
&amp;quot;sonos&amp;quot;: &amp;quot;0.8.x&amp;quot;,&lt;br /&gt;
&amp;quot;telldus-live&amp;quot;: &amp;quot;0.2.x&amp;quot;,&lt;br /&gt;
&amp;quot;teslams&amp;quot;: &amp;quot;1.0.1&amp;quot;,&lt;br /&gt;
&amp;quot;unofficial-nest-api&amp;quot;: &amp;quot;git+https://github.com/hachidorii/unofficial_nodejs_nest.git#d8d48edc952b049ff6320ef99afa7b2f04cdee98&amp;quot;,&lt;br /&gt;
&amp;quot;wemo&amp;quot;: &amp;quot;0.2.x&amp;quot;,&lt;br /&gt;
&amp;quot;wink-js&amp;quot;: &amp;quot;0.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;komponist&amp;quot; : &amp;quot;0.1.0&amp;quot;,&lt;br /&gt;
&amp;quot;yamaha-nodejs&amp;quot;: &amp;quot;0.4.x&amp;quot;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daher zunächst ein ein Backup der Datei anlegen &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo cp package.json package.json.bkp &amp;lt;/pre&amp;gt;&lt;br /&gt;
Am einfachsten geht das entfernen der Zeilen einem Editor, beispielsweise nano oder vi.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano package.json&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das config file sollte dann wie folgt aussehen: Achtung vor den letzten zwei &amp;quot;}&amp;quot; am Ende darf kein Komma sein.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;homebridge&amp;quot;,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;HomeKit support for the impatient&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;0.1.1&amp;quot;,&lt;br /&gt;
  &amp;quot;scripts&amp;quot;: {&lt;br /&gt;
    &amp;quot;start&amp;quot;: &amp;quot;DEBUG=* node app.js || true&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;repository&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;git&amp;quot;,&lt;br /&gt;
    &amp;quot;url&amp;quot;: &amp;quot;git://github.com/nfarina/homebridge.git&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;license&amp;quot;: &amp;quot;ISC&amp;quot;,&lt;br /&gt;
  &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
    &amp;quot;async&amp;quot;: &amp;quot;^1.4.2&amp;quot;,&lt;br /&gt;
    &amp;quot;color&amp;quot;: &amp;quot;0.10.x&amp;quot;,&lt;br /&gt;
    &amp;quot;debug&amp;quot;: &amp;quot;^2.2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;hap-nodejs&amp;quot;: &amp;quot;^0.0.2&amp;quot;,&lt;br /&gt;
    &amp;quot;isy-js&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;mdns&amp;quot;: &amp;quot;^2.2.4&amp;quot;,&lt;br /&gt;
    &amp;quot;netatmo&amp;quot;: &amp;quot;1.3.0&amp;quot;,&lt;br /&gt;
    &amp;quot;node-cache&amp;quot;: &amp;quot;3.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;node-persist&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
    &amp;quot;node-xmpp-client&amp;quot;: &amp;quot;1.0.0-alpha23&amp;quot;,&lt;br /&gt;
    &amp;quot;q&amp;quot;: &amp;quot;1.4.x&amp;quot;,&lt;br /&gt;
    &amp;quot;queue&amp;quot;: &amp;quot;^3.1.0&amp;quot;,&lt;br /&gt;
    &amp;quot;request&amp;quot;: &amp;quot;2.49.x&amp;quot;,&lt;br /&gt;
    &amp;quot;xml2js&amp;quot;: &amp;quot;0.4.x&amp;quot;,&lt;br /&gt;
    &amp;quot;xmldoc&amp;quot;: &amp;quot;0.1.x&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Wuppi68</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Homebridge_einrichten&amp;diff=13372</id>
		<title>Homebridge einrichten</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Homebridge_einrichten&amp;diff=13372"/>
		<updated>2015-12-28T00:34:12Z</updated>

		<summary type="html">&lt;p&gt;Wuppi68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses HOWTO zeigt die Installation und Erstinbetriebnahme von Homebridge. &lt;br /&gt;
&lt;br /&gt;
Damit kann Siri benutzt werden, um FHEM-Devices zu steuern. So können Devices angesprochen werden, die offiziell HomeKit nicht unterstützen (die Vorgehensweise wurde auf einem Intel NUC mit Ubuntu Server 14.04 LTS und auf einem Raspberry Pi mit Raspian getestet).&lt;br /&gt;
&lt;br /&gt;
Um Homebridge erfolgreich zu installieren, müssen zunächst NPM, NodeJS, Python, g++, MDNS, sowie benötigte Hilfspakete installiert werden:&lt;br /&gt;
&lt;br /&gt;
Der WIKI-Eintrag bezieht sich hauptsächlich auf diese {{Link2Forum|Topic=32652|LinkText=Diskussion im FHEM-Forum}}. Ein Riesendank gilt vor allem {{Link2FU|430|Andre (justme1968)}}.&lt;br /&gt;
&lt;br /&gt;
Eine Sammlung funktionsfähiger Homebridge FHEM Konfiguration kann hier gefunden werden: [[Hombridge User Configs]]. Die Sammlung befindet sich noch im Aufbau.&lt;br /&gt;
&lt;br /&gt;
== NodeJS installieren ==&lt;br /&gt;
In der Konsole folgende Befehle eingeben:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
sudo apt-get install build-essential libssl-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
UPDATE: Homebridge funktioniert mit einer kleinen Einschränkung nun auch mit node 4.0.0. Laut&lt;br /&gt;
[https://github.com/cflurin/homebridge-shims/wiki/Minimalist-Homebridge-on-a-Raspberry-Pi Homebridge on a Raspberry Pi] müssen die folgenden Abhängigkeiten (Dependencies) aus der &#039;&#039;&#039;package.json&#039;&#039;&#039; entfernt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;harmonyhubjs-client&amp;quot;: &amp;quot;^1.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-discover&amp;quot;: &amp;quot;git+https://github.com/swissmanu/harmonyhubjs-discover.git&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn aus dem Standard Debian Repository eine zu niedrige Version installiert wird kann mit folgenden Befehlen das Node Repository hinzugefügt werden und NodeJS entsprechend installiert werden.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -&lt;br /&gt;
sudo apt-get install -y nodejs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit es auf einem Raspberry schneller läuft wird darüber hinaus empfohlen auch diese Abhängigkeiten aus der &#039;&#039;&#039;package.json&#039;&#039;&#039; zu entfernen:&lt;br /&gt;
&lt;br /&gt;
Vorher noch ein ein Backup der Datei anlegen &lt;br /&gt;
&amp;lt;pre&amp;gt;cp package.json package.json.bkp oder sudo cp package.json package.json.bkp &amp;lt;/pre&amp;gt;&lt;br /&gt;
Am einfachsten geht das entfernen der Zeilen mit dem Editor vi.&lt;br /&gt;
&amp;lt;!-- Bist Du sicher, dass &amp;quot;vi&amp;quot; das Einfachste ist? Ist nicht auf vielen Linux Systemen &lt;br /&gt;
     mittlerweile auch der &amp;quot;nano&amp;quot; Editor drauf? Der dürfte eigentlich !noch! einfacher sein.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;vi package.json oder sudo vi package.json&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mit dem Cursor vor die entsprechende Zeile gehen und mit zwei mal Taste d (dd tippen) wird die Zeile gelöscht.&lt;br /&gt;
&lt;br /&gt;
Eventuell muss vi mit sudo vi aufgerufen werden, je nach verwendeter Distribution.&lt;br /&gt;
&lt;br /&gt;
Gespeichert wird dann mit folgendem Ablauf: ESC :wq! Enter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;ad2usb&amp;quot;: &amp;quot;git+https://github.com/alistairg/node-ad2usb.git#local&amp;quot;,&lt;br /&gt;
&amp;quot;carwingsjs&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
&amp;quot;chokidar&amp;quot;: &amp;quot;^1.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;eibd&amp;quot;: &amp;quot;^0.3.1&amp;quot;,&lt;br /&gt;
&amp;quot;elkington&amp;quot;: &amp;quot;kevinohara80/elkington&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-client&amp;quot;: &amp;quot;^1.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;harmonyhubjs-discover&amp;quot;: &amp;quot;git+https://github.com/swissmanu/harmonyhubjs-discover.git&amp;quot;,&lt;br /&gt;
&amp;quot;lifx-api&amp;quot;: &amp;quot;^1.0.1&amp;quot;,&lt;br /&gt;
&amp;quot;lifx&amp;quot;: &amp;quot;git+https://github.com/magicmonkey/lifxjs.git&amp;quot;,&lt;br /&gt;
&amp;quot;node-hue-api&amp;quot;: &amp;quot;^1.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;node-icontrol&amp;quot;: &amp;quot;^0.1.4&amp;quot;,&lt;br /&gt;
&amp;quot;node-milight-promise&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
&amp;quot;tough-cookie&amp;quot;: &amp;quot;^2.0.0&amp;quot;,&lt;br /&gt;
&amp;quot;sonos&amp;quot;: &amp;quot;0.8.x&amp;quot;,&lt;br /&gt;
&amp;quot;telldus-live&amp;quot;: &amp;quot;0.2.x&amp;quot;,&lt;br /&gt;
&amp;quot;teslams&amp;quot;: &amp;quot;1.0.1&amp;quot;,&lt;br /&gt;
&amp;quot;unofficial-nest-api&amp;quot;: &amp;quot;git+https://github.com/hachidorii/unofficial_nodejs_nest.git#d8d48edc952b049ff6320ef99afa7b2f04cdee98&amp;quot;,&lt;br /&gt;
&amp;quot;wemo&amp;quot;: &amp;quot;0.2.x&amp;quot;,&lt;br /&gt;
&amp;quot;wink-js&amp;quot;: &amp;quot;0.0.5&amp;quot;,&lt;br /&gt;
&amp;quot;komponist&amp;quot; : &amp;quot;0.1.0&amp;quot;,&lt;br /&gt;
&amp;quot;yamaha-nodejs&amp;quot;: &amp;quot;0.4.x&amp;quot;,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Konfig file sollte dann wie folgt aussehen: Achtung vor den letzten zwei } am Ende dar kein Komma sein.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;homebridge&amp;quot;,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;HomeKit support for the impatient&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;0.1.1&amp;quot;,&lt;br /&gt;
  &amp;quot;scripts&amp;quot;: {&lt;br /&gt;
    &amp;quot;start&amp;quot;: &amp;quot;DEBUG=* node app.js || true&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;repository&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;git&amp;quot;,&lt;br /&gt;
    &amp;quot;url&amp;quot;: &amp;quot;git://github.com/nfarina/homebridge.git&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;license&amp;quot;: &amp;quot;ISC&amp;quot;,&lt;br /&gt;
  &amp;quot;dependencies&amp;quot;: {&lt;br /&gt;
    &amp;quot;async&amp;quot;: &amp;quot;^1.4.2&amp;quot;,&lt;br /&gt;
    &amp;quot;color&amp;quot;: &amp;quot;0.10.x&amp;quot;,&lt;br /&gt;
    &amp;quot;debug&amp;quot;: &amp;quot;^2.2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;hap-nodejs&amp;quot;: &amp;quot;^0.0.2&amp;quot;,&lt;br /&gt;
    &amp;quot;isy-js&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;mdns&amp;quot;: &amp;quot;^2.2.4&amp;quot;,&lt;br /&gt;
    &amp;quot;netatmo&amp;quot;: &amp;quot;1.3.0&amp;quot;,&lt;br /&gt;
    &amp;quot;node-cache&amp;quot;: &amp;quot;3.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;node-persist&amp;quot;: &amp;quot;0.0.x&amp;quot;,&lt;br /&gt;
    &amp;quot;node-xmpp-client&amp;quot;: &amp;quot;1.0.0-alpha23&amp;quot;,&lt;br /&gt;
    &amp;quot;q&amp;quot;: &amp;quot;1.4.x&amp;quot;,&lt;br /&gt;
    &amp;quot;queue&amp;quot;: &amp;quot;^3.1.0&amp;quot;,&lt;br /&gt;
    &amp;quot;request&amp;quot;: &amp;quot;2.49.x&amp;quot;,&lt;br /&gt;
    &amp;quot;xml2js&amp;quot;: &amp;quot;0.4.x&amp;quot;,&lt;br /&gt;
    &amp;quot;xmldoc&amp;quot;: &amp;quot;0.1.x&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Python, g++, MDNS installieren ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install python&lt;br /&gt;
sudo apt-get install g++&lt;br /&gt;
sudo apt-get install libavahi-compat-libdnssd-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homebridge installieren ==&lt;br /&gt;
Die aktuelle Homebridge version wird mit&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
npm install -g homebridge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
installiert, der FHEM platform shim mit&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:60%;&amp;quot;&amp;gt;&lt;br /&gt;
npm install -g homebridge-fhem&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ERR während der Installation ==&lt;br /&gt;
Bei folgendem Fehler ist das abrufen von Github nicht möglich.&lt;br /&gt;
&amp;lt;pre&amp;gt;npm ERR! git clone --template=/home/hs-server-admin/.npm/_git-remotes/_templates --mirror &lt;br /&gt;
git://github.com/KhaosT/ed25519.git /home/hs-server-admin/.npm/_git-remotes/git-github-com-KhaosT-ed25519-git-d8bdee1d: &lt;br /&gt;
github.com[0: 192.30.252.128]: errno=Die Wartezeit für die Verbindung ist abgelaufen&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fehlerursache konnte hier durch eine aktive Firewall verursacht werden.&lt;br /&gt;
&lt;br /&gt;
== Homebridge konfigurieren ==&lt;br /&gt;
Im Verzeichnis ~/.homebridge/ muss nun noch die config.json erstellt bzw. angepasst werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
nano config.json&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Homebridge muss nicht, kann aber auf dem selben Server laufen wie FHEM. &lt;br /&gt;
&lt;br /&gt;
Unter &amp;quot;server&amp;quot; muss die IP des FHEM-Servers und unter &amp;quot;port&amp;quot; der benutzte Port des benutzten FHEMWEBS eingetragen werden.&lt;br /&gt;
&lt;br /&gt;
Läuft der Homebridge Server auf dem gleichen Rechner wie FHEM, kann die IP 127.0.0.1 benutzt werden.&lt;br /&gt;
&lt;br /&gt;
WICHTIG: Damit nicht alle Devices von Homebridge berücksichtig werden, bietet es sich an, die Devices zu filtern. &lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel wurden alle Devices, die über Siri steuerbar sein sollen zusätzlich in den ROOM Homekit per FHEM eingerichtet. &lt;br /&gt;
&lt;br /&gt;
Der PIN kann beliebig in dem Format xxx-xx-xxx angepasst werden. Dieser muss nur einmal bei der Einrichtung in iOS eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;bridge&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;Homebridge&amp;quot;,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;CC:22:3D:E3:CE:30&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 51826,&lt;br /&gt;
        &amp;quot;pin&amp;quot;: &amp;quot;031-45-154&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;platforms&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;platform&amp;quot;: &amp;quot;FHEM&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;FHEM&amp;quot;,&lt;br /&gt;
            &amp;quot;server&amp;quot;: &amp;quot;192.168.xxx.xxx&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: &amp;quot;8083&amp;quot;,&lt;br /&gt;
            &amp;quot;filter&amp;quot;: &amp;quot;room=Homekit&amp;quot;,&lt;br /&gt;
            &amp;quot;auth&amp;quot;: {&amp;quot;user&amp;quot;: &amp;quot;FhemUser&amp;quot;, &amp;quot;pass&amp;quot;: &amp;quot;XXX&amp;quot;}&lt;br /&gt;
        }&lt;br /&gt;
     ],&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;accessories&amp;quot;: []&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Achtung: Für ein FHEM Web Interface mit SSL Zertifikat muss die config wo folgt aussehen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;bridge&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;Homebridge&amp;quot;,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;CC:22:3D:E3:CE:30&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 51826,&lt;br /&gt;
        &amp;quot;pin&amp;quot;: &amp;quot;031-45-154&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;platforms&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;platform&amp;quot;: &amp;quot;FHEM&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;FHEM&amp;quot;,&lt;br /&gt;
            &amp;quot;server&amp;quot;: &amp;quot;192.168.xxx.xxx&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: &amp;quot;8083&amp;quot;,&lt;br /&gt;
            &amp;quot;filter&amp;quot;: &amp;quot;room=Homekit&amp;quot;,&lt;br /&gt;
            &amp;quot;ssl&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
            &amp;quot;auth&amp;quot;: {&amp;quot;user&amp;quot;: &amp;quot;FhemUser&amp;quot;, &amp;quot;pass&amp;quot;: &amp;quot;XXX&amp;quot;}&lt;br /&gt;
        }&lt;br /&gt;
     ],&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;accessories&amp;quot;: []&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FHEM konfigurieren ==&lt;br /&gt;
Um die Device richtig mit FHEM und Homebridge vertraut zu machen, müssen wir noch unter global etwas ergänzen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
attr global userattr genericDeviceType:ignore,switch,outlet,light,blind,speaker,thermostat,ignore,lock,window,contact&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einfach folgende Zeilen an die bestehenden Attribute anhängen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
genericDeviceType:ignore,switch,outlet,light,blind,speaker,thermostat,ignore,lock,window,contact&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Einstellungen können auch bei den Einzelnen Devices gemacht werden.&lt;br /&gt;
Beispiel bei einem HM-CC-RT-DN, hier wird der subType thermostat gesetzt.&lt;br /&gt;
Einfach in das Device gehen hier das Attr subtype erstellen und thermostat auswählen.&lt;br /&gt;
&lt;br /&gt;
== Homebridge starten ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
homebridge&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hombridge sollte nun laufen.&lt;br /&gt;
Hier kann man die Kommunikation nachverfolgen.&lt;br /&gt;
Abbrechen kann das ganze mit ctrl +c.&lt;br /&gt;
Es sind keine Befehle mehr mit Siri möglich.&lt;br /&gt;
&lt;br /&gt;
Damit Siri auch Befehle ohne ständig offenes Terminal bearbeiten kann, bitten nächsten Punkt beachten.&lt;br /&gt;
&lt;br /&gt;
== Homebridge automatisch starten ==&lt;br /&gt;
Eine Anleitung um die Homebridge automatisch zu starten findet sich &lt;br /&gt;
&lt;br /&gt;
* hier: [https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi] oder&lt;br /&gt;
* [http://www.meintechblog.de/2015/10/mit-siri-und-fhem-das-gesamte-smart-home-per-stimme-steuern/]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Beide Links sind obsolet, da es die app.js nicht mehr gibt&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Randnotiz|RNText=Auf Basis der unten stehenden &#039;&#039;Alternativen Methode&#039;&#039; wurde eine Version entwickelt, mit der man auch den Status einsehen und den Restart des Dienstes aus FHEM heraus erledigen kann. Diese Version ist auf der Seite [[Homebridge Start und Status in FHEM]] im Detail beschrieben.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Alternative Methode&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo nano /etc/init.d/homebridge&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code einfügen (startet den Homebridge Server als Benutzer &amp;quot;pi&amp;quot; und nimmt an, dass sich .homebridge/config.json in seinem Homeverzeichnis unter /home/pi/ befindet):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides: homebridge&lt;br /&gt;
# Required-Start: $network $remote_fs $syslog&lt;br /&gt;
# Required-Stop: $remote_fs $syslog&lt;br /&gt;
# Default-Start: 2 3 4 5&lt;br /&gt;
# Default-Stop: 0 1 6&lt;br /&gt;
# Short-Description: Start daemon at boot time for homebridge&lt;br /&gt;
# Description: Enable service provided by daemon.&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
export PATH=$PATH:/usr/local/bin&lt;br /&gt;
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules&lt;br /&gt;
PID=`pidof homebridge`&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)&lt;br /&gt;
if ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is already running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        su - pi -c &amp;quot;homebridge &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;quot;&lt;br /&gt;
        echo &amp;quot;Homebridge starting&amp;quot;&lt;br /&gt;
        $0 status&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
if ! ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is not running&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        kill $PID&lt;br /&gt;
        echo &amp;quot;Homebridge closed&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
restart)&lt;br /&gt;
if ! ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        $0 start&lt;br /&gt;
else&lt;br /&gt;
        $0 stop&lt;br /&gt;
        $0 start&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
status)&lt;br /&gt;
if ps -p $PID &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;Homebridge is running PID $PID&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;Homebridge is not running&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;Usage: $0 {start|stop|status|restart}&amp;quot;&lt;br /&gt;
exit 1&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Autostart aktivieren&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo chmod 755 /etc/init.d/homebridge&lt;br /&gt;
&lt;br /&gt;
sudo update-rc.d homebridge defaults&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun kann man mit &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo service homebridge start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo /etc/init.d/homebridge start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Dienst starten&lt;br /&gt;
&lt;br /&gt;
== FHEM Device Einstellungen ==&lt;br /&gt;
Damit die zu schaltenden Geräte überhaupt in der Homebridge aufgenommen werden muss man sie im Raum Homekit hinzufügen.&lt;br /&gt;
&lt;br /&gt;
Um HM-CC-RT-DN Thermostate steuern zu können, muss folgendes attribute gesetzt werden&lt;br /&gt;
# attr Heizung Subtype thermostat&lt;br /&gt;
Für einen Dummy muss man folgendes machen.&lt;br /&gt;
# attr Dummy genericDeviceType switch&lt;br /&gt;
# attr Dummy setList on off&lt;br /&gt;
&lt;br /&gt;
== HomeKit in iOS einrichten ==&lt;br /&gt;
Um FHEM über Homebridge in iOS nutzen zu können, muss HomeKit eingerichtet werden. &lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Apps. Im folgenden wird die App EVE von Elgato empfohlen, die aus dem App-Store geladen werden muss.&lt;br /&gt;
In der App auf:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
Gerät hinzufügen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es sollte ein Gerät mit der Bezeichnung &amp;quot;Homebridge&amp;quot; zur Auswahl erscheinen. Zur Ersteinrichtung auf PIN manuell eingeben gehen und (falls in der config.json nicht geändert):&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
031-45-154&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
eingeben.&lt;br /&gt;
&lt;br /&gt;
Im Anschluss können die Devices nach Belieben in verschiedene Räume zugeteilt werden, sowie Szenen und Bereiche erstellt werden.&lt;br /&gt;
&lt;br /&gt;
== HomeBridge Allgemein ==&lt;br /&gt;
Nach allen Änderungen die in FHEM gemacht werden, welche Homebridge betreffen, muss Homebridge neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
Der Neustart ist abhängig davon, wie man Homebridge gestartet hat.&lt;br /&gt;
&lt;br /&gt;
Bitte den entsprechenden Methoden entnehmen.&lt;br /&gt;
&lt;br /&gt;
== Steuerung von MiLight Allgemein ==&lt;br /&gt;
Wie hier im {{Link2Forum|Topic=32652|Message=351706|LinkText=Forum}} erwähnt, ist es möglich auch MiLight Geräte per Siri anzusprechen. Hierzu muss die config.json angepasst werden.&lt;br /&gt;
&lt;br /&gt;
1. Es muss die Bridge hinterlegt werden. Beispiel&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;platform&amp;quot;: &amp;quot;MiLight&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;MiLight&amp;quot;,&lt;br /&gt;
            &amp;quot;ip_address&amp;quot;: &amp;quot;192.168.001.033&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: 8899,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;rgbw&amp;quot;,&lt;br /&gt;
            &amp;quot;delay&amp;quot;: 30,&lt;br /&gt;
            &amp;quot;repeat&amp;quot;: 3,&lt;br /&gt;
            &amp;quot;zones&amp;quot;:[&amp;quot;Wohnzimmer Lampen&amp;quot;,&amp;quot;Badezimmer Lampen&amp;quot;,&amp;quot;Büro Lampen&amp;quot;,&amp;quot;Keller Lampen&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Es muss für jedes zu Steuernde Gerät ein Dummy angelegt werden. Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;accessory&amp;quot;: &amp;quot;Http&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Kitchen Lamp&amp;quot;,&lt;br /&gt;
            &amp;quot;on_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/on&amp;quot;,&lt;br /&gt;
            &amp;quot;off_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/off&amp;quot;,&lt;br /&gt;
            &amp;quot;brightness_url&amp;quot;: &amp;quot;https://192.168.1.22:3030/devices/23222/brightness/%b&amp;quot;,&lt;br /&gt;
            &amp;quot;http_method&amp;quot;: &amp;quot;POST&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schalten mit Siri ==&lt;br /&gt;
&#039;&#039;&#039;HolyMoly&#039;&#039;&#039; aus dem FHEM-Forum hat ein paar Beispiele gegeben, wie man Siri dazu bringt Devices zu schalten:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Schalte alle Lampen im Obergeschoss ein.&amp;quot;&lt;br /&gt;
&amp;quot;Schalte Chloes Licht aus.&amp;quot;&lt;br /&gt;
&amp;quot;Dimme das Licht in der Küche.&amp;quot;&lt;br /&gt;
&amp;quot;Dimme das Licht im Esszimmer auf 50 %.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle das Licht in der Küche am hellsten ein.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle die Temperatur im Tahoe-Haus auf 22 °C ein.&amp;quot;&lt;br /&gt;
&amp;quot;Stelle das Thermostat im Erdgeschoss auf 21 °C ein.&lt;br /&gt;
&amp;quot;Schalte den Drucker im Büro ein.&amp;quot;&lt;br /&gt;
&amp;quot;Siri, bereite alles für eine Party vor.&amp;quot;&lt;br /&gt;
&amp;quot;Bereite das Ambiente fürs Abendessen vor.&amp;quot;&lt;br /&gt;
&amp;quot;Aktiviere den Nachtruhemodus.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mittlerweile kann Siri auch noch die Lichtfarbe von LEDs ändern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Unterstütze Devices ==&lt;br /&gt;
Das Fhem Plugin von {{Link2FU|430|Andre (justme1968)}} unterstützt folgende Geräte&lt;br /&gt;
&lt;br /&gt;
    switches (devices with set on and set off commands)&lt;br /&gt;
    lights (devices with set on and set off commands)&lt;br /&gt;
    homematc and FS20 dimmers (devices with set on, set off and set dim or set pct commands)&lt;br /&gt;
    HUE, WifiLight, SWAP_0000002200000003 (hue, sat, bri, rgb)&lt;br /&gt;
    homematic, max and pid20 thermostats&lt;br /&gt;
    homematic blinds&lt;br /&gt;
    hommatic, MAX and FHTTK contact sensors (door, window)&lt;br /&gt;
    HM-SEC-WIN, HM-SEC-KEY&lt;br /&gt;
    presence, ROOMMATE&lt;br /&gt;
    SONOS (power, volume)&lt;br /&gt;
    harmony scenes&lt;br /&gt;
    temperaturecw and humidity sensors&lt;br /&gt;
    CO20 air quality sensor&lt;br /&gt;
    probably some more ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Wuppi68</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=13345</id>
		<title>Universalsensor</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Universalsensor&amp;diff=13345"/>
		<updated>2015-12-25T18:01:06Z</updated>

		<summary type="html">&lt;p&gt;Wuppi68: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Universalsensor-CC1101-Innen.jpg|200px|thumb|right|Universalsensor im Innengehäuse]]&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen.jpg|200px|thumb|right|Universalsensor im Außengehäuse]]&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
Die Universalsensor-Platine ist eine Hardwareplattform um verschiedene Sensorwerte auch über unterschiedliche Übertragungsverfahren z.B. für die eigene Homeautomatisierung verfügbar zu machen.&lt;br /&gt;
&lt;br /&gt;
Hier werden die unterschiedliche Platinenlayouts, welche z.B. für einen Innensensor und einen Außensensor verwendet werden können, vorgestellt.&lt;br /&gt;
&lt;br /&gt;
Als Übertragungsmedien sind ein Funkmodul (CC1101) oder ein RS485 Tranceiver (LT1785 oder kompatibel) vorgesehen.&lt;br /&gt;
&lt;br /&gt;
Mit dem Funkmodul ist eine Anbindung an Funksysteme im 868 Mhz oder auch 433 Mhz-Band möglich. Hiermit kann der Sensor z.B. in ein Homematic Funksystem integriert werden. Aber auch andere Funksysteme sind über eine entsprechende Firmware zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Mit dem RS485 Tranceiver ist z.B. auch eine Integration in das Homematic-Wired System möglich.&lt;br /&gt;
&lt;br /&gt;
Das Platinenlayout der Sensoren enthält zwei Pinleisten welche Arduino-Kompatibel sind. Als Mikrocontroller ist ein Atmega 328p bestückt.&lt;br /&gt;
&lt;br /&gt;
Über diese Erweiterungsports können auch zusätzlich eigene Sensoren oder auch Aktoren angeschlossen werden, diese müssen dann aber über eine Erweiterung der bestehenden Firmware oder mit eine eigene Firmware angesprochen werden.&lt;br /&gt;
&lt;br /&gt;
Die Spannungsversorgung erfolgt über 2 AA bzw. AAA Batterien. Damit eine möglichst gute Ausnutzung der Batteriekapazität erzielt wird und auch Sensoren mit 3,3 V Spannungsversorgung benutzt werden können, kann ein MAX1724 Stepup-Converter bestückt werden. Dieser stellt eine stabile Spannungsversorgung von 3,3&amp;amp;nbsp;V zur Verfügung. Als Mindest-Eingangsspannung sind hier dann lediglich 1,2&amp;amp;nbsp;V notwendig. Somit ist eine Versorgung auch aus nur einer Batteriezelle denkbar.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann eine Spannungsversorgung über einen Schaltregler erfolgen. Diese Versorgung kommt bei der Bestückungsversion mit RS485-Tranceiver zum Einsatz. Aber auch bei Benutzung mit dem Funkmodul kann diese Spannungsversorgung eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Der Schaltregler erlaubt dann einen recht breiten Eingangsspannungsbreich von 7 V bis 24 V. Außerdem steht dann intern zusätzlich zu den 3,3 V eine Spannung von 5 V zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== Innensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Innen platine.jpg|200px|thumb|right|Universalsensor-Platine für das Innengehäuse. Hier noch ohne Bestückungsoption für RS485 und ohne bestückten SHT10 (Temperatur / Luftfeuchte)]]&lt;br /&gt;
&lt;br /&gt;
Das Layout des Innensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Feuchte (SHT10)&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Zusätzlich können über die zwei Pinleisten eigene Sensoren z.B. über eine Erweiterungsplatine angeschlossen werden. Als Beispiel ist hier eine Firmwareversion genannt, bei der mehrere 1-Wire Sensoren an den Sensor angeschlossen werden und abgefragt werden können.&lt;br /&gt;
Zusätzlich zu den unterschiedlichen bestückbaren Sensoren, kann der Innensensor alternativ zum Funkmodul mit einem RS485 Tranceiver bestückt werden.&lt;br /&gt;
Als Spannungsversorgung steht eine Batterieversorgung (1,2 - 3V) oder eine Spannungsversorgung über einen Schaltregler (7 V - 24 V zur Verfügung)&lt;br /&gt;
&lt;br /&gt;
== Außensensor ==&lt;br /&gt;
[[Datei:Universalsensor-CC1101-Aussen_platine.jpg|200px|thumb|right|Universalsensor-Platine für das Außengehäuse mit Beschreibung der I2C-Anschlussbelegung.]]&lt;br /&gt;
&lt;br /&gt;
Die Platinengröße des Außensensors ist deutlich kompakter als der Innensensor. Daher ist in dieser Version derzeit nur das Funkmodul bestückbar. Andere Übertragungsverfahren wie z.B. RS485 müssten hier extern realisiert werden.&lt;br /&gt;
Das Layout des Außensensors unterstützt standardmäßig folgende Sensorbestückung:&lt;br /&gt;
* Temperatur / Luftdruck (BMP180)&lt;br /&gt;
* Helligkeit (TSL2561)&lt;br /&gt;
Weitere Sensoren z.B. ein SHT10 für Temperatur/Luftfeuchte können über den nach außen geführten I2C-Bus angeschlossen werden. Natürlich existiert auch beim Außensensor die Möglichkeit weitere Sensoren oder auch Aktoren über die beiden Pinleisten anzuschließen.&lt;br /&gt;
&lt;br /&gt;
Dieser {{Link2Forum|Topic=20620|Message=182690|LinkText=Forenbeitrag}} beschreibt, wie der SHT10 auch innerhalb eines Gehäuses benutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
Um die Platine im Gehäuse zu fixieren, wird auf einer Seite des Batteriehalters ein kleiner Schaumstoffblock aufgeklebt (siehe nebenstehendes Foto)&lt;br /&gt;
&lt;br /&gt;
== Der Helligkeitssensor ==&lt;br /&gt;
[[Datei:SHT10_breakout.jpg|200px|thumb|right|SHT10 Breakout-Board für den Außensensor.]]&lt;br /&gt;
[[Datei:CC1101-Sensor-Außen_mit_Filterfolie.JPG|200px|thumb|right|Das Außengehäuse mit Filterfolie.]]&lt;br /&gt;
[[Datei:Innensensor_Loch_für_Acrylstab_Maße.jpg|200px|thumb|right|Bohrvorlage für den Acrylstab im Innengehäuse.]]&lt;br /&gt;
Der Helligkeitssensor braucht zum sinnvollen Einsatz natürlich die Möglichkeit vom Umgebungslicht beleuchtet zu werden.&lt;br /&gt;
Da der Sensor im Innengehäuse nahe der Lüftungsschlitzen sitzt, wird dieser dadurch bereits beleuchtet. Allerdings fällt hier nur wenig Licht auf den Sensor. Daher ist bei dieser Messmethode die erreichbare Auflösung sehr gering.&lt;br /&gt;
&lt;br /&gt;
Die bessere Möglichkeit ist es, in die Abdeckung des Sensorgehäuses ein 5 mm großes Loch zu bohren. In das Loch wird dann ein kurzer Stift aus Acrylglas eingesetzt. Siehe Bild mit der Bohrvorlage.  Achtung, das Loch ist in horizontaler Ausrichtung nicht genau mittig.&lt;br /&gt;
Der Acrylstab hat nicht genau 5 mm Durchmesser. Es sind 5,2 mm. Man kann dennoch ein 5 mm Loch bohren. Das Einschieben des Stabes in das Loch geht dann allerdings ziemlich schwer. Vor dem Einschieben kann man den Acrylstab an der Innenseite noch leicht anfasen. Dann lässt er sich leichter in das Loch schieben. Die Länge des Acrylstabes Beträgt 17 mm.&lt;br /&gt;
&lt;br /&gt;
Im Außensensor ist die ausreichende Beleuchtung bereits durch die transparente Gehäuseoberseite gewährleistet. Allerdings wird der Sensor in direkter Sonneneinstrahlung übersteuern. Daher kann hier zwischen Sensor und Deckel eine Filterfolie eingelegt werden.&lt;br /&gt;
Die getestete Filterfolie lässt dann nur noch etwa 25% des Lichtes durch. Dadurch ist eine Lage ausreichend, damit der Sensor auch im Sommer bei voller Sonneneinstrahlung nicht mehr übersteuert. Durch den bekannten Filterwert der Folie lässt sich so auch gut ein Umrechnungsfaktor für die Heligkeitsmessung in Lux z.B. in FHEM hinterlegen.&lt;br /&gt;
&lt;br /&gt;
Eine Testreihe mit der Folie im Vergleich mit einem kommerziellen Luxmeter hat den Faktor 0,265 ergeben.&lt;br /&gt;
&lt;br /&gt;
Mit Folie bekommt man mit einer Division durch 0,265 auf den aktuellen Lux-Wert:&lt;br /&gt;
&lt;br /&gt;
$lux = $lum/0.265&lt;br /&gt;
&lt;br /&gt;
Um den Wert mit Folie unterhalb des Devices angezeigt zu bekommen, muss man hierfür ein userreading erstellten.&lt;br /&gt;
Die erfolgt mit folgendem Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
attr Outdoor.Helligkeit userReadings luminosity2 { ReadingsVal(&amp;quot;Outdoor.Helligkeit&amp;quot;,&amp;quot;luminosity&amp;quot;,0)/0.265;;  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Devices hier im Beispiel Outdoor.Helligkeit muss gegen den eigenen Device Namen ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
Werden zwei Folien benutzt muss der Wert von 0.265 angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Nun ist es möglich den Richtigen wert unter dem Reading luminosity2 abzufragen&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
[[Datei:CC1101-Sensor_Firmwareupdate_mit_dem_Raspberry_Pi.jpg|200px|thumb|right|Firmwareupdate mit dem Raspberry Pi.]]&lt;br /&gt;
&lt;br /&gt;
Aktuell existieren für den Sensor zwei verschiedene Firmwareversionen.&lt;br /&gt;
&lt;br /&gt;
* [[HB-UW-Sen-THPL]] HB-UW-Sen-THPL-I, HB-UW-Sen-THPL-O (Version 0.14)&lt;br /&gt;
: Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das  Innengehäuse oder Außengehäuse&lt;br /&gt;
&lt;br /&gt;
* HWB-ONEWIRE (Experimentel)&lt;br /&gt;
: Homematic-Wired Kompatibles 1-Wire-Temperatursensor-interface&lt;br /&gt;
&lt;br /&gt;
HB-UW-Sen-THPL-I und HB-UW-Sen-THPL-O unterscheiden sich nur durch die Geräte-ID. Dadurch ist es Möglich dass die Sensoren z.B. in der CCU über ein eigenes Icon verfügt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configtaster&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Drückt man den Configtaster auf der Platine im Betrieb 1x, so startet man das [[HomeMatic_Devices_pairen|Pairing]]. Die LED fängt langsam an zu blinken. Drückt man den Taster nun nochmal, aber deutlich länger, blinkt die LED sehr schnell (jetzt loslassen). Jetzt kann der Sensor resettet werden. Dazu drückt man den Taster erneut, bis die LED ausgeht. Der Sensor hat sich nun zurückgesetzt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Firmwarekonfiguration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auf einige Einstellungen des Sensors lässt sich über die Kommandozeile Einfluss nehmen. Dazu &amp;quot;set &amp;lt;sensorname&amp;gt; regSet &amp;lt;register&amp;gt; &amp;lt;wert&amp;gt;&amp;quot; eingeben.&lt;br /&gt;
&lt;br /&gt;
;altitude&lt;br /&gt;
:Die Höhe des Sensors über NN in Metern. Ist ein Luftdrucksensor vorhanden, dann wird der ermittelte Druck automatisch auf Druck in NN umgerechnet.&lt;br /&gt;
;burstRx (noch experimentell)&lt;br /&gt;
:Hierbei bleibt der Sensor dauerhaft Empfangsbereit bei höherem Batterieverbrauch. Damit soll es möglich sein, die Sensorwerte on demand vom Sensor anzufordern.&lt;br /&gt;
;ledMode&lt;br /&gt;
:&#039;&#039;on&#039;&#039; die LED leuchtet, wenn der Sensor Daten überträgt, &#039;&#039;off&#039;&#039; die LED leuchtet beim Übertragen der Daten nicht&lt;br /&gt;
;lowBatLimitTHPL&lt;br /&gt;
:Batteriespannung, ab der die Warnung für den Batteriewechsel ausgegeben wird.&lt;br /&gt;
;pairCentral&lt;br /&gt;
:???&lt;br /&gt;
;transmDevTryMax&lt;br /&gt;
:Anzahl der Wiederholungssendungen, sofern kein ACK empfangen wurde.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485_mit_1-Wire-Sensoren.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit angeschlossenen 1-Wire Temperatursensoren]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Universalsensor-RS485-Innen_Platine.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit optional bestückten SHT10 (Temperatur / Luftfeuchte), BMP180 (Luftdruck), TSL2561 (Helligkeit)]]&lt;br /&gt;
&lt;br /&gt;
== OTA (OverTheAir) Firmwareupdate ==&lt;br /&gt;
Die Firmware des Sensor lässt sich, sofern er den so genannten OTAU-Bootloader besitzt einfach per Funk updaten.&lt;br /&gt;
OTA-Update = (&#039;&#039;&#039;O&#039;&#039;&#039;ver &#039;&#039;&#039;T&#039;&#039;&#039;he &#039;&#039;&#039;A&#039;&#039;&#039;ir, -Update also per Funk)&lt;br /&gt;
&lt;br /&gt;
Das Firmwareupdate funktioniert aktuell nur mit CUL/COC oder HM-CFG-USB unter Linux ([[HomeMatic_Firmware_Update#Firmware_Update_mit_CUL.2FHM-CFG-USB_unter_FHEM|Update mit CUL oder HM-CFG-USB unter Linux]]), mit dem &amp;quot;HomeMatic Firmware Update Tool&amp;quot; unter Windows ([[HomeMatic_Firmware_Update#Firmware_Update_mit_HM-CFG-USB_unter_Windows|Update mit HM-CFG-USB unter Windows]]) oder mit einer CCU2. Ein &amp;lt;code&amp;gt;set sensorname fwUpdate dateiname&amp;lt;/code&amp;gt; in der Kommandozeile von FHEM funktioniert derzeit noch nicht.&lt;br /&gt;
&lt;br /&gt;
Für das Update mit flash-ota ist folgendes zu machen:&lt;br /&gt;
&lt;br /&gt;
# [[HomeMatic_Firmware_Update#Firmware_Update_mit_CUL.2FHM-CFG-USB_unter_FHEM|flash-ota herunterladen und installieren]].&lt;br /&gt;
# Firmware aus dem ZIP rausholen: https://github.com/kc-GitHub/Wettersensor/archive/v0.14_beta.zip&lt;br /&gt;
# flash-ota starten. Z.B. so: &amp;lt;code&amp;gt;sudo ./flash-ota -c /dev/ttyACM0 -f &amp;lt;firmware-file.eq3&amp;gt; -s &amp;lt;seriennummer&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# eine Batterie aus dem Sensor heraus nehmen, Configtaste drücken und gedrückt halten, Batterie wieder einlegen während die Configtaste weiter gedrückt bleibt.&lt;br /&gt;
# Jetzt sollte der Updateprozess starten.&lt;br /&gt;
# Sensor mit FHEM neu pairen. Dann erscheint auch die neue Firmwareversion in FHEM.&lt;br /&gt;
&lt;br /&gt;
== Weitere Firmwareupdate-Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
Alternativ kann der Atmega328p auf der Platine mit einem Arduino-Kompatiblen Bootloader ausgerüstet werden.&lt;br /&gt;
Damit lässt sich dann das Firmwareupdate per USB-UART-Adapter oder auch über den UART-Anschluss von einem [[Raspberry Pi]] einspielen.&lt;br /&gt;
&lt;br /&gt;
== RS485-Version mit 1-Wire Temperatursensoren ==&lt;br /&gt;
Hier ist eine experimentelle Firmware mit der man derzeit die RS485-Version des Sensors in eine 1-Wire - Homematic-Wired Interface &amp;quot;verwandeln&amp;quot; kann.&lt;br /&gt;
Weiteres ist unter [[ HWB-1WIRE-TMP10 ]] nachzulesen.&lt;br /&gt;
&lt;br /&gt;
== Inbetriebnahme ==&lt;br /&gt;
# Batterien einlegen&lt;br /&gt;
# Stelle sicher, dass das Konfigurationsmodul des Sensors &amp;quot;HMConfig_SenTHPL.pm&amp;quot; im Unterverzeichnis FHEM ist. Ist dem nicht so, [https://github.com/kc-GitHub/Wettersensor/blob/master/Contrib/FHEM/HMConfig_SenTHPL.pm lade die Datei herunter] und lege sie dort ab. Danach muss FHEM neu gestartet werden (&amp;quot;shutdown restart&amp;quot; in die Kommandozeile eingeben)&amp;lt;br /&amp;gt;Achtung! Wer mit wget den normalen Link verwendet bekommt folgenden Fehler:&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; Error loading file: /usr/share/fhem/FHEM/HMConfig_SenTHPL.pm: Unrecognized character \\xC2; marked by \&amp;lt;-- HERE after at master \&amp;lt;-- HERE near column 55 at /usr/share/fhem/FHEM/HMConfig_SenTHPL.pm line 13, &amp;lt;$fh&amp;gt; line 105.&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;Darum den raw Link verwenden:&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sudo wget https://github.com/kc-GitHub/Wettersensor/raw/master/Contrib/FHEM/HMConfig_SenTHPL.pm&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# [[HomeMatic_Devices_pairen|CUL in den Pairingmodus schalten]]&lt;br /&gt;
# Configtaster auf dem Universalsensor drücken&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor Firmware der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/tree/thorsten Firmware der RS485 (Wired) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/Wettersensor/raw/master/Schematic/Schematic-RF.pdf Schaltplan und Platinenlayout der CC1101 (Funk) Version]&lt;br /&gt;
* [https://github.com/kc-GitHub/HM485-Lib/raw/thorsten/Schematic/Schematic-WIRED.pdf Schaltplan und Platinenlayout der RS485 (Wired) Version]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,20620.0.html Thread im FHEM-Forum]&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,22952.0.html Thread im FHEM-Forum zur Entwicklung der Wired-Firmware]&lt;br /&gt;
[[Kategorie:HomeBrew]]&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Wuppi68</name></author>
	</entry>
</feed>