<?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=ChrisKoh</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=ChrisKoh"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/ChrisKoh"/>
	<updated>2026-04-20T16:26:51Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Diskussion:Modul_YAAHM&amp;diff=26804</id>
		<title>Diskussion:Modul YAAHM</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Diskussion:Modul_YAAHM&amp;diff=26804"/>
		<updated>2018-05-18T19:47:51Z</updated>

		<summary type="html">&lt;p&gt;ChrisKoh: Die Seite wurde geleert.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ChrisKoh</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Diskussion:Modul_YAAHM&amp;diff=26802</id>
		<title>Diskussion:Modul YAAHM</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Diskussion:Modul_YAAHM&amp;diff=26802"/>
		<updated>2018-05-18T13:46:36Z</updated>

		<summary type="html">&lt;p&gt;ChrisKoh: Die Seite wurde neu angelegt: „Wo müssen denn die Helper Subroutinen hin? 99_myUtils.pm? --~~~~“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wo müssen denn die Helper Subroutinen hin? 99_myUtils.pm? --[[Benutzer:ChrisKoh|ChrisKoh]] ([[Benutzer Diskussion:ChrisKoh|Diskussion]]) 15:46, 18. Mai 2018 (CEST)&lt;/div&gt;</summary>
		<author><name>ChrisKoh</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HomeMatic&amp;diff=12944</id>
		<title>HomeMatic</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HomeMatic&amp;diff=12944"/>
		<updated>2015-11-19T13:23:08Z</updated>

		<summary type="html">&lt;p&gt;ChrisKoh: /* Protokoll */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Achtung, diese Seite wird derzeit im Sinne einer klareren Beschreibung überarbeitet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HomeMatic&#039;&#039;&#039; (HM) ist ein System des Herstellers eQ-3 zur Steuerung und Überwachung von zahlreichen Aufgaben und Situationen im Haus. Erhältlich sind sowohl Geräte mit Funkschnittstelle 868.3 MHz, als auch (seit 2008) drahtgebundene Geräte mit RS485-Schnittstelle. Im Programm sind Geräte zur Heizungs- und Lichtsteuerung, Temperatur-, Luftfeuchte- und Feuchtemessung, Zutrittskontrolle, als Wasser-, Brand- und Bewegungsmelder sowie als Wetterstation, ferner gibt es noch Fernbedienungen und Statusdisplays.&lt;br /&gt;
&lt;br /&gt;
=Grundlagen=&lt;br /&gt;
HomeMatic-Geräte können untereinander &#039;&#039;gepeert&#039;&#039; werden (engl. &#039;&#039;peers&#039;&#039; = &amp;quot;Gleiche&amp;quot;), im einfachsten Fall kann deshalb bereits ein Sensor (z.B. ein Temperatursensor) mit einem Aktor (z.B. einem Heizkörperregler) verbunden werden und diesen steuern. Hierbei können mehrere Sensoren und Aktoren untereinander verbunden werden, die Vorstellung der &amp;quot;Gleichen&amp;quot; ist also zutreffend.&lt;br /&gt;
&lt;br /&gt;
HomeMatic-Geräte können auch mit einer Zentrale verbunden (&#039;&#039;gepairt&#039;&#039;) werden, die dann einen Teil der Steuerungslogik übernehmen kann. Bei dieser Verbindung spricht man vom &#039;&#039;Pairing&#039;&#039;, weil jedes HomeMatic-Gerät nur mit einer Zentrale verbunden werden kann. Gepairte Geräte können auch nicht mehr direkt gepeert werden - dies geht dann nur noch unter Beteiligung der Zentrale.&lt;br /&gt;
&lt;br /&gt;
==Voraussetzungen==&lt;br /&gt;
Für den Betrieb ohne Zentrale sind keine weiteren Voraussetzungen zu erfüllen.&lt;br /&gt;
===Zentrale von eQ-3===&lt;br /&gt;
Vom Hersteller eQ-3 selbst wird eine Zentrale (derzeit aktuell CCU-2) und Windows-Software zur Steuerung und Auswertung der HM-Komponenten angeboten.&lt;br /&gt;
&lt;br /&gt;
===Fhem als Zentrale===&lt;br /&gt;
Für den Einsatz mit Fhem wird eine Funkschnittstelle benötigt, in Frage kommen [[CUL]], der [[HMLAN Konfigurator]] oder ein [[HM-CFG-USB_USB_Konfigurations-Adapter|HM-CFG-USB]].&lt;br /&gt;
&#039;&#039;&#039;Fehlt Bemerkung zu Wired&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Umzug von CCU-2 zu Fhem===&lt;br /&gt;
Der Umzug einer bestehenden HomeMatic Installation von einer HomeMatic CCU-2 auf Fhem ist möglich. Um die an die Zentrale angebundenen Devices in Fhem ohne größere Umkonfiguration weiter verwenden zu können, muß die HM-Id und, falls verwendet, die AES-Schlüssel der CCU-2 in Fhem eingetragen werden. Hierzu müssen diese Daten aus der CCU-2 ausgelesen werden. Dazu wird per SSH (z.B. mit PuTTY unter Windows) eine Verbindung zur CCU-2 aufgebaut. Die HM-Id befindet sich in der Datei /usr/local/etc/config/rfd/BidCoS-RF.dev in einer Zeile wie dieser:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;device serial=&amp;quot;BidCoS-RF&amp;quot; type=&amp;quot;HM-RCV-50&amp;quot; address=&amp;quot;0xABCDEF&amp;quot; aes_key_index=&amp;quot;0&amp;quot; firmware_version=&amp;quot;2.11.9&amp;quot; bidcos_interface=&amp;quot;KEQ1234567&amp;quot; roaming=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die HM-Id ist der Wert im address Feld. Die dort angegebene hexadezimale Zahl (hier 0xABCDEF) ist die HM-Id und wird in Fhem ohne den Prefix &amp;quot;0x&amp;quot; eingetragen.&lt;br /&gt;
&lt;br /&gt;
Falls bereits AES-Schlüssel verwendet wurden, sind diese in der Datei /etc/config_templates/crypttool.cfg zu finden und können 1:1 als Schlüssel im HMLAN in der gleichen Reihenfolge hinterlegt werden. &lt;br /&gt;
&lt;br /&gt;
==Prototokoll==&lt;br /&gt;
HM-Geräte kommunizieren untereinander mit dem Protokoll &#039;&#039;Bidirectional Communication Standard&#039;&#039;, abgekürzt &#039;&#039;BidCoS&#039;&#039;. Jedes HM-Gerät enthält also Sender und Empfänger, das ist einer der wesentlichen Unterschiede z.B. zum FS20-System.&lt;br /&gt;
*Jedes HM-Gerät meldet beim Empfang eines Steuerbefehls durch einen Peer an diesen eine Bestätigung „ACK“ zurück. Erkennt das HM-Gerät den Befehl nicht, sendet es ein &#039;&#039;NACK&#039;&#039;. Kommt vom HM-Gerät keine Rückmeldung innerhalb einer festgelegten Zeit, meldet der steuernde Peer ein &#039;&#039;MISSING ACK&#039;&#039;.&lt;br /&gt;
*Jedes HM-Gerät meldet ferner seinen Status nach dem Erhalt eines Steuerbefehls zurück - so kann auch ein lokal am Gerät erfolgender Tastendruck in beim steuernden Peer oder  in der Zentrale registriert werden.&lt;br /&gt;
&lt;br /&gt;
Das Protokoll &#039;&#039;BidCoS&#039;&#039; wurde zum großen Teil entschlüsselt, seine offen verfügbare Variante heißt &#039;&#039;AskSin&#039;&#039;. Unter Verwendung der AskSin-Library entstehen derzeit erste Geräte, die in das HomeMatic-System eingebunden werden können. Zur Unterscheidung zwischen HM und den neuen Geräten werden diese als HomeBrew (HB) bezeichnet, siehe hier [[Kategorie:HomeBrew]]&lt;br /&gt;
=Betrieb mit Fhem=&lt;br /&gt;
Die Kenntnis des Dokumentes [http://fhem.de/Heimautomatisierung-mit-fhem.pdf Einsteigerdokuments &amp;quot;Heimautomatisierung mit Fhem&amp;quot;] wird vorausgesetzt. Im Anhang dieses Dokuments findet sich ein Teil über den Aufbau und die Funktion von HM-Geräten.&lt;br /&gt;
&lt;br /&gt;
=== Einrichten des IO-Devices (Funkschnittstelle)===&lt;br /&gt;
Zuerst muss ein IO-Device eingerichtet werden, um mit HM Geräten kommunizieren zu können. Siehe hierzu [[HMLAN Konfigurator]].&lt;br /&gt;
&lt;br /&gt;
=== Struktur von HM Geräten===&lt;br /&gt;
HM Geräte sind logisch in ein &#039;&#039;&#039;Device&#039;&#039;&#039; und ein oder mehrere &#039;&#039;&#039;Kanäle&#039;&#039;&#039; gegliedert. Jedes Device und jeder Kanal (Channel) wird in einer Entity in FHEM repräsentiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Ausnahme: Sollte ein Gerät nur einen Kanal haben wird dieser in einer Entity mit dem Device eingerichtet. &lt;br /&gt;
====Device====&lt;br /&gt;
Das Device ist für die Kommunikation verantwortlich. Es sortiert und ordnet die zu sendenden und empfangenden Nachrichten. &lt;br /&gt;
Man kann prüfen, ob alle Nachrichten übertragen sind, oder ob es Probleme gegeben hat. Die Variablen &amp;quot;prot...&amp;quot; geben Auskunft darüber. Siehe auch [[Homematic_HMInfo#protoEvents]].&lt;br /&gt;
Zu beachten sind zudem die Übertragungsmodi. Nicht alle Devices sind ständig auf Empfang - FHEM muss berücksichtigen, wann gesendet werden kann. In &#039;&#039;&#039;protState&#039;&#039;&#039; kann man sehen, ob Kommandos auf Verarbeitung warten, also pending sind.&lt;br /&gt;
Einige Devices unterstützen mehrere Modi parallel. &lt;br /&gt;
===== Config=====&lt;br /&gt;
Wird von allen Devices unterstützt, auch wenn es bei Always kaum genutzt werden kann.&lt;br /&gt;
Man setzt die Kommandos in FHEM ab und diese warten in der Kommando-queue.  &lt;br /&gt;
Wenn die config-funktion am Device ausgelöst wird (Anlerntaste drücken) sendet FHEM die wartenden Nachrichten der Reihe nach.&lt;br /&gt;
Config wird bei allen Devices zum pairen genutzt.&lt;br /&gt;
===== Always=====&lt;br /&gt;
Trifft man meist bei netzbetriebenen Geräten an, da diese kein Problem mit dem Energieverbrauch haben. Man kann immer mit dem Device kommunizieren.&lt;br /&gt;
===== Burst=====&lt;br /&gt;
Nur der Empfänger des Device ist aktiv. Über eine Aufweck-sequenz kann das Device geweckt werden. Man kann quasi immer mit dem Device kommunizieren. Nachteil des Aufwecken ist zum Einen, dass immer ALLE Devices im Funknetz geweckt werden, was deren Batterie belastet. Zum Andere ist die Aufweck-sequenz funktechnisch aufwändig und belastet die maximal erlaubte Sendekapazität des IO device je Stunde. &lt;br /&gt;
===== ConditionalBurst=====&lt;br /&gt;
Bei einigen Devices kann man den Burst mode zuschalten. Dies sind Devices, die zusätzlich über andere modi verfügen, so z.B. wakeup. Schaltet man burst-empfang ein kann man immer und sofort mit dem Device reden, es kostet aber etwas mehr Batterie. Siehe hierzu Attribut &#039;&#039;&#039;burstAccess&#039;&#039;&#039;, Kommando &#039;&#039;&#039;burstXmit&#039;&#039;&#039; und Register &#039;&#039;&#039;burstRx&#039;&#039;&#039;&lt;br /&gt;
===== LazyConfig=====&lt;br /&gt;
Kommandos in der Queue werden bearbeitet, wenn eine Aktion vom Device ausgeht. So zum Beispiel ein Tastendruck bei einer Fernbedienung.&lt;br /&gt;
Dieser mode wird von CUL/CUNO nicht unterstützt. FHEM ignoriert diese Option automatisch und wartet i.a. auf ein Config.&lt;br /&gt;
&lt;br /&gt;
===== Wakeup=====&lt;br /&gt;
Die Devices wachen regelmäßig auf und senden Daten, z.B. Temperatursensoren. Zu diesem Zeitpunkt kann FHEM die Nachrichten übertragen. Die Aufwachperiode ist unterschiedlich von 3 min bis zu 24h.&lt;br /&gt;
&lt;br /&gt;
====Kanal====&lt;br /&gt;
Ein Kanal ist die Funktionseinheit des Geräts. Hier ist die Funktion des Sensors oder Aktors realisiert.&lt;br /&gt;
=== Variablen===&lt;br /&gt;
Wie alle FHEM Entities werden 4 Gruppen von Daten unterstützt: &lt;br /&gt;
* Internals: Im Web-Interface sichtbare Variablen, die allgemeine Informationen über den Zustand enthalten.&lt;br /&gt;
* Readings: Im Web-Interface sichtbare Variablen. Sie werden aus von Entites empfangenen Nachrichten generiert. Man kann mit notify Trigger auf die setzen. Readings werden im Statefile bei save und gewissen neustarts gesichert und beim Booten eingelesen. Readings haben einen Zeitstempel. &lt;br /&gt;
* Attribute: Im Web-Interface sichtbare Variablen. Über sie kann man die Eigenschaften der Entity in FHEM steuern. &lt;br /&gt;
* Helper: Im Web-Interface nicht sichtbare Variablen. Man kann sie mit dem Kommando &#039;list&#039; sehen. Es sind hilfsvariablen, die für den User keine Bedeutung haben sollen. &lt;br /&gt;
==== Internals====&lt;br /&gt;
Viele Variablen sind nicht HM spezifisch - deren Bedeutung muss in allgemeinen Teil nachgelesen werden. Spezifische Variablen sind:&lt;br /&gt;
*Device&lt;br /&gt;
** channel_xx: Liste der Kanäle, die dem Device zugeordnet sind. &lt;br /&gt;
** prot... : Gruppe von Daten zum Zustand des &amp;lt;u&amp;gt;[[HomeMatic#Protokol|Protokolls]]&amp;lt;/u&amp;gt;, also der Kommunikation mit dem Device.&lt;br /&gt;
** rssi...: Gruppe von Daten die den &amp;lt;u&amp;gt;[[HomeMatic#Rssi|Empfangspegel]]&amp;lt;/u&amp;gt; des Device bei IOs, Peers und Repeatern darstellt. &lt;br /&gt;
&lt;br /&gt;
*Kanäle&lt;br /&gt;
** device: Das übergeordnete Device&lt;br /&gt;
** chanNo: Die Kanalnummer&lt;br /&gt;
** peerList: Ist die Entity mit einem anderen gepeert ist steht hier der Name der Peers. Siehe auch attribut peerIDs und Reading peerList. Diese Variable ist mit dem peer verlinkt, man kann darauf &#039;clicken&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Readings====&lt;br /&gt;
Readings für HM Entites unterliegenden allgemeinen FHEM Regeln. &lt;br /&gt;
Generell gilt, dass ein Wert, der von FHEM gesetzt wurde mit dem prefix &#039;&#039;&#039;&amp;quot;set_&amp;quot;&#039;&#039;&#039; versehen wird. Wenn der Zustand bestätigt ist wird das set_ entfernt. Sollte man also ein Reading mit diesem prefix haben, das sich nicht selbst entfernt sollt man unbedingt den Zustand kontrollieren. &amp;lt;br&amp;gt;&lt;br /&gt;
So ist nach einem &amp;quot;set Licht on&amp;quot; der Zustand des Licht erst einemal &amp;quot;set_on&amp;quot;. Mit der Antwort des Device wird es dann auf &amp;quot;on&amp;quot; gesetzt. &amp;lt;br&amp;gt;&lt;br /&gt;
Register machen eine Ausnahme:&lt;br /&gt;
=====Register=====&lt;br /&gt;
Register sind Konfigurationsparameter, die &#039;&#039;&#039;im Device flash&#039;&#039;&#039; gespeichert werden. Daten, die Registern zureordnet sind beginnen mit &amp;quot;R-&amp;quot;. Sollte das Register einem peer zugeordnet sein kommt dieser danach. Der Namen ist also&lt;br /&gt;
&#039;&#039;&#039;R-&amp;lt;peer&amp;gt;-&amp;lt;registerName&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Zugriff ist indirekt, geht also nur über Methoden und Kommandos. Man kann die Konfiguration (Register und peers) mit &#039;&#039;&#039;getConfig&#039;&#039;&#039; aus dem Device lesen und in FHEM dargestellen. FHEM bemüht sich, die angezeigten Register aktuell zu halten - der User muss aber ein gewisse Vorsicht im Umgang damit walten lassen. Register können mit &#039;&#039;&#039;regSet&#039;&#039;&#039; gesetzt werden. Ob die gelesenen Register komplett sind prüft &amp;lt;u&amp;gt;[[Homematic_HMInfo#Integrit.C3.A4tspr.C3.BCfungen|configCheck]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
Da einige Entities viele Register haben kann man mit dem Attribut &#039;&#039;&#039;expert&#039;&#039;&#039; die Sichtbarkeit steuern. &amp;lt;br&amp;gt;&lt;br /&gt;
siehe auch &amp;lt;u&amp;gt;[[Homematic_HMInfo#Infos|register]]&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Von einigen Devices sind Register schwer zu lesen, z.B. config devices. Man kann die Register-Readings &amp;lt;u&amp;gt;[[Homematic_HMInfo#archConfig|archivieren]]&amp;lt;/u&amp;gt; und beim reboot wieder &amp;lt;u&amp;gt;[[Homematic_HMInfo#archConfig|laden]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Attribute====&lt;br /&gt;
Attribute sind i.a. Parameter, die das Verhalten der Entity steuern. Sie werden mit &#039;&#039;&#039;save&#039;&#039;&#039; in fhem.cfg oder einem seiner subfiles gespeichert. Nach einer Änderung sollte der User ein &amp;quot;save&amp;quot; machen, sonst sind diese nach einem Reboot verloren.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier werden nur &#039;&#039;&#039;HM spezifische Attribute&#039;&#039;&#039; besprochen.&amp;lt;br&amp;gt;&lt;br /&gt;
Attribute, die das System &#039;&#039;&#039;automatisch&#039;&#039;&#039; anlegt. Sollten diese nicht mehr stimmen kann der User anlernen am Device drücken und sie werden wieder hergestellt. Der User sollte sie &#039;&#039;&#039;nicht ändern&#039;&#039;&#039;.&lt;br /&gt;
* model&lt;br /&gt;
* subType&lt;br /&gt;
* peerIDs: HMIds der peers. Wird gelegentlich verschoben!&lt;br /&gt;
* serialNr: auslaufend - durch Reading D-serianNr ersetzt&lt;br /&gt;
* firmware: auslaufend - durch Reading D-firmware ersetzt&lt;br /&gt;
&lt;br /&gt;
Attribute für HM Entities, die der User steuern kann&lt;br /&gt;
* webCmd: FHEM setzt ggf. einen Default, der User kann dies anpassen&lt;br /&gt;
* expert: schaltet mehr oder weniger Readings sichtbar - dient der Übersichtlichkeit des Web-Interface. &lt;br /&gt;
* autoReadReg: steuert das automatische Lesen der Konfiguration - ggf. zeitverzögert um Resourcen zu schonen. Es wird Level 5 empfohlen&lt;br /&gt;
&lt;br /&gt;
Attribute für HM Entities am Device, die der User steuern kann&lt;br /&gt;
* msgRepeat: kann man im Device einstellen. Es legt fest wir oft eine Nachricht wiederholt werden soll, falls sie nicht empfangen wird. Beachte, dass unabhängig davon ein HMLAN/USB immer 3-mal probiert zu senden. Insbesondere bei Burst Devices sollte man einen niedrigen level einstellen.&lt;br /&gt;
* IODev: Sollte man auf das IO device setzen, über das zu diesem Device gesendet werden soll. Es wird i.a. beim Pairen gesetzt. &lt;br /&gt;
&lt;br /&gt;
Empfohlene Attribute außerhalb von HM&lt;br /&gt;
* event-on-change-reading .*&lt;br /&gt;
&lt;br /&gt;
===Kommandos===&lt;br /&gt;
====Allgemein====&lt;br /&gt;
* get &amp;lt;name&amp;gt; cmdList &#039;&#039;# zeigt alle Kommandos mit Parametern für diese Entity an&#039;&#039;&lt;br /&gt;
* clear [readings|register|rssi|msgEvents] &#039;&#039;# löschen von Readings oder Zählern&#039;&#039;&lt;br /&gt;
====Register kommandos====&lt;br /&gt;
* set &amp;lt;name&amp;gt; getConfig &#039;&#039;# liest alle Peers und Register. Auf ein Device angewendet werden ALLE channels auch gelesen&#039;&#039;&lt;br /&gt;
* set &amp;lt;name&amp;gt; regSet [prep|exec] &amp;lt;regName&amp;gt; &amp;lt;value&amp;gt; ... [&amp;lt;peerChannel&amp;gt;]&#039;&#039; #schreiben eines Registerwerts. Das Kommando landet im Kommandstack&#039;&#039;&lt;br /&gt;
* set &amp;lt;name&amp;gt; regbulk ...&#039;&#039;# kommando zum setzen von rohdaten und ganzen Registerlisten. Ausser zum re-configurieren eines ganzen Device eher nicht für den User zu gebrauchen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* set &amp;lt;name&amp;gt; sign [on|off &#039;&#039;# setzt das Register um AES einzuschalten. Man sollte sich über AES &#039;&#039;&#039;vorher&#039;&#039;&#039; einlesen!!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* get &amp;lt;name&amp;gt; regList &#039;&#039;# zeigt alle Register, die diese Entity &#039;&#039;&#039;unterstützt&#039;&#039;&#039; - incl Beschreibung und Wertebereich. Als Anfänger sollte man einmal hinsehen!&#039;&#039;&lt;br /&gt;
* get &amp;lt;name&amp;gt; reg all &#039;&#039;# zeigt alle Register, die diese Entity &#039;&#039;&#039;hat&#039;&#039;&#039; und den aktuellen Wert&#039;&#039;&lt;br /&gt;
===Kommunikation===&lt;br /&gt;
Die Kommunikation zwischen Device und der Zentrale folgt einem Protokoll. Für die meisten Nachrichten erwartet der Sender eine Empfangsbestätigung. FHEM beachtet das Protokoll und implementiert es entsprechend der Fähigkeiten des IO device.&amp;lt;br&amp;gt;&lt;br /&gt;
Grundsätzlich kann jedes Device an jedes andere Nachrichten senden. Damit dies auch einen erfolg hat, müssen die Kanäle gepeert werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Um FHEM zu erlauben, Nachrichten an das Device zu richten muss FHEM gepairt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Senden der Nachrichten macht IMMER das Device - ein Kanal selbst kann nicht wirklich senden. &lt;br /&gt;
====Protokoll====&lt;br /&gt;
Da für das Senden das Device verantwortlich ist sind hier die entsprechenden Informationen zu finden. Zu Beachten sind die &amp;lt;u&amp;gt;[[HomeMatic#Device|Übertragungsmodi]]&amp;lt;/u&amp;gt;, die ein Device unterstützt.  Die Internals &amp;quot;prot...&amp;quot; enthalten alle notwendigen Daten. &lt;br /&gt;
* protState: Der Zustand der Protokollmaschine&lt;br /&gt;
** CMDs_done: alle Nachrichten übertragen, keine Fehler in diesem Durchgang aufgetreten&lt;br /&gt;
** CMDs_done_Error:xx : es hat xx Fehler bei der letzten Übertragung gegeben. &lt;br /&gt;
** CMDs_pending: Nachrichten warten auf das Senden&lt;br /&gt;
** CMDs_processing... : die Nachrichtenübertragung ist im Gange&lt;br /&gt;
** Info_Cleared: die Protokoll Statistik wurde rückgesetzt&lt;br /&gt;
* protCmdPend: Anzahl der Nachrichten, die auf das Senden warten&lt;br /&gt;
* protCmdDel: Anzahl gelöschter Nachrichten aufgrund von Fehlern&lt;br /&gt;
* protCmdNack: Anzahl der negativen Acknowledges&lt;br /&gt;
* protCmdResnd: Anzahl der Wiederholungen - die Nachrichten wurden nicht gelöscht. &lt;br /&gt;
* protCmdResndFail: Anzahl der fehlgeschlagenen Wiederholungen - die Nachrichten wurden gelöscht. &lt;br /&gt;
* protCmdIOerr: Anzahl der IO Fehler - Übertragung war nicht Möglich, weil das IO Device Probleme hatte. Der Grund sollte im IO Device nachgesehen werden. &lt;br /&gt;
* protCmdIOdly: Anzahl der Verzögerungen aufgrund von IO Problemen&lt;br /&gt;
* protCmdTimedOn: Anzahl der Nachrichten, wenn ein Timer im Device genutzt wird - z.B. durch on-for-timer&lt;br /&gt;
* protCmdRcv: Anzahl empfangene Nachrichten&lt;br /&gt;
* protCmdSnd: Anzahl gesendete Nachrichten&lt;br /&gt;
* protCmdErrIoId_...: Anzahl der Sendeversuche zum Device von einer anderen Zentrale&lt;br /&gt;
* protCmdErrIoAttack: Anzahl der Sendeversuche zum Device die nicht von FHEM kam- es könnte ein Versuch sein, das System zu hacken. Dies wird auch im Reading &#039;&#039;&#039;sabotageAttack&#039;&#039;&#039; ausgegeben und man kann ein notify darauf ansetzen. &lt;br /&gt;
&lt;br /&gt;
* protCmdEvt_AESCom: Anzahl der AES Nachrichten von Device&lt;br /&gt;
* protCmdEvt_AESKey: Benutzter AES key&lt;br /&gt;
&lt;br /&gt;
Die Zähler können mit &#039;&#039;&#039;set &amp;lt;device&amp;gt; clear msgEvents&#039;&#039;&#039; rückgesetzt werden. Dies kann vor Konfigurationsänderungen Sinn machen, um Probleme besser erkennen zu können. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Übersicht kann man mit HMInfo &amp;lt;u&amp;gt;[[Homematic_HMInfo#protoEvents|protoEvents]]&amp;lt;/u&amp;gt; erhalten. Auch das Löschen aller Zähler ist von HMInfo aus möglich.&lt;br /&gt;
&lt;br /&gt;
====Rssi====&lt;br /&gt;
Zeigt den Empfangspegel, den ein Device von einem Anderen misst. Die Variablen sind in Internals abgelegt. Angegeben werden minimale und maximale Wert. Außerdem wird der Durchschnitt und die Anzahl der Nachrichten ausgewertet.&amp;lt;br&amp;gt;&lt;br /&gt;
HM liefert Empfangspegel am IO Device (FHEM standard) aber auch den Empfangspegel am Device selbst. Ebenfalls ausgewertet werden Pegel, die beim Senden zwischen Peers erreicht werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zähler können mit &#039;&#039;&#039;set &amp;lt;device&amp;gt; clear rssi&#039;&#039;&#039; rückgesetzt werden.&amp;lt;br&amp;gt; &lt;br /&gt;
Eine Übersicht erkält man mit HMInfo &amp;lt;u&amp;gt;[[Homematic_HMInfo#RSSI|Rssi]]&amp;lt;/u&amp;gt;. Das Löschen der Zähler aller HM devices ist von HMInfo aus möglich.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Man kann RSSI kontinuierlich aufzeichnen, wenn das Attribut &#039;&#039;&#039;rssiLog&#039;&#039;&#039; im Device gesetzt ist. Es wird ein Reading rssi_&amp;lt;name&amp;gt; erzeugt. Das generelle setzen dieses Attributs wird aus Performance-gründen nicht empfohlen.&lt;br /&gt;
&lt;br /&gt;
== Pair / Peer bzw. pairen und peeren ==&lt;br /&gt;
HM  Geräte können mit und ohne Zentrale betrieben werden. In FHEM wird davon ausgegangen, dass Geräte immer von einer Zentrale aus gesteuert werden können. Um dies zu erreichen muss das Device mit der Zentrale gepairt werden. &lt;br /&gt;
&lt;br /&gt;
=&amp;gt; &amp;lt;u&amp;gt;[[HomeMatic Devices pairen|Devices Pairen]]&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um einen Betrieb (auch)ohne Zentrale zu ermöglichen kann man Kanäle &amp;lt;ins&amp;gt;p&#039;&#039;&#039;ee&#039;&#039;&#039;ren&amp;lt;/ins&amp;gt;. Hier bei wird ein Sensor-Kanal mit einem Aktor-Kanal verknüpft werden. &lt;br /&gt;
siehe &amp;lt;u&amp;gt;[[Homematic_Peering_Beispiele|Channels peeren]]&amp;lt;/u&amp;gt; für Details.&lt;br /&gt;
&lt;br /&gt;
== HMInfo ==&lt;br /&gt;
Mit &amp;lt;u&amp;gt;[[Homematic_HMInfo|HMInfo]]&amp;lt;/u&amp;gt; kann man eine Übersicht der HM Installation erhalten, Konfiguration prüfen und Alarme gesammelt auswerten.&lt;br /&gt;
&lt;br /&gt;
== Besondere Entites ==&lt;br /&gt;
&lt;br /&gt;
=== Virtuelle Entities ===&lt;br /&gt;
Virtuelle Entities sind nicht reale HM Devices und Kanäle. Man kann sie als Sender und Empfänger nutzen, auch im Zusammenhang mit Rauchmeldern oder zur Steuerung von Heizungsventilen. Die spezifischen Anwendungen sind im entsprechenden Kapitel nachzulesen. &amp;lt;br&amp;gt;&lt;br /&gt;
Angelegt wird das Device, dann wird per Kommando eine Anzahl Kanäle angelegt. &lt;br /&gt;
  define &amp;lt;virtDev&amp;gt; CUL_HM 112233&lt;br /&gt;
  set &amp;lt;virtDev&amp;gt; virtual 10&lt;br /&gt;
jetzt hat man ein virtuelles Device mit 10 Kanälen angelegt. &lt;br /&gt;
Die die gültigen Kommandos kann man wie immer mit &#039;&#039;&#039;get &amp;lt;entity&amp;gt; cmdList&#039;&#039;&#039; erfahren.&amp;lt;br&amp;gt;&lt;br /&gt;
Auch einem Virtuellen Device sollte man das &#039;&#039;&#039;Attribut IODev setzen &#039;&#039;&#039;.&lt;br /&gt;
=== IO Entities ===&lt;br /&gt;
Analog virtuellen Entities kann man auch IO entities erzeugen. IO ist nicht ganz korrekt, eigentlich sind es Kanäle einer Zentrale. Da diese in FHEM nicht abgebildet wird sind sie teilweise in den IOs realisiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Faktisch ist es ein Kanal, der der HMId des gewählten IO device zugeordnet ist. Aktuell wird dieser Kanal nicht in FHEM dargestellt. Man kann diese Entity jedoch peeren. &amp;lt;br&amp;gt;&lt;br /&gt;
Man kann jeder HMId bis zu 50 Kanäle zuweisen. Da mehrere IO devices die gleiche HMId nutzen können, teilen sich diese in diesem Fall die Kanäle.&lt;br /&gt;
&lt;br /&gt;
=== Action Detector===&lt;br /&gt;
Einige Devices der HM-Geräteserie senden periodisch Nachrichten. Manche alle 3 Minuten, andere alle 3 Tage. Wenn so eine Zeit für einen Device spezifiziert ist wird diese automatisch vom ActionDetector überwacht.&amp;lt;br&amp;gt;&lt;br /&gt;
Meist sind dies batteriebetriebene Geräte. Sollte aus irgendwelchen Gründen der Batteriealarm übersehen werden und das Gerät keine Nachricht mehr senden wird es auf Dead gesetzt.&lt;br /&gt;
Die Kontrollinstanz ist ein Pseudo-Gerät &amp;quot;ActionDetector&amp;quot; mit der HMId &amp;quot;000000&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* attribut&lt;br /&gt;
** actCycle: gibt an, in welchen Abständen sich das Device melden muss&lt;br /&gt;
** actStatus: gibt den Zustand an&lt;br /&gt;
*** alive: Device hat sich in der erwarteten Zeit min einmal gemeldet&lt;br /&gt;
*** dead: Device hat sich in der erwarteten Zeit nicht gemeldet&lt;br /&gt;
*** unknown: Device hat sich nicht gemeldet, es ist aber seit dem letzten reboot die Zykluszeit noch nicht abgelaufen. &lt;br /&gt;
&lt;br /&gt;
* readings&lt;br /&gt;
** Activity:    entsprechend dem actStatus. &lt;br /&gt;
&lt;br /&gt;
* get&lt;br /&gt;
** listDevice:           Gibt alle Objekte zurück&lt;br /&gt;
** listDevice notActive: Gibt alle Objekte zurück die nicht &amp;quot;alive&amp;quot; sind&lt;br /&gt;
** listDevice alive:     Gibt alle Objekte zurück die &amp;quot;alive&amp;quot; sind&lt;br /&gt;
** listDevice unknown:   Gibt alle Objekte zurück die &amp;quot;unknown&amp;quot; sind&lt;br /&gt;
** listDevice dead:      Gibt alle Objekte zurück die &amp;quot;dead&amp;quot; sind&lt;br /&gt;
&lt;br /&gt;
Durch das Setzen des Attributs im HM device wird der ActionDetector automatisch definiert - nach einem save steht er auch in der fhem.cfg.&lt;br /&gt;
Alternativ ist auch eine manuelle Definition möglich und sollte in etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
 define ActionDetector CUL_HM 000000&lt;br /&gt;
 attr ActionDetector actCycle 30&lt;br /&gt;
 attr ActionDetector event-on-change-reading .*&lt;br /&gt;
 attr ActionDetector model ActionDetector&lt;br /&gt;
&lt;br /&gt;
Die HMId &amp;quot;000000&amp;quot; darf nicht geändert werden.&lt;br /&gt;
&lt;br /&gt;
In der Entity actionDetector kann man die Infos gesammelt einsehen.&lt;br /&gt;
Der User kann durch das Setzen des Attributs actCycle jedes Device in diese Liste aufnehmen. Es wird dann geprüft, ob sich das Device in dieser Zeit auch meldet. Der User muss dies aber selbst sicherstellen.&lt;br /&gt;
&lt;br /&gt;
== Tipps / HowTos / Beispiele ==&lt;br /&gt;
&lt;br /&gt;
* [[HomeMatic Devices pairen|HM Devices pairen]] zum &#039;&#039;&#039;Pairen&#039;&#039;&#039; der Geräte untereinander.&lt;br /&gt;
* [[CUL]] (also gleichzeitig)?&lt;br /&gt;
* [[Slider für HM-Rolladensteuerung anzeigen]]&lt;br /&gt;
* Für den &amp;quot;Fall der Fälle&amp;quot;: Erstellen Sie eine Liste aller HM-Geräte mit den Installationsorten, HM-Namen, Fhem-Namen &#039;&#039;&#039;und&#039;&#039;&#039; den Geräte-IDs. Falls Sie sich ihr Fhem einmal zerschießen, wird diese Liste sehr hilfreich sein. Zur Abwicklung von Gewährleistungsansprüchen sind Daten über Kaufdatum und Lieferant (bei größeren Installationen mit Zukauf in zeitlichen Abständen) ebenfalls angebracht.&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Messages Sniffen ===&lt;br /&gt;
Um Probleme besser nachvollziehen zu können, kann man &amp;lt;u&amp;gt;[[Homematic_Nachrichten_sniffen|Nachrichten mitsniffen]]&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Daten können empfangen werden, Befehle werden nicht übertragen ===&lt;br /&gt;
&lt;br /&gt;
Das kann mehrere Ursachen haben:&lt;br /&gt;
* P&#039;&#039;&#039;ai&#039;&#039;&#039;ring nicht abgeschlossen (bei den &#039;&#039;Readings&#039;&#039; &amp;quot;PairedTo&amp;quot; bzw. &amp;quot;R-pairCentral&amp;quot; steht der Wert &#039;&#039;&#039;set_&#039;&#039;&#039;0x1A2B3C). Das P&#039;&#039;&#039;ai&#039;&#039;&#039;ring ist erst dann erfolgreich abgeschlossen, wenn das &#039;&#039;&#039;set_&#039;&#039;&#039; fehlt, also nur noch (beispielhaft) &amp;quot;0x1A2B3C&amp;quot; steht. Siehe [[HomeMatic_Devices_pairen]]&lt;br /&gt;
* Sender (CUL/HM-LAN) und Empfänger (HM-Device) stehen zu nah (RSSI-Werte bei ~ &amp;quot;-17&amp;quot;) beieinander&lt;br /&gt;
* Sender (CUL/HM-LAN) und Empfänger (HM-Device) stehen zu weit (RSSI-Werte bei unter ~ &amp;quot;-80&amp;quot;) voneinander entfernt&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Notifys und anderes funktionieren nach einem Fhem-Neustart nicht mehr oder nicht mehr zeitnah ===&lt;br /&gt;
&lt;br /&gt;
Obwohl HomeMatic wegen der höhren Datenübertragungsrate wesentlich weniger von der [[1% Regel]] betroffen ist als z.b. FS20 oder FHT, so kann es dennoch zu Funkkontingentüberschreitungen kommen.&lt;br /&gt;
&lt;br /&gt;
Insbesondere ist bei FHEM Versionen ab Oktober 2013 das Attribut &#039;&#039;autoReadReg&#039;&#039; auf &amp;quot;4_reqStatus&amp;quot; gesetzt. Damit wird für jedes HM-Device mit diesem so gesetzten Attribut beim Fhem-Start ein &#039;&#039;getConfig&#039;&#039; durchgeführt, was viel Funkverkehr erfordert.&lt;br /&gt;
&lt;br /&gt;
Je nach Anzahl der Geräte kann dazu führen, dass insgesamt zu viel Funklast erzeugt wird, im Logfile erscheint dann eine Meldung wie:&lt;br /&gt;
&lt;br /&gt;
 2013.10.03 13:41:18 2: HMLAN_Parse: HMLAN1 new condition ERROR-Overload&lt;br /&gt;
&lt;br /&gt;
Ab diesem Moment werden eben auch keine anderen Befehle mehr an weitere HM-Geräte geschickt, da das Funkkontigent aufgebraucht ist. Erst nach einer Stunde kann erneut gesendet werden. Als &#039;&#039;&#039;Notbehelf&#039;&#039;&#039; kann die Funkschnittstelle resetted oder  ([[HMLAN Konfigurator]]) kurz stromlos gemacht werden. Dann wird der Zähler wieder auf Null gesetzt.&lt;br /&gt;
&lt;br /&gt;
Alternativ können so viele HM-Geräte wie möglich auf &#039;&#039;autoReadReg 0_off&#039;&#039; gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[1% Regel]]&lt;br /&gt;
&lt;br /&gt;
=== Spannungsversorgung ===&lt;br /&gt;
Die Batterielebensdauer der HomaMatic Komponenten ist durchwachsen. Besonders die mitgelieferten Batterien sind mitunter schon nach wenigen Wochen leer, trotzdem werden öfters keine &#039;&#039;battery low&#039;&#039; Meldung erzeugt. Bei Störung des Funkverkehrs (z.b. blinkendes Antennensymbol im HM-CC-TC und kurzes piepen zur vollen Stunde von morgens bis abends, fehlende ACK Meldungen, nicht auslösende IR-Bewegungssensoren und ähnliches) sollte also immer auch eine schlechte Spannungsversorgung in Betracht gezogen werden.&lt;br /&gt;
&lt;br /&gt;
Gute neue Batterien halten jedoch i.d.R. 12 Monate und mehr, auch Lebensdauern über 2 Jahre sind bei einigen Geräten (Tür/Fensterkontakte, Sender, Retroanzeige,  IR-Bewegungsmelder) keine Seltenheit.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.homematic.com/ HomeMatic] Homepage&lt;br /&gt;
* Hersteller [http://www.eq-3.de eQ-3] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Glossary]]&lt;/div&gt;</summary>
		<author><name>ChrisKoh</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer:ChrisKoh&amp;diff=12263</id>
		<title>Benutzer:ChrisKoh</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer:ChrisKoh&amp;diff=12263"/>
		<updated>2015-09-25T07:57:49Z</updated>

		<summary type="html">&lt;p&gt;ChrisKoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FHEM @ Raspberry B mit stapelbarem CC1101 &amp;lt;br /&amp;gt;&lt;br /&gt;
FS20 : fs20du, fs20di, fs20s4a, fs20st, fs20tfk&amp;lt;br /&amp;gt;&lt;br /&gt;
2x LD382; 2x Harmony Hub&amp;lt;br /&amp;gt;&lt;br /&gt;
Raspberry B als ambilight&amp;lt;br /&amp;gt;&lt;br /&gt;
Raspberry 2 B als openHAB Test-System sowie HomeBridge Server&lt;/div&gt;</summary>
		<author><name>ChrisKoh</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer:ChrisKoh&amp;diff=12262</id>
		<title>Benutzer:ChrisKoh</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer:ChrisKoh&amp;diff=12262"/>
		<updated>2015-09-25T07:54:18Z</updated>

		<summary type="html">&lt;p&gt;ChrisKoh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FHEM @ Raspberry B+ mit stapelbarem CC1101&lt;br /&gt;
FS20 : fs20du, fs20di, fs20s4a, fs20st, fs20tfk&lt;br /&gt;
2x LD382; 2x Harmony Hub&lt;br /&gt;
Raspberry B+ als ambilight&lt;br /&gt;
Raspberry 2 B als openHAB Test-System sowie HomeBridge Server&lt;/div&gt;</summary>
		<author><name>ChrisKoh</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer:ChrisKoh&amp;diff=12261</id>
		<title>Benutzer:ChrisKoh</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer:ChrisKoh&amp;diff=12261"/>
		<updated>2015-09-25T07:54:00Z</updated>

		<summary type="html">&lt;p&gt;ChrisKoh: Die Seite wurde neu angelegt: „Test“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test&lt;/div&gt;</summary>
		<author><name>ChrisKoh</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Homebridge_einrichten&amp;diff=12260</id>
		<title>Homebridge einrichten</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Homebridge_einrichten&amp;diff=12260"/>
		<updated>2015-09-25T07:35:24Z</updated>

		<summary type="html">&lt;p&gt;ChrisKoh: Submodule werden nicht mehr genutzt. Umgestellt auf npm. https://github.com/nfarina/homebridge/commit/c1f161376327f6b621fdeb869664af5678812e11&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Homebridge einrichten Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
Dieses HOWTO zeigt die Installation und Erstinbetriebnahme von Homebridge. Damit kann Siri benutzt werden, um FHEM-Devices zu steuern. So können Devices angesprochen werden, die offiziell HomeKit nicht unterstützen.&lt;br /&gt;
(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 die Diskussion im FHEM-Forum:&lt;br /&gt;
http://forum.fhem.de/index.php/topic,32652.0.html&lt;br /&gt;
Ein riesen Dank gilt vor allem &#039;&#039;&#039;justme1968&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== NodeJS installieren ==&lt;br /&gt;
&lt;br /&gt;
In der Konsole folgende Befehle eingeben:&lt;br /&gt;
&amp;lt;pre 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;/pre&amp;gt;&lt;br /&gt;
Da es z.Zt. Probleme mit der neuesten NodeJS Version (4.0) gibt, wird die NodeJs Version 0.12.6 über NVM verwendet.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:65%;&amp;quot;&amp;gt;&lt;br /&gt;
curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach Ausführung des Skripts ist ein LogOut und erneuter LogIn erforderlich. Alternativ:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
source ~/.profile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mit erfolgreich installierten NVM kann nun die benötigte NodeJS-Version geladen werden:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
nvm install 0.12.6&lt;br /&gt;
nvm use 0.12.6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Im Anschluss kann mit:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
node -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
überprüft werden, ob die Richtige Version genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Python, g++, MDNS installieren ==&lt;br /&gt;
&amp;lt;pre 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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homebridge installieren ==&lt;br /&gt;
Dazu im Homeverzeichnis&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/nfarina/homebridge.git&lt;br /&gt;
cd homebridge&lt;br /&gt;
npm install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
eingeben.&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;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
nano config.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Homebridge muss nicht, kann aber auf dem selben Server laufen wie FHEM. 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;
WICHTIG: Damit nicht alle Devices von Homebridge berücksichtig 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 ROOM Homekit per FHEM eingerichtet. 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;pre 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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homebridge starten ==&lt;br /&gt;
Wieder im Verzeichnis ~/homebridge/ &lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:50%;&amp;quot;&amp;gt;&lt;br /&gt;
npm run start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hombridge sollte nun laufen.&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. 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;
&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;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>ChrisKoh</name></author>
	</entry>
</feed>