<?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=Hmcontrol</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=Hmcontrol"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Hmcontrol"/>
	<updated>2026-04-10T15:31:01Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Luxtronik_1_in_FHEM&amp;diff=38611</id>
		<title>Luxtronik 1 in FHEM</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Luxtronik_1_in_FHEM&amp;diff=38611"/>
		<updated>2023-09-28T16:29:02Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: ESPHOME Lösung unter Weblinks eingetragen.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Todo|Fertigstellung; Erläuterungen ob und wie FHEM-Anbindung erfolgen kann}}&lt;br /&gt;
&lt;br /&gt;
== Features / Funktionen ==&lt;br /&gt;
Die Luxtronik 1.0 ist eine Heizungssteuerung, die in Wärmepumpen von Alpha Innotec, Siemens und Novelan verbaut ist. Ihr fehlt ein Ethernet Anschluss, so dass sie über die vorhandene RS232-Schnittstelle integriert werden muss. Sie ist die Vorgängerversion der LAN-fähigen [[Luxtronik 2.0]], für die ein FHEM-Modul existiert.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Falls es besondere Einschränkungen / Voraussetzungen, etc. gibt...&lt;br /&gt;
# Die Wärmepumpe kann nur über die serielle Schnittstelle angesprochen werden.&lt;br /&gt;
# Derzeit wird nur das Auslesen der Konfiguration und Werte unterstützt.&lt;br /&gt;
&lt;br /&gt;
== Verbindung herstellen ==&lt;br /&gt;
Damit man die Schnittstelle - die insbesondere für Wartungszwecke da ist - nutzen kann, musst du die nachfolgenden Schritte durchführen.&lt;br /&gt;
=== Schnittstelle freigeben ===&lt;br /&gt;
Unter &#039;&#039;Einstellungen --&amp;gt; Datenzugang&#039;&#039; die PIN 9445 für den Kundendienstzugang eingeben und bestätigen. Es passiert erstmal nix, es sind jetzt aber weitere Menüs erreichbar. Unter &#039;&#039;Einstellungen --&amp;gt; Diagnose&#039;&#039; Standard auswählen. Damit ist die Schnittstelle freigegeben.&lt;br /&gt;
=== Kabel anschließen ===&lt;br /&gt;
Jetzt geht es an die Wärmepumpe, diese öffnen. Bei meiner Alpha Innotec ist die Steuerung an der linken Seite hinter einer Metallabdeckung. Dort sieht es dann so aus:&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Luxtronik1-kabel-anschliessen.jpg]] &lt;br /&gt;
&lt;br /&gt;
Der rote Pfeil zeigt den seriellen Anschluss, hier muss das Kabel eingesteckt werden.&lt;br /&gt;
=== Das Kabel ===&lt;br /&gt;
Es gibt leider viele verschiedene Kabelbelegungen. Daher ist es am einfachsten sich ein Kabel selbst zu löten. Drei PINs müssen verbunden sein: 5 (GND), 3 (TX) und 2(RX). Auf beiden Seiten sind die Anschlüsse gleich, es ist ein 1:1-Kabel, also keine Drehung von 2 auf 3 o.Ä.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Luxtronik1-serielles-kabel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Das Bild zeigt ein gelötetes Kabel am USB-RS23-Adapter.&lt;br /&gt;
=== Der RS232-USB-Adapter ===&lt;br /&gt;
In meinem Fall war das ein USB-Seriell-Adapter (Typ Targus PA088E bzw MCT U232 - gibt es für 13 € bei Ebay. Software ist von MCT.com.tw und läuft bei mir unter Win10 und Win7/64Bit). Andere Adapter sollten genauso funktionieren, wenn es Treiber dafür gibt.&lt;br /&gt;
&lt;br /&gt;
Der FHEM läuft bei mir auf einem BananPi, für den RaspberryPi sollte das selbe gelten. Steckt man den Adapter ein, wird er erkannt. Man kann das leicht mit dem Befehl &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; prüfen.&lt;br /&gt;
&lt;br /&gt;
Nach Eingabe des Befehls &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt; sieht man, wie das Gerät eingebunden ist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[278127.624239] mct_u232 ttyUSB0: MCT U232 converter now disconnected from ttyUSB0&lt;br /&gt;
[278127.632780] mct_u232 3-1:1.0: device disconnected&lt;br /&gt;
[278206.689646] ehci_irq: port change detect&lt;br /&gt;
[278206.912197] ehci_irq: port change detect&lt;br /&gt;
[278206.972264] The port change to OHCI now!&lt;br /&gt;
[278207.277779] usb 3-1: new full-speed USB device number 4 using sw-ohci&lt;br /&gt;
[278207.474278] usb 3-1: New USB device found, idVendor=0711, idProduct=0230&lt;br /&gt;
[278207.486502] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3&lt;br /&gt;
[278207.493495] usb 3-1: Product: Targus Group Intl&lt;br /&gt;
[278207.503430] usb 3-1: Manufacturer: Targus Group Intl&lt;br /&gt;
[278207.509376] usb 3-1: SerialNumber: 489991&lt;br /&gt;
[278207.520277] mct_u232 3-1:1.0: MCT U232 converter detected&lt;br /&gt;
[278207.530816] usb 3-1: MCT U232 converter now attached to ttyUSB0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wichtig ist die Information welches Devices das nun ist &amp;quot;attached to...&amp;quot;, hier &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Einstellungen der seriellen Schnittstelle ===&lt;br /&gt;
Anders, als ich zunächst dachte funktioniert eine Verbindung mit der Standardrate 9.600 Baud nicht. Die richtigen Einstellungen sind:&lt;br /&gt;
  * 57600 baud&lt;br /&gt;
  * 8 Bit&lt;br /&gt;
  * 1 Stopbit&lt;br /&gt;
  * kein Paritätsbit&lt;br /&gt;
  * Xon/Xoff Flusskontrolle&lt;br /&gt;
&lt;br /&gt;
==== Minicom (Linux) ====&lt;br /&gt;
Damit man ausprobieren kann, ob bis hierher alles funktioniert, kann man das Terminalprogramm minicom (für Linuxkonsolen) verwenden. Der Befehl &amp;lt;code&amp;gt;sudo apt-get install minicom&amp;lt;/code&amp;gt; installiert das Programm. Unter &amp;lt;code&amp;gt;/etc/minicom&amp;lt;/code&amp;gt; liegt die Datei minirc.dfl, diese enthält bei mir folgende Einstellungen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Machine-generated file - use &amp;quot;minicom -s&amp;quot; to change parameters.&lt;br /&gt;
pu port             /dev/ttyUSB0&lt;br /&gt;
pu baudrate         57600&lt;br /&gt;
pu bits             8&lt;br /&gt;
pu parity           N&lt;br /&gt;
pu stopbits         1&lt;br /&gt;
pu rtscts           No&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== PuTTY (Windows/Linux) ====&lt;br /&gt;
Wer den ersten Test von Windows oder der grafischen Konsole von Linux machen will, der kann [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] verwenden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Luxtronik1_putty.png]]&lt;br /&gt;
&lt;br /&gt;
Ihr müsst dann unter Sessions von &amp;quot;ssh&amp;quot; auf &amp;quot;serial&amp;quot; umstellen. COM1 stimmt natürlich auch nur, wenn es bei euch ebenfalls COM1 ist, dies könnt ihr im Geräte-Manager prüfen.&lt;br /&gt;
&lt;br /&gt;
=== Verbindungstest ===&lt;br /&gt;
Der spannende Moment, wenn ihr alles richtig gemacht habt, könnt ihr nun mit der Luxtronik 1 kommunzieren. Für den ersten Test unterstelle ich, dass ihr entweder PuTTY oder Minicom verwendet.&lt;br /&gt;
Wenn ihr nun Enter drückt, bekommt ihr ein freundliches &amp;lt;code&amp;gt;777&amp;lt;/code&amp;gt; zurück. Gebt ihr &amp;lt;code&amp;gt;1800&amp;lt;/code&amp;gt; ein, kommt eine ganze Seite von Zahlen zurück. Super.&lt;br /&gt;
&lt;br /&gt;
== FHEM-Modul Luxtronik1 ==&lt;br /&gt;
Leider gibt es kein offizielles FHEM-Modul Luxtronik1 :-(&lt;br /&gt;
&lt;br /&gt;
Todo: Wo bekommt man das inoffizielle Modul her?&lt;br /&gt;
&lt;br /&gt;
== MQTT-Client für Luxtronik 1 ==&lt;br /&gt;
Es gibt eine Open Source Software, die einen MQTT-Client für die Luxtronik 1 implementiert hat.&lt;br /&gt;
Damit sollte es möglich sein, die Wärmepumpe über den FHEM-eigenen [[MQTT]] Gateway einzubinden.&lt;br /&gt;
Die Software ist verfügbar unter: https://bitbucket.org/tobylorenz/ait_luxtronik/.&lt;br /&gt;
Sie wird laufend gewartet und um weitere Wärmepumpen ergänzt.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Keine&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* heatpumpctl [https://github.com/christophgysin/heatpumpctl/tree/master/doc Dokumentation der Schnittstelle + C-Sourcen]&lt;br /&gt;
* Hoerndlein [http://www.hoerndlein.de/cms/index.php/luxtronik-1 Perl-Modul]&lt;br /&gt;
* Forumsdiskussion [https://forum.fhem.de/index.php?topic=29740.0]&lt;br /&gt;
* ESPHOME Lösung für die Einbindung in Home Assistant [https://github.com/CBrosius/luxtronik_v1]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:MQTT]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=SIGNALduino&amp;diff=23307</id>
		<title>SIGNALduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=SIGNALduino&amp;diff=23307"/>
		<updated>2017-11-15T15:07:28Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: /* Einfache Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Empfang und Verarbeitung von digitalen Signalen&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModFTopic=38402&lt;br /&gt;
|ModCmdRef=SIGNALduino&lt;br /&gt;
|ModForumArea=Sonstige Systeme&lt;br /&gt;
|ModTechName=00_SIGNALduino.pm&lt;br /&gt;
|ModOwner=Sidey ({{Link2FU|8018|Forum}}/[[Benutzer Diskussion:Sidey|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Übersicht ===&lt;br /&gt;
Unter den Namen SIGNALduino versteht man sowohl den Low-Cost Empfänger für digitale Signale (vergleichbar dem  [[CUL]]) als auch das gleichnamige Modul mit dem Dateinamen 00_SIGNALduino.pm. Mit dem SIGNALduino kann man entweder 433 oder 868 MHz-Geräte auslesen und ansprechen. Der SIGNALduino funktioniert auch mit anderen Medien wie Infrarot oder direkter Kabelverbindung.&lt;br /&gt;
&lt;br /&gt;
Der SIGNALduino erkennt Signale anhand von Mustern und gibt sie an FHEM zur Auswertung (Dekodierung) weiter. Auch nicht erkannte Signale werden an FHEM übergeben. &lt;br /&gt;
&lt;br /&gt;
=== Vorteil gegenüber einem CUL/FHEMduino ===&lt;br /&gt;
Ein großer Vorteil des SIGNALduino besteht darin, dass auch Geräte mit leicht abweichende Frequenzen steuerbar sind; so empfangen die Somfy-Rolladenmotoren beispielsweise auf 433.42 und nicht, wie bei anderen Geräten sehr oft üblich, auf 433.92 MHz. Die Frequenzumstellung stellt für den SIGNALduino kein Problem dar.&lt;br /&gt;
&lt;br /&gt;
Der SIGNALduino hat den Vorteil einer sehr schnellen Demodulation des Funksignals. Sollen weitere Protokolle dekodiert werden, so muss dazu nur ein passendes FHEM Modul entwickelt oder ein universelles Modul erweitert werden. Änderungen am Arduino-Code sind normalerweise nicht notwendig.&lt;br /&gt;
&lt;br /&gt;
Ebenso kann man den SIGNALduino direkt an den Sendeausgang eines Sensors anbinden und die digitalen Signale empfangen, dabei bitte aber auf die passenden Spannungen achten, denn ein Arduino Nano verträgt nur 5V.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Der SIGNALduino (Hardware) wird über den USB Port angeschlossen, er kann aber auch mit zusätzlichen ESP Modulen über ein WLAN angebunden werden. &lt;br /&gt;
&lt;br /&gt;
Der SIGNALduino basiert auf einem [http://arduino.cc/de/Main/ArduinoBoardNano Arduino Nano], die Schaltung entspricht der des [[FHEMduino]] oder dem [[Selbstbau_CUL]]:&lt;br /&gt;
* Entweder wird ein Arduino mit einfachen Sende- und Empfangsmodulen verwendet, dann ist die Verkabelung identisch zum [[FHEMduino]] &lt;br /&gt;
* Oder es wird ein CC1101 Transceiver verwendet, dann ist die Verkabelung identisch zum [[Selbstbau_CUL]].&lt;br /&gt;
* Zuletzt gibt ein fertig konfektionierte Modul von In-Circuit mit Radino CC1101 Varianten, link zum [http://shop.in-circuit.de/index.php Hersteller]. &lt;br /&gt;
&lt;br /&gt;
Achten Sie beim Selbstbau auf die entsprechenden Sender-Empfänger. Der sehr preiswert angebotene XY-MK-5V hat sich als zu unzuverlässig erwiesen, während anscheinend beim CC1101 (insbesondere der &amp;quot;grünen Version&amp;quot;) keine Probleme auftreten. &lt;br /&gt;
&lt;br /&gt;
Es stehen auch für den [https://www.arduino.cc/en/Main/arduinoBoardUno UNO] und [https://www.arduino.cc/en/Main/ArduinoBoardProMini PRO Mini] Firmware-Dateien zur Verfügung. Die ausgelieferte Firmware läuft nur auf Mikrocontrollern mit 16 Mhz; wer einen Mikrocontroller mit 8 Mhz verwenden möchte, muss die Firmware selbst compilieren.&lt;br /&gt;
&lt;br /&gt;
Es gibt auch eine Variante des SIGNALduino, die auf einem [[ESP8266]] nativ läuft, diese funktioniert derzeit aber noch nicht zufiedenstellend. Das Modul wird derzeit (2017) stetig weiterentwickelt.&lt;br /&gt;
&lt;br /&gt;
=== Einfache Module ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Fhemduino_schematic.png|200px|thumb|right|Beispielschaltplan SIGNAL(FHEM)duino]]  &lt;br /&gt;
&lt;br /&gt;
Mit einem Arduino-Nano und folgenen, billigen Sende- und Empfangsmodulen können Sie einen SIGNALduino bauen:&lt;br /&gt;
* FS1000A Dies ist das Sendemodul (TX) und wird oft im Set mit dem billigen XY-MK-5V-Empfänger angeboten (etwa 5€). &lt;br /&gt;
* RXB6 Das ist das empfohlene Emfpangsmodul (RX), statt XY-MK-5V, etwa 5€ aus Deutschland.&lt;br /&gt;
&lt;br /&gt;
Die Verkabelung erfolgt analog zum [[FHEMduino]] und das bedeutet (Arduino-&amp;gt; Modul):&lt;br /&gt;
* PIN D2 an DATA des RX-Moduls&lt;br /&gt;
* PIN D11 an DATA des TX-Moduls (PIN links mit Beschriftung ATAD)&lt;br /&gt;
&lt;br /&gt;
Zusätzlich muss noch jeweils GND und 5V des Arduino mit dem GND bzw. VCC des Moduls verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Jetzt fehlen noch die Antennen. Dafür braucht man ein 17,2 cm langes Stück Kupferdraht, das wird beim Anschluss &amp;quot;ANT&amp;quot; jeweils am Modul angelötet (anfängergeeignet).&lt;br /&gt;
&lt;br /&gt;
== Software: Modul ==&lt;br /&gt;
&lt;br /&gt;
===  USB-ID ermitteln  ===&lt;br /&gt;
Bevor der SIGNALduino mit dem  FHEM Server (im Beispiel hier ein Raspberry PI) angeschlossen werden kann, muss die USB-Schnittstelle ermittelt werden. Hierzu bitte auf dem Terminal den Befehl&lt;br /&gt;
&amp;lt;pre&amp;gt; ls -l /dev/serial/by-id &amp;lt;/pre&amp;gt;&lt;br /&gt;
ausführen. Beispielhaft sieht das Ergebnis etwa so aus: &lt;br /&gt;
&#039;&#039;lrwxrwxrwx 1 root root 13 Jan 31 00:02 &#039;&#039;&#039;usb-FTDI_FT232R_USB_UART_A903N5T5-if00-port&#039;&#039;&#039; -&amp;gt; ../../ttyUSB0&#039;&#039; &lt;br /&gt;
Damit ist der Anschluss des SIGNALduino bestimmt und das Gerät kann wie im nächsten Abschnitt beschrieben definiert werden. Zuvor muss noch das Modul geladen werden.&lt;br /&gt;
&lt;br /&gt;
=== FHEM-Modul laden ===&lt;br /&gt;
Die SIGNALduino Module werden über das FHEM [[update]] verteilt. &lt;br /&gt;
&lt;br /&gt;
Die in der Entwicklung befindliche Version kann mit folgenden Befehlen geladen werden:&lt;br /&gt;
&lt;br /&gt;
* FHEM aktualisieren: &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; &lt;br /&gt;
* SIGNALduino Modul und Firmware aktualisieren: &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r33/controls_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;  Durch das Update von FHEM wird sichergestellt, dass das Modul mit FHEM arbeitet. Außerdem wird auch die Firmware geladen, im Log-File sieht man, wo diese hinkopiert wurden: z.B. nach FHEM/firmware/SIGNALduino_nano328.hex&lt;br /&gt;
*Danach kann das Gerät wie folgt definiert werden (die Spezifikation des USB Anschlusses muss dabei an die aktuellen Gegebenheiten angepasst werden):&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A903N5T5-if00-port0@57600&amp;lt;/code&amp;gt;&lt;br /&gt;
Nach dem Einbinden wird der SIGNALduino, falls er erkannt wird, im Status &amp;quot;Opened&amp;quot; angezeigt. &lt;br /&gt;
&lt;br /&gt;
Für neuere Entwicklungen kann in FHEM auch dauerhaft die developer Version aktualisiert werden:&lt;br /&gt;
&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r33/controls_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
Danach wird FHEM bei dem normalen Update-Befehl immer automatisch die aktuelle dev Version laden.&lt;br /&gt;
&lt;br /&gt;
Die nachfolgenden Beispiel-Befehle verwenden &amp;quot;sduino&amp;quot; als &amp;lt;eigener-SIGNALduino-Name&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Flashen des Ardunio mit der SIGNALduino Firmware ====&lt;br /&gt;
Falls avrdude noch nicht vorhanden ist, kann es mit folgendem Befehl installiert werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo apt-get install avrdude&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In FHEM ist der SIGNALduino mit dem Status &amp;quot;Open&amp;quot; vorhanden. Jetzt müssen wir FHEM noch mitteilen, welche Hardware wir angeschlossen haben. Über das Attribut &#039;&#039;hardware&#039;&#039; lässt sich zwischen den mitgelieferten Firmware-Dateien wechseln. Solltet ihr einen Nano mit cc1101 Transreceiver verwenden, so wählt bitte folgende Hardware&lt;br /&gt;
&amp;lt;code&amp;gt;attr sduino hardware nanoCC1101&amp;lt;/code&amp;gt;&lt;br /&gt;
sonst üblicherweise&lt;br /&gt;
&amp;lt;code&amp;gt;attr sduino hardware nano328&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anschließend kann der &#039;&#039;flash&#039;&#039; Befehl abgesetzt werden: &lt;br /&gt;
&amp;lt;code&amp;gt;set sduino flash &amp;lt;/code&amp;gt;&lt;br /&gt;
Dadurch wird der Arduino mit der gewählten Firmware geflasht. Das Ergebnis wird im Webinterface direkt angezeigt.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann auch der Flash-Befehl mit einem Dateinamen aufgerufen werden. Diese Möglichkeit sollte jedoch nur verwendet werden, wenn die SIGNALduino Firmware selbst compiliert wurde und eine andere Hardware verwendet wird. Der Flash-Befehl wird wie folgt aufgerufen:&lt;br /&gt;
:&amp;lt;code&amp;gt;set sduino flash FHEM/firmware/SIGNALduino_mega2560.hex&amp;lt;/code&amp;gt;&lt;br /&gt;
(je nachdem wo und unter welchem Namen die .hex Datei abgelegt wurde)&lt;br /&gt;
&lt;br /&gt;
==== Flashen eines radino Boards mit ATmega32U4 ====&lt;br /&gt;
&lt;br /&gt;
Diese Funktion steht nur in der Entwicklungsversion dev-r33 zur Verfügung:&lt;br /&gt;
Das Radino Board muss derzeit noch mit Angabe des Dateinamens geflasht werden:&lt;br /&gt;
&amp;lt;code&amp;gt;set sduino flash FHEM/firmware/SIGNALDuino_radinoCC1101.hex&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch sind berichte bekannt, dass der Radino beim Neustart von FHEM nicht korrekt initalisiert wird.&lt;br /&gt;
&lt;br /&gt;
=== Geräteerkennung ===&lt;br /&gt;
==== Unterstützte Geräte ====&lt;br /&gt;
Für die folgenden Geräte gibt es derzeit (2017) eine Unterstützung für den Betrieb mit FHEM. Die Geräte werden [[autocreate|automatisch erkannt]] und in der Konfiguration eingetragen, wenn der SIGNALduino läuft.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Produkt &lt;br /&gt;
! (E)mpfangen&amp;lt;br /&amp;gt;(S)enden &lt;br /&gt;
! Hinweise &lt;br /&gt;
! Verwendetes Modul &lt;br /&gt;
! Protokoll ID&lt;br /&gt;
|-&lt;br /&gt;
|TCM Wetterstation (97001 und 21xxx Serie)||E|| || CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|ABS Wetterstation (ABS 700)||E|| || CUL_TCM97001  || 0&lt;br /&gt;
|-&lt;br /&gt;
|Prologue Wetterstation ||E|| ||CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|Rubicson Wetterstation ||E|| ||CUL_TCM97001 ||0 &lt;br /&gt;
|-&lt;br /&gt;
|NC_WS Wetterstation ||E|| ||CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.gt-support.de/ GT-WT-02 Wetterstation]||E|| ||CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|AURIOL Wetterstation ||E|| ||CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|Mebus Wetterstation ||E|| ||CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|Intertechno Funkschalter||E S|| ||IT || 3,4,5,17&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;strike&amp;gt;Conrad RSL Funkschalter&amp;lt;/strike&amp;gt;||E S|| Funktioniert aktuell nicht || SIGNALduino_RSL  || &lt;br /&gt;
|-&lt;br /&gt;
|[http://global.oregonscientific.com/product_view.php?id=5 Oregon Scientific Wettersensoren]||E || Protokoll V2 &amp;amp; V3 implementiert || OREGON || 10&lt;br /&gt;
|-&lt;br /&gt;
|Bresser Temp/Hydro Sensor||E || || Hideki || 12&lt;br /&gt;
|-&lt;br /&gt;
|[https://de.hama.com/00104985/hama-aussensensor-ts33c-fuer-wetterstation Hama TS33C]||E || || Hideki || 12&lt;br /&gt;
|-&lt;br /&gt;
|TFA Temp/Hydro Sensor||E || || Hideki || 12&lt;br /&gt;
|-&lt;br /&gt;
|Lacrosse TX2/TX3 Sensoren||E || || CUL_TX || 8&lt;br /&gt;
|-&lt;br /&gt;
|TFA 30320902||E || || SD_WS07 || 7&lt;br /&gt;
|-&lt;br /&gt;
|Eurochon eas800z||E || || SD_WS07  || 7&lt;br /&gt;
|-&lt;br /&gt;
|Technoline WS6750/TX70DTH||E || || SD_WS07 || 7&lt;br /&gt;
|-&lt;br /&gt;
|FreeTec Außenmodul NC-7344||E || || SD_WS07 || 7&lt;br /&gt;
|-&lt;br /&gt;
|CTW600||E || || SD_WS09 || 9&lt;br /&gt;
|-&lt;br /&gt;
|WH1080||E || || SD_WS09 || 9&lt;br /&gt;
|-&lt;br /&gt;
|Visivon remote pt4450||E || || none || 24&lt;br /&gt;
|-&lt;br /&gt;
|Einhel HS 434/6||E || || none || 21&lt;br /&gt;
|-&lt;br /&gt;
|Flamingo FA20RF / FA21RF Rauchmelder||E || || none || 13&lt;br /&gt;
|-&lt;br /&gt;
|mumbi m-FS300||E || || none || 26,27&lt;br /&gt;
|-&lt;br /&gt;
|TFA 30.3200||E || || none || 33&lt;br /&gt;
|-&lt;br /&gt;
|Livolo||E|| || none || 20&lt;br /&gt;
|-&lt;br /&gt;
|Smartwares SH5-TSO-A||E S|| || IT || ?&lt;br /&gt;
|-&lt;br /&gt;
|X10 Security Devices||E|| ||  || 39&lt;br /&gt;
|-&lt;br /&gt;
|[[Somfy_via_SIGNALduino|Somfy RTS]]||E S|| || SOMFY || 43&lt;br /&gt;
|}&lt;br /&gt;
Bei einigen Intertechno-Funksteckdosen (Brennenstuhl) kann es zu Empfangsproblemen kommen. Hier muss die Taktrate, mit der gesendet wird, angepasst werden. Dazu muss für Funksteckdose das Attribut &lt;br /&gt;
:&amp;lt;code&amp;gt;attr &amp;lt;Funksteckdose&amp;gt; ITclock 300&amp;lt;/code&amp;gt; &lt;br /&gt;
gesetzt werden, der Standardwert ist 250.&lt;br /&gt;
&lt;br /&gt;
==== Mein Gerät wird in FHEM nicht erkannt ====&lt;br /&gt;
1. Prüfen, ob vom Sensor die Signaldaten (verbose &amp;gt;=4) erkannt werden. Sobald ihr die empfangenen Signaldaten im Logfile zuordnen könnt, geht es weiter mit:&lt;br /&gt;
&lt;br /&gt;
2. Eröffnet ein Thema unter [https://github.com/RFD-FHEM/RFFHEM/issues github] nach folgendem Muster:&lt;br /&gt;
:&#039;&#039;Thema :  Protokoll für &amp;lt;Das verwendete Gerät&amp;gt;&lt;br /&gt;
:Inhalt:  Eure Hardware z.B. Arduino Nano mit XYZ Empfänger, oder Arduino Nano direkt an Gerät x&lt;br /&gt;
&lt;br /&gt;
3. Auszug aus dem Logfile, welches zum Gerät gehört.&lt;br /&gt;
:&#039;&#039;Alles was ihr sonst noch über das Gerät und die übertragenen Daten wisst.&lt;br /&gt;
&lt;br /&gt;
Alternativ könnt ihr auch im Forum posten. Um einzelne Erweiterungen besser im Überblick zu behalten, eignet sich das github jedoch besser.&lt;br /&gt;
&lt;br /&gt;
==== Es wird ein Protokoll erkannt, Autocreate legt aber kein device an ====&lt;br /&gt;
Im SIGNALduino sind &amp;gt;30 Protokolle implementiert. Jedoch gibt es nur wenige Module, welche diese Protokolle verarbeiten.&lt;br /&gt;
Teilweise ist das auch nicht zwingend notwendig, um seine Anforderungen zu erfüllen. Insbesondere für Schalter bzw. Sensoren, die nur zwei Zustände kennen, geht es meist ohne Modul und automatisch angelegtem Gerät.&lt;br /&gt;
&lt;br /&gt;
Nehmen wir an, wir haben einen Schalter. Dieser kann einen oder zwei Zustände senden.&lt;br /&gt;
Im FHEM Log tauchen Meldungen ähnlich dieser auf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
2015.11.15 15:52:23 4: SIGNALduino_unknown incomming msg: u85#FF8081&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir können mit Hilfe des Modules DOIF auf diese Nachricht eine Aktion ausführen:&lt;br /&gt;
&lt;br /&gt;
Entweder, wenn wir den Inhalt der Nachricht nur zu teilen wissen, da er sich ändert:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
define mydoif DOIF ([sduino:&amp;amp;DMSG] =~ &amp;quot;u85#FF8081&amp;quot;) (set Lamp on)&lt;br /&gt;
attr mydoif do always&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Oder, wenn wir den Inhalt exakt kennen, dann auch als Vergleichsstring&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
define mydoif DOIF ([sduino:&amp;amp;DMSG] eq &amp;quot;u85#FF8081&amp;quot;) (set relais on)&lt;br /&gt;
attr mydoif do always&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Teil u85#FF8081 muss individuell angepasst werden, der Name eures SIGNALduino möglicherweise auch.&lt;br /&gt;
&lt;br /&gt;
=== Der Logfile ===&lt;br /&gt;
Im Logfile ab [[Verbose]] 4 tauchen diverse Meldungen auf, deren Bedeutung kurz erläutert wird (verbose 3 unterdrückt diese Meldungen):&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Unknown Code&amp;quot; bedeutet, dass der SIGNALduino Signaldaten empfangen und diese binär interpretiert hat. Diese Meldung soll uns nun aber mitteilen, dass es dann nicht weiter verarbeitet werden kann, da kein Modul existiert, welches diese Daten jetzt in ihre Bedeutung umwandeln kann. &lt;br /&gt;
:&amp;lt;code&amp;gt;sduino: Unknown code u1FFFFF0, help me!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mittlerweile sind über 50 Protokolle für den SIGNALduino definiert. Dadurch kommt es vor, dass sich ein Signal mit mehr als einem Protokoll demodulieren lässt. Meist führt dies dann zu zusätzlichen &amp;quot;Unknown code&amp;quot;-Einträgen.&lt;br /&gt;
&lt;br /&gt;
Derartige Einträge können mit dem Attribut WhitelistID minimiert werden. Dabei werden die Geräte, empfangen werden sollen, mit ihrer Protokollnummer in die WhitelistID aufgenommen. Die Protokollnummer kann der obigen Tabelle entnommen werden (hilfreich ist es auch, wenn in den verwendeten Geräten im Internal &amp;lt;gerätename&amp;gt;_DMSG nachgesehen wird). So bedeutet beispielsweise ein Eintrag der Form &amp;lt;code&amp;gt;W50#FF553335FFBC&amp;lt;/code&amp;gt; dass dann das Protokoll  #50 in die Whitelist aufzunehmen wäre (&amp;lt;code&amp;gt;attr sduino Whitelist_IDs 50&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Es erscheinen viele Meldungen dieser Art:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fingerprint for MU Protocol id xxxx -&amp;gt; yyy matches, trying to demodulate&lt;br /&gt;
sduino: Starting demodulation at Position 1&lt;br /&gt;
Fingerprint for MU Protocol id 28 -&amp;gt; IC Ledspot matches, trying to demodulate&lt;br /&gt;
sduino: Starting demodulation at Position 1&lt;br /&gt;
Fingerprint for MU Protocol id 29 -&amp;gt; HT12e remote matches, trying to demodulate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Protokolle können wie folgt unterschieden werden:&lt;br /&gt;
&lt;br /&gt;
*MS - Nachricht mit Sync Puls: Hierzu ein Beispiel&lt;br /&gt;
:&amp;lt;code&amp;gt;MS;P0=-108;P1=395;P2=-1033;P3=-547;P4=-19932;P5=-8916;P6=1368;D=151313131312131313131313131313131312121212121313131313131312131212132;CP=1;SP=5;&amp;lt;/code&amp;gt; P0-P6 sind die Signalpegel (Dauer und positiv/negativ). Hinter D= befindet sich die Abfolge der Signale. Die ersten beiden Ziffern 15 in D sind wie folgt zu lesen. Zuerst wurde ein Signal mit 395 Mikrosekunden high (die Zeitdauer ergibt sich aufgrund der Mitteilung &amp;quot;P1=395&amp;quot;) und anschließend ein Signal 8916 Mikrosekunden low (die Zeitdauer ergibt sich aufgrund der Mitteilung &amp;quot;P5=-8916&amp;quot;) gemessen. CP=1 ist die Referenz auf den Takt des Signales, der Basistakt ist in diesem Fall ~395 Mikrosekunden. SP=5 gibt die Referenz zum Syncpuls an, der das gesamte Signal einleitet. Welche Signalfolge nun eine binäre 1 bzw. 0 bedeutet, wird im SIGNALduino über die integrierte Protokoll Liste realisiert.&lt;br /&gt;
&lt;br /&gt;
*MC - Nachricht vom Typ Manchester: Manchesterkodierte Signale können bereits sehr einfach im Arduino in eine Binärform umgewandelt werden. Es wird hier nach IEEE 802.3 umgewandelt. In Manchester Signalen gibt es lange und kurze Pulse. Deren Durchschnittswert wird mit LL (long low), LH (long high), SL (short low) und SH (short high) übermittelt. Zusätzlich, um das Protokoll schneller erkennen zu können, wird die Taktfrequenz mit übermittelt (C=429 Mikrosekunden). Die Daten befinden sich hinter D= und werden in HEX Form übergeben.&lt;br /&gt;
:&amp;lt;code&amp;gt;MC;LL=-1066;LH=904;SL=-562;SH=385;D=332B4B4D54D5554B552CD2D554B2B5354A;C=429;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*MU - Message unsynced: Diese Art von Nachrichten, sind nicht nach Manchester codiert und haben auch keinen erkennbaren Sync / Clock Signalpegel am Start der Nachricht. Bei diesen Nachrichtentypen ist es, im Vergleich zu den anderen, am wahrscheinlichsten, dass das übermittelte Signal unvollständig oder überhaupt kein Signal ist. Wie bei MS sind P0-P6 die Signalpegel und in D= wird die Abfolge der Signalpegel referenziert. CP=2 gibt auch hier die Referenz zum Takt an, allerdings muss dieser nicht korrekt erkannt worden sein.&lt;br /&gt;
:&amp;lt;code&amp;gt;MU;P0=1372;P1=-580;P2=362;P3=-1047;D=01212321212321212121212121212123212123212321232121212121212321;CP=2;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch kommt es gehäuft zu Logmeldungen und auch Events in ähnlicher Form:&lt;br /&gt;
:&amp;lt;code&amp;gt;SIGNALduino_unknown incomming msg: u85#FF8081&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Attribut &#039;&#039;whitelistIDs&#039;&#039; erlaubt es, anzugeben, welche Protokolle vom FHEM Modul berücksichtigt werden. Für Protokolle, die nicht berücksichtigt werden, gibt es weder Logeinträge noch Events. Diese werden im Programmablauf nicht berücksichtigt. Das spart zum einen Ressourcen und trägt auch zur Übersichtlichkeit bei. Die Angabe erfolgt durch Komma getrennt: z.B.:&lt;br /&gt;
:&amp;lt;code&amp;gt;1,2,5,10&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Senden mit dem SIGNALduino ===&lt;br /&gt;
Der SIGNALduino kann etwas &amp;quot;raw senden&amp;quot;, indem ihm das SIGNAL so übermittelt wird, wie er es moduliert. Hierzu  muss der Befehl wie folgt eingegeben werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
set sduino sendMsg P3#00111010#R4&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Befehl moduliert die Bitfolge 00111010 mittels Protokoll #3 und wiederholt die Nachricht 4x.&lt;br /&gt;
Die Protokoll Nummer kann aus einer empfangenen Nachricht extrahiert werden. Ebenso die Bits.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sduino: extracted data 00111010 (bin)&lt;br /&gt;
sduino: Found Protocol id 3 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternativ kann das Signal auch in einer &amp;quot;rohform&amp;quot; angegeben werden. Dies ist manchmal in speziellen Fällen notwendig:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
set sduino raw SR;;R=3;;P0=4742;;P1=-1554;;P2=286;;P3=-786;;P4=649;;P5=-420;;D=0123234545234545452323232323454523234523454523232345454523232323452345234523452345;;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
R=3 bedeutet, das Signal wird 3x gesendet.&lt;br /&gt;
Die Übertragung besteht aus den in D angegeben Pulsen, welche in P0-P5 definiert werden.&lt;br /&gt;
Die Daten kann man aus einer empfangenen MS oder MU Nachricht extrahieren.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann ab Version 3.2 auch eine vereinfachte Form eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
== Fehlerbehandlung ==&lt;br /&gt;
Der SIGNALduino kann mit folgendem Befehl auf Werkseinstellungen zurückgesetzt werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;get raw e&amp;lt;/code&amp;gt;&lt;br /&gt;
als Antwort kommt dann &amp;quot;ccFactoryReset done&amp;quot;. Ob ein solcher Reset nötig ist, erkennt man an der Antwort auf den Befehl &amp;quot;get config&amp;quot;, auf den dann die Meldung &amp;quot;config: MS=1;MU=1;MC=1&amp;quot; folgen sollte.&lt;br /&gt;
&lt;br /&gt;
In der Firmware sind die folgenden Befehle eingebaut&lt;br /&gt;
&lt;br /&gt;
*:&amp;lt;code&amp;gt;get raw C&amp;lt;reg&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;reg&amp;gt; is a (two digit) hex number: return the value of the cc1101 register. &amp;lt;reg&amp;gt;=99 dumps the first 48 registers.&lt;br /&gt;
Example: C35 -&amp;gt; C35 = 0D&lt;br /&gt;
*:&amp;lt;code&amp;gt;get raw e&amp;lt;/code&amp;gt;&lt;br /&gt;
EEPROM / factory reset.  resets all eeprom values without reboot&lt;br /&gt;
*:&amp;lt;code&amp;gt;get raw r&amp;lt;AA&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Read eeprom  (da das &amp;quot;R&amp;quot; beim SIGNALDuino bereits mit freeram belegt ist, habe ich das &amp;quot;r&amp;quot; verwendet)&lt;br /&gt;
*:&amp;lt;code&amp;gt;get raw r&amp;lt;AA&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
Read 16 byte from eeprom (z.B. r00n)&lt;br /&gt;
*:&amp;lt;code&amp;gt;get raw W&amp;lt;AA&amp;gt;&amp;lt;DD&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Write eeprom (schreibt einen Wert ins EEPROM und ins CC1101 Register. Die eeprom Adresse hat einen Offset von 2. z.B W041D schreibt 1D ins Register 2)&lt;br /&gt;
&lt;br /&gt;
Die Sendeleistung lässt sich mit &lt;br /&gt;
:&amp;lt;code&amp;gt;get sduino ccreg 3E&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prüfen, wobei die Rückmeldung wie folgt zu lesen ist: &lt;br /&gt;
  &amp;quot;-10_dBm&amp;quot;  =&amp;gt; &#039;34&#039;,&lt;br /&gt;
  &amp;quot;-5_dBm&amp;quot;   =&amp;gt; &#039;68&#039;,&lt;br /&gt;
  &amp;quot;0_dBm&amp;quot;    =&amp;gt; &#039;60&#039;,&lt;br /&gt;
  &amp;quot;5_dBm&amp;quot;    =&amp;gt; &#039;84&#039;,&lt;br /&gt;
  &amp;quot;7_dBm&amp;quot;    =&amp;gt; &#039;C8&#039;,&lt;br /&gt;
  &amp;quot;10_dBm&amp;quot;   =&amp;gt; &#039;C0&#039; &lt;br /&gt;
Dabei wird die Sendeleistung dauerhaft mit dem Befehl&lt;br /&gt;
:&amp;lt;code&amp;gt;set sduino cc1101_patable &amp;lt;value&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
hochgeschaltet (&amp;lt;value&amp;gt; durch den Wert ersetzen).&lt;br /&gt;
&lt;br /&gt;
Weitere Firmware-Befehle sind im Thread-Beitrag {{Link2Forum|Topic=58396|Message=497921}} zu finden.&lt;br /&gt;
&lt;br /&gt;
== Foren Links ==&lt;br /&gt;
* {{Link2Forum|Topic=38402|LinkText=Forenthread - Ankündigung}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|LinkText=SIGNALDuino Empfänger Firm- und Hardware}}&lt;br /&gt;
* {{Link2Forum|Topic=58397|LinkText=Signalduino Entwicklung Version 3.3.1 }}&lt;br /&gt;
* [http://www.nemcon.nl/blog2/wiring Beschreibung zu diversen Empfängern und Verbesserung der Empfangsleistung]&lt;br /&gt;
* [[SIGNALduino in die Arduino Entwicklungsumgebung einbinden]]&lt;br /&gt;
* [[Somfy via SIGNALduino]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:Arduino]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=SIGNALduino&amp;diff=23303</id>
		<title>SIGNALduino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=SIGNALduino&amp;diff=23303"/>
		<updated>2017-11-15T10:13:20Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: Bau des SIGNALduino mit einfachen Modulen erweitert.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Empfang und Verarbeitung von digitalen Signalen&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModFTopic=38402&lt;br /&gt;
|ModCmdRef=SIGNALduino&lt;br /&gt;
|ModForumArea=Sonstige Systeme&lt;br /&gt;
|ModTechName=00_SIGNALduino.pm&lt;br /&gt;
|ModOwner=Sidey ({{Link2FU|8018|Forum}}/[[Benutzer Diskussion:Sidey|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Übersicht ===&lt;br /&gt;
Unter den Namen SIGNALduino versteht man sowohl den Low-Cost Empfänger für digitale Signale (vergleichbar dem  [[CUL]]) als auch das gleichnamige Modul mit dem Dateinamen 00_SIGNALduino.pm. Mit dem SIGNALduino kann man entweder 433 oder 868 MHz-Geräte auslesen und ansprechen. Der SIGNALduino funktioniert auch mit anderen Medien wie Infrarot oder direkter Kabelverbindung.&lt;br /&gt;
&lt;br /&gt;
Der SIGNALduino erkennt Signale anhand von Mustern und gibt sie an FHEM zur Auswertung (Dekodierung) weiter. Auch nicht erkannte Signale werden an FHEM übergeben. &lt;br /&gt;
&lt;br /&gt;
=== Vorteil gegenüber einem CUL/FHEMduino ===&lt;br /&gt;
Ein großer Vorteil des SIGNALduino besteht darin, dass auch Geräte mit leicht abweichende Frequenzen steuerbar sind; so empfangen die Somfy-Rolladenmotoren beispielsweise auf 433.42 und nicht, wie bei anderen Geräten sehr oft üblich, auf 433.92 MHz. Die Frequenzumstellung stellt für den SIGNALduino kein Problem dar.&lt;br /&gt;
&lt;br /&gt;
Der SIGNALduino hat den Vorteil einer sehr schnellen Demodulation des Funksignals. Sollen weitere Protokolle dekodiert werden, so muss dazu nur ein passendes FHEM Modul entwickelt oder ein universelles Modul erweitert werden. Änderungen am Arduino-Code sind normalerweise nicht notwendig.&lt;br /&gt;
&lt;br /&gt;
Ebenso kann man den SIGNALduino direkt an den Sendeausgang eines Sensors anbinden und die digitalen Signale empfangen, dabei bitte aber auf die passenden Spannungen achten, denn ein Arduino Nano verträgt nur 5V.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Der SIGNALduino (Hardware) wird über den USB Port angeschlossen, er kann aber auch mit zusätzlichen ESP Modulen über ein WLAN angebunden werden. &lt;br /&gt;
&lt;br /&gt;
Der SIGNALduino basiert auf einem [http://arduino.cc/de/Main/ArduinoBoardNano Arduino Nano], die Schaltung entspricht der des [[FHEMduino]] oder dem [[Selbstbau_CUL]]:&lt;br /&gt;
* Entweder wird ein Arduino mit einfachen Sende- und Empfangsmodulen verwendet, dann ist die Verkabelung identisch zum [[FHEMduino]] &lt;br /&gt;
* Oder es wird ein CC1101 Transceiver verwendet, dann ist die Verkabelung identisch zum [[Selbstbau_CUL]].&lt;br /&gt;
* Zuletzt gibt ein fertig konfektionierte Modul von In-Circuit mit Radino CC1101 Varianten, link zum [http://shop.in-circuit.de/index.php Hersteller]. &lt;br /&gt;
&lt;br /&gt;
Achten Sie beim Selbstbau auf die entsprechenden Sender-Empfänger. Der sehr preiswert angebotene XY-MK-5V hat sich als zu unzuverlässig erwiesen, während anscheinend beim CC1101 (insbesondere der &amp;quot;grünen Version&amp;quot;) keine Probleme auftreten. &lt;br /&gt;
&lt;br /&gt;
Es stehen auch für den [https://www.arduino.cc/en/Main/arduinoBoardUno UNO] und [https://www.arduino.cc/en/Main/ArduinoBoardProMini PRO Mini] Firmware-Dateien zur Verfügung. Die ausgelieferte Firmware läuft nur auf Mikrocontrollern mit 16 Mhz; wer einen Mikrocontroller mit 8 Mhz verwenden möchte, muss die Firmware selbst compilieren.&lt;br /&gt;
&lt;br /&gt;
Es gibt auch eine Variante des SIGNALduino, die auf einem [[ESP8266]] nativ läuft, diese funktioniert derzeit aber noch nicht zufiedenstellend. Das Modul wird derzeit (2017) stetig weiterentwickelt.&lt;br /&gt;
&lt;br /&gt;
=== Einfache Module ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Fhemduino_schematic.png|200px|thumb|right|Beispielschaltplan SIGNAL(FHEM)duino]]  &lt;br /&gt;
&lt;br /&gt;
Mit einem Arduino-Nano und folgenen, billigen Sende- und Empfangsmodulen können Sie einen SIGNALduino bauen:&lt;br /&gt;
* FS1000A Dies ist das Sendemodul (TX) und wird oft im Set mit dem billigen XY-MK-5V-Empfänger angeboten (etwa 5€). &lt;br /&gt;
* RXB6 Das ist das empfohlene Emfpangsmodul (RX), statt XY-MK-5V, etwa 5€ aus Deutschland.&lt;br /&gt;
&lt;br /&gt;
Die Verkabelung erfolgt analog zum [[FHEMduino]] und das bedeutet (Arduino-&amp;gt; Modul):&lt;br /&gt;
* PIN D2 an DATA des RX-Moduls&lt;br /&gt;
* PIN D11 an DATA des TX-Moduls (PIN in der Mitte)&lt;br /&gt;
&lt;br /&gt;
Zusätzlich muss noch jeweils GND und 5V des Arduino mit dem GND bzw. VCC des Moduls verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Jetzt fehlen noch die Antennen. Dafür braucht man ein 17,2 cm langes Stück Kupferdraht, das wird beim Anschluss &amp;quot;ANT&amp;quot; jeweils am Modul angelötet (anfängergeeignet).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Software: Modul ==&lt;br /&gt;
&lt;br /&gt;
===  USB-ID ermitteln  ===&lt;br /&gt;
Bevor der SIGNALduino mit dem  FHEM Server (im Beispiel hier ein Raspberry PI) angeschlossen werden kann, muss die USB-Schnittstelle ermittelt werden. Hierzu bitte auf dem Terminal den Befehl&lt;br /&gt;
&amp;lt;pre&amp;gt; ls -l /dev/serial/by-id &amp;lt;/pre&amp;gt;&lt;br /&gt;
ausführen. Beispielhaft sieht das Ergebnis etwa so aus: &lt;br /&gt;
&#039;&#039;lrwxrwxrwx 1 root root 13 Jan 31 00:02 &#039;&#039;&#039;usb-FTDI_FT232R_USB_UART_A903N5T5-if00-port&#039;&#039;&#039; -&amp;gt; ../../ttyUSB0&#039;&#039; &lt;br /&gt;
Damit ist der Anschluss des SIGNALduino bestimmt und das Gerät kann wie im nächsten Abschnitt beschrieben definiert werden. Zuvor muss noch das Modul geladen werden.&lt;br /&gt;
&lt;br /&gt;
=== FHEM-Modul laden ===&lt;br /&gt;
Die SIGNALduino Module werden über das FHEM [[update]] verteilt. &lt;br /&gt;
&lt;br /&gt;
Die in der Entwicklung befindliche Version kann mit folgenden Befehlen geladen werden:&lt;br /&gt;
&lt;br /&gt;
* FHEM aktualisieren: &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; &lt;br /&gt;
* SIGNALduino Modul und Firmware aktualisieren: &amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r33/controls_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;  Durch das Update von FHEM wird sichergestellt, dass das Modul mit FHEM arbeitet. Außerdem wird auch die Firmware geladen, im Log-File sieht man, wo diese hinkopiert wurden: z.B. nach FHEM/firmware/SIGNALduino_nano328.hex&lt;br /&gt;
*Danach kann das Gerät wie folgt definiert werden (die Spezifikation des USB Anschlusses muss dabei an die aktuellen Gegebenheiten angepasst werden):&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;eigener-SIGNALduino-Name&amp;gt; SIGNALduino /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A903N5T5-if00-port0@57600&amp;lt;/code&amp;gt;&lt;br /&gt;
Nach dem Einbinden wird der SIGNALduino, falls er erkannt wird, im Status &amp;quot;Opened&amp;quot; angezeigt. &lt;br /&gt;
&lt;br /&gt;
Für neuere Entwicklungen kann in FHEM auch dauerhaft die developer Version aktualisiert werden:&lt;br /&gt;
&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r33/controls_signalduino.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
Danach wird FHEM bei dem normalen Update-Befehl immer automatisch die aktuelle dev Version laden.&lt;br /&gt;
&lt;br /&gt;
Die nachfolgenden Beispiel-Befehle verwenden &amp;quot;sduino&amp;quot; als &amp;lt;eigener-SIGNALduino-Name&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Flashen des Ardunio mit der SIGNALduino Firmware ====&lt;br /&gt;
Falls avrdude noch nicht vorhanden ist, kann es mit folgendem Befehl installiert werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo apt-get install avrdude&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In FHEM ist der SIGNALduino mit dem Status &amp;quot;Open&amp;quot; vorhanden. Jetzt müssen wir FHEM noch mitteilen, welche Hardware wir angeschlossen haben. Über das Attribut &#039;&#039;hardware&#039;&#039; lässt sich zwischen den mitgelieferten Firmware-Dateien wechseln. Solltet ihr einen Nano mit cc1101 Transreceiver verwenden, so wählt bitte folgende Hardware&lt;br /&gt;
&amp;lt;code&amp;gt;attr sduino hardware nanoCC1101&amp;lt;/code&amp;gt;&lt;br /&gt;
sonst üblicherweise&lt;br /&gt;
&amp;lt;code&amp;gt;attr sduino hardware nano328&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anschließend kann der &#039;&#039;flash&#039;&#039; Befehl abgesetzt werden: &lt;br /&gt;
&amp;lt;code&amp;gt;set sduino flash &amp;lt;/code&amp;gt;&lt;br /&gt;
Dadurch wird der Arduino mit der gewählten Firmware geflasht. Das Ergebnis wird im Webinterface direkt angezeigt.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann auch der Flash-Befehl mit einem Dateinamen aufgerufen werden. Diese Möglichkeit sollte jedoch nur verwendet werden, wenn die SIGNALduino Firmware selbst compiliert wurde und eine andere Hardware verwendet wird. Der Flash-Befehl wird wie folgt aufgerufen:&lt;br /&gt;
:&amp;lt;code&amp;gt;set sduino flash FHEM/firmware/SIGNALduino_mega2560.hex&amp;lt;/code&amp;gt;&lt;br /&gt;
(je nachdem wo und unter welchem Namen die .hex Datei abgelegt wurde)&lt;br /&gt;
&lt;br /&gt;
==== Flashen eines radino Boards mit ATmega32U4 ====&lt;br /&gt;
&lt;br /&gt;
Diese Funktion steht nur in der Entwicklungsversion dev-r33 zur Verfügung:&lt;br /&gt;
Das Radino Board muss derzeit noch mit Angabe des Dateinamens geflasht werden:&lt;br /&gt;
&amp;lt;code&amp;gt;set sduino flash FHEM/firmware/SIGNALDuino_radinoCC1101.hex&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch sind berichte bekannt, dass der Radino beim Neustart von FHEM nicht korrekt initalisiert wird.&lt;br /&gt;
&lt;br /&gt;
=== Geräteerkennung ===&lt;br /&gt;
==== Unterstützte Geräte ====&lt;br /&gt;
Für die folgenden Geräte gibt es derzeit (2017) eine Unterstützung für den Betrieb mit FHEM. Die Geräte werden [[autocreate|automatisch erkannt]] und in der Konfiguration eingetragen, wenn der SIGNALduino läuft.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot;| Produkt &lt;br /&gt;
! (E)mpfangen&amp;lt;br /&amp;gt;(S)enden &lt;br /&gt;
! Hinweise &lt;br /&gt;
! Verwendetes Modul &lt;br /&gt;
! Protokoll ID&lt;br /&gt;
|-&lt;br /&gt;
|TCM Wetterstation (97001 und 21xxx Serie)||E|| || CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|ABS Wetterstation (ABS 700)||E|| || CUL_TCM97001  || 0&lt;br /&gt;
|-&lt;br /&gt;
|Prologue Wetterstation ||E|| ||CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|Rubicson Wetterstation ||E|| ||CUL_TCM97001 ||0 &lt;br /&gt;
|-&lt;br /&gt;
|NC_WS Wetterstation ||E|| ||CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.gt-support.de/ GT-WT-02 Wetterstation]||E|| ||CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|AURIOL Wetterstation ||E|| ||CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|Mebus Wetterstation ||E|| ||CUL_TCM97001 || 0&lt;br /&gt;
|-&lt;br /&gt;
|Intertechno Funkschalter||E S|| ||IT || 3,4,5,17&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;strike&amp;gt;Conrad RSL Funkschalter&amp;lt;/strike&amp;gt;||E S|| Funktioniert aktuell nicht || SIGNALduino_RSL  || &lt;br /&gt;
|-&lt;br /&gt;
|[http://global.oregonscientific.com/product_view.php?id=5 Oregon Scientific Wettersensoren]||E || Protokoll V2 &amp;amp; V3 implementiert || OREGON || 10&lt;br /&gt;
|-&lt;br /&gt;
|Bresser Temp/Hydro Sensor||E || || Hideki || 12&lt;br /&gt;
|-&lt;br /&gt;
|[https://de.hama.com/00104985/hama-aussensensor-ts33c-fuer-wetterstation Hama TS33C]||E || || Hideki || 12&lt;br /&gt;
|-&lt;br /&gt;
|TFA Temp/Hydro Sensor||E || || Hideki || 12&lt;br /&gt;
|-&lt;br /&gt;
|Lacrosse TX2/TX3 Sensoren||E || || CUL_TX || 8&lt;br /&gt;
|-&lt;br /&gt;
|TFA 30320902||E || || SD_WS07 || 7&lt;br /&gt;
|-&lt;br /&gt;
|Eurochon eas800z||E || || SD_WS07  || 7&lt;br /&gt;
|-&lt;br /&gt;
|Technoline WS6750/TX70DTH||E || || SD_WS07 || 7&lt;br /&gt;
|-&lt;br /&gt;
|FreeTec Außenmodul NC-7344||E || || SD_WS07 || 7&lt;br /&gt;
|-&lt;br /&gt;
|CTW600||E || || SD_WS09 || 9&lt;br /&gt;
|-&lt;br /&gt;
|WH1080||E || || SD_WS09 || 9&lt;br /&gt;
|-&lt;br /&gt;
|Visivon remote pt4450||E || || none || 24&lt;br /&gt;
|-&lt;br /&gt;
|Einhel HS 434/6||E || || none || 21&lt;br /&gt;
|-&lt;br /&gt;
|Flamingo FA20RF / FA21RF Rauchmelder||E || || none || 13&lt;br /&gt;
|-&lt;br /&gt;
|mumbi m-FS300||E || || none || 26,27&lt;br /&gt;
|-&lt;br /&gt;
|TFA 30.3200||E || || none || 33&lt;br /&gt;
|-&lt;br /&gt;
|Livolo||E|| || none || 20&lt;br /&gt;
|-&lt;br /&gt;
|Smartwares SH5-TSO-A||E S|| || IT || ?&lt;br /&gt;
|-&lt;br /&gt;
|X10 Security Devices||E|| ||  || 39&lt;br /&gt;
|-&lt;br /&gt;
|[[Somfy_via_SIGNALduino|Somfy RTS]]||E S|| || SOMFY || 43&lt;br /&gt;
|}&lt;br /&gt;
Bei einigen Intertechno-Funksteckdosen (Brennenstuhl) kann es zu Empfangsproblemen kommen. Hier muss die Taktrate, mit der gesendet wird, angepasst werden. Dazu muss für Funksteckdose das Attribut &lt;br /&gt;
:&amp;lt;code&amp;gt;attr &amp;lt;Funksteckdose&amp;gt; ITclock 300&amp;lt;/code&amp;gt; &lt;br /&gt;
gesetzt werden, der Standardwert ist 250.&lt;br /&gt;
&lt;br /&gt;
==== Mein Gerät wird in FHEM nicht erkannt ====&lt;br /&gt;
1. Prüfen, ob vom Sensor die Signaldaten (verbose &amp;gt;=4) erkannt werden. Sobald ihr die empfangenen Signaldaten im Logfile zuordnen könnt, geht es weiter mit:&lt;br /&gt;
&lt;br /&gt;
2. Eröffnet ein Thema unter [https://github.com/RFD-FHEM/RFFHEM/issues github] nach folgendem Muster:&lt;br /&gt;
:&#039;&#039;Thema :  Protokoll für &amp;lt;Das verwendete Gerät&amp;gt;&lt;br /&gt;
:Inhalt:  Eure Hardware z.B. Arduino Nano mit XYZ Empfänger, oder Arduino Nano direkt an Gerät x&lt;br /&gt;
&lt;br /&gt;
3. Auszug aus dem Logfile, welches zum Gerät gehört.&lt;br /&gt;
:&#039;&#039;Alles was ihr sonst noch über das Gerät und die übertragenen Daten wisst.&lt;br /&gt;
&lt;br /&gt;
Alternativ könnt ihr auch im Forum posten. Um einzelne Erweiterungen besser im Überblick zu behalten, eignet sich das github jedoch besser.&lt;br /&gt;
&lt;br /&gt;
==== Es wird ein Protokoll erkannt, Autocreate legt aber kein device an ====&lt;br /&gt;
Im SIGNALduino sind &amp;gt;30 Protokolle implementiert. Jedoch gibt es nur wenige Module, welche diese Protokolle verarbeiten.&lt;br /&gt;
Teilweise ist das auch nicht zwingend notwendig, um seine Anforderungen zu erfüllen. Insbesondere für Schalter bzw. Sensoren, die nur zwei Zustände kennen, geht es meist ohne Modul und automatisch angelegtem Gerät.&lt;br /&gt;
&lt;br /&gt;
Nehmen wir an, wir haben einen Schalter. Dieser kann einen oder zwei Zustände senden.&lt;br /&gt;
Im FHEM Log tauchen Meldungen ähnlich dieser auf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
2015.11.15 15:52:23 4: SIGNALduino_unknown incomming msg: u85#FF8081&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir können mit Hilfe des Modules DOIF auf diese Nachricht eine Aktion ausführen:&lt;br /&gt;
&lt;br /&gt;
Entweder, wenn wir den Inhalt der Nachricht nur zu teilen wissen, da er sich ändert:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
define mydoif DOIF ([sduino:&amp;amp;DMSG] =~ &amp;quot;u85#FF8081&amp;quot;) (set Lamp on)&lt;br /&gt;
attr mydoif do always&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Oder, wenn wir den Inhalt exakt kennen, dann auch als Vergleichsstring&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
define mydoif DOIF ([sduino:&amp;amp;DMSG] eq &amp;quot;u85#FF8081&amp;quot;) (set relais on)&lt;br /&gt;
attr mydoif do always&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Teil u85#FF8081 muss individuell angepasst werden, der Name eures SIGNALduino möglicherweise auch.&lt;br /&gt;
&lt;br /&gt;
=== Der Logfile ===&lt;br /&gt;
Im Logfile ab [[Verbose]] 4 tauchen diverse Meldungen auf, deren Bedeutung kurz erläutert wird (verbose 3 unterdrückt diese Meldungen):&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Unknown Code&amp;quot; bedeutet, dass der SIGNALduino Signaldaten empfangen und diese binär interpretiert hat. Diese Meldung soll uns nun aber mitteilen, dass es dann nicht weiter verarbeitet werden kann, da kein Modul existiert, welches diese Daten jetzt in ihre Bedeutung umwandeln kann. &lt;br /&gt;
:&amp;lt;code&amp;gt;sduino: Unknown code u1FFFFF0, help me!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mittlerweile sind über 50 Protokolle für den SIGNALduino definiert. Dadurch kommt es vor, dass sich ein Signal mit mehr als einem Protokoll demodulieren lässt. Meist führt dies dann zu zusätzlichen &amp;quot;Unknown code&amp;quot;-Einträgen.&lt;br /&gt;
&lt;br /&gt;
Derartige Einträge können mit dem Attribut WhitelistID minimiert werden. Dabei werden die Geräte, empfangen werden sollen, mit ihrer Protokollnummer in die WhitelistID aufgenommen. Die Protokollnummer kann der obigen Tabelle entnommen werden (hilfreich ist es auch, wenn in den verwendeten Geräten im Internal &amp;lt;gerätename&amp;gt;_DMSG nachgesehen wird). So bedeutet beispielsweise ein Eintrag der Form &amp;lt;code&amp;gt;W50#FF553335FFBC&amp;lt;/code&amp;gt; dass dann das Protokoll  #50 in die Whitelist aufzunehmen wäre (&amp;lt;code&amp;gt;attr sduino Whitelist_IDs 50&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Es erscheinen viele Meldungen dieser Art:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fingerprint for MU Protocol id xxxx -&amp;gt; yyy matches, trying to demodulate&lt;br /&gt;
sduino: Starting demodulation at Position 1&lt;br /&gt;
Fingerprint for MU Protocol id 28 -&amp;gt; IC Ledspot matches, trying to demodulate&lt;br /&gt;
sduino: Starting demodulation at Position 1&lt;br /&gt;
Fingerprint for MU Protocol id 29 -&amp;gt; HT12e remote matches, trying to demodulate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Protokolle können wie folgt unterschieden werden:&lt;br /&gt;
&lt;br /&gt;
*MS - Nachricht mit Sync Puls: Hierzu ein Beispiel&lt;br /&gt;
:&amp;lt;code&amp;gt;MS;P0=-108;P1=395;P2=-1033;P3=-547;P4=-19932;P5=-8916;P6=1368;D=151313131312131313131313131313131312121212121313131313131312131212132;CP=1;SP=5;&amp;lt;/code&amp;gt; P0-P6 sind die Signalpegel (Dauer und positiv/negativ). Hinter D= befindet sich die Abfolge der Signale. Die ersten beiden Ziffern 15 in D sind wie folgt zu lesen. Zuerst wurde ein Signal mit 395 Mikrosekunden high (die Zeitdauer ergibt sich aufgrund der Mitteilung &amp;quot;P1=395&amp;quot;) und anschließend ein Signal 8916 Mikrosekunden low (die Zeitdauer ergibt sich aufgrund der Mitteilung &amp;quot;P5=-8916&amp;quot;) gemessen. CP=1 ist die Referenz auf den Takt des Signales, der Basistakt ist in diesem Fall ~395 Mikrosekunden. SP=5 gibt die Referenz zum Syncpuls an, der das gesamte Signal einleitet. Welche Signalfolge nun eine binäre 1 bzw. 0 bedeutet, wird im SIGNALduino über die integrierte Protokoll Liste realisiert.&lt;br /&gt;
&lt;br /&gt;
*MC - Nachricht vom Typ Manchester: Manchesterkodierte Signale können bereits sehr einfach im Arduino in eine Binärform umgewandelt werden. Es wird hier nach IEEE 802.3 umgewandelt. In Manchester Signalen gibt es lange und kurze Pulse. Deren Durchschnittswert wird mit LL (long low), LH (long high), SL (short low) und SH (short high) übermittelt. Zusätzlich, um das Protokoll schneller erkennen zu können, wird die Taktfrequenz mit übermittelt (C=429 Mikrosekunden). Die Daten befinden sich hinter D= und werden in HEX Form übergeben.&lt;br /&gt;
:&amp;lt;code&amp;gt;MC;LL=-1066;LH=904;SL=-562;SH=385;D=332B4B4D54D5554B552CD2D554B2B5354A;C=429;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*MU - Message unsynced: Diese Art von Nachrichten, sind nicht nach Manchester codiert und haben auch keinen erkennbaren Sync / Clock Signalpegel am Start der Nachricht. Bei diesen Nachrichtentypen ist es, im Vergleich zu den anderen, am wahrscheinlichsten, dass das übermittelte Signal unvollständig oder überhaupt kein Signal ist. Wie bei MS sind P0-P6 die Signalpegel und in D= wird die Abfolge der Signalpegel referenziert. CP=2 gibt auch hier die Referenz zum Takt an, allerdings muss dieser nicht korrekt erkannt worden sein.&lt;br /&gt;
:&amp;lt;code&amp;gt;MU;P0=1372;P1=-580;P2=362;P3=-1047;D=01212321212321212121212121212123212123212321232121212121212321;CP=2;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch kommt es gehäuft zu Logmeldungen und auch Events in ähnlicher Form:&lt;br /&gt;
:&amp;lt;code&amp;gt;SIGNALduino_unknown incomming msg: u85#FF8081&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Attribut &#039;&#039;whitelistIDs&#039;&#039; erlaubt es, anzugeben, welche Protokolle vom FHEM Modul berücksichtigt werden. Für Protokolle, die nicht berücksichtigt werden, gibt es weder Logeinträge noch Events. Diese werden im Programmablauf nicht berücksichtigt. Das spart zum einen Ressourcen und trägt auch zur Übersichtlichkeit bei. Die Angabe erfolgt durch Komma getrennt: z.B.:&lt;br /&gt;
:&amp;lt;code&amp;gt;1,2,5,10&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Senden mit dem SIGNALduino ===&lt;br /&gt;
Der SIGNALduino kann etwas &amp;quot;raw senden&amp;quot;, indem ihm das SIGNAL so übermittelt wird, wie er es moduliert. Hierzu  muss der Befehl wie folgt eingegeben werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
set sduino sendMsg P3#00111010#R4&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Befehl moduliert die Bitfolge 00111010 mittels Protokoll #3 und wiederholt die Nachricht 4x.&lt;br /&gt;
Die Protokoll Nummer kann aus einer empfangenen Nachricht extrahiert werden. Ebenso die Bits.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sduino: extracted data 00111010 (bin)&lt;br /&gt;
sduino: Found Protocol id 3 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternativ kann das Signal auch in einer &amp;quot;rohform&amp;quot; angegeben werden. Dies ist manchmal in speziellen Fällen notwendig:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
set sduino raw SR;;R=3;;P0=4742;;P1=-1554;;P2=286;;P3=-786;;P4=649;;P5=-420;;D=0123234545234545452323232323454523234523454523232345454523232323452345234523452345;;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
R=3 bedeutet, das Signal wird 3x gesendet.&lt;br /&gt;
Die Übertragung besteht aus den in D angegeben Pulsen, welche in P0-P5 definiert werden.&lt;br /&gt;
Die Daten kann man aus einer empfangenen MS oder MU Nachricht extrahieren.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann ab Version 3.2 auch eine vereinfachte Form eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
== Fehlerbehandlung ==&lt;br /&gt;
Der SIGNALduino kann mit folgendem Befehl auf Werkseinstellungen zurückgesetzt werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;get raw e&amp;lt;/code&amp;gt;&lt;br /&gt;
als Antwort kommt dann &amp;quot;ccFactoryReset done&amp;quot;. Ob ein solcher Reset nötig ist, erkennt man an der Antwort auf den Befehl &amp;quot;get config&amp;quot;, auf den dann die Meldung &amp;quot;config: MS=1;MU=1;MC=1&amp;quot; folgen sollte.&lt;br /&gt;
&lt;br /&gt;
In der Firmware sind die folgenden Befehle eingebaut&lt;br /&gt;
&lt;br /&gt;
*:&amp;lt;code&amp;gt;get raw C&amp;lt;reg&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;reg&amp;gt; is a (two digit) hex number: return the value of the cc1101 register. &amp;lt;reg&amp;gt;=99 dumps the first 48 registers.&lt;br /&gt;
Example: C35 -&amp;gt; C35 = 0D&lt;br /&gt;
*:&amp;lt;code&amp;gt;get raw e&amp;lt;/code&amp;gt;&lt;br /&gt;
EEPROM / factory reset.  resets all eeprom values without reboot&lt;br /&gt;
*:&amp;lt;code&amp;gt;get raw r&amp;lt;AA&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Read eeprom  (da das &amp;quot;R&amp;quot; beim SIGNALDuino bereits mit freeram belegt ist, habe ich das &amp;quot;r&amp;quot; verwendet)&lt;br /&gt;
*:&amp;lt;code&amp;gt;get raw r&amp;lt;AA&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
Read 16 byte from eeprom (z.B. r00n)&lt;br /&gt;
*:&amp;lt;code&amp;gt;get raw W&amp;lt;AA&amp;gt;&amp;lt;DD&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Write eeprom (schreibt einen Wert ins EEPROM und ins CC1101 Register. Die eeprom Adresse hat einen Offset von 2. z.B W041D schreibt 1D ins Register 2)&lt;br /&gt;
&lt;br /&gt;
Die Sendeleistung lässt sich mit &lt;br /&gt;
:&amp;lt;code&amp;gt;get sduino ccreg 3E&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
prüfen, wobei die Rückmeldung wie folgt zu lesen ist: &lt;br /&gt;
  &amp;quot;-10_dBm&amp;quot;  =&amp;gt; &#039;34&#039;,&lt;br /&gt;
  &amp;quot;-5_dBm&amp;quot;   =&amp;gt; &#039;68&#039;,&lt;br /&gt;
  &amp;quot;0_dBm&amp;quot;    =&amp;gt; &#039;60&#039;,&lt;br /&gt;
  &amp;quot;5_dBm&amp;quot;    =&amp;gt; &#039;84&#039;,&lt;br /&gt;
  &amp;quot;7_dBm&amp;quot;    =&amp;gt; &#039;C8&#039;,&lt;br /&gt;
  &amp;quot;10_dBm&amp;quot;   =&amp;gt; &#039;C0&#039; &lt;br /&gt;
Dabei wird die Sendeleistung dauerhaft mit dem Befehl&lt;br /&gt;
:&amp;lt;code&amp;gt;set sduino cc1101_patable &amp;lt;value&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
hochgeschaltet (&amp;lt;value&amp;gt; durch den Wert ersetzen).&lt;br /&gt;
&lt;br /&gt;
Weitere Firmware-Befehle sind im Thread-Beitrag {{Link2Forum|Topic=58396|Message=497921}} zu finden.&lt;br /&gt;
&lt;br /&gt;
== Foren Links ==&lt;br /&gt;
* {{Link2Forum|Topic=38402|LinkText=Forenthread - Ankündigung}}&lt;br /&gt;
* {{Link2Forum|Topic=58396|LinkText=SIGNALDuino Empfänger Firm- und Hardware}}&lt;br /&gt;
* {{Link2Forum|Topic=58397|LinkText=Signalduino Entwicklung Version 3.3.1 }}&lt;br /&gt;
* [http://www.nemcon.nl/blog2/wiring Beschreibung zu diversen Empfängern und Verbesserung der Empfangsleistung]&lt;br /&gt;
* [[SIGNALduino in die Arduino Entwicklungsumgebung einbinden]]&lt;br /&gt;
* [[Somfy via SIGNALduino]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:Arduino]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=23062</id>
		<title>HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=23062"/>
		<updated>2017-10-26T12:45:02Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: Kontrolle: Anpassung Stretch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=HM-MOD-RPI-PCB.jpg&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funkmodul für Raspberry Pi &lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=1,8–3,6 V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=50 mA max.&lt;br /&gt;
|HWPoweredBy=RasPi&lt;br /&gt;
|HWSize=19x41x14mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi]] ist eine Zusatzplatine, die auf die GPIO-Schnittstelle des [[Raspberry Pi]] aufgesteckt werden und damit als [[Interface]] zu [[HomeMatic]] Geräten dienen kann.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das &amp;quot;neue&amp;quot; [[HM-LGW-O-TW-W-EU Funk-LAN Gateway|Funk-LAN Gateway HM-LGW-O-TW-W-EU]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung serielle Schnittstelle unter Jessie / STRETCH ===&lt;br /&gt;
Diese Beschreibung gilt für Jessie Version 27.05.2016.&lt;br /&gt;
Die Grundlagen findet man hier: [[Raspberry Pi 3: GPIO-Port Module und Bluetooth]]&lt;br /&gt;
&lt;br /&gt;
Die Datei /boot/config.txt um diese Zeile ergänzen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;enable_uart=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim PI 3 zusätzlich diese Zeilen ergänzen, bitte entweder core_freq oder force_turbo setzen. Wichtig ist lediglich, dass damit eine feste Taktfrequenz gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dtoverlay=pi3-miniuart-bt&lt;br /&gt;
core_freq=250&lt;br /&gt;
#Alternativ kann auch dieser Eintrag gesetzt werden&lt;br /&gt;
force_turbo=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
In der Datei /boot/cmdline.txt diesen Eintrag löschen:&lt;br /&gt;
&amp;lt;pre&amp;gt;console=serial0,115200 &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Den Dienst serial-getty deaktivieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl disable serial-getty@ttyAMA0.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Benutzer fhem muss Mitglied in der Gruppe dialout sein! Bitte kontrollieren.&lt;br /&gt;
&amp;lt;pre&amp;gt;groups fhem &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Das System unbedingt neu starten!&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung serielle Schnittstelle unter Wheezy===&lt;br /&gt;
Diese Beschreibung gilt für Wheezy Version Stand 26.07.2016.&lt;br /&gt;
&lt;br /&gt;
Die Datei /boot/config.txt um diese Zeile ergänzen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;enable_uart=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der Datei /boot/cmdline.txt diesen Eintrag löschen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;console=ttyAMA0,115200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Datei sollte dann den folgenden Inhalt aufweisen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Dienst serial-getty deaktivieren&lt;br /&gt;
&lt;br /&gt;
in der Datei /etc/inittab wie folgt die Zeile (ziemlich am Ende) mit einer # auskommentieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mit folgendem Befehlen überprüfen, dass kein getty auf der Schnittstelle läuft&lt;br /&gt;
&amp;lt;pre&amp;gt;ps -A |grep getty&lt;br /&gt;
cat /etc/inittab&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Randnotiz|RNText=Tipp: Sollte der HM-MOD-RPI-PCB nach der Einrichtung immer wieder den Status zwischen init und disconnect wechseln, alle aufgeführten Punkte erneut kontrollieren! reboot nicht vergessen! In ganz hartnäckigen Fällen von der Stromversorgung trennen!}}&lt;br /&gt;
&lt;br /&gt;
Der Benutzer fhem muss Mitglied in der Gruppe dialout sein! Bitte prüfen:&lt;br /&gt;
&amp;lt;pre&amp;gt;groups fhem&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das System unbedingt neu starten!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Kontrolle ===&lt;br /&gt;
Berechtigungen der Schnittstelle kontrollieren&lt;br /&gt;
&amp;lt;pre&amp;gt;ls -l /dev/ttyAMA0&amp;lt;/pre&amp;gt; liefert die Ausgabe unter Jessie / Stretch&lt;br /&gt;
&amp;lt;pre&amp;gt;crw-rw---- 1 root dialout 204, 64 Jul 27 23:39 /dev/ttyAMA0&amp;lt;/pre&amp;gt;&lt;br /&gt;
bzw. unter wheezy&lt;br /&gt;
&amp;lt;pre&amp;gt;crw-rw---T 1 root dialout 204, 64 Aug  9 18:07 /dev/ttyAMA0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nur unter Jessie&lt;br /&gt;
&lt;br /&gt;
Bitte kontrollieren, dass serial1 auf ttyS0 verlinkt ist. Andernfalls muss die Datei /lib/systemd/system/hciuart.service angepasst werden. Dort müsste ttyAMA0 durch ttyS0 ersetzt werden. Dies ist aber seit jessie Version Herbst 2016 nicht mehr nötig.&lt;br /&gt;
&amp;lt;pre&amp;gt;ls -l /dev/serial1&lt;br /&gt;
lrwxrwxrwx 1 root root 5 Jan 11 20:00 /dev/serial1 -&amp;gt; ttyS0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Stretch wird serial0 auf ttyS0 verlinkt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -l /dev/serial0&lt;br /&gt;
lrwxrwxrwx 1 root root 7 Okt 26 12:39 /dev/serial0 -&amp;gt; ttyAMA0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition in FHEM===&lt;br /&gt;
&amp;lt;pre&amp;gt;define myHmUART HMUARTLGW /dev/ttyAMA0&lt;br /&gt;
attr myHmUART hmId xxxxxx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verwendung AES in FHEM===&lt;br /&gt;
Das Modul beherrscht AES.&lt;br /&gt;
Für weitere Informationen gibt es einen separaten Wiki Eintrag [[AES Encryption]]&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
Typischerweise meldet sich das Modul beim Start so:&lt;br /&gt;
   2016.10.06 17:11:16 3: Opening myHmUART device /dev/ttyAMA0&lt;br /&gt;
   2016.10.06 17:11:16 3: Setting myHmUART serial parameters to 115200,8,N,1&lt;br /&gt;
   2016.10.06 17:11:16 3: myHmUART device opened&lt;br /&gt;
   2016.10.06 17:11:17 3: HMUARTLGW myHmUART currently running Co_CPU_BL&lt;br /&gt;
   2016.10.06 17:11:17 3: HMUARTLGW myHmUART currently running Co_CPU_App&lt;br /&gt;
&lt;br /&gt;
=== Firmware Update HM-MOD-RPI-PCB ===&lt;br /&gt;
&lt;br /&gt;
Die Module werden mit einer Firmware 1.2.1 ausgeliefert. Dies Firmware ist nicht für einen stabilen Betrieb geeignet!&lt;br /&gt;
Firmware 1.4.1 ist die minimal lauffähige Version!&lt;br /&gt;
&lt;br /&gt;
1. Firmware herunterladen&lt;br /&gt;
 # Version 1.4.1&lt;br /&gt;
 wget https://raw.githubusercontent.com/eq-3/occu/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/HM-MOD-UART/coprocessor_update.eq3&lt;br /&gt;
 # Alternativ die aktuellste&lt;br /&gt;
 wget https://raw.githubusercontent.com/eq-3/occu/HEAD/firmware/HM-MOD-UART/coprocessor_update.eq3&lt;br /&gt;
&lt;br /&gt;
2. Kopieren an einen Ort wo FHEM Zugriff hat, am Besten nach /opt/fhem/FHEM/firmware&lt;br /&gt;
 sudo cp coprocessor_update.eq3 /opt/fhem/FHEM/firmware/&lt;br /&gt;
3. Flashen der neuen Firmware aus FHEM&lt;br /&gt;
 fhem&amp;gt; set myHmUART updateCoPro /opt/fhem/FHEM/firmware/coprocessor_update.eq3&lt;br /&gt;
&lt;br /&gt;
=== Alternative Methode zum Firmware Update ohne FHEM ===&lt;br /&gt;
&lt;br /&gt;
Sollte das Update über FHEM nicht funktionieren oder FHEM nicht verfügbar sein, kann die Firmware auch wie folgt eingespielt werden (Quelle: [http://heinz-otto.blogspot.com/2016/07/raspberry-pi-homematic-modul.html Ottos Technik Blog])&lt;br /&gt;
&lt;br /&gt;
  sudo su&lt;br /&gt;
  apt-get update &amp;amp;&amp;amp; apt-get -y install libusb-1.0-0-dev build-essential git&lt;br /&gt;
  systemctl stop fhem&lt;br /&gt;
  git clone git://git.zerfleddert.de/hmcfgusb&lt;br /&gt;
  cd hmcfgusb/&lt;br /&gt;
  make&lt;br /&gt;
  # Firmware runterladen&lt;br /&gt;
  wget https://raw.githubusercontent.com/eq-3/occu/ee68faf77e42ed5e3641790b43a710a3301cea7e/firmware/HM-MOD-UART/coprocessor_update.eq3&lt;br /&gt;
  # eigentliches flashen:&lt;br /&gt;
  ./flash-hmmoduart -U /dev/ttyAMA0 coprocessor_update.eq3&lt;br /&gt;
&lt;br /&gt;
== Remoteanbindung - Pi + RPI Modul = LAN Modul ==&lt;br /&gt;
{{Randnotiz|RNText=Tipp: Dieser Abschnitt ist noch in Bearbeitung und unter Umständen noch nicht &amp;quot;perfekt&amp;quot;. Bitte gesamten Artikel durchlesen und beachten!}}&lt;br /&gt;
&lt;br /&gt;
Die Remoteanbindung ist kein Sharing des Moduls! Es darf an dem Remote Pi (wo das Modul sitzt) &#039;&#039;&#039;keinerlei&#039;&#039;&#039; Zugriff auf das Modul seitens einer etwaigen lokalen FHEM Instanz erfolgen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation auf Remote Instanz&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install socat&lt;br /&gt;
&lt;br /&gt;
Auf diesem Pi, also wo das Modul steckt:&lt;br /&gt;
&lt;br /&gt;
 sudo socat TCP4-LISTEN:2000,fork,reuseaddr /dev/ttyAMA0,raw,echo=0,b115200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einen Debian Jessie mit systemd legt man am besten folgende Datei an:&lt;br /&gt;
/etc/systemd/system/hmlangw.service&lt;br /&gt;
&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
 Type=forking&lt;br /&gt;
   &lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=/usr/bin/socat TCP4-LISTEN:2000,fork,reuseaddr /dev/ttyAMA0,raw,echo=0,b115200&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 RestartSec=10&lt;br /&gt;
&lt;br /&gt;
Dann kann mit &lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable hmlangw&lt;br /&gt;
&lt;br /&gt;
der Service zum Autostart konfiguriert werden.&lt;br /&gt;
Auf dem Modul wo FHEM läuft und das Modul Remote angeschlossen werden soll:&lt;br /&gt;
&lt;br /&gt;
 define RM_HmUART_EG HMUARTLGW uart://&amp;lt;IP-Adresse&amp;gt;:2000&lt;br /&gt;
 attr RM_HmUART hmId xxxxxx&lt;br /&gt;
&lt;br /&gt;
Es handelt sich nicht um sharing der seriellen Schnittstelle und damit &amp;quot;verfügbar machen&amp;quot; des Moduls &amp;quot;all over the World&amp;quot;! Es handelt sich um ein exklusives &amp;quot;Kabel&amp;quot; von Pi zu Pi zur Schnittstelle zum RPI Modul.&lt;br /&gt;
&lt;br /&gt;
Lokaler Pi: FHEM -&amp;gt; uart://IP:Port -&amp;gt; Netzwerk -&amp;gt; socat listener -&amp;gt; socat serial -&amp;gt; RPI Modul auf Remote Pi&lt;br /&gt;
Remote  Pi: RPI Modul -&amp;gt; serial -&amp;gt; socat -&amp;gt; Netzwerk -&amp;gt; uart://IP:Port -&amp;gt;  FHEM auf lokalem Pi&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Sollten beim Flashen der Firmware hartnäckige Probleme auftreten (kein Erfolg aber auch gar keine Fehlermeldungen) ist das Modul vom Strom zu trennen, ein Neustart des Pi reicht nicht!&lt;br /&gt;
&lt;br /&gt;
Ein {{Link2Forum|Topic=41203|Message=340320|LinkText=Beitrag}} aus dem genannten Forenthread: &#039;&#039;Das Ding ist anscheinend wirklich einfach das Funkmodul aus der CCU2 (wird zumindest in der eQ-3 SW als CCU2 angesprochen) und spricht ein für FHEM vollkommen neues Protokoll.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funkmodul-fuer-raspberry-pi-bausatz.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=23061</id>
		<title>HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=23061"/>
		<updated>2017-10-26T12:41:01Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: Überschrift um STRETCH ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=HM-MOD-RPI-PCB.jpg&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funkmodul für Raspberry Pi &lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=1,8–3,6 V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=50 mA max.&lt;br /&gt;
|HWPoweredBy=RasPi&lt;br /&gt;
|HWSize=19x41x14mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi]] ist eine Zusatzplatine, die auf die GPIO-Schnittstelle des [[Raspberry Pi]] aufgesteckt werden und damit als [[Interface]] zu [[HomeMatic]] Geräten dienen kann.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das &amp;quot;neue&amp;quot; [[HM-LGW-O-TW-W-EU Funk-LAN Gateway|Funk-LAN Gateway HM-LGW-O-TW-W-EU]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung serielle Schnittstelle unter Jessie / STRETCH ===&lt;br /&gt;
Diese Beschreibung gilt für Jessie Version 27.05.2016.&lt;br /&gt;
Die Grundlagen findet man hier: [[Raspberry Pi 3: GPIO-Port Module und Bluetooth]]&lt;br /&gt;
&lt;br /&gt;
Die Datei /boot/config.txt um diese Zeile ergänzen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;enable_uart=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim PI 3 zusätzlich diese Zeilen ergänzen, bitte entweder core_freq oder force_turbo setzen. Wichtig ist lediglich, dass damit eine feste Taktfrequenz gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dtoverlay=pi3-miniuart-bt&lt;br /&gt;
core_freq=250&lt;br /&gt;
#Alternativ kann auch dieser Eintrag gesetzt werden&lt;br /&gt;
force_turbo=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
In der Datei /boot/cmdline.txt diesen Eintrag löschen:&lt;br /&gt;
&amp;lt;pre&amp;gt;console=serial0,115200 &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Den Dienst serial-getty deaktivieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl disable serial-getty@ttyAMA0.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Benutzer fhem muss Mitglied in der Gruppe dialout sein! Bitte kontrollieren.&lt;br /&gt;
&amp;lt;pre&amp;gt;groups fhem &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Das System unbedingt neu starten!&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung serielle Schnittstelle unter Wheezy===&lt;br /&gt;
Diese Beschreibung gilt für Wheezy Version Stand 26.07.2016.&lt;br /&gt;
&lt;br /&gt;
Die Datei /boot/config.txt um diese Zeile ergänzen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;enable_uart=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der Datei /boot/cmdline.txt diesen Eintrag löschen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;console=ttyAMA0,115200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Datei sollte dann den folgenden Inhalt aufweisen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Dienst serial-getty deaktivieren&lt;br /&gt;
&lt;br /&gt;
in der Datei /etc/inittab wie folgt die Zeile (ziemlich am Ende) mit einer # auskommentieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mit folgendem Befehlen überprüfen, dass kein getty auf der Schnittstelle läuft&lt;br /&gt;
&amp;lt;pre&amp;gt;ps -A |grep getty&lt;br /&gt;
cat /etc/inittab&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Randnotiz|RNText=Tipp: Sollte der HM-MOD-RPI-PCB nach der Einrichtung immer wieder den Status zwischen init und disconnect wechseln, alle aufgeführten Punkte erneut kontrollieren! reboot nicht vergessen! In ganz hartnäckigen Fällen von der Stromversorgung trennen!}}&lt;br /&gt;
&lt;br /&gt;
Der Benutzer fhem muss Mitglied in der Gruppe dialout sein! Bitte prüfen:&lt;br /&gt;
&amp;lt;pre&amp;gt;groups fhem&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das System unbedingt neu starten!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Kontrolle ===&lt;br /&gt;
Berechtigungen der Schnittstelle kontrollieren&lt;br /&gt;
&amp;lt;pre&amp;gt;ls -l /dev/ttyAMA0&amp;lt;/pre&amp;gt; liefert die Ausgabe unter Jessie&lt;br /&gt;
&amp;lt;pre&amp;gt;crw-rw---- 1 root dialout 204, 64 Jul 27 23:39 /dev/ttyAMA0&amp;lt;/pre&amp;gt;&lt;br /&gt;
bzw. unter wheezy&lt;br /&gt;
&amp;lt;pre&amp;gt;crw-rw---T 1 root dialout 204, 64 Aug  9 18:07 /dev/ttyAMA0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nur unter Jessie&lt;br /&gt;
&lt;br /&gt;
Bitte kontrollieren, dass serial1 auf ttyS0 verlinkt ist. Andernfalls muss die Datei /lib/systemd/system/hciuart.service angepasst werden. Dort müsste ttyAMA0 durch ttyS0 ersetzt werden. Dies ist aber seit jessie Version Herbst 2016 nicht mehr nötig.&lt;br /&gt;
&amp;lt;pre&amp;gt;ls -l /dev/serial1&lt;br /&gt;
lrwxrwxrwx 1 root root 5 Jan 11 20:00 /dev/serial1 -&amp;gt; ttyS0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition in FHEM===&lt;br /&gt;
&amp;lt;pre&amp;gt;define myHmUART HMUARTLGW /dev/ttyAMA0&lt;br /&gt;
attr myHmUART hmId xxxxxx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verwendung AES in FHEM===&lt;br /&gt;
Das Modul beherrscht AES.&lt;br /&gt;
Für weitere Informationen gibt es einen separaten Wiki Eintrag [[AES Encryption]]&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
Typischerweise meldet sich das Modul beim Start so:&lt;br /&gt;
   2016.10.06 17:11:16 3: Opening myHmUART device /dev/ttyAMA0&lt;br /&gt;
   2016.10.06 17:11:16 3: Setting myHmUART serial parameters to 115200,8,N,1&lt;br /&gt;
   2016.10.06 17:11:16 3: myHmUART device opened&lt;br /&gt;
   2016.10.06 17:11:17 3: HMUARTLGW myHmUART currently running Co_CPU_BL&lt;br /&gt;
   2016.10.06 17:11:17 3: HMUARTLGW myHmUART currently running Co_CPU_App&lt;br /&gt;
&lt;br /&gt;
=== Firmware Update HM-MOD-RPI-PCB ===&lt;br /&gt;
&lt;br /&gt;
Die Module werden mit einer Firmware 1.2.1 ausgeliefert. Dies Firmware ist nicht für einen stabilen Betrieb geeignet!&lt;br /&gt;
Firmware 1.4.1 ist die minimal lauffähige Version!&lt;br /&gt;
&lt;br /&gt;
1. Firmware herunterladen&lt;br /&gt;
 # Version 1.4.1&lt;br /&gt;
 wget https://raw.githubusercontent.com/eq-3/occu/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/HM-MOD-UART/coprocessor_update.eq3&lt;br /&gt;
 # Alternativ die aktuellste&lt;br /&gt;
 wget https://raw.githubusercontent.com/eq-3/occu/HEAD/firmware/HM-MOD-UART/coprocessor_update.eq3&lt;br /&gt;
&lt;br /&gt;
2. Kopieren an einen Ort wo FHEM Zugriff hat, am Besten nach /opt/fhem/FHEM/firmware&lt;br /&gt;
 sudo cp coprocessor_update.eq3 /opt/fhem/FHEM/firmware/&lt;br /&gt;
3. Flashen der neuen Firmware aus FHEM&lt;br /&gt;
 fhem&amp;gt; set myHmUART updateCoPro /opt/fhem/FHEM/firmware/coprocessor_update.eq3&lt;br /&gt;
&lt;br /&gt;
=== Alternative Methode zum Firmware Update ohne FHEM ===&lt;br /&gt;
&lt;br /&gt;
Sollte das Update über FHEM nicht funktionieren oder FHEM nicht verfügbar sein, kann die Firmware auch wie folgt eingespielt werden (Quelle: [http://heinz-otto.blogspot.com/2016/07/raspberry-pi-homematic-modul.html Ottos Technik Blog])&lt;br /&gt;
&lt;br /&gt;
  sudo su&lt;br /&gt;
  apt-get update &amp;amp;&amp;amp; apt-get -y install libusb-1.0-0-dev build-essential git&lt;br /&gt;
  systemctl stop fhem&lt;br /&gt;
  git clone git://git.zerfleddert.de/hmcfgusb&lt;br /&gt;
  cd hmcfgusb/&lt;br /&gt;
  make&lt;br /&gt;
  # Firmware runterladen&lt;br /&gt;
  wget https://raw.githubusercontent.com/eq-3/occu/ee68faf77e42ed5e3641790b43a710a3301cea7e/firmware/HM-MOD-UART/coprocessor_update.eq3&lt;br /&gt;
  # eigentliches flashen:&lt;br /&gt;
  ./flash-hmmoduart -U /dev/ttyAMA0 coprocessor_update.eq3&lt;br /&gt;
&lt;br /&gt;
== Remoteanbindung - Pi + RPI Modul = LAN Modul ==&lt;br /&gt;
{{Randnotiz|RNText=Tipp: Dieser Abschnitt ist noch in Bearbeitung und unter Umständen noch nicht &amp;quot;perfekt&amp;quot;. Bitte gesamten Artikel durchlesen und beachten!}}&lt;br /&gt;
&lt;br /&gt;
Die Remoteanbindung ist kein Sharing des Moduls! Es darf an dem Remote Pi (wo das Modul sitzt) &#039;&#039;&#039;keinerlei&#039;&#039;&#039; Zugriff auf das Modul seitens einer etwaigen lokalen FHEM Instanz erfolgen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation auf Remote Instanz&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install socat&lt;br /&gt;
&lt;br /&gt;
Auf diesem Pi, also wo das Modul steckt:&lt;br /&gt;
&lt;br /&gt;
 sudo socat TCP4-LISTEN:2000,fork,reuseaddr /dev/ttyAMA0,raw,echo=0,b115200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einen Debian Jessie mit systemd legt man am besten folgende Datei an:&lt;br /&gt;
/etc/systemd/system/hmlangw.service&lt;br /&gt;
&lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
 Type=forking&lt;br /&gt;
   &lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=/usr/bin/socat TCP4-LISTEN:2000,fork,reuseaddr /dev/ttyAMA0,raw,echo=0,b115200&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 RestartSec=10&lt;br /&gt;
&lt;br /&gt;
Dann kann mit &lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable hmlangw&lt;br /&gt;
&lt;br /&gt;
der Service zum Autostart konfiguriert werden.&lt;br /&gt;
Auf dem Modul wo FHEM läuft und das Modul Remote angeschlossen werden soll:&lt;br /&gt;
&lt;br /&gt;
 define RM_HmUART_EG HMUARTLGW uart://&amp;lt;IP-Adresse&amp;gt;:2000&lt;br /&gt;
 attr RM_HmUART hmId xxxxxx&lt;br /&gt;
&lt;br /&gt;
Es handelt sich nicht um sharing der seriellen Schnittstelle und damit &amp;quot;verfügbar machen&amp;quot; des Moduls &amp;quot;all over the World&amp;quot;! Es handelt sich um ein exklusives &amp;quot;Kabel&amp;quot; von Pi zu Pi zur Schnittstelle zum RPI Modul.&lt;br /&gt;
&lt;br /&gt;
Lokaler Pi: FHEM -&amp;gt; uart://IP:Port -&amp;gt; Netzwerk -&amp;gt; socat listener -&amp;gt; socat serial -&amp;gt; RPI Modul auf Remote Pi&lt;br /&gt;
Remote  Pi: RPI Modul -&amp;gt; serial -&amp;gt; socat -&amp;gt; Netzwerk -&amp;gt; uart://IP:Port -&amp;gt;  FHEM auf lokalem Pi&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Sollten beim Flashen der Firmware hartnäckige Probleme auftreten (kein Erfolg aber auch gar keine Fehlermeldungen) ist das Modul vom Strom zu trennen, ein Neustart des Pi reicht nicht!&lt;br /&gt;
&lt;br /&gt;
Ein {{Link2Forum|Topic=41203|Message=340320|LinkText=Beitrag}} aus dem genannten Forenthread: &#039;&#039;Das Ding ist anscheinend wirklich einfach das Funkmodul aus der CCU2 (wird zumindest in der eQ-3 SW als CCU2 angesprochen) und spricht ein für FHEM vollkommen neues Protokoll.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funkmodul-fuer-raspberry-pi-bausatz.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Raspberry_Pi&amp;diff=23060</id>
		<title>Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Raspberry_Pi&amp;diff=23060"/>
		<updated>2017-10-26T10:59:10Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: Anpassung, Telnet für Fritz!Box&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beim &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039; handelt es sich um einen postkartengroßen Einplatinen-Computer, der von der Raspberry Pi Foundation entwickelt wird. Die Hardware basiert auf dem BCM 283x SoC (System-on-Chip) von Broadcom, einem ARM-Prozessor. Zu Hardwaredetails und den verschiedenen Modellen sowie Produktentwicklungen siehe [http://de.wikipedia.org/wiki/Raspberry_Pi#Hardware Wikipedia].&lt;br /&gt;
Dank der kleinen Abmessungen, dem recht geringen Energieverbrauch (bis ca. 4 Watt) sowie der günstigen Anschaffungskosten (ca. 30€) ist der Raspberry Pi eine attraktive Hardware für die Heimautomatisierung mit FHEM. Er ist dank dem Linux-Betriebssystem vollständig kompatibel zur aktuell vorhandenen und von FHEM unterstützen Hardware. Das derzeit empfohlene Standard-Image zum Betrieb des Raspberry Pi ist die auf Debian basierende Raspbian Distribution.&lt;br /&gt;
&lt;br /&gt;
== Installation / Setup ==&lt;br /&gt;
=== Betriebssystem ===&lt;br /&gt;
Raspbian ist direkt bei raspberrybi.org unter [https://www.raspberrypi.org/downloads/raspbian/ https://www.raspberrypi.org/downloads/raspbian/] herunterladbar. Üblicherweise wählt man für einen FHEM-Server die lite-Version ohne grafischen Desktop.&lt;br /&gt;
&lt;br /&gt;
Die heruntergeladene Datei muss entpackt werden. Anschließend wird das Image auf die Speicherkarte geschrieben. Detaillierte Anleitungen zur Vorgehensweise finden sich für die Betriebssysteme Linux, Mac OS und Windows unter [https://www.raspberrypi.org/documentation/installation/installing-images/README.md Writing an image to the SD card]&lt;br /&gt;
&lt;br /&gt;
Der Zugriff auf den Raspberry erfolgt typischerweise Remote per SSH (headless) von einem anderen Computer. Der Remote-Zugriff per SSH ist gemäß der [https://www.raspberrypi.org/documentation/remote-access/ssh/ Raspberrpi.org-Anleitung] zu aktivieren.&lt;br /&gt;
&lt;br /&gt;
Nach der Installation des Images sollte der Raspberry Pi von der Speicherkarte booten. &lt;br /&gt;
&lt;br /&gt;
Weitergehende Informationen zur Anpassung der Konfiguration von Raspbian sind nachzulesen auf [https://www.raspberrypi.org/documentation/configuration/ https://www.raspberrypi.org/documentation/configuration/].&lt;br /&gt;
&lt;br /&gt;
=== FHEM ===&lt;br /&gt;
Die Installation von FHEM kann nach der Raspbian-Installation über das Debian-Repository [http://debian.fhem.de http://debian.fhem.de] (hohe Integration), das Debian-Paket auf [https://fhem.de/fhem.html#Download http://fhem.de] oder auch automatisiert per Skript erfolgen.&lt;br /&gt;
&lt;br /&gt;
==== Debian-Repository auf debian.fhem.de ====&lt;br /&gt;
{{Randnotiz|RNTyp=Fehl|RNText=FHEM-Updates sind nur über den [[update]]-Befehl durchzuführen. Die Debian-Paketverwaltung dient aussschließlich zur FHEM-Erstinstallation.}}&lt;br /&gt;
Bei der Installation von FHEM aus dem Debian-Repository [http://debian.fhem.de http://debian.fhem.de] werden neben FHEM selbst alle für den Betrieb von FHEM und vieler Module unabdingbaren Perl-Pakete automatisch mit installiert und eine Reihe weiterer Pakete für die Installation vorgeschlagen. Details zur Vorgehensweise finden sich immer aktuell direkt auf [http://debian.fhem.de http://debian.fhem.de].&lt;br /&gt;
&lt;br /&gt;
==== Debian-Paket auf fhem.de ====&lt;br /&gt;
Alternativ kann FHEM mit dem Debian-Paket von fhem.de installiert werden. Die für FHEM grundlegenden Perl-Pakete libdevice-serialport-perl und libio-socket-ssl-perl sollten immer direkt mit installiert werden. Weitere Perl-Pakete sind je nach verwendeten FHEM-Modulen notwendig und manuell nachzuinstallieren. Informationen hierzu liefert üblicherweise die commandref zum jeweiligen Modul.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libdevice-serialport-perl&lt;br /&gt;
 sudo apt-get install libio-socket-ssl-perl&lt;br /&gt;
 # fhem-X.Y.deb bitte mit der [http://fhem.de/fhem.html#Download aktuellsten, stabilen Version] ersetzen&lt;br /&gt;
 wget  [http://fhem.de/fhem-X.Y.deb http://fhem.de/fhem-X.Y.deb]&lt;br /&gt;
 sudo dpkg -i fhem-X.Y.deb&lt;br /&gt;
&lt;br /&gt;
Möglicherweise ist es noch nötig, fehlende Abhängigkeiten aufzulösen. Das kann mit folgendem Befehl erledigt werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo apt-get install -f&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Skript-basiert ====&lt;br /&gt;
Durch Ausführung des in diesem {{Link2Forum|Topic=15848|Message=103268}} dargestellten Skriptes nach Installation eines &amp;quot;nackten&amp;quot; Raspian OS wird automatisiert ein funktionsfähiges FHEM (inkl. korrekter Rechtevergabe) auf dem Raspberry Pi installiert.&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Zusatzpakete ===&lt;br /&gt;
Nachdem der Rpi eingerichtet ist, können weitere Pakete installiert werden. Keines davon ist zwingend erforderlich, um FHEM grundsätzlich betreiben zu können. Einige Pakete erhöhen aber den Bedienungskomfort oder sind zur Nutzung bestimmter FHEM-Module (siehe commandref) erforderlich. Hier eine Übersicht.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:10%&amp;quot; | Beschreibung&lt;br /&gt;
! style=&amp;quot;width:10%&amp;quot; | Paketname&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot; | Kontext&lt;br /&gt;
! style=&amp;quot;width:30%&amp;quot; | Installieren&lt;br /&gt;
|-&lt;br /&gt;
|Zeitserver&lt;br /&gt;
|ntpdate&lt;br /&gt;
|Setzt die Systemzeit bei Start des RPi. Wird für FHEM benötigt, da es sonst nicht startet.&lt;br /&gt;
|&amp;lt;code&amp;gt;sudo apt-get install ntpdate&lt;br /&gt;
sudo ntpdate -u de.pool.ntp.org&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Perl JSON&lt;br /&gt;
|JSON&lt;br /&gt;
|Wird von einigen Modulen benötigt, z.B. harmony, iTunes&lt;br /&gt;
|&amp;lt;code&amp;gt;sudo apt-get install libjson-perl&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Samba-Server&lt;br /&gt;
|samba&lt;br /&gt;
|Mittels Samba kann man z.B. den Ordner /opt/fhem als Share freigeben. Dieser Share kann z.B. im Windows-Explorer als Laufwerk verbunden werden, so dass die Bearbeitung von config- und Programmdateien bequem möglich ist. Hier eine hilfreiche [https://www.elektronik-kompendium.de/sites/raspberry-pi/2007071.htm Kurzanleitung] aus der (wenn man auf einen speziellen user verzichtet) nur die Einträge für smb.conf gesetzt werden müssen.&lt;br /&gt;
|&amp;lt;code&amp;gt;sudo apt-get install samba cifs-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
Danach muss der share definiert werden mittels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo nano /etc/samba/smb.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mailversand&lt;br /&gt;
|sendEmail (bzw. sendemail)&lt;br /&gt;
|Wird benötigt, um Mails versenden zu können, bspw. für Alarm-Benachrichtigungen.&lt;br /&gt;
Nach Installation des Paketes benötigt man noch eine Routine in FHEM gemäß [[E-Mail senden#Raspberry Pi]]&lt;br /&gt;
|&amp;lt;code&amp;gt;sudo apt-get install sendEmail&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;sudo apt-get install sendemail&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Wake-on-LAN&lt;br /&gt;
|etherwake&lt;br /&gt;
|Wird z.B. für das Modul WOL benötigt.&lt;br /&gt;
|&amp;lt;code&amp;gt;sudo apt-get install etherwake&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Perl Telnet&lt;br /&gt;
|telnet&lt;br /&gt;
|Wurde vor Fritz!OS 6.2x z.B. für das Modul [[FRITZBOX]] benötigt, da es eine im Netzwerk vorhandene Fritzbox über deren Telnet-Port ansprach. Mittlerweile wird TR-64 und SOAP verwendet.&lt;br /&gt;
|&amp;lt;code&amp;gt;sudo apt-get install libnet-telnet-perl&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Socat&lt;br /&gt;
|socat&lt;br /&gt;
|Kann verwendet werden, um auf anderen Rechnern im Netzwerk Linux-Befehle oder Skripts auszuführen. Auch können auf Slave-FHEM-Installationen Befehl ausgeführt werden, z.B. mit &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;system(&amp;quot;echo &#039;set lampe on&#039; | /usr/bin/socat - TCP:1.2.3.4:7072&amp;quot;);&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1.2.3.4 muss natürlich durch die IP-Adresse des Zielrechners ersetzt werden.&lt;br /&gt;
|&amp;lt;code&amp;gt;sudo apt-get install socat&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Libcrypt&lt;br /&gt;
|Libcrypt&lt;br /&gt;
|Perl libcrypt, erforderlich falls Homematic-devices mit AES verwendet werden sollen.&lt;br /&gt;
|&amp;lt;code&amp;gt;sudo apt-get install libcrypt-rijndael-perl&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|libdatetime&lt;br /&gt;
|libdatetime&lt;br /&gt;
|Perl libdatetime, erforderlich für das Weather-Modul.&lt;br /&gt;
|&amp;lt;code&amp;gt;sudo apt-get install libdatetime-format-strptime-perl&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
=== Netzteil ===&lt;br /&gt;
Der RPi verwendet ein USB Netzteil als Spannungsversorgung. Gemessen kann der RPi allein bereits um die 900mA Strom fordern. Das bringt kleine Netzteile, besonders wenn noch CULs oder WLAN Sticks an USB hängen schnell an die Grenze. Die Fehler die daraus resultieren sind Abstürze, Netzwerkprobleme uvm. Daher bitte ein ausreichend starkes Netzteil mit mind. 2000mA oder einen aktiven USB-HUB für die Periperie verwenden.&lt;br /&gt;
&lt;br /&gt;
=== Echtzeituhr ===&lt;br /&gt;
Der RPi hat keine [http://de.wikipedia.org/wiki/Echtzeituhr Real-Time-Clock] (RTC), das heißt, dass er nach einem Neustart keine gültige (im Sinne von aktuell) Systemzeit hat, sondern ein Datum in der Vergangenheit. Dieses Problem wird sinnvollerweise mit einer [http://de.wikipedia.org/wiki/Network_Time_Protocol NTP-Konfiguration] umgangen.&lt;br /&gt;
&lt;br /&gt;
Dabei muss Sorge getragen werden, dass der [http://wiki.debian.org/NTP ntpd] schon einen Datums-/Zeitabgleich gemacht hat, bevor FHEM gestartet wird. Geschieht der Abgleich nicht vorher, sondern erst nachdem FHEM schon läuft, stellt FHEM die Logs zwar auf das nun aktuelle Datum um (die &amp;quot;alten&amp;quot; Logs mit dem eigentlich ungültigen Datum werden natürlich behalten), aber irgendetwas scheint FHEM dabei so zu belasten, dass es eine Last von über 0.8 bis 0.9 erzeugt. Diese Last besteht auf Dauer und verschwindet erst, wenn man das Ganze sauber durchkonfiguriert und FHEM neu gestartet hat. Die hohe Systemauslastung zeigt sich auch in einem sehr trägen Laden der FHEM-Webseiten in einem beliebigen Browser. (siehe {{Link2Forum|Topic=70741}})&lt;br /&gt;
&lt;br /&gt;
=== Last durch Backup (während update) ===&lt;br /&gt;
Bei einen [[Update]] von FHEM durch den Befehl &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; kann durch Setzen des Attributs &amp;quot;&amp;lt;code&amp;gt;attr global backup_before_update 1&amp;lt;/code&amp;gt;&amp;quot; automatisch vorab ein [[Backup]] durchgeführt werden. Die (ggf. großen) Log-Dateien werden dabei ebenfalls archiviert. Während der Archivierung ist FHEM blockiert. Durch die beschränkte Leistungsfähigkeit des Raspberry Pi kann das Backup zudem lange dauern. Durch ein &amp;quot;&amp;lt;code&amp;gt;attr global updateInBackground 1&amp;lt;/code&amp;gt;&amp;quot; wird ein Backup im Hintergrund ausgeführt (Quelle: {{Link2Forum|Topic=15729}}). &lt;br /&gt;
&lt;br /&gt;
Alternative Möglichkeiten: &lt;br /&gt;
* Backup ausschalten und manuell durchführen &lt;br /&gt;
* Backup-Befehl anpassen und so große Dateien bzw. Verzeichnisse (log/) nicht archivieren&lt;br /&gt;
&lt;br /&gt;
== Watchdog einrichten ==&lt;br /&gt;
Man kann den RPi alle halbe Stunde prüfen lassen, ob FHEM noch läuft und gegebenenfalls einen Neustart durchführen lassen. Eine mögliche Vorgehensweise ist in diesem {{Link2Forum|Topic=20553|LinkText=Forumsthema}} beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Interne Links ==&lt;br /&gt;
* [[CUL am Raspberry Pi flashen]]&lt;br /&gt;
* [[Raspberry Pi und 1-Wire]]&lt;br /&gt;
&lt;br /&gt;
== Externe Links ==&lt;br /&gt;
* {{Link2Forum|Topic=33460|Message=264679}} zum Umzug von Raspberry B auf Raspberry Pi 2&lt;br /&gt;
* [http://www.raspberrypi.org/ Offizielle Webseite der Raspberry Pi Foundation]&lt;br /&gt;
* [http://www.raspberrypi.org/downloads Offizielle Downloads der Raspberry Pi Foundation]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=E-Mail_senden&amp;diff=23059</id>
		<title>E-Mail senden</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=E-Mail_senden&amp;diff=23059"/>
		<updated>2017-10-26T10:50:15Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: sudo-Aufruf für sendemail mit kleinem e hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um aus FHEM heraus &#039;&#039;&#039;E-Mail senden&#039;&#039;&#039; zu können, sind abhängig von der verwendeten Platform unterschiedliche Vorgehensweisen erforderlich.&lt;br /&gt;
&lt;br /&gt;
{{Randnotiz|RNTyp=y|RNText=Anleitung zur Einrichtung von Exim4 auf Debian mit GMX als Smarthost:[[Media:Anleitung_Exim4_Debian_GMX.pdf|PDF]]}}&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
=== FritzBox 7170 (non-chroot) oder &amp;quot;reine&amp;quot; Linuxe ===&lt;br /&gt;
Datei 99_email.pm im Modul-Verzeichnis mit folgender Funktion anlegen (oder in bestehende 99_irgendwas.pm kopieren):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sub fb_mail {&lt;br /&gt;
 my $rcpt = $_[0];&lt;br /&gt;
 my $subject = $_[1];&lt;br /&gt;
 my $text = $_[2];&lt;br /&gt;
 system(&amp;amp;quot;/bin/echo \&amp;amp;quot;$text\&amp;amp;quot; | /usr/bin/mail send -i - -s \&amp;amp;quot;$subject\&amp;amp;quot; -t \&amp;amp;quot;$rcpt\&amp;amp;quot;&amp;amp;quot;);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Aufruf dann mittels &lt;br /&gt;
:&amp;lt;code&amp;gt;{ fb_mail(&#039;empfaenger@mail.de&#039;,&#039;Subject&#039;,&#039;text 123&#039;) }&amp;lt;/code&amp;gt;&lt;br /&gt;
Darauf achten, dass der fhem-User Mails senden darf (in richtige Gruppe eintragen. Ggf. vorher einmal su fhem und probieren).&lt;br /&gt;
&lt;br /&gt;
=== Fritz!Box 7390 ===&lt;br /&gt;
Auf der [[AVM Fritz!Box|FritzBox 7390]] ist diese Funktion seit 10/2012 Bestandteil der FHEM Standardauslieferung. Sie ist untergebracht in FritzBoxUtils.pm und heisst dort FB_mail($$$) (Groß-Kleinschreibung beachten).&lt;br /&gt;
&lt;br /&gt;
Da der Dateiname von FritzBoxUtils.pm nicht mit 99_ beginnt, wird diese Programmdatei nicht automatisch beim Start von FHEM geladen. FHEM muss zum Laden dieser Programmdatei aufgefordert werden. Dazu (z.&amp;amp;nbsp;B. in 99_myUtils.pm) die Zeile &#039;&#039;use FritzBoxUtils;&#039;&#039; einfügen.&lt;br /&gt;
&lt;br /&gt;
Mit dem Install von AVM.de wird fhem in einer chroot-Umgebung ausgeführt, die den Zugriff auf die Mailfunktion der Fritzbox nicht zulässt. Daher muss FHEM in der [http://fhem.de/fhem.html#Download Version von fhem.de] installiert sein. Sollte Ihre Fritzbox bisher mit dem install von AVM laufen, kann (nach einem backup!) das image von fhem.de einfach drüberinstalliert werden. Es sollten dabei alle Einstellungen erhalten bleiben.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sub fb_mail {&lt;br /&gt;
 my $rcpt = $_[0];&lt;br /&gt;
 my $subject = $_[1];&lt;br /&gt;
 my $text = $_[2];&lt;br /&gt;
 system(&amp;amp;quot;/bin/echo \&amp;amp;quot;$text\&amp;amp;quot; &amp;amp;gt; /var/tmp/fhem_nachricht.txt&amp;amp;quot;);&lt;br /&gt;
 system(&amp;amp;quot;/sbin/mailer send -i &#039;/var/tmp/fhem_nachricht.txt&#039; -s \&amp;amp;quot;$subject\&amp;amp;quot; -t \&amp;amp;quot;$rcpt\&amp;amp;quot;&amp;amp;quot;);&lt;br /&gt;
 system(&amp;amp;quot;rm /var/tmp/fhem_nachricht.txt&amp;amp;quot;);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aufruf dann mittels &lt;br /&gt;
:&amp;lt;code&amp;gt;{ fb_mail(&#039;empfaenger@mail.de&#039;,&#039;Subject&#039;,&#039;text 123&#039;) }&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. &lt;br /&gt;
:&amp;lt;code&amp;gt;{ FB_mail(&#039;empfaenger@mail.de&#039;,&#039;Subject&#039;,&#039;text 123&#039;) }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dem Mailer können noch weitere Parameter hinzugefügt werden. Mehr dazu siehe: [http://www.wehavemorefun.de/fritzbox/Mailer Mailer]&lt;br /&gt;
&lt;br /&gt;
=== OpenWRT  ===&lt;br /&gt;
Die Anleitung wurde mit einer frühen Beta von Barrier Breaker (r391xx) mit einem TP_Lind WDR 4900 getestet. Da &amp;quot;sendEmail&amp;quot; nicht als Package vorliegt wird in dieser Anleitung &amp;quot;ssmtp&amp;quot; verwendet.&lt;br /&gt;
Die Installation erfolgt mittels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
opkg update&lt;br /&gt;
opkg install ssmtp_2.64-4_mpc85xx.ipk  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hierbei werden die Packete libopenssl und zlib mit installiert. Damit ssmtp funktioniert müssen die Dateien /etc/ssmtp/ssmtp.conf und /etc/ssmtp/revaliases angepasst werden.&lt;br /&gt;
&lt;br /&gt;
/etc/ssmtp/ssmtp.conf &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root=arnold@gmx.net&lt;br /&gt;
mailhub=mail.gmx.net:465&lt;br /&gt;
rewriteDomain=gmx.net&lt;br /&gt;
hostname=gmx.net&lt;br /&gt;
FromLineOverride=YES&lt;br /&gt;
UseTLS=YES&lt;br /&gt;
#UseSTARTTLS=YES&lt;br /&gt;
AuthUser=arnold@gmx.net&lt;br /&gt;
AuthPass=Passwort_von_arnold@gmx.net&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/ssmtp/revaliases&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
root:arnold@gmx.net:mail.gmx.net:465&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In der [[99_myUtils_anlegen|99_myUtils]] folgende Unterroutine einfügen (von der RPi-Anleitung übernommen):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sub &lt;br /&gt;
OpenWRTMail &lt;br /&gt;
{ &lt;br /&gt;
 my $rcpt = shift;&lt;br /&gt;
 my $subject = shift; &lt;br /&gt;
 my $text = shift; &lt;br /&gt;
 my $ret = &amp;quot;&amp;quot;;&lt;br /&gt;
 my $sender = &amp;quot;dockstar\@heye-tammo.de&amp;quot;; &lt;br /&gt;
 Log 1, &amp;quot;sendEmail RCP: $rcpt, Subject: $subject, Text: $text&amp;quot;;&lt;br /&gt;
 $ret .= qx(echo -e &#039;to:$rcpt\n from:$sender\nsubject:$subject\n$text\n&#039; | ssmtp $rcpt);&lt;br /&gt;
 $ret =~ s,[\r\n]*,,g;    # remove CR from return-string &lt;br /&gt;
 Log 1, &amp;quot;sendEmail returned: $ret&amp;quot;; &lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ab hier den entsprechenden Abschnitt unter &amp;quot;Raspberry Pi&amp;quot; lesen.&lt;br /&gt;
&lt;br /&gt;
=== Synology DiskStation ===&lt;br /&gt;
Beim DSM 3.2 gab es keinen &amp;lt;code&amp;gt;sendmail&amp;lt;/code&amp;gt;-Befehl, sondern nur eine Funktion für den Versand der System-Benachrichtigungen. Interessanterweise funktionierte aber der &amp;lt;code&amp;gt;php-mail&amp;lt;/code&amp;gt;-Befehl, so dass man mittels folgendem Modul Mails frei versenden kann:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sub sendmail($$$) {&lt;br /&gt;
 my($empf, $subj, $nachricht) = @_;&lt;br /&gt;
 system(&amp;amp;quot;php -r &#039;mail(\&amp;amp;quot;$empf\&amp;amp;quot;,\&amp;amp;quot;$subj\&amp;amp;quot;,\&amp;amp;quot;$nachricht\&amp;amp;quot;);&#039;&amp;amp;quot;);&lt;br /&gt;
 undef;&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi ===&lt;br /&gt;
In der weezy-Version, wie sie von busware zur Verfügung gestellt wird, muss auf einem [[Raspberry Pi]] noch sendEmail nachinstalliert werden. Diese Anleitung funktioniert auch unter &#039;&#039;&#039;Ubuntu&#039;&#039;&#039;.&lt;br /&gt;
{{Randnotiz|RNTyp=o|RNText=In späteren Distributionen wird das Paket uU. mit kleinem &amp;quot;e&amp;quot; geschrieben: sendemail.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install sendEmail libio-socket-ssl-perl libnet-ssleay-perl perl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der Stretch-Version von Raspbian erfolgt der Aufruf mit kleinem &amp;quot;e&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install sendemail libio-socket-ssl-perl libnet-ssleay-perl perl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in der [[99_myUtils_anlegen|99_myUtils]] folgende Unterroutine einfügen:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;######## DebianMail  Mail auf dem RPi versenden ############ &lt;br /&gt;
sub &lt;br /&gt;
DebianMail &lt;br /&gt;
{ &lt;br /&gt;
 my $rcpt = shift;&lt;br /&gt;
 my $subject = shift; &lt;br /&gt;
 my $text = shift;&lt;br /&gt;
 my $attach = shift; &lt;br /&gt;
 my $ret = &amp;amp;quot;&amp;amp;quot;;&lt;br /&gt;
 my $sender = &amp;amp;quot;absender\@account.de&amp;amp;quot;; &lt;br /&gt;
 my $konto = &amp;amp;quot;kontoname\@account.de&amp;amp;quot;;&lt;br /&gt;
 my $passwrd = &amp;amp;quot;passwrd&amp;amp;quot;;&lt;br /&gt;
 my $provider = &amp;amp;quot;smtp.provider.de:587&amp;amp;quot;;&lt;br /&gt;
 Log 1, &amp;amp;quot;sendEmail RCP: $rcpt&amp;amp;quot;;&lt;br /&gt;
 Log 1, &amp;amp;quot;sendEmail Subject: $subject&amp;amp;quot;;&lt;br /&gt;
 Log 1, &amp;amp;quot;sendEmail Text: $text&amp;amp;quot;;&lt;br /&gt;
 Log 1, &amp;quot;sendEmail Anhang: $attach&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 $ret .= qx(sendEmail -f &#039;$sender&#039; -t &#039;$rcpt&#039; -u &#039;$subject&#039; -m &#039;$text&#039; -a $attach -s &#039;$provider&#039; -xu &#039;$konto&#039; -xp &#039;$passwrd&#039; -o tls=auto -o message-charset=utf-8);&lt;br /&gt;
 $ret =~ s,[\r\n]*,,g;    # remove CR from return-string &lt;br /&gt;
 Log 1, &amp;amp;quot;sendEmail returned: $ret&amp;amp;quot;; &lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um die TLS Verschlüsselung (ehem. SSL) nicht zu nutzen, muss in der 4. letzten Zeile tls=no verwendet und der Port des Mailproviders auf 25 eigetragen werden. Sollte anschließend keine Mail verschickt werden, siehe Probleme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Falls der Body-Text in einem (Android-)Mailer auf dem Handy nicht gezeigt wird, kann der Parameter &#039;&#039;&#039;-o message-content-type=html&#039;&#039;&#039; helfen.&lt;br /&gt;
&lt;br /&gt;
Die Funktion kann beispielsweise folgendermaßen aufgerufen werden:&lt;br /&gt;
{{Randnotiz|RNTyp=g|RNText=Bei allen Feldern können generell doppelte &amp;quot; oder einfache &#039; Anführungszeichen verwendet werden. Innerhalb von &amp;quot;&amp;quot; müssen Sonderzeichen wie @ aber maskiert werden, da sie sonst als Steuerzeichen interpretiert werden:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;quot;email\@email.domain&amp;quot; oder &#039;email@email.domain&#039;&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define Sonstiges notify Fenster:Window:.*,.*Low.Batt*. {\&lt;br /&gt;
 DebianMail(&amp;quot;email\@email.domain&amp;quot;,&amp;quot;Subject&amp;quot;,&amp;quot;Text&amp;quot;,&amp;quot;&#039;Anhang1&#039; &#039;Anhang2&#039; ...&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder (mehr als einen Empfänger, diese können durch Leerzeichen, Semikolon oder Komma getrennt sein)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define Sonstiges at *01:00:00 {\&lt;br /&gt;
 DebianMail(&#039;email@email.domain,email2@email.domain&#039;,&amp;quot;Subject&amp;quot;,&amp;quot;Text&amp;quot;,&amp;quot;&#039;Anhang1&#039; &#039;Anhang2&#039; ...&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist wichtig die Dateinamen mit &#039; &#039; zu klammern, da hierdurch auch Leerzeichen im Pfad/Dateinamen möglich sind.&lt;br /&gt;
&lt;br /&gt;
=== BeagleBoard-xM ===&lt;br /&gt;
Auf einem [[:Kategorie:BeagleBoard-xM|BeagleBoard-xM]] mit einem [http://en.opensuse.org/HCL:BeagleBoard-xM OpenSUSE 12.2] kann man ebenfalls das Perl-Programm &#039;&#039;sendEmail&#039;&#039; wie beim RPi nutzen. Dies gibt es aber nicht in den Repositories von openSUSE, sondern man muss sich &#039;&#039;sendEmail&#039;&#039; als Source herunterladen. Das geht am einfachsten per &#039;&#039;wget&#039;&#039;, welches man ebenfalls erst installieren muss (aber aus einem Repository).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ zypper in wget&lt;br /&gt;
$ cd /opt&lt;br /&gt;
$ wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz&lt;br /&gt;
$ tar xvfz sendEmail-v1.56.tar.gz&lt;br /&gt;
$ cd sendEmail-v1.56&lt;br /&gt;
$ cp sendMail /usr/local/bin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Dann geht man weiter vor wie unter RPi beschrieben (anlegen der SUB-Routine in 99_myUtils usw.).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Die Version 1.56 von &#039;&#039;sendEmail&#039;&#039; ist Stand Januar 2013 die aktuelle. Da diese Programmversion von 2009 stammt, ist mit neuen Versionen selten zu rechnen. Vielleicht schauen Sie trotzdem vorher auf der [http://caspian.dotconf.net/menu/Software/SendEmail/ Homepage von sendEmail] nach.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
# Kopiere die Datei sendEmail.exe* in Dein FHEM Verzeichnis (hier c:\fhem-5.0\); Quelle: [http://caspian.dotconf.net/menu/Software/SendEmail/ http://caspian.dotconf.net/menu/Software/SendEmail/]&lt;br /&gt;
# Erstelle im FHEM Verzeichnis die Datei wmail.bat mit folgendem Inhalt (eine Zeile): &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sendEmail -f absender@domain.de -u &amp;quot;%1&amp;quot; -m &amp;quot; &amp;quot; -s SMTP-SERVERAdresse -xu SMTP_USERNAME -xp SMTP_PASSWORT -t empfänger@domain.de -o message-header=&amp;quot;X-Message-Flag: FHEM&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Beispiel fhem.cfg&lt;br /&gt;
## Mail wenn sich der Status von Heizung.* oder Hzg.* ändert &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;define Mail_Heizung notify Heizung.*|Hzg.* { system(&amp;quot;wmail $NAME:$EVENT&amp;quot;)}&amp;lt;/code&amp;gt;&lt;br /&gt;
## Mail bei Signal Aussentemperatur (für dieses Beispiel wird [http://fhem.de/commandref.html#getstate http://fhem.de/commandref.html#getstate getstate] benötigt) &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;define Mail_Aussentemperatur notify Aussentemperatur {\&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;my ($val);;\&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;$val = fhem &amp;quot;getstate $NAME&amp;quot;;;\&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;system(&amp;quot;wmail \&amp;quot;$NAME: $val\&amp;quot;&amp;quot;);;\&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
=== sendEmail ===&lt;br /&gt;
Falls man keine E-Mails verschicken kann, kann man in einem ersten Test prüfen, ob sendEmail als solches funktioniert und die Konfiguration (Benutzer, Passwort, Server-Name usw.) des Mail-Kontos, über das die Mails abgesetzt werden sollen, richtig ist.&lt;br /&gt;
&lt;br /&gt;
Hierzu setzt man in der FHEM-Befehlszeile die folgende Anweisung ab:&lt;br /&gt;
:&amp;lt;code&amp;gt;{ SUB-Routinen-Name(&#039;EMailAdresse@Mail.Domain&#039;,&#039;Test&#039;,&#039;Test-Text&#039;);; }&amp;lt;/code&amp;gt;&lt;br /&gt;
und ersetzt &#039;&#039;SUB-Routinen-Name&#039;&#039; durch den Namen der in 99_myUtils erzeugten Prozedur. Statt &#039;&#039;EMailAdresse@Mail.Domain&#039;&#039; trägt man noch eine gültige E-Mail-Adresse ein und bestätigt den Befehl dann mittels &amp;amp;lt;Enter&amp;amp;gt; (nicht &amp;quot;save&amp;quot;). Empfangen Sie nicht kurzfristig eine entsprechende E-Mail, ist sehr wahrscheinlich an den Zugangsdaten etwas verkehrt. &lt;br /&gt;
&lt;br /&gt;
Vor dem testen der Routine oben kann sendEmail auch über die Konsole (z.&amp;amp;nbsp;B. via Putty) getestet werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;sendEmail -f &#039;Absender@AbsDomain.de&#039; -t &#039;Empfänger@EmpfDomain.de&#039; -u &#039;subject&#039; -m &#039;body&#039; -s &#039;smtp.AbsDomain.de&#039; -xu &#039;AbsenderBenutzername&#039; -xp &#039;AbsenderPasswort&#039; -o tls=yes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Keine Mail mit TLS Verschlüsselung ===&lt;br /&gt;
Den Test über die Konsole durchführen. Erhält man folgende Fehlermeldung:&lt;br /&gt;
&#039;&#039;invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332&#039;&#039;&lt;br /&gt;
muss auf dem Raspberry folgende Datei angepasst werden: &#039;&#039;/usr/bin/sendEmail&#039;&#039;.&lt;br /&gt;
In Zeile 1907 muss&lt;br /&gt;
 if (! IO::Socket::SSL-&amp;gt;start_SSL($SERVER, SSL_version =&amp;gt; &#039;SSLv3 TLSv1&#039;)) {&lt;br /&gt;
&lt;br /&gt;
in folgendes geändert werden&lt;br /&gt;
  if (! IO::Socket::SSL-&amp;gt;start_SSL($SERVER, SSL_version =&amp;gt; &#039;SSLv23:!SSLv2&#039;)) {&lt;br /&gt;
&lt;br /&gt;
Der frühere Tipp direkt in der SSL.pm Datei zu editieren führt zu Problemen wenn man auf FHEM per HTTPS zugreifen will und ist daher nicht zu empfehlen.&lt;br /&gt;
&lt;br /&gt;
== Email laut Log gesendet aber nicht angekommen? ==&lt;br /&gt;
Dann bitte in der Fritzbox Oberfläche überpüfen, ob unter &amp;quot;System&amp;quot; -&amp;gt; &amp;quot;Push Service&amp;quot; selbiger eingerichtet und aktiviert wurde. &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;br /&gt;
[[Kategorie:FritzBox]]&lt;br /&gt;
[[Kategorie:BeagleBoard-xM]]&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Diskussion:HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=20666</id>
		<title>Diskussion:HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Diskussion:HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=20666"/>
		<updated>2017-03-09T20:33:18Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: Anpassung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;hmcontrol: Hallo, bei mir gibt es unter Jessy kein serial1 und auch kein ttyS0. Auch liefert unter Jessie (raspbian-lite) das ls auf &amp;lt;nowiki&amp;gt;ttyAMA0 andere Werte:&lt;br /&gt;
pi@raspberrypi:/opt/fhem $ ls -l /dev/ttyAMA0&lt;br /&gt;
crw--w---- 1 root tty 204, 64 Mär  7 20:17 /dev/ttyAMA0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da für ttyAMA0 nicht die Gruppe dialout, sondern die Gruppe tty benutzt wird, habe ich den User fhem der Gruppe hinzugefügt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;pi@raspberrypi:/opt/fhem $ sudo adduser fhem tty&lt;br /&gt;
Füge Benutzer »fhem« der Gruppe »tty« hinzu ...&lt;br /&gt;
Benutzer fhem wird zur Gruppe tty hinzugefügt.&lt;br /&gt;
Fertig.&lt;br /&gt;
pi@raspberrypi:/opt/fhem $ groups fhem&lt;br /&gt;
fhem : dialout tty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit konnten zwar Informationen via HM gelesen werden, aber senden funktionierte nicht. Daher habe ich die Gruppe für /dev/ttyAMA0 mit dem Befehl &amp;lt;nowiki&amp;gt;sudo chgrp tty /dev/ttyAMA0&amp;lt;/nowiki&amp;gt; die Gruppe auf tty geändert, fhem neugestartet und es ging.&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Diskussion:HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=20630</id>
		<title>Diskussion:HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Diskussion:HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=20630"/>
		<updated>2017-03-08T18:24:30Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: Eintrag angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;hmcontrol: Hallo, bei mir gibt es unter Jessy kein serial1 und auch kein ttyS0. Auch liefert unter Jessie (raspbian-lite) das ls auf &amp;lt;nowiki&amp;gt;ttyAMA0 andere Werte:&lt;br /&gt;
pi@raspberrypi:/opt/fhem $ ls -l /dev/ttyAMA0&lt;br /&gt;
crw--w---- 1 root tty 204, 64 Mär  7 20:17 /dev/ttyAMA0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da für ttyAMA0 nicht die Gruppe dialout, sondern die Gruppe tty benutzt wird, habe ich den User fhem der Gruppe hinzugefügt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;pi@raspberrypi:/opt/fhem $ sudo adduser fhem tty&lt;br /&gt;
Füge Benutzer »fhem« der Gruppe »tty« hinzu ...&lt;br /&gt;
Benutzer fhem wird zur Gruppe tty hinzugefügt.&lt;br /&gt;
Fertig.&lt;br /&gt;
pi@raspberrypi:/opt/fhem $ groups fhem&lt;br /&gt;
fhem : dialout tty&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Diskussion:HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=20218</id>
		<title>Diskussion:HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Diskussion:HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=20218"/>
		<updated>2017-02-23T20:49:01Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: serial nachfrage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hallo, bei mir gibt es unter Jessy kein serial1 und auch kein ttyS0. Das Modul funktioniert aber trotzdem.&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_auf_Raspberry_PI_mit_COC_betreiben&amp;diff=20210</id>
		<title>FHEM auf Raspberry PI mit COC betreiben</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_auf_Raspberry_PI_mit_COC_betreiben&amp;diff=20210"/>
		<updated>2017-02-23T17:39:42Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: sudo beim fhem stop hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um einen [[COC]] mit einem Raspberry Pi und FHEM zu nutzen sind mehrere Schnitte notwendig. Die folgende Anleitung zeigt diese entsprechend auf.&lt;br /&gt;
&lt;br /&gt;
== Vorausetzung ==&lt;br /&gt;
Erforderliche Hardware:&lt;br /&gt;
* [[Raspberry Pi]]&lt;br /&gt;
* Busware [[COC]]&lt;br /&gt;
&lt;br /&gt;
Erforderliche Software:&lt;br /&gt;
* Raspbian OS (Debian Wheezy Version June 2014, oder aktueller)&lt;br /&gt;
&lt;br /&gt;
Notwendige Vorbereitungen:&lt;br /&gt;
* Busware [[COC]] ist auf dem [[Raspberry Pi]] montiert&lt;br /&gt;
* [[Raspberry Pi]] ist per LAN Kabel an den Router angeschlossen und hat eine IP via DHCP bekommen und kann in das Internet (keine Firewall Restriktion)&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi Grundinstallation ==&lt;br /&gt;
# Die Beschreibung der Installation im nachfolgenden Abschnitt ist veraltet.&lt;br /&gt;
# Bitte immer zuerst http://fhem.de/fhem.html#Installation lesen!&lt;br /&gt;
# Eine Anleitung zur Grundinstallation des Raspberry Pi findet sich hier [[Raspberry_Pi]]. Die nachfolgenden Installationanleitung für das Grundsystem wird überarbeitet und ist nicht als Standardvariante zu verwenden!&lt;br /&gt;
&lt;br /&gt;
== FHEM Installieren ==&lt;br /&gt;
{{Randnotiz|RNTyp=Fehl|RNText=Diese Anleitung zur Installation von FHEM entspricht nicht dem aktuellen Stand. Dieser Abschnitt muss überarbeitet werden.&lt;br /&gt;
Hier wird die &amp;quot;manuelle&amp;quot; Installationsvariante von Fhem (11.-13.) angewendet. Mittlerweile ist auch die Installation aus einem [[Raspberry_Pi#Debian-Repository|Debian-Repository ]] möglich.}}&lt;br /&gt;
# Raspberry Pi booten&lt;br /&gt;
# Einloggen als User: pi mit dem Password: raspberry&lt;br /&gt;
# Danach sollte das Raspberry OS upgedatet werden: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y &amp;amp;&amp;amp; sudo apt-get autoremove -y &amp;amp;&amp;amp; sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
# nach dem neustart sollte auch kurz die Firmware aktuallisiert werden. Das geht wie folgt: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo apt-get install rpi-update&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo rpi-update&amp;lt;/code&amp;gt;&lt;br /&gt;
# Anschließend sollte der Raspberry PI neu gestarted werden mittels &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
# Danach muss die richtige Zeitzone für unseren RPI eingestellt werden, das geht mittels &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo dpkg-reconfigure tzdata&amp;lt;/code&amp;gt;&lt;br /&gt;
# Damit der RPI den gesamten Speicherplatz der SD-Karte nutzt, kann man (sofern noch nicht nach dem ersten Start getan) das Filesystem mit folgendem Menü erweitern&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
# Anschließend rebooten wir den RPI mittels &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
# Einloggen als User: Pi mit dem Password: Raspberry&lt;br /&gt;
# Da wir davon ausgehen das wir FHEM mit Zeitprofilen verwenden werden ist das korrekte Datum sehr wichtig. Daher installieren wir einen NTP Client, der die Zeit aktuell hält und richten ihn für Deutschland ein. Dies geht wie folgt: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo apt-get install ntpdate&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo ntpdate -u de.pool.ntp.org&amp;lt;/code&amp;gt;&lt;br /&gt;
# Da der FHEM auf Perl basiert müssen jetzt die notwendigen Packete installiert werden:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo apt-get -f install &amp;amp;&amp;amp; sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl -y&amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt können wir FHEM herunterladen und zwischenspeichern: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo wget http://fhem.de/fhem-5.7.deb -O /tmp/fhem-5.7.deb&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt; Es ist darüber hinaus sinvoll kurz zu kontrollieren, ob die Version aktuell ist. Das kann auf der FHEM Webseite http://fhem.de/fhem.html getan werden.&lt;br /&gt;
# Anschließend kann FHEM installiert werden:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo dpkg -i /tmp/fhem-5.7.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
# Da FHEM automatisch gestarted hat, müssen wir ihn jetzt kurz beenden via:&amp;lt;code&amp;gt;sudo /etc/init.d/fhem stop&amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt müssen wir noch die Rechte des FHEM Verzeichnisses anpassen.&amp;lt;br&amp;gt;Dafür vergeben wir auf alle Dateien unter /opt/fhem Schreibrechte&amp;lt;code&amp;gt;sudo chmod -R a+w /opt/fhem&amp;lt;/code&amp;gt; (Bedenken gegen diese Rechtevergabe und Alternative: {{Link2Forum|Topic=39353|Message=320936}})&lt;br /&gt;
# Nun fügen wir die Benutzer pi und fhem der Gruppe tty hinzu (Zugriffsrechte auf Serial- und USB-Ports)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo usermod -aG tty pi &amp;amp;&amp;amp; sudo usermod -aG tty fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt müssen wir den Speicherort des Logfiles anpassen. Dafür editieren wir die FHEM config via &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;nano /opt/fhem/fhem.cfg&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;und ändern alle einträge der art &amp;quot;./log/&amp;quot; nach &amp;quot;/opt/fhem/log&amp;quot;&lt;br /&gt;
# Jetzt starten wir FHEM kurz neu &amp;lt;code&amp;gt;/etc/init.d/fhem stop&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/etc/init.d/fhem start&amp;lt;/code&amp;gt;&lt;br /&gt;
# Anschließend können wir uns über &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://&amp;lt;dieRaspberryIP&amp;gt;:8083/fhem&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; am FHEM anmelden. In der Dialogbox oben geben wir nun folgendes ein, um FHEM zu aktualisieren &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;attr global sendStatistics onUpdate&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; und wenn uns FHEM nach einem Neustart fragt, kommen wir dem mittels &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; nach.&lt;br /&gt;
&lt;br /&gt;
== COC in Betrieb nehmen ==&lt;br /&gt;
# Nun muss der serielle Port für den Raspberry freigegeben werden. &lt;br /&gt;
#* Dazu muss die Datei /etc/inittab mittels &amp;lt;code&amp;gt;sudo nano /etc/inittab&amp;lt;/code&amp;gt; angepasst werden und folgende Zeile löschen &amp;lt;code&amp;gt;T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100&amp;lt;/code&amp;gt; oder auskommentieren&lt;br /&gt;
#* Bei jessie: &amp;lt;br /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;sudo systemctl stop serial-getty@ttyAMA0.service&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;sudo systemctl disable serial-getty@ttyAMA0.service&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Anpassen der boot parameter&lt;br /&gt;
#* Dazu wird die Datei /boot/cmdline.txt bearbeitet. Sie wird mittels &amp;lt;code&amp;gt;sudo nano /boot/cmdline.txt&amp;lt;/code&amp;gt; editiert und Referenzen auf ttyAMA0 entfernt &amp;lt;code&amp;gt;console=ttyAMA0,115200 kgdboc=ttyAMA0,115200&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Bei jessie: Hier muss in der Datei /boot/config.txt der Wert &amp;lt;code&amp;gt;dtoverlay=pi3-miniuart-bt&amp;lt;/code&amp;gt; eingetragen werden. Die Datei /boot/cmdline.txt sollte so aussehen:&amp;lt;br /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait&amp;lt;/code&amp;gt;&lt;br /&gt;
# Damit der COC beim Start vom FHEM initialisiert wird, muss die /etc/init.d/fhem editiert werden. Dies machen wir mittels &amp;lt;code&amp;gt;sudo nano /etc/init.d/fhem&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;und fügen unterhalb von &amp;quot;Start)&amp;quot; folgendes in die Datei ein &amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;echo &amp;quot;resetting 868MHz extension...&amp;quot; &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	if test ! -d /sys/class/gpio/gpio17; then echo 17 &amp;gt; /sys/class/gpio/export; fi &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	if test ! -d /sys/class/gpio/gpio18; then echo 18 &amp;gt; /sys/class/gpio/export; fi &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	echo out &amp;gt; /sys/class/gpio/gpio17/direction &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	echo out &amp;gt; /sys/class/gpio/gpio18/direction &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	echo 1 &amp;gt; /sys/class/gpio/gpio18/value &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	echo 0 &amp;gt; /sys/class/gpio/gpio17/value &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	sleep 1 &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	echo 1 &amp;gt; /sys/class/gpio/gpio17/value &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	sleep 1 &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;Achtung: Nach einem Update von FHEM könnte diese Datei überschrieben werden. Dann muss die Änderung oben wieder hinzugefügt werden.&lt;br /&gt;
# nun wird der COC in die Fhem [[Konfiguration]] eingefügt. Dafür wird (z.B., aber nicht die empfohlene Vorgehensweise) die Konfigurationsdatei editiert: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;quot;sudo nano /opt/fhem/fhem.cfg&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;und ganz zum Schluss folgendes hinzugefügt: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;quot;define COC CUL /dev/ttyAMA0@38400 1234&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun wird der Raspberry PI vollständig neu gestarted &amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
# Der Raspberry PI sollte nun via auto detect die Komponenten auffinden&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_auf_Raspberry_PI_mit_COC_betreiben&amp;diff=20209</id>
		<title>FHEM auf Raspberry PI mit COC betreiben</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_auf_Raspberry_PI_mit_COC_betreiben&amp;diff=20209"/>
		<updated>2017-02-23T17:37:41Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: fhem-5.7.deb&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um einen [[COC]] mit einem Raspberry Pi und FHEM zu nutzen sind mehrere Schnitte notwendig. Die folgende Anleitung zeigt diese entsprechend auf.&lt;br /&gt;
&lt;br /&gt;
== Vorausetzung ==&lt;br /&gt;
Erforderliche Hardware:&lt;br /&gt;
* [[Raspberry Pi]]&lt;br /&gt;
* Busware [[COC]]&lt;br /&gt;
&lt;br /&gt;
Erforderliche Software:&lt;br /&gt;
* Raspbian OS (Debian Wheezy Version June 2014, oder aktueller)&lt;br /&gt;
&lt;br /&gt;
Notwendige Vorbereitungen:&lt;br /&gt;
* Busware [[COC]] ist auf dem [[Raspberry Pi]] montiert&lt;br /&gt;
* [[Raspberry Pi]] ist per LAN Kabel an den Router angeschlossen und hat eine IP via DHCP bekommen und kann in das Internet (keine Firewall Restriktion)&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi Grundinstallation ==&lt;br /&gt;
# Die Beschreibung der Installation im nachfolgenden Abschnitt ist veraltet.&lt;br /&gt;
# Bitte immer zuerst http://fhem.de/fhem.html#Installation lesen!&lt;br /&gt;
# Eine Anleitung zur Grundinstallation des Raspberry Pi findet sich hier [[Raspberry_Pi]]. Die nachfolgenden Installationanleitung für das Grundsystem wird überarbeitet und ist nicht als Standardvariante zu verwenden!&lt;br /&gt;
&lt;br /&gt;
== FHEM Installieren ==&lt;br /&gt;
{{Randnotiz|RNTyp=Fehl|RNText=Diese Anleitung zur Installation von FHEM entspricht nicht dem aktuellen Stand. Dieser Abschnitt muss überarbeitet werden.&lt;br /&gt;
Hier wird die &amp;quot;manuelle&amp;quot; Installationsvariante von Fhem (11.-13.) angewendet. Mittlerweile ist auch die Installation aus einem [[Raspberry_Pi#Debian-Repository|Debian-Repository ]] möglich.}}&lt;br /&gt;
# Raspberry Pi booten&lt;br /&gt;
# Einloggen als User: pi mit dem Password: raspberry&lt;br /&gt;
# Danach sollte das Raspberry OS upgedatet werden: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y &amp;amp;&amp;amp; sudo apt-get autoremove -y &amp;amp;&amp;amp; sudo reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
# nach dem neustart sollte auch kurz die Firmware aktuallisiert werden. Das geht wie folgt: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo apt-get install rpi-update&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo rpi-update&amp;lt;/code&amp;gt;&lt;br /&gt;
# Anschließend sollte der Raspberry PI neu gestarted werden mittels &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
# Danach muss die richtige Zeitzone für unseren RPI eingestellt werden, das geht mittels &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo dpkg-reconfigure tzdata&amp;lt;/code&amp;gt;&lt;br /&gt;
# Damit der RPI den gesamten Speicherplatz der SD-Karte nutzt, kann man (sofern noch nicht nach dem ersten Start getan) das Filesystem mit folgendem Menü erweitern&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
# Anschließend rebooten wir den RPI mittels &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
# Einloggen als User: Pi mit dem Password: Raspberry&lt;br /&gt;
# Da wir davon ausgehen das wir FHEM mit Zeitprofilen verwenden werden ist das korrekte Datum sehr wichtig. Daher installieren wir einen NTP Client, der die Zeit aktuell hält und richten ihn für Deutschland ein. Dies geht wie folgt: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo apt-get install ntpdate&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo ntpdate -u de.pool.ntp.org&amp;lt;/code&amp;gt;&lt;br /&gt;
# Da der FHEM auf Perl basiert müssen jetzt die notwendigen Packete installiert werden:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo apt-get -f install &amp;amp;&amp;amp; sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl -y&amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt können wir FHEM herunterladen und zwischenspeichern: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo wget http://fhem.de/fhem-5.7.deb -O /tmp/fhem-5.7.deb&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt; Es ist darüber hinaus sinvoll kurz zu kontrollieren, ob die Version aktuell ist. Das kann auf der FHEM Webseite http://fhem.de/fhem.html getan werden.&lt;br /&gt;
# Anschließend kann FHEM installiert werden:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo dpkg -i /tmp/fhem-5.7.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
# Da FHEM automatisch gestarted hat, müssen wir ihn jetzt kurz beenden via:&amp;lt;code&amp;gt;/etc/init.d/fhem stop&amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt müssen wir noch die Rechte des FHEM Verzeichnisses anpassen.&amp;lt;br&amp;gt;Dafür vergeben wir auf alle Dateien unter /opt/fhem Schreibrechte&amp;lt;code&amp;gt;sudo chmod -R a+w /opt/fhem&amp;lt;/code&amp;gt; (Bedenken gegen diese Rechtevergabe und Alternative: {{Link2Forum|Topic=39353|Message=320936}})&lt;br /&gt;
# Nun fügen wir die Benutzer pi und fhem der Gruppe tty hinzu (Zugriffsrechte auf Serial- und USB-Ports)&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sudo usermod -aG tty pi &amp;amp;&amp;amp; sudo usermod -aG tty fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
# Jetzt müssen wir den Speicherort des Logfiles anpassen. Dafür editieren wir die FHEM config via &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;nano /opt/fhem/fhem.cfg&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;und ändern alle einträge der art &amp;quot;./log/&amp;quot; nach &amp;quot;/opt/fhem/log&amp;quot;&lt;br /&gt;
# Jetzt starten wir FHEM kurz neu &amp;lt;code&amp;gt;/etc/init.d/fhem stop&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/etc/init.d/fhem start&amp;lt;/code&amp;gt;&lt;br /&gt;
# Anschließend können wir uns über &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://&amp;lt;dieRaspberryIP&amp;gt;:8083/fhem&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; am FHEM anmelden. In der Dialogbox oben geben wir nun folgendes ein, um FHEM zu aktualisieren &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;attr global sendStatistics onUpdate&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; und wenn uns FHEM nach einem Neustart fragt, kommen wir dem mittels &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; nach.&lt;br /&gt;
&lt;br /&gt;
== COC in Betrieb nehmen ==&lt;br /&gt;
# Nun muss der serielle Port für den Raspberry freigegeben werden. &lt;br /&gt;
#* Dazu muss die Datei /etc/inittab mittels &amp;lt;code&amp;gt;sudo nano /etc/inittab&amp;lt;/code&amp;gt; angepasst werden und folgende Zeile löschen &amp;lt;code&amp;gt;T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100&amp;lt;/code&amp;gt; oder auskommentieren&lt;br /&gt;
#* Bei jessie: &amp;lt;br /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;sudo systemctl stop serial-getty@ttyAMA0.service&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;sudo systemctl disable serial-getty@ttyAMA0.service&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Anpassen der boot parameter&lt;br /&gt;
#* Dazu wird die Datei /boot/cmdline.txt bearbeitet. Sie wird mittels &amp;lt;code&amp;gt;sudo nano /boot/cmdline.txt&amp;lt;/code&amp;gt; editiert und Referenzen auf ttyAMA0 entfernt &amp;lt;code&amp;gt;console=ttyAMA0,115200 kgdboc=ttyAMA0,115200&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Bei jessie: Hier muss in der Datei /boot/config.txt der Wert &amp;lt;code&amp;gt;dtoverlay=pi3-miniuart-bt&amp;lt;/code&amp;gt; eingetragen werden. Die Datei /boot/cmdline.txt sollte so aussehen:&amp;lt;br /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait&amp;lt;/code&amp;gt;&lt;br /&gt;
# Damit der COC beim Start vom FHEM initialisiert wird, muss die /etc/init.d/fhem editiert werden. Dies machen wir mittels &amp;lt;code&amp;gt;sudo nano /etc/init.d/fhem&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;und fügen unterhalb von &amp;quot;Start)&amp;quot; folgendes in die Datei ein &amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;echo &amp;quot;resetting 868MHz extension...&amp;quot; &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	if test ! -d /sys/class/gpio/gpio17; then echo 17 &amp;gt; /sys/class/gpio/export; fi &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	if test ! -d /sys/class/gpio/gpio18; then echo 18 &amp;gt; /sys/class/gpio/export; fi &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	echo out &amp;gt; /sys/class/gpio/gpio17/direction &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	echo out &amp;gt; /sys/class/gpio/gpio18/direction &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	echo 1 &amp;gt; /sys/class/gpio/gpio18/value &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	echo 0 &amp;gt; /sys/class/gpio/gpio17/value &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	sleep 1 &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	echo 1 &amp;gt; /sys/class/gpio/gpio17/value &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;&amp;lt;code&amp;gt;	sleep 1 &amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;!-- &lt;br /&gt;
--&amp;gt;Achtung: Nach einem Update von FHEM könnte diese Datei überschrieben werden. Dann muss die Änderung oben wieder hinzugefügt werden.&lt;br /&gt;
# nun wird der COC in die Fhem [[Konfiguration]] eingefügt. Dafür wird (z.B., aber nicht die empfohlene Vorgehensweise) die Konfigurationsdatei editiert: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;quot;sudo nano /opt/fhem/fhem.cfg&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;und ganz zum Schluss folgendes hinzugefügt: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;quot;define COC CUL /dev/ttyAMA0@38400 1234&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Nun wird der Raspberry PI vollständig neu gestarted &amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
# Der Raspberry PI sollte nun via auto detect die Komponenten auffinden&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Luxtronik_1_in_FHEM&amp;diff=18732</id>
		<title>Luxtronik 1 in FHEM</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Luxtronik_1_in_FHEM&amp;diff=18732"/>
		<updated>2017-01-21T17:06:08Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Features / Funktionen ==&lt;br /&gt;
Die Luxtronik 1.0 ist eine Heizungssteuerung, die in Wärmepumpen von Alpha Innotec, Siemens und Novelan verbaut ist. Ihr fehlt ein Ethernet Anschluss, so dass sie über die vorhandene RS232-Schnittstelle integriert werden muss. Sie ist die Vorgängerversion der LAN-fähigen [[Luxtronik 2.0]], für die ein FHEM-Modul existiert.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Falls es besondere Einschränkungen / Voraussetzungen, etc. gibt...&lt;br /&gt;
# Die Wärmepumpe kann nur über die serielle Schnittstelle angesprochen werden.&lt;br /&gt;
# Derzeit wird nur das Auslesen der Konfiguration und Werte unterstützt.&lt;br /&gt;
&lt;br /&gt;
== Verbindung herstellen ==&lt;br /&gt;
Damit man die Schnittstelle - die insbesondere für Wartungszwecke da ist - nutzen kann, musst du die nachfolgenden Schritte durchführen.&lt;br /&gt;
=== Schnittstelle freigeben ===&lt;br /&gt;
Unter &#039;&#039;Einstellungen --&amp;gt; Datenzugang&#039;&#039; die PIN 9445 für den Kundendienstzugang eingeben und bestätigen. Es passiert erstmal nix, es sind jetzt aber weitere Menüs erreichbar. Unter &#039;&#039;Einstellungen --&amp;gt; Diagnose&#039;&#039; Standard auswählen. Damit ist die Schnittstelle freigegeben.&lt;br /&gt;
=== Kabel anschließen ===&lt;br /&gt;
Jetzt geht es an die Wärmepumpe, diese öffnen. Bei meiner Alpha Innotec ist die Steuerung an der linken Seite hinter einer Metallabdeckung. Dort sieht es dann so aus:&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Luxtronik1-kabel-anschliessen.jpg]] &lt;br /&gt;
&lt;br /&gt;
Der rote Pfeil zeigt den seriellen Anschluss, hier muss das Kabel eingesteckt werden.&lt;br /&gt;
=== Das Kabel ===&lt;br /&gt;
Es gibt leider viele verschiedene Kabelbelegungen. Daher ist es am einfachsten sich ein Kabel selbst zu löten. Drei PINs müssen verbunden sein: 5 (GND), 3 (TX) und 2(RX). Auf beiden Seiten sind die Anschlüsse gleich, es ist ein 1:1-Kabel, also keine Drehung von 2 auf 3 o.Ä.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Luxtronik1-serielles-kabel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Das Bild zeigt ein gelötetes Kabel am USB-RS23-Adapter.&lt;br /&gt;
=== Der RS232-USB-Adapter ===&lt;br /&gt;
In meinem Fall war das ein USB-Seriell-Adapter (Typ Targus PA088E bzw MCT U232 - gibt es für 13 € bei Ebay. Software ist von MCT.com.tw und läuft bei mir unter Win10 und Win7/64Bit). Andere Adapter sollten genauso funktionieren, wenn es Treiber dafür gibt.&lt;br /&gt;
&lt;br /&gt;
Der FHEM läuft bei mir auf einem BananPi, für den RaspberryPi sollte das selbe gelten. Steckt man den Adapter ein, wird er erkannt. Man kann das leicht mit dem Befehl &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; prüfen.&lt;br /&gt;
&lt;br /&gt;
Nach Eingabe des Befehls &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt; sieht man, wie das Gerät eingebunden ist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[278127.624239] mct_u232 ttyUSB0: MCT U232 converter now disconnected from ttyUSB0&lt;br /&gt;
[278127.632780] mct_u232 3-1:1.0: device disconnected&lt;br /&gt;
[278206.689646] ehci_irq: port change detect&lt;br /&gt;
[278206.912197] ehci_irq: port change detect&lt;br /&gt;
[278206.972264] The port change to OHCI now!&lt;br /&gt;
[278207.277779] usb 3-1: new full-speed USB device number 4 using sw-ohci&lt;br /&gt;
[278207.474278] usb 3-1: New USB device found, idVendor=0711, idProduct=0230&lt;br /&gt;
[278207.486502] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3&lt;br /&gt;
[278207.493495] usb 3-1: Product: Targus Group Intl&lt;br /&gt;
[278207.503430] usb 3-1: Manufacturer: Targus Group Intl&lt;br /&gt;
[278207.509376] usb 3-1: SerialNumber: 489991&lt;br /&gt;
[278207.520277] mct_u232 3-1:1.0: MCT U232 converter detected&lt;br /&gt;
[278207.530816] usb 3-1: MCT U232 converter now attached to ttyUSB0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wichtig ist die Information welches Devices das nun ist &amp;quot;attached to...&amp;quot;, hier &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Einstellungen der seriellen Schnittstelle ===&lt;br /&gt;
Anders, als ich zunächst dachte funktioniert eine Verbindung mit der Standardrate 9.600 Baud nicht. Die richtigen Einstellungen sind:&lt;br /&gt;
  * 57600 baud&lt;br /&gt;
  * 8 Bit&lt;br /&gt;
  * 1 Stopbit&lt;br /&gt;
  * kein Paritätsbit&lt;br /&gt;
  * Xon/Xoff Flusskontrolle&lt;br /&gt;
&lt;br /&gt;
==== Minicom (Linux) ====&lt;br /&gt;
Damit man ausprobieren kann, ob bis hierher alles funktioniert, kann man das Terminalprogramm minicom (für Linuxkonsolen) verwenden. Der Befehl &amp;lt;code&amp;gt;sudo apt-get install minicom&amp;lt;/code&amp;gt; installiert das Programm. Unter &amp;lt;code&amp;gt;/etc/minicom&amp;lt;/code&amp;gt; liegt die Datei minirc.dfl, diese enthält bei mir folgende Einstellungen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Machine-generated file - use &amp;quot;minicom -s&amp;quot; to change parameters.&lt;br /&gt;
pu port             /dev/ttyUSB0&lt;br /&gt;
pu baudrate         57600&lt;br /&gt;
pu bits             8&lt;br /&gt;
pu parity           N&lt;br /&gt;
pu stopbits         1&lt;br /&gt;
pu rtscts           No&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== PuTTY (Windows/Linux) ====&lt;br /&gt;
Wer den ersten Test von Windows oder der grafischen Konsole von Linux machen will, der kann [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] verwenden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Luxtronik1_putty.png]]&lt;br /&gt;
&lt;br /&gt;
Ihr müsst dann unter Sessions von &amp;quot;ssh&amp;quot; auf &amp;quot;serial&amp;quot; umstellen. COM1 stimmt natürlich auch nur, wenn es bei euch ebenfalls COM1 ist, dies könnt ihr im Geräte-Manager prüfen.&lt;br /&gt;
&lt;br /&gt;
=== Verbindungstest ===&lt;br /&gt;
Der spannende Moment, wenn ihr alles richtig gemacht habt, könnt ihr nun mit der Luxtronik 1 kommunzieren. Für den ersten Test unterstelle ich, dass ihr entweder PuTTY oder Minicom verwendet.&lt;br /&gt;
Wenn ihr nun Enter drückt, bekommt ihr ein freundliches &amp;lt;code&amp;gt;777&amp;lt;/code&amp;gt; zurück. Gebt ihr &amp;lt;code&amp;gt;1800&amp;lt;/code&amp;gt; ein, kommt eine ganze Seite von Zahlen zurück. Super.&lt;br /&gt;
&lt;br /&gt;
== FHEM-Modul Luxtronik1 ==&lt;br /&gt;
Leider gibt es kein offizielles FHEM-Modul Luxtronik1 :-(&lt;br /&gt;
&lt;br /&gt;
Todo: Wo bekommt man das inoffizielle Modul her?&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Keine&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* heatpumpctl [https://github.com/christophgysin/heatpumpctl/tree/master/doc Dokumentation der Schnittstelle + C-Sourcen]&lt;br /&gt;
* Hoerndlein [http://www.hoerndlein.de/cms/index.php/luxtronik-1 Perl-Modul]&lt;br /&gt;
* Forumsdiskussion [https://forum.fhem.de/index.php?topic=29740.0]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Luxtronik_1_in_FHEM&amp;diff=18731</id>
		<title>Luxtronik 1 in FHEM</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Luxtronik_1_in_FHEM&amp;diff=18731"/>
		<updated>2017-01-21T16:52:57Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Features / Funktionen ==&lt;br /&gt;
Die Luxtronik 1.0 ist eine Heizungssteuerung, die in Wärmepumpen von Alpha Innotec, Siemens und Novelan verbaut ist. Ihr fehlt ein Ethernet Anschluss, so dass sie über die vorhandene RS232-Schnittstelle integriert werden muss. Sie ist die Vorgängerversion der LAN-fähigen [[Luxtronik 2.0]], für die ein FHEM-Modul existiert.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Falls es besondere Einschränkungen / Voraussetzungen, etc. gibt...&lt;br /&gt;
# Die Wärmepumpe kann nur über die serielle Schnittstelle angesprochen werden.&lt;br /&gt;
# Derzeit wird nur das Auslesen der Konfiguration und Werte unterstützt.&lt;br /&gt;
&lt;br /&gt;
== Verbindung herstellen ==&lt;br /&gt;
Damit man die Schnittstelle - die insbesondere für Wartungszwecke da ist - nutzen kann, musst du die nachfolgenden Schritte durchführen.&lt;br /&gt;
=== Schnittstelle freigeben ===&lt;br /&gt;
Unter &#039;&#039;Einstellungen --&amp;gt; Datenzugang&#039;&#039; die PIN 9445 für den Kundendienstzugang eingeben und bestätigen. Es passiert erstmal nix, es sind jetzt aber weitere Menüs erreichbar. Unter &#039;&#039;Einstellungen --&amp;gt; Diagnose&#039;&#039; Standard auswählen. Damit ist die Schnittstelle freigegeben.&lt;br /&gt;
=== Kabel anschließen ===&lt;br /&gt;
Jetzt geht es an die Wärmepumpe, diese öffnen. Bei meiner Alpha Innotec ist die Steuerung an der linken Seite hinter einer Metallabdeckung. Dort sieht es dann so aus:&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Luxtronik1-kabel-anschliessen.jpg]] &lt;br /&gt;
&lt;br /&gt;
Der rote Pfeil zeigt den seriellen Anschluss, hier muss das Kabel eingesteckt werden.&lt;br /&gt;
=== Das Kabel ===&lt;br /&gt;
Es gibt leider viele verschiedene Kabelbelegungen. Daher ist es am einfachsten sich ein Kabel selbst zu löten. Drei PINs müssen verbunden sein: 5 (GND), 3 (TX) und 2(RX). Auf beiden Seiten sind die Anschlüsse gleich, es ist ein 1:1-Kabel, also keine Drehung von 2 auf 3 o.Ä.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Luxtronik1-serielles-kabel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Das Bild zeigt ein gelötetes Kabel am USB-RS23-Adapter.&lt;br /&gt;
=== Der RS232-USB-Adapter ===&lt;br /&gt;
In meinem Fall war das ein USB-Seriell-Adapter (Typ Targus PA088E bzw MCT U232 - gibt es für 13 € bei Ebay. Software ist von MCT.com.tw und läuft bei mir unter Win10 und Win7/64Bit). Andere Adapter sollten genauso funktionieren, wenn es Treiber dafür gibt.&lt;br /&gt;
&lt;br /&gt;
Der FHEM läuft bei mir auf einem BananPi, für den RaspberryPi sollte das selbe gelten. Steckt man den Adapter ein, wird er erkannt. Man kann das leicht mit dem Befehl &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; prüfen.&lt;br /&gt;
&lt;br /&gt;
Nach Eingabe des Befehls &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt; sieht man, wie das Gerät eingebunden ist:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
[278127.624239] mct_u232 ttyUSB0: MCT U232 converter now disconnected from ttyUSB0&lt;br /&gt;
[278127.632780] mct_u232 3-1:1.0: device disconnected&lt;br /&gt;
[278206.689646] ehci_irq: port change detect&lt;br /&gt;
[278206.912197] ehci_irq: port change detect&lt;br /&gt;
[278206.972264] The port change to OHCI now!&lt;br /&gt;
[278207.277779] usb 3-1: new full-speed USB device number 4 using sw-ohci&lt;br /&gt;
[278207.474278] usb 3-1: New USB device found, idVendor=0711, idProduct=0230&lt;br /&gt;
[278207.486502] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3&lt;br /&gt;
[278207.493495] usb 3-1: Product: Targus Group Intl&lt;br /&gt;
[278207.503430] usb 3-1: Manufacturer: Targus Group Intl&lt;br /&gt;
[278207.509376] usb 3-1: SerialNumber: 489991&lt;br /&gt;
[278207.520277] mct_u232 3-1:1.0: MCT U232 converter detected&lt;br /&gt;
[278207.530816] usb 3-1: MCT U232 converter now attached to ttyUSB0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wichtig ist die Information welches Devices das nun ist &amp;quot;attached to...&amp;quot;, hier &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Einstellungen der seriellen Schnittstelle ===&lt;br /&gt;
Anders, als ich zunächst dachte funktioniert eine Verbindung mit der Standardrate 9.600 Baud nicht. Die richtigen Einstellungen sind:&lt;br /&gt;
  * 57600 baud&lt;br /&gt;
  * 8 Bit&lt;br /&gt;
  * 1 Stopbit&lt;br /&gt;
  * kein Paritätsbit&lt;br /&gt;
  * Xon/Xoff Flusskontrolle&lt;br /&gt;
&lt;br /&gt;
==== Minicom (Linux) ====&lt;br /&gt;
Damit man ausprobieren kann, ob bis hierher alles funktioniert, kann man das Terminalprogramm minicom (für Linuxkonsolen) verwenden. Der Befehl &amp;lt;code&amp;gt;sudo apt-get install minicom&amp;lt;/code&amp;gt; installiert das Programm. Unter &amp;lt;code&amp;gt;/etc/minicom&amp;lt;/code&amp;gt; liegt die Datei minirc.dfl, diese enthält bei mir folgende Einstellungen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
# Machine-generated file - use &amp;quot;minicom -s&amp;quot; to change parameters.&lt;br /&gt;
pu port             /dev/ttyUSB0&lt;br /&gt;
pu baudrate         57600&lt;br /&gt;
pu bits             8&lt;br /&gt;
pu parity           N&lt;br /&gt;
pu stopbits         1&lt;br /&gt;
pu rtscts           No&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== PuTTY (Windows/Linux) ====&lt;br /&gt;
Wer den ersten Test von Windows oder der grafischen Konsole von Linux machen will, der kann [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] verwenden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Luxtronik1_putty.png]]&lt;br /&gt;
&lt;br /&gt;
Ihr müsst dann unter Sessions von &amp;quot;ssh&amp;quot; auf &amp;quot;serial&amp;quot; umstellen. COM1 stimmt natürlich auch nur, wenn es bei euch ebenfalls COM1 ist, dies könnt ihr im Geräte-Manager prüfen.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Keine&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* heatpumpctl [https://github.com/christophgysin/heatpumpctl/tree/master/doc Dokumentation der Schnittstelle + C-Sourcen]&lt;br /&gt;
* Hoerndlein [http://www.hoerndlein.de/cms/index.php/luxtronik-1 Perl-Modul]&lt;br /&gt;
* Forumsdiskussion [https://forum.fhem.de/index.php?topic=29740.0]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Datei:Luxtronik1_putty.png&amp;diff=18730</id>
		<title>Datei:Luxtronik1 putty.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Datei:Luxtronik1_putty.png&amp;diff=18730"/>
		<updated>2017-01-21T16:50:40Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Datei:Luxtronik1-serielles-kabel.jpg&amp;diff=18729</id>
		<title>Datei:Luxtronik1-serielles-kabel.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Datei:Luxtronik1-serielles-kabel.jpg&amp;diff=18729"/>
		<updated>2017-01-21T16:10:41Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: Belegung des 1:1 Kabel für die Luxtronik 1.0 Anbindung.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Belegung des 1:1 Kabel für die Luxtronik 1.0 Anbindung.&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Datei:Luxtronik1-kabel-anschliessen.jpg&amp;diff=18728</id>
		<title>Datei:Luxtronik1-kabel-anschliessen.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Datei:Luxtronik1-kabel-anschliessen.jpg&amp;diff=18728"/>
		<updated>2017-01-21T15:56:22Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: Serielle Schnittstelle der Luxtronik 1.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Serielle Schnittstelle der Luxtronik 1.0&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Luxtronik_1_in_FHEM&amp;diff=18727</id>
		<title>Luxtronik 1 in FHEM</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Luxtronik_1_in_FHEM&amp;diff=18727"/>
		<updated>2017-01-21T15:55:02Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: Die Seite wurde neu angelegt: „== Features / Funktionen == Die Luxtronik 1.0 ist eine Heizungssteuerung, die in Wärmepumpen von Alpha Innotec, Siemens und Novelan verbaut ist. Ihr fehlt ein…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Features / Funktionen ==&lt;br /&gt;
Die Luxtronik 1.0 ist eine Heizungssteuerung, die in Wärmepumpen von Alpha Innotec, Siemens und Novelan verbaut ist. Ihr fehlt ein Ethernet Anschluss, so dass sie über die vorhandene RS232-Schnittstelle integriert werden muss. Sie ist die Vorgängerversion der LAN-fähigen [[Luxtronik 2.0]], für die ein FHEM-Modul existiert.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Falls es besondere Einschränkungen / Voraussetzungen, etc. gibt...&lt;br /&gt;
# Die Wärmepumpe kann nur über die serielle Schnittstelle angesprochen werden.&lt;br /&gt;
# Derzeit wird nur das Auslesen der Konfiguration und Werte unterstützt.&lt;br /&gt;
&lt;br /&gt;
== Verbindung herstellen ==&lt;br /&gt;
Damit man die Schnittstelle - die insbesondere für Wartungszwecke da ist - nutzen kann, musst du die nachfolgenden Schritte durchführen.&lt;br /&gt;
=== Schnittstelle freigeben ===&lt;br /&gt;
Unter &#039;&#039;Einstellungen --&amp;gt; Datenzugang&#039;&#039; die PIN 9445 für den Kundendienstzugang eingeben und bestätigen. Es passiert erstmal nix, es sind jetzt aber weitere Menüs erreichbar. Unter &#039;&#039;Einstellungen --&amp;gt; Diagnose&#039;&#039; Standard auswählen. Damit ist die Schnittstelle freigegeben.&lt;br /&gt;
=== Kabel anschließen ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Keine&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* heatpumpctl [https://github.com/christophgysin/heatpumpctl/tree/master/doc Dokumentation der Schnittstelle + C-Sourcen]&lt;br /&gt;
* Hoerndlein [http://www.hoerndlein.de/cms/index.php/luxtronik-1 Perl-Modul]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Anwendungsszenarien&amp;diff=18725</id>
		<title>Anwendungsszenarien</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Anwendungsszenarien&amp;diff=18725"/>
		<updated>2017-01-21T15:17:36Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Seite stellt eine &amp;quot;redaktionell bearbeitete&amp;quot; Liste von Anwendungsszenarien dar. Weitere, ähnliche  Aufstellungen finden sich in den Kategorielisten &lt;br /&gt;
* [[:Kategorie:Examples|Examples]] für komplette Beispiele&lt;br /&gt;
* [[:Kategorie:Code Snippets|Code Snippets]] für kleine Schnipsel mit einzelnen Befehlen und/oder Definitionen&lt;br /&gt;
* und auf der Seite &amp;quot;[[Wie kann ich...]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Finden sich hier Links auf Forenbeiträge oder externe Seiten, so sind diese als &amp;quot;gewünschte Seite&amp;quot; zu interpretieren.&lt;br /&gt;
&lt;br /&gt;
== Szenarien ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | &amp;lt;!-- Spalte 1 (links) --&amp;gt;&lt;br /&gt;
* (Haus-)Informations- und Steuerzentrale&lt;br /&gt;
** Mittels [[RSS]] generiertes Übersichtsbild (ausführlicher Workshop verfügbar)&lt;br /&gt;
** Digitaler Bilderrahmen mit [[Digitaler Bilderrahmen | eingeblendeten FHEM-Daten]] oder zur [[Digitaler_Bilderrahmen_mit_lcd4linux| Anzeige von FHEM-Grafiken]]&lt;br /&gt;
** [[Statusdisplay Fritzbox 7390]]&lt;br /&gt;
** [[Kindle_Display]] (Fhem Informationen als Screensaver)&lt;br /&gt;
&lt;br /&gt;
* Telefon &lt;br /&gt;
** [[Telefonat als Auslöser für Aktionen]]&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Rollladensteuerung&lt;br /&gt;
** [[Jalousie und Beleuchtung in mehreren Räumen]]&lt;br /&gt;
** [[Slider für HM-Rolladensteuerung anzeigen]]&lt;br /&gt;
** [[Rolladensteuerung mit FS20SM8]]&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Heizungssteuerung&lt;br /&gt;
** [[Grundlagen der Heizungssteuerung]]&lt;br /&gt;
** [[Heizungskontrolle Einfach]] (Englische Version: [[Heating Control Basic]])&lt;br /&gt;
** [[Junkers Therme Stetigregelung]]&lt;br /&gt;
** Heizungssteuerung mit [[HCS]] und/oder [[Heating Control]]&lt;br /&gt;
** 3/4-Wege-Mischer-Steuerung mit [[STELLMOTOR]]: [[Mischersteuerung]]&lt;br /&gt;
** Vorlauf-Energiebedarf mit [[VALVES]]: [[Raumbedarfsabhängige Heizungssteuerung]]&lt;br /&gt;
** Heizungsoptimierung (Mischer, Pumpe) [[Heizung:_Verbrauchsoptimierung,_Radiator/Fußboden-Steuerung]]&lt;br /&gt;
** [[Luxtronik 1 in FHEM]] einbinden&lt;br /&gt;
&lt;br /&gt;
* Balkon und Garten&lt;br /&gt;
** [[Bewässerungssteuerung]] &lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Lüftung und Klima&lt;br /&gt;
** [[Energiesparende Schimmelbekämpfung / Luftentfeuchtung in kritischen Räumen‎]]&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Auto, Verkehr&lt;br /&gt;
** [[Spritpreismonitor]] sammelt und visualisiert die Preisentwicklung an ausgewählten Tankstellen&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | &amp;lt;!-- Spalte 2 (rechts) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Finanzen&lt;br /&gt;
** [[STOCKQUOTES|Wertpapierkurse verfolgen/protokollieren]]&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Helligkeitsgeführte Steuerung&lt;br /&gt;
** [[Twilight Anwendungsbeispiel]]&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Terminerinnerungen, Kalenderintegration&lt;br /&gt;
** Erinnerung an Müllabfuhr, etc.: {{Link2Forum|Topic=26209|LinkText=Forenthema}} und ein {{Link2Forum|Topic=32382|LinkText=weiteres Forenthema}}&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Zugriff auf FHEM &amp;quot;von außen&amp;quot;&lt;br /&gt;
** [[FritzBox Webzugriff absichern]]&lt;br /&gt;
** [[FB7390 VPN-Zugang einrichten]]&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Anwesenheitssimulation / -steuerung&lt;br /&gt;
** [[Anwesenheitserkennung]]&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Zugangskontrolle, Fenster, Tür und Tor&lt;br /&gt;
** [[DoorPi_und_FHEM | Türsprechstelle mit DoorPi]]&lt;br /&gt;
** [[Garagentorsteuerung]]&lt;br /&gt;
** {{Link2Forum|Topic=11715|LinkText=Zugangskontrolle mit Keymatic, Fingerabdruck, RFID}} (Forum; sollte noch ins Wiki integriert werden)&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* (Video-)Überwachung&lt;br /&gt;
** Einbindung von (Web-)Cam Bildern / Streams&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Energieverbrauch / -erzeugung&lt;br /&gt;
** [[Ertragsmessung Solarthermie]]&lt;br /&gt;
** [[Heizleistung und Gasverbrauch]]&lt;br /&gt;
&lt;br /&gt;
* Rundfunk / Fernsehen / Multimedia&lt;br /&gt;
** {{Link2Forum|Topic=28123|LinkText=Aktuelles TV-Programm}} auflisten (Forenthema)&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* Sonstiges&lt;br /&gt;
** [[Watchdog kombiniert mit Threshold|Auf ausbleibende Aktionen oder Ereignisse reagieren]]&lt;br /&gt;
** mit Fhem realisierte [[Zeitschaltuhr]]&lt;br /&gt;
** [[Temperaturfarbe | Temperatur in Farbe]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sofern hier statt Verweisen auf andere Wiki-Seiten Forenthemen verlinkt sind, sind alle Wiki-Schreiber herzlich eingeladen, die Informationen aus dem Forum in einer (neuen) Wiki-Seite zu konsolidieren.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Examples]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-Sec-SCo_T%C3%BCr-Fensterkontakt,_optisch&amp;diff=18724</id>
		<title>HM-Sec-SCo Tür-Fensterkontakt, optisch</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-Sec-SCo_T%C3%BCr-Fensterkontakt,_optisch&amp;diff=18724"/>
		<updated>2017-01-21T15:10:34Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=HM-SEC-SCo.jpg&lt;br /&gt;
|Bildbeschreibung=HomeMatic Tür-Fensterkontakt, optisch&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Sensor&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868MHz&lt;br /&gt;
|HWChannels=1&lt;br /&gt;
|HWVoltage=1,5 V DC&lt;br /&gt;
|HWPowerConsumption=max. 100 mA&lt;br /&gt;
|HWPoweredBy=Batterie (1x 1,5V LR03/Micro/AAA)&lt;br /&gt;
|HWSize=15x100x18mm&lt;br /&gt;
|HWDeviceFHEM=[[CUL_HM]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[HomeMatic]] Funk-Tür-/Fensterkontakt zur optischen Erkennung von Tür- bzw. Fensteröffnungen oder -schließungen, z.B. zur Sicherheit oder um automatisch, bei vorhandenem [[HM-CC-RT-DN]], die Heizung herunter zu regeln, sobald ein Fenster oder eine Tür geöffnet wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweis ==&lt;br /&gt;
Das meiste zum [[HM-SEC-SC Tür-Fensterkontakt|HM-SEC-SC]] Beschriebene zur Nutzung gilt auch für den HM-Sec-SCo.&lt;br /&gt;
&lt;br /&gt;
Wird mit aktiviertem [[AES Encryption|AES]] ausgeliefert und kann nur mit Gateways, die AES unterstützen, gepaired werden ([[HM-CFG-USB USB Konfigurations-Adapter|HM-LAN-CFG]], [[HM-CFG-LAN LAN Konfigurations-Adapter|HM-USB-CFG]] und [[CUL]] (seit Juli 2015)).&lt;br /&gt;
&lt;br /&gt;
Mindestens bei Benutzung mit einem CUL (vermutlich auch via HM-CFG-USB und HM-CFG-LAN) muss FHEM auf das Perl-Modul Crypt::Rijndael zugreifen können. Wenn es nicht zur Verfügung steht, bleibt das Pairing unvollständig. Siehe auch [[AES_Encryption#IO &amp;lt;-&amp;gt; Gerät|den Abschnitt über AES-Encryption zwischen IO-Device und Gerät]].&lt;br /&gt;
&lt;br /&gt;
== Betrieb mit FHEM ==&lt;br /&gt;
=== Event-Monitor ===&lt;br /&gt;
Wird z. B. das Fenster geöffnet, wird Folgendes vom Gerät übermittelt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG trigger_cnt: 11&lt;br /&gt;
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG trigDst_2573FB: noConfig&lt;br /&gt;
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG battery: ok&lt;br /&gt;
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG open&lt;br /&gt;
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG contact: open (to MyHMLAN)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Schließen wird Folgendes übermittelt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG trigger_cnt: 12&lt;br /&gt;
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG trigDst_2573FB: noConfig&lt;br /&gt;
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG battery: ok&lt;br /&gt;
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG closed&lt;br /&gt;
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG contact: closed (to MyHMLAN)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&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 nur&lt;br /&gt;
* das Funkmodul mit einer 8-poligen Stiftleiste&lt;br /&gt;
* der Batteriekontakt (Minuspol) mit einem kurzen Drahtstück&lt;br /&gt;
[[Datei:HM-Sec-SCo_Basisplatine.jpg|mini|250px|Markiert: Antennendurchführung (1), Batterieanschluss (2), sehr schmaler Platinensteg (3)]]&lt;br /&gt;
an der Basisplatine anzulöten.&lt;br /&gt;
Zu beachten ist noch, dass die Antenne &#039;&#039;&#039;vor&#039;&#039;&#039; dem Auflöten des Funkmoduls durch das markierte Loch der Basisplatine geführt werden muss.&lt;br /&gt;
&lt;br /&gt;
Die fertig montierte Platine muss sich leicht in das Gehäuse einsetzen lassen, anderenfalls wird der schmale Platinensteg u.U. zu stark belastet und kann brechen!&lt;br /&gt;
&#039;&#039;&#039;Bauzeit&#039;&#039;&#039;: &amp;lt;&amp;amp;nbsp;15&amp;amp;nbsp;Minuten&lt;br /&gt;
}}&lt;br /&gt;
Bei eingeschaltetem [[autocreate]] werden die erforderlichen Definitionen beim Pairen selbstständig erstellt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define HM_Fensterstatus_BadEG CUL_HM 35E390&lt;br /&gt;
attr HM_Fensterstatus_BadEG IODev MyHMLAN&lt;br /&gt;
attr HM_Fensterstatus_BadEG actCycle 000:50&lt;br /&gt;
attr HM_Fensterstatus_BadEG actStatus dead&lt;br /&gt;
attr HM_Fensterstatus_BadEG autoReadReg 4_reqStatus&lt;br /&gt;
attr HM_Fensterstatus_BadEG expert 2_full&lt;br /&gt;
attr HM_Fensterstatus_BadEG firmware 1.0&lt;br /&gt;
attr HM_Fensterstatus_BadEG model HM-SEC-SCo&lt;br /&gt;
attr HM_Fensterstatus_BadEG peerIDs 00000000,&lt;br /&gt;
attr HM_Fensterstatus_BadEG room CUL_HM&lt;br /&gt;
attr HM_Fensterstatus_BadEG serialNr LEQxxxxxxx&lt;br /&gt;
attr HM_Fensterstatus_BadEG subType threeStateSensor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Aktionen durchführen, wenn Fenster zu lange geöffnet ist ===&lt;br /&gt;
==== DOIF-Variante ====&lt;br /&gt;
Mit der nachfolgenden [[DOIF]]-Definition wird ein [[FileLog|Log]]-Eintrag erzeugt, eine Meldung auf der [[Enigma2 Receiver (Dreambox, VUplus etc.) steuern|Dreambox]] angezeigt, falls diese angeschaltet ist, und eine Nachricht per Prowl (funktioniert vermutlich nur unter Linux) verschickt.&lt;br /&gt;
&lt;br /&gt;
Der Code ist hier so angegeben, wie er in der Weboberfläche nach einem Klick auf das [[Konfiguration|DEF-Feld]] übernommen werden kann. Das DOIF ist vorab zu definieren, zum Beispiel mit:&lt;br /&gt;
:&amp;lt;code&amp;gt;def DOIF_FensterOffenMsg DOIF ([HM_Fensterstatus_BadEG])&amp;lt;/code&amp;gt;&lt;br /&gt;
und kann dann anschließend in den Device-Details vervollständigt werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
([HM_Fensterstatus_BadEG] eq &amp;quot;open&amp;quot;) ({&lt;br /&gt;
       Log 1, &amp;quot;Fenster seit mehr als 2 Stunden (7200 Sekunden) offen&amp;quot;;;&lt;br /&gt;
       system( &amp;quot;/path/to/prowl.pl -apikeyfile=/path/to/prowl-apikey -event=Info -notification=&#039;Fenster ist noch offen&#039; &amp;amp;&amp;quot; );;&lt;br /&gt;
       fhem( &amp;quot;set E2_Dreambox showText Fenster ist noch offen&amp;quot; ) if ReadingsVal(&amp;quot;E2_Dreambox&amp;quot;,&amp;quot;state&amp;quot;,&amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;;;&lt;br /&gt;
       })&lt;br /&gt;
DOELSE&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit der Code-Block erst nach 7200 Sekunden getriggert wird, ist noch Folgendes auszuführen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr DOIF_FensterOffenMsg wait 7200:0&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Watchdog-Variante ====&lt;br /&gt;
Alternativ zu der DOIF-Lösung gibt es auch eine einfache Lösung mit [[Watchdog]]. Dazu legt ihr einen Watchdog an:&lt;br /&gt;
:&amp;lt;code&amp;gt;define watchdogBadEG watchdog HM_Fenster_BadEG:open 00:15 HM_Fenster_BadEG:closed set myTelegram message Das Fenster ist seit 15 min offen!&amp;lt;/code&amp;gt;&lt;br /&gt;
Der Watchdog besagt, dass er beim Status &amp;quot;open&amp;quot; des Gerätes/Devices &amp;quot;HM_Fenster_BadEG&amp;quot; (also dem Fenstersensor) aktiviert wird. Nach 15 Minuten schickt er eine Nachricht über [[Telegram]], es sei denn es kommt zwischenzeitlich der Statu &amp;quot;closed&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Anzeige des Zeitpunkts der letzten Öffnung im STATE ===&lt;br /&gt;
Das Reading &#039;&#039;contact&#039;&#039; beinhaltet die Zustände &#039;&#039;open&#039;&#039; und &#039;&#039;closed&#039;&#039;. Und der Zeitstempel der Änderung wird regelmäßig aktualisiert. Aus diesem Grund fällt die Nutzung des Attributs &#039;&#039;showtime&#039;&#039; hier weg. Wenigstens, wenn man nicht den Zeitpunkt des letzten Auslesens wissen will, sondern den der letzten Öffnung.&lt;br /&gt;
&lt;br /&gt;
Folgende Schreibweise ermöglicht es, dass im STATE-Internal der Zeitpunkt des letzten &#039;&#039;open&#039;&#039; verbleibt (zum Übernehmen als Einzeler kopieren):&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;attr Sensor stateFormat {if (ReadingsVal(&amp;quot;Sensor&amp;quot;,&amp;quot;contact&amp;quot;,&amp;quot;&amp;quot;) =~ &amp;quot;open.*&amp;quot;) {&amp;quot;open &amp;quot; . ReadingsTimestamp(&amp;quot;Sensor&amp;quot;,&amp;quot;contact&amp;quot;,&amp;quot;&amp;quot;)} else {InternalVal(&amp;quot;Sensor&amp;quot;,&amp;quot;STATE&amp;quot;,&amp;quot;&amp;quot;)}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Thread zu diesem Thema findet sich im Forum unter dem Titel {{Link2Forum|Topic=41347|LinkText=HM-SEC-SCo: Letzte Türöffnung im State anzeigen}}.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Teilweise (siehe Diskussion im {{Link2Forum|Topic=33264|LinkText=Forum}}) werden die Fensterkontakte regelmäßig wiederkehrend als &amp;quot;dead&amp;quot; angezeigt. Grund ist, dass beim Anlernen ein actCycle von 50 Minuten eingetragen wird, während die Kontakte auch gerne mal länger brauchen, um sich bei der Zentrale zu melden.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:500px;&amp;quot;&amp;gt;&lt;br /&gt;
2015-01-31_17:57:39 Fstr_AusgTerrasse alive: yes&lt;br /&gt;
2015-01-31_17:57:39 Fstr_AusgTerrasse battery: ok&lt;br /&gt;
2015-01-31_17:57:39 Fstr_AusgTerrasse sabotageError: off&lt;br /&gt;
2015-01-31_17:57:39 Fstr_AusgTerrasse closed&lt;br /&gt;
2015-01-31_17:57:39 Fstr_AusgTerrasse contact: closed (to HMLAN1)&lt;br /&gt;
2015-01-31_18:54:09 Fstr_AusgTerrasse Activity: dead&lt;br /&gt;
2015-01-31_18:58:03 Fstr_AusgTerrasse alive: yes&lt;br /&gt;
2015-01-31_18:58:03 Fstr_AusgTerrasse battery: ok&lt;br /&gt;
2015-01-31_18:58:03 Fstr_AusgTerrasse sabotageError: off&lt;br /&gt;
2015-01-31_18:58:03 Fstr_AusgTerrasse closed&lt;br /&gt;
2015-01-31_18:58:03 Fstr_AusgTerrasse contact: closed (to HMUSB)&lt;br /&gt;
2015-01-31_19:04:09 Fstr_AusgTerrasse Activity: alive&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um Abhilfe zu schaffen, den actCycle auf 01:05 setzen:&lt;br /&gt;
:&amp;lt;code&amp;gt;attr &amp;lt;HM-SEC-SCo&amp;gt; actCycle 001:05&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save config nicht vergessen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Anleitung [http://www.eq-3.de/Downloads/eq3/downloads_produktkatalog/homematic/bda/HM-Sec-SCo_UM_GE_eQ-3_web.pdf PDF]&lt;br /&gt;
* Datenblatt [http://www.eq-3.de/service/downloads.html?id=235&amp;amp;download=produkt&amp;amp;pid=1947 PDF] (der direkte Link auf das PDF klappt nicht, vermutlich wegen der Codierung des Umlautes :-( )&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Kontaktsensor (optisch)]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Diskussion:MAX&amp;diff=18719</id>
		<title>Diskussion:MAX</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Diskussion:MAX&amp;diff=18719"/>
		<updated>2017-01-21T12:55:30Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: /* Codeschnipsel für HomeMatic-Fenster im MAX-Artikel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hallo zusammen,&lt;br /&gt;
&lt;br /&gt;
so wie es aussieht, funktioniert die gplot Datei nicht mehr (warum auch immer). Ich versuche mal, eine neue zu bauen und werde Sie hier einstellen.&lt;br /&gt;
&lt;br /&gt;
Gruß PeMue&lt;br /&gt;
&lt;br /&gt;
== MAX! Komponenten ==&lt;br /&gt;
Sollte dies nicht eigentlich der Grundlagenartikel sein und die einzelnen Hardwarekomponenten eigene Artikel haben ähnlich wie die Struktur im Homematik-Bereich des Wikis angelegt ist?&lt;br /&gt;
&lt;br /&gt;
Ich besitze keine MAX!-Komponenten würde aber die Artikel anlegen und hier herausnehmen, wenn niemand dagegen spricht. Kommt erstmal auf meine ToDo-Liste, und ich frage vorher im Forum und/oder bei den Autoren nach... --[[Benutzer:Krokofant|Krokofant]] ([[Benutzer Diskussion:Krokofant|Diskussion]]) 13:11, 5. Dez. 2016 (CET)&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
:Ich würde jetzt hier nicht unbedingt eine Aufteilung in Einzelartikel erzwingen. Wenn jemand ein einzelnes Gerät genauer beschreiben will (z.B. weil er es besitzt), kann das gern ein eigener Artikel werden. Derzeit sehe ich den Bedarf nicht - und MAX! ist auch bei weitem nicht so komplex wie HomeMatic. --[[Benutzer:Ph1959de|Peter]] ([[Benutzer Diskussion:Ph1959de|Diskussion]]) 16:36, 5. Dez. 2016 (CET)&lt;br /&gt;
:: Stimmt schon. Ich versuche immer in Wikis eine einheitliche Struktur zu finden und diese dann fortzuschreiben. Und beim Komponentenkauf hätte ich jetzt fast übersehen, dass es den MAX!-Eco-Taster (in fhem) überhaupt gibt, weil er hier nur im Sammelartikel vorkommt. Wie wäre es denn mit &amp;lt;nowiki&amp;gt;#REDIRECT&amp;lt;/nowiki&amp;gt;-Artikeln zum entsprechenden Abschnitt im Sammelartikel? --[[Benutzer:Krokofant|Krokofant]] ([[Benutzer Diskussion:Krokofant|Diskussion]]) 19:53, 7. Dez. 2016 (CET)&lt;br /&gt;
&lt;br /&gt;
== Codeschnipsel für HomeMatic-Fenster im MAX-Artikel ==&lt;br /&gt;
Hier [[MAX#Telegram-Benachrichtigung_bei_dauerge.C3.B6ffnetem_Fenster]] wurden Code-Anpassungen für HomeMatic-Fensterkontakt mit dem Hinweis aufgenommen, dass der HomeMatic-Fensterkontakt baugleich zum MAX-Fensterkontakt ist. Das ist meiner Meinung nach nicht so.  Einen MAX-Fensterkontakt kann ich nicht mit HomeMatic-Protokoll ansprechen und umgekehrt. Daher ist die Ergänzung in diesem Artikel deplaziert und falsch. Zudem verwirrt dies. Plane daher das rückgängig zu machen und erbitte Kommentare.&lt;br /&gt;
Gruß, --[[Benutzer:Krikan|Christian]] ([[Benutzer Diskussion:Krikan|Diskussion]]) 12:29, 21. Jan. 2017 (CET)&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
:Hallo Christian - ist mir mit genau den gleichen Gedanken aufgefallen. Sollte da keine Erklärung / Erläuterung kommen, bin ich auch für &amp;quot;revert&amp;quot;. --[[Benutzer:Ph1959de|Peter]] ([[Benutzer Diskussion:Ph1959de|Diskussion]]) 12:43, 21. Jan. 2017 (CET)&lt;br /&gt;
::Ersteller der Änderung ist per PM informiert. --[[Benutzer:Krikan|Christian]] ([[Benutzer Diskussion:Krikan|Diskussion]]) 12:52, 21. Jan. 2017 (CET)&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
: Hallo, ich habe die Änderung gemacht. Ist der Status bei wirklich &amp;quot;opened&amp;quot; oder auch &amp;quot;open&amp;quot;? In letzterem Fall - hier geht es ja nur um den Watchdog! - ist meine Ergänzung natürlich überflüssig. Der Watchdog funktioniert natürlich unabhängig ob es MAX oder Homematic ist. Zum Thema baugleich: Sollte der Status bei MAX &amp;quot;opened&amp;quot; sein, schlage ich vor, dass ich es in &amp;quot;optisch ähnlich&amp;quot; ändere, das wollte ich ausdrücken. 13:55, 21.01.2017&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MAX&amp;diff=18714</id>
		<title>MAX</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MAX&amp;diff=18714"/>
		<updated>2017-01-21T09:43:54Z</updated>

		<summary type="html">&lt;p&gt;Hmcontrol: Status open für Homematic ergänzt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MAX!&#039;&#039;&#039; ist eine Heizungssteuerung, die die Raumtemperatur durch funkvernetzte Heizkörperthermostate an den Heizkörpern regelt. MAX! stellt eine Alternative zur [[:Kategorie:FHT Components|FHT]] und [[HomeMatic]] Heizungsteuerung dar.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Bidirektionale Kommuniktion (jeder Befehl wird mit ACK quittiert)&lt;br /&gt;
* Heizkörperthermostate übertragen auch die gemessene Temperatur&lt;br /&gt;
&lt;br /&gt;
== FHEM Module ==&lt;br /&gt;
Die MAX Komponenten können über den MAX!Cube per Modul 00_MAXLAN oder über einen [[CUL]] oder [[CUNO]] per 14_CUL_MAX gesteuert werden. In beiden Fällen werden die einzelnen MAX! Geräte vom Modul 10_MAX&lt;br /&gt;
bereitgestellt. Alternativ kann man nach [http://forum.fhem.de/index.php/topic,38404.0.html] einen MAX!CUBE als CUNO umflaschen.&lt;br /&gt;
&lt;br /&gt;
Nachteil vom Cube ist, dass man ein Polling machen muss, um zu sehen ob sich der Status eines Gerätes geändert hat. Z.B. checkt man das alle 30 Sekunden. Dann sieht man aber auch Änderungen möglicherweise erst nach 30 Sekunden. Beim CUL sieht man die Funknachrichten direkt. Es wird aber auch ein Kombimodus unterstützt, in welchem man alles über den MAXLAN steuert, der CUL_MAX aber für zeitnahe Benachrichtigungen sorgt.&lt;br /&gt;
&lt;br /&gt;
== Komponenten ==&lt;br /&gt;
=== Limit ===&lt;br /&gt;
* Auf 8 Thermostate pro Raum beschränkt&lt;br /&gt;
* Limit mit Cube liegt bei ca. 140 Geräten. Durch die [[1% Regel]] dürften es aber in der Praxis weniger sein&lt;br /&gt;
&lt;br /&gt;
=== Heizkörperthermostate ===&lt;br /&gt;
Unterstützt wird das Einstellen von&lt;br /&gt;
&lt;br /&gt;
* desiredTemperature = auto (Wochenprogramm), manuell (4.5 - 30.5), eco, comfort, boost, until&lt;br /&gt;
** (Besonderheit der Werte: 4.5 = Off und 30.5 = On)&lt;br /&gt;
* ecoTemperature, comfortTemperature, measurementOffset, maximumTemperature, minimumTemperature, windowOpenTemperature, windowOpenDuration&lt;br /&gt;
&lt;br /&gt;
und das Auslesen&lt;br /&gt;
&lt;br /&gt;
* der gemessenen Temperatur. (Hinweis: Wird bei Verwendung des MAX CUBE nicht regelmäßig aktualisiert)&lt;br /&gt;
&lt;br /&gt;
=== Fensterkontakte ===&lt;br /&gt;
Der aktuelle Status (offen/geschlossen) wird (praktisch ohne Verzögerung) angezeigt.&lt;br /&gt;
&lt;br /&gt;
Falls wir nicht mit Ack antworten, wird er mehrmals wiederholt.&lt;br /&gt;
&lt;br /&gt;
Die Fensterkontakte können zusätzlich direkt an mehrere Heizkörperthermostate angelernt werden, und versetzen diese dann automatisch in windowOpenTemperature während sie geöffnet sind.&lt;br /&gt;
&lt;br /&gt;
Wenn der Fensterkontakt an mindestens ein Heizkörperthermostat angelernt ist, dann sendet er zusätzlich stündlich seinen aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel Autocreate&#039;&#039;&#039;&lt;br /&gt;
 MAXLAN_Parse: Paired new device, type ShutterContact, addr 1a2b3c, serial JEQ0123456&lt;br /&gt;
 autocreate: define MAX_1a2b3c MAX ShutterContact 1a2b3c&lt;br /&gt;
 autocreate: define FileLog_MAX_1a2b3c FileLog /fhem/log/MAX_1a2b3c-%Y.log MAX_1a2b3c&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel Definition&#039;&#039;&#039;&lt;br /&gt;
 define MAX_1a2b3c MAX ShutterContact 1a2b3c&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel Log&#039;&#039;&#039;&lt;br /&gt;
 ==&amp;gt; MAX_1a2b3c-2013.log &amp;lt;==&lt;br /&gt;
 2013-10-20_18:52:08 MAX_1a2b3c battery: ok&lt;br /&gt;
 2013-10-20_18:52:08 MAX_1a2b3c onoff: 0&lt;br /&gt;
 2013-10-20_18:52:08 MAX_1a2b3c closed&lt;br /&gt;
&lt;br /&gt;
=== Wandthermostate ===&lt;br /&gt;
Unterstützt wird das Einstellen von&lt;br /&gt;
&lt;br /&gt;
* desiredTemperature (siehe Heizkörperthermostate), ecoTemperature, comfortTemperature&lt;br /&gt;
&lt;br /&gt;
und das Auslesen&lt;br /&gt;
&lt;br /&gt;
* der gemessenen Temperatur.&lt;br /&gt;
&lt;br /&gt;
=== Eco-Taster ===&lt;br /&gt;
&#039;&#039;&#039;Achtung&#039;&#039;&#039;: Zumindest über MAXLAN lässt sich der Zustand weder auslesen, noch wird man über Veränderungen informiert.&lt;br /&gt;
&lt;br /&gt;
Per CUL_MAX funktioniert der Eco-Taster problemlos.&lt;br /&gt;
&lt;br /&gt;
==== Beispielhafte Definition ====&lt;br /&gt;
:&amp;lt;code&amp;gt;define BUTTON.EG MAX PushButton 069d33&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Beispielhafte Event-Ausgabe ====&lt;br /&gt;
&lt;br /&gt;
 2013-07-02 21:06:14 MAX BUTTON.EG battery: ok&lt;br /&gt;
 2013-07-02 21:06:14 MAX BUTTON.EG onoff: 0&lt;br /&gt;
 2013-07-02 21:06:14 MAX BUTTON.EG closed&lt;br /&gt;
&lt;br /&gt;
Wobei gilt&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! onoff !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Eco&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Auto&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Anlernen per CUL ==&lt;br /&gt;
Das Anlernen funktioniert nur mit zurückgesetzen (Werksreset, also entweder alle 3 Tasten am Heizkörperthermostate betätigen, Batterien einlegen, Anzeige rES; oder in FHEM set factoryReset) Heizkörperthermostaten. Bereits an einen Cube angelernte Heizungsregler können &#039;&#039;&#039;nicht&#039;&#039;&#039; an ein CUL angemeldet werden, hier ist dann nur das &amp;quot;mitlesen&amp;quot; der Funkbotschaften möglich.&lt;br /&gt;
 &lt;br /&gt;
Info: Durch den Reset geht auch ein evtl. per Cube eingestelltes Automatikprogramm verloren.&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
Siehe [http://fhem.de/commandref.html#CUL_MAX commandref].&lt;br /&gt;
&lt;br /&gt;
Die Module sind so konzipiert, dass man die offizielle Max! Software nicht benutzen muss. Man kann alles aus FHEM heraus machen. Nachdem das MAXLAN oder CUL_MAX Modul konfiguriert wurden (siehe unten), werden bereits gepairte Geräte automatisch erkannt.&lt;br /&gt;
&lt;br /&gt;
=== MAXLAN ===&lt;br /&gt;
Minimale Konfiguration:&lt;br /&gt;
:&amp;lt;code&amp;gt;define ml MAXLAN 192.168.178.2&amp;lt;/code&amp;gt;&lt;br /&gt;
wobei 192.168.178.2 die IP des MAX! Cube ist. Das MAXLAN-Modul findet selbstständig bereits gepairte Geräte und trägt diese in die Konfigurationsdatei fhem.cfg ein. Diese können dann im WEB-Interface mittels „alias“ einen eindeutigen Namen bekommen.&lt;br /&gt;
&lt;br /&gt;
=== CUL_MAX ===&lt;br /&gt;
Minimale Konfiguration:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define CUL0 CUL /dev/ttyACM0@9600 0000&lt;br /&gt;
 attr CUL0 rfmode MAX&lt;br /&gt;
 define cm CUL_MAX 123456&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlernen ===&lt;br /&gt;
Dazu muss der &amp;quot;pairmode&amp;quot; auf MAXLAN mit&lt;br /&gt;
:&amp;lt;code&amp;gt;set ml pairmode&amp;lt;/code&amp;gt;&lt;br /&gt;
bzw. bei CUL_MAX mit&lt;br /&gt;
:&amp;lt;code&amp;gt;set cm pairmode&amp;lt;/code&amp;gt;&lt;br /&gt;
oder über das Web-Interface aktiviert werden. Falls kein Parameter angegeben wird, ist er standardmäßig für 60 Sekunden aktiviert. In dieser Zeit können MAX! Geräte nach deren Anleitung in den Anlernmodus versetzt werden, um sie mit FHEM zu pairen.&lt;br /&gt;
&lt;br /&gt;
=== Geräte untereinander anlernen ===&lt;br /&gt;
Die MAX-Devices können direkt untereinander angelernt werden. Dazu gibt es den &amp;quot;associate&amp;quot;-Befehl in FHEM, mit dem die Geräte untereinander&lt;br /&gt;
angelernt werden. Er muss in jede Richtung einmal verwendet werden, also sowohl z.B. Fensterkontakt an Thermostat wie auch umgekehrt.&lt;br /&gt;
Also&lt;br /&gt;
:&amp;lt;code&amp;gt;set Heizthermostat1 associate Fensterkontakt1&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Fensterkontakt1 associate Heizthermostat1&amp;lt;/code&amp;gt;&lt;br /&gt;
Während Wand- und Heizkörperthermostat stets empfangsbereit sind, benötigt der Fensterkontakt zum &amp;quot;Wecken&amp;quot; einen Schaltvorgang&lt;br /&gt;
des Reed-Relays (Fenster öffnen oder schließen). Von einer eventuellen Log-Meldung&lt;br /&gt;
:&amp;lt;code&amp;gt;There is a packet for ShutterContact Fensterkontakt1 in queue. Please push the button on the respective ShutterContact so the packet can be send.&amp;lt;/code&amp;gt;&lt;br /&gt;
bitte nicht verwirren lassen: Den Anlern-Button auf der Rückseite zu drücken, wäre völlig falsch! Sofern das Paring erfolgreich war, sich im Logfile aber diese&lt;br /&gt;
Meldung trotzdem alle 3 Sekunden wiederholt, hilft ein Restart von FHEM.&lt;br /&gt;
&lt;br /&gt;
Jetzt wechselt Heizthermostat1 immer dann auf die windowOpenTemperature, wenn der Fensterkontakt1 offen ist. Dabei muss die groupId von beiden Geräte nicht gleich sein.&lt;br /&gt;
&lt;br /&gt;
Ebenso können Wand- mit Heizkörperthermostaten gekoppelt werden. Temperaturänderung am Wandthermostaten werden so an den / die Heizkörper gesendet. &lt;br /&gt;
Allerdings leitet das Wandthermostat nur Änderungen weiter, die am Wandgerät selbst (manuell) vorgenommen wurden. Wer also via FHEM die &amp;lt;code&amp;gt;desiredTemperature&amp;lt;/code&amp;gt; an den&lt;br /&gt;
Wandthermostaten sendet, verändert damit weder direkt noch indirekt die Einstellung der assoziierten Heizkörper, sondern muss auch an diese Heizkörper senden.&lt;br /&gt;
&lt;br /&gt;
=== Temperatursturzerkennung ===&lt;br /&gt;
Die Heizkörperthermostate verfügen über eine interne &amp;quot;Fenster-offen Erkennung&amp;quot; (Temperatursturzerkennung). Wird diese ausgelöst, regeln sie für die Zeit die unter &amp;quot;windowOpenDuration&amp;quot; festgelegt wurde auf die als &amp;quot;windowOpenTemperature&amp;quot; festgelegt Temperatur herunter und danach wieder auf die zuvor eingestellte Temperatur zurück.&lt;br /&gt;
&lt;br /&gt;
Nachteil: Die Erkennung benötigt etwas Zeit und reagiert nicht sofort wie es beim Fensterkontakt oben der Fall ist&lt;br /&gt;
&lt;br /&gt;
Vorteil: Es ist kein Fensterkontakt erforderlich&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig:&#039;&#039;&#039; Setzt man die windowOpenTemperature auf &amp;quot;Off&amp;quot; (= 4.5 Grad), dann ist die Fenster-offen-Funktion abgeschaltet. Und auch wenn die desiredTemperature gerade auf &amp;quot;On&amp;quot; (= 30.5 Grad&amp;quot;) steht, geht der Heizkörper nicht in die Fenster-offen-Funktion.&lt;br /&gt;
&lt;br /&gt;
=== Telegram-Benachrichtigung bei dauergeöffnetem Fenster ===&lt;br /&gt;
Einen schönen Einstieg in die Event- und Watchdog-Verarbeitung von FHEM bildet die zeitversetzte Benachrichtigung per Telegram, wenn&lt;br /&gt;
das Fenster länger offen stehen gelassen wurde.&lt;br /&gt;
&lt;br /&gt;
Ist ein Telegram-Bot eingerichtet (siehe [[TelegramBot]], und der Default-Peer gesetzt, so&lt;br /&gt;
reicht ein&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt; define w1 watchdog Fensterkontakt1:opened 00:12 Fensterkontakt1:closed set Telegram message Das Fenster ist seit 12 min offen!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
um pünktlich nach 12 Minuten eine Erinnerungs-Nachricht zu erhalten: Penetrant und schnell wie SMS, kostenlos wie Mail!&lt;br /&gt;
&lt;br /&gt;
Bei den baugleichen Fensterkontakten aus dem Homematic-Programm (HM-SEC-SCo) heißt der Status &amp;quot;open&amp;quot; (nicht opened), daher muss der o.g. Watchdog wie folgt aussehen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt; define w1 watchdog Fensterkontakt1:open 00:12 Fensterkontakt1:closed set Telegram message Das Fenster ist seit 12 min offen!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Externer Sensor für Fenster-offen-Erkennung ===&lt;br /&gt;
&#039;&#039;&#039;Achtung&#039;&#039;&#039;: Wird nur von CUL_MAX unterstützt!&lt;br /&gt;
&lt;br /&gt;
Ziel dieses Abschnittes ist es, einen externen Sensor (z.B. 1-Wire o.ä.) zu benutzen, um die MAX Heizkörperthermostate in und aus dem Fenster-offen Modus zu holen. Dazu sei bereits ein CUL, ein CUL_MAX und ein MAX Heizkörper definiert:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define CUL0 CUL /dev/ttyACM0@9600 0000&lt;br /&gt;
 define cm CUL_MAX 123456&lt;br /&gt;
 define Heizung MAX HeatingThermostat abcdef&lt;br /&gt;
 attr Heizung IODev cm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir müssen einmalig den internen Fake-Fensterkontakt mit dem Heizkörper assozieren&lt;br /&gt;
:&amp;lt;code&amp;gt;set Heizung associate fakeShutterContact&amp;lt;/code&amp;gt;&lt;br /&gt;
damit dieser die Nachrichten vom Fensterkontakt akzeptiert.&lt;br /&gt;
&lt;br /&gt;
Nun können wir per &lt;br /&gt;
:&amp;lt;code&amp;gt;set cm fakeSC Heizung 1&amp;lt;/code&amp;gt;&lt;br /&gt;
die Nachricht &amp;quot;Fenster offen&amp;quot; an die Heizung senden und per&lt;br /&gt;
:&amp;lt;code&amp;gt;set cm fakeSC Heizung 0&amp;lt;/code&amp;gt;&lt;br /&gt;
die Nachricht &amp;quot;Fenster zu&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Externer Temperatursensor für Heizkörperregelung ===&lt;br /&gt;
&#039;&#039;&#039;Achtung&#039;&#039;&#039;: Wird nur von CUL_MAX unterstützt!&lt;br /&gt;
&lt;br /&gt;
Ziel dieses Abschnittes ist es, einen externen Sensor (z.B. 1-Wire o.ä.) zu benutzen, um die MAX Heizkörperthermostate zu regeln. Dazu sei bereits ein CUL, ein CUL_MAX und ein MAX Heizkörper definiert:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define CUL0 CUL /dev/ttyACM0@9600 0000&lt;br /&gt;
 define cm CUL_MAX 123456&lt;br /&gt;
 define Heizung MAX HeatingThermostat abcdef&lt;br /&gt;
 attr Heizung IODev cm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir müssen einmalig das interne Fake-Wandthermostat mit dem Heizkörper assozieren: &lt;br /&gt;
:&amp;lt;code&amp;gt;set Heizung associate fakeWallThermostat&amp;lt;/code&amp;gt;&lt;br /&gt;
damit dieser die Nachrichten vom Wandthermostat akzeptiert. Achtung: Dies schaltet im&lt;br /&gt;
Heizkörperthermostat die Regelung mit dem internen Temperaturfühler aus. Ohne die gleich kommenden &amp;quot;fakeWT&amp;quot; Nachrichten wird das Heizkörperthermostat nicht mehr regeln.&lt;br /&gt;
&lt;br /&gt;
Nun können wir per &lt;br /&gt;
:&amp;lt;code&amp;gt;set cm fakeWT Heizung 14.5 12.1&amp;lt;/code&amp;gt;&lt;br /&gt;
die desiredTemperature 14.5 und gemessene Temperatur 12.1 an die Heizung senden. Diese wird dann die Ventile öffnen, bis wir ein &amp;quot;fakeWT&amp;quot; absetzten, dessen gemessene Temperatur höher als die desiredTemperature ist.&lt;br /&gt;
&lt;br /&gt;
Falls man zu lange Zeit (ca. 30 Minuten) kein neues &amp;quot;fakeWT&amp;quot; sendet, wird bei der Heizung das Attribut rferror gleich 1. Es ist nicht klar, ob das neben diesem Attribut auch Auswirkung auf die Funktionalität hat. Es wurde beobachtet, dass dann der interne Temperatursensor bis zum nächsten FakeWT aktiviert wird.&lt;br /&gt;
&lt;br /&gt;
Beispiel eines automatischen Sendens einer externen Temperatur, der externe Temperatursensor heißt &amp;quot;WS300&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define SendExtTemp notify WS300:temperature.* {&lt;br /&gt;
 MaxFakeWallThermostat(&amp;quot;Heizung&amp;quot;,&amp;amp;#160;$EVTPART1);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu die Funktion, bitte in 99_MyUtils.pm eintragen:&lt;br /&gt;
&lt;br /&gt;
 sub MaxFakeWallThermostat($$)&lt;br /&gt;
 {&lt;br /&gt;
  my ($heizung, $aktTemp)    = @_;&lt;br /&gt;
  my $CULMAX     = $defs{$heizung}{LASTInputDev};&lt;br /&gt;
  my $desiredTemp   = ReadingsVal($heizung, &amp;quot;desiredTemperature&amp;quot;, undef);&lt;br /&gt;
  my $windowOpenTemp = ReadingsVal($heizung, &amp;quot;windowOpenTemperature&amp;quot;, undef);&lt;br /&gt;
  my $lastTemp    = ReadingsVal($heizung, &amp;quot;LastExtTemperature&amp;quot;, 0);&lt;br /&gt;
  my $lastSet     = ReadingsTimestamp($heizung, &amp;quot;LastExtTemperature&amp;quot;, 0);&lt;br /&gt;
  if($desiredTemp &amp;amp;amp;&amp;amp;amp; $windowOpenTemp &amp;amp;amp;&amp;amp;amp;&lt;br /&gt;
  $desiredTemp&amp;amp;#160;!= $windowOpenTemp &amp;amp;amp;&amp;amp;amp; &lt;br /&gt;
  (time()-time_str2num($lastSet) &amp;amp;gt;= 600 || abs($aktTemp-$lastTemp)&amp;amp;gt;=0.2 )) {&lt;br /&gt;
   Log 3, &amp;quot;set $CULMAX fakeWT $heizung $desiredTemp $aktTemp&amp;quot;;&lt;br /&gt;
   readingsSingleUpdate($defs{$heizung}, &amp;quot;LastExtTemperature&amp;quot;, $aktTemp, 0);&lt;br /&gt;
   fhem(&amp;quot;set $CULMAX fakeWT $heizung $desiredTemp $aktTemp&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel heißt das zu steuernde Thermostat &amp;quot;Heizung&amp;quot;. Die vom externen Sensor gemessene Temperatur wird nur unter den folgenden Voraussetzungen gesendet:&lt;br /&gt;
* das Thermostat befindet sich nicht im &amp;quot;Fenster-offen&amp;quot; Modus, und&lt;br /&gt;
* das letzte Senden liegt mindestens 10min zurück&lt;br /&gt;
* oder die gemessene Temperatur weicht um mindestens 0.2°C von der letzten gesendeten Temperatur ab&lt;br /&gt;
&lt;br /&gt;
=== Wochenheizplan für Wandthermostat/Ventilantriebe erstellen ===&lt;br /&gt;
Ein Heizplan, den das Wandthermostat und auch der Ventilantrieb versteht und speichern kann, sieht folgendermaßen aus:&lt;br /&gt;
:&amp;lt;code&amp;gt;set WZ_Wandthermostat weekProfile Mon 17,17:30,20,23:00,17 Tue 17,17:30,20,23:00,17 Wed 17,17:30,20,23:00,17 Thu 17,17:30,20,23:00,17 Fri 17,15:00,20,23:00,17 Sat 17,11:00,20,23:00,17 Sun 17,11:00,20,23:00,17&amp;lt;/code&amp;gt;&lt;br /&gt;
Genauer erläutert wird die Funktionsweise auch in der [http://fhem.de/commandref.html#MAX commandref].&lt;br /&gt;
&lt;br /&gt;
Der gesamte Block kann kopiert und als FHEM Befehl abgesetzt werden. Unter Umständen benötigt das Speichern bzw. Übertragen wegen der Größe etwas Zeit, bevor die aktuellen, neu gesetzten Werte wieder ausgelesen werden können.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bitte folgendes beachten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es gibt im Zusammenhang mit dem Wochenprogramm ein Problem mit dem letzten Schaltpunkt des Tages. &lt;br /&gt;
Der Workaround wurde  [http://forum.fhem.de/index.php/topic,17231.msg112738.html#msg112738 hier]&lt;br /&gt;
beschrieben.&lt;br /&gt;
Man muss dafür sorgen, dass man kurz vor Ende des Tages noch einen Schaltpunkt setzt! Bei mir hat sich ein Schaltpunkt (ohne Änderung der Soll-Temperatur) um 23:55 bewährt:&lt;br /&gt;
:&amp;lt;code&amp;gt;set WZ_Wandthermostat weekProfile Mon 17,17:30,20,22:00,17,23:55,17&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Werte Plotten ===&lt;br /&gt;
[[File:Plot_MAX_Beispiel.png|thumb|right|Plot eines MAX Heizkörperthermostates]]&lt;br /&gt;
In den Log-Dateien wird regelmäßig der Batteriestatus, die Soll-Temperatur, die Ventilstellung und die Ist-Temperatur (Vorsicht: Wird nicht zuverlässig, möglicherweise nur bei einer Änderung der Ventilstellung übertragen.)&lt;br /&gt;
&lt;br /&gt;
Inhalt der LOG-Datei eines Heizkörperthermostates:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;2012-12-30_08:55:31 MAX_018d3f battery: ok&lt;br /&gt;
2012-12-30_08:55:31 MAX_018d3f desiredTemperature: 19.5&lt;br /&gt;
2012-12-30_08:55:31 MAX_018d3f valveposition: 83&lt;br /&gt;
2012-12-30_08:55:31 MAX_018d3f temperature: 16.4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit folgender Plot-Datei (max_temp.gplot) kann der Verlauf der Sensordaten gut angezeigt werden. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set terminal png transparent size &amp;amp;lt;SIZE&amp;amp;gt; crop&lt;br /&gt;
set output &#039;&amp;amp;lt;OUT&amp;amp;gt;.png&#039;&lt;br /&gt;
set xdata time&lt;br /&gt;
set timefmt &amp;quot;%Y-%m-%d_%H:%M:%S&amp;quot;&lt;br /&gt;
set xlabel &amp;quot; &amp;quot;&lt;br /&gt;
set y2tics&lt;br /&gt;
set title &#039;&amp;amp;lt;L1&amp;amp;gt;&#039;&lt;br /&gt;
set grid xtics y2tics&lt;br /&gt;
set y2label &amp;quot;Temperatur in Grad Celsius&amp;quot;&lt;br /&gt;
set ylabel &amp;quot;Signal in&amp;amp;#160;%&amp;quot;&lt;br /&gt;
#FileLog 4:desiredTemperature:0:&lt;br /&gt;
#FileLog 4:temperature:0:&lt;br /&gt;
#FileLog 4:valveposition:0:&lt;br /&gt;
plot \&lt;br /&gt;
&amp;quot;&amp;amp;lt; egrep &#039;desiredTemperature&#039; &amp;amp;lt;IN&amp;amp;gt;&amp;quot;\&lt;br /&gt;
  using 1:4 axes x1y2 title &#039;Soll-Temperatur (C)&#039; with lines lw 2 \&lt;br /&gt;
&amp;quot;&amp;amp;lt; egrep &#039;temperature&#039; &amp;amp;lt;IN&amp;amp;gt;&amp;quot;\&lt;br /&gt;
  using 1:4 axes x1y2 title &#039;Ist-Temperatur(ungenau)(C)&#039; with lines lw 2 \&lt;br /&gt;
&amp;quot;&amp;amp;lt; egrep &#039;valveposition&#039; &amp;amp;lt;IN&amp;amp;gt;&amp;quot;\&lt;br /&gt;
  using 1:4 axes x1y1 title &#039;Ventil (%)&#039; with lines lw 2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Einbinden eines Plots in der fhem.cgf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#Werte plotten&lt;br /&gt;
define MAX_017840_weblink weblink fileplot FileLog_MAX_017840:max_temp:CURRENT&lt;br /&gt;
attr MAX_017840_weblink label &amp;quot;Kueche Soll-Temperatur Min $data{min1}, Max $data{max1}, Last $data{currval1}&amp;quot;&lt;br /&gt;
attr MAX_017840_weblink room MAX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche kleine Erweiterungen ===&lt;br /&gt;
&#039;&#039;&#039;Einen Alias-Namen vergeben für eine bessere Lesbarkeit im Webinterface&#039;&#039;&#039;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr MAX_018d3f alias Kueche&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die Anzeigen für die einzelnen File-Logs füllen das Webinterface schnell und machen es unübersichtlich.&#039;&#039;&#039; Die File-Logs können einfach in einen separaten Raum verbannt werden.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr FileLog_MAX_018d3f room LOG&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Einstellmöglichkeit für die Soll-Temperatur direkt in der „Raum-Seite“ schaffen.&#039;&#039;&#039; Die Temperatur wird dauerhaft auf einen bestimmten Wert gestellt. Das Wochenprogramm in dem Thermostat wird deaktiviert.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr MAX_018d3f webCmd desiredTemperature&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Soll-Temperatur setzen, ohne das automatische Programm des Thermostates abzuschalten.&#039;&#039;&#039;&lt;br /&gt;
Es besteht die Möglichkeit eine Soll-Temperatur bis zum nächsten Schaltzeitpunkt zu setzen. Zum Beispiel kann das automatische Wochenprogramm in den Thermostaten dazu genutzt werden, nur abends die Soll-Temperatur zu senken. So läuft die Heizung nachts nicht voll durch. Wenn jedoch die Temperatur im Web-Interface von Fhem verändert wird, wird auch der Thermostat auf manuell gesetzt. So greift das Wochenprogramm nicht mehr. Abhilfe schafft der Befehl &lt;br /&gt;
:&amp;lt;code&amp;gt;set MAX_04711 desiredTemperature auto 20&amp;lt;/code&amp;gt; &lt;br /&gt;
Damit die Eingabe komfortabel aus Fhem möglich ist, kann ein Dummy-Device erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#Dummy für die Schnell-Einstellung der Temperatur bis zum nächsten automatischen Schaltzeitpunkt&lt;br /&gt;
 define HeizkoerperBad dummy&lt;br /&gt;
 attr HeizkoerperBad room MAX,Heizungen&lt;br /&gt;
 attr HeizkoerperBad setList state:eco,auto,14.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0&lt;br /&gt;
 attr HeizkoerperBad webCmd state&lt;br /&gt;
 define HeizkoerperBad.ntfy notify HeizkoerperBad.* {\&lt;br /&gt;
  my $valtemp = &amp;quot;$EVENT&amp;quot;;;\&lt;br /&gt;
  my $device = &amp;quot;MAX_04711&amp;quot;;;\&lt;br /&gt;
  my $cmd = &#039;set &#039;.$device.&#039; desiredTemperature auto &#039;.$valtemp;;\&lt;br /&gt;
  fhem($cmd);;\&lt;br /&gt;
 }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Dieses Dummy-Device kann alternativ oder ergänzend zu &amp;lt;code&amp;gt;attr MAX_018d3f webCmd desiredTemperature&amp;lt;/code&amp;gt; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
=== IST-Temperaturwerte ===&lt;br /&gt;
[[File:Plot_MAX_Beispiel.png|thumb|right|Plot eines MAX Heizkörperthermostates]]&lt;br /&gt;
Diese Abbildung zeigt, dass die IST-Temperatur nicht regelmäßig dem MAX CUBE mitgeteilt wird. Im Automatikbetrieb wird bei einer Änderung der Ventilstellung die neue Ventilstellung zusammen mit der aktuellen IST-Temperatur gesendet. Bei der Abbildung war die Therme in der Nacht ausgeschaltet. Daraufhin sank die Temperatur soweit ab, dass das Heizungsthermostat das Ventil in Maximalstellung geöffnet hat. Gegen 08:50 wurde die Therme eingeschaltet und die Soll-Temperatur an diesem Heizungsthermostat erhöht. Während dieser ganzen Zeit erfolgt keine Aktualisierung der Ist-Temperatur. So kommt es auch gegen 10:30 zu einem sprunghaften Temperaturanstieg von 13,5°C auf 19°C (siehe Markierung *A).&lt;br /&gt;
&lt;br /&gt;
Die IST-Temperatur wird anscheinend aktualisiert bei einer Änderung der:&lt;br /&gt;
&lt;br /&gt;
* Ventilstellung&lt;br /&gt;
* Soll-Temperatur&lt;br /&gt;
* des Betriebsmodus (Auto/Manuell)&lt;br /&gt;
&lt;br /&gt;
Wer eine detaillierte Kurve wünscht, sollte sich den [[MAX! Temperatur-Scanner]] ansehen.&lt;br /&gt;
&lt;br /&gt;
=== MAXLAN ===&lt;br /&gt;
=== CUL_MAX ===&lt;br /&gt;
The Max devices use a CC1100 chip. For parameters see rf_moritz.c in culfw.&lt;br /&gt;
The thermostats use a Wake-On-Radio, thus one has to send packets at the right time.&lt;br /&gt;
&lt;br /&gt;
CC1100 initialization sequence on one of the max devices (not Cube) (format: addr value, both in hex):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;00 08&lt;br /&gt;
 02 46&lt;br /&gt;
 04 C6&lt;br /&gt;
 05 26&lt;br /&gt;
 0B 06&lt;br /&gt;
 10 C8 //MDMCFG4 DRATE_E=8&lt;br /&gt;
 11 93 //MDMCFG3 DRATE_M=147, data rate = (256+DRATE_M)*2^DRATE_E/2^28*f_xosc = (9992.599) 1kbit/s (at f_xosc=26 Mhz)&lt;br /&gt;
 12 03&lt;br /&gt;
 15 34&lt;br /&gt;
 17 00&lt;br /&gt;
 18 18&lt;br /&gt;
 19 16&lt;br /&gt;
 1B 43&lt;br /&gt;
 21 56&lt;br /&gt;
 25 00&lt;br /&gt;
 26 11&lt;br /&gt;
 0D 21&lt;br /&gt;
 0E 65&lt;br /&gt;
 0F 6A&lt;br /&gt;
 07 4C //PKTCTRL1: ADR_CHK=0 APPEND_STATUS=1 CRC_AUTOFLUSH=1 PQT=2 (preamble must have 8 toggling bits before sync word detection)&lt;br /&gt;
 16 1C //RXTIME=4&lt;br /&gt;
     RX_TIME_QUAL=1 (when rx timeout expires, keep receiving if either sync word is found or PQI is set (see PQT))&lt;br /&gt;
     RX_TIME_RSSI=1 (terminate RX if there is no carrier sense within the first 8 symbol periods)&lt;br /&gt;
 20 78 //WORCTRL, WOR_RES=00 (1.8-1.9 sec), RC_CAL=1, EVENT1=7 (48 ticks), RC_PD=0&lt;br /&gt;
 1E 87 //WOREVT1&lt;br /&gt;
 1F 6B //WOREVT0, i.e. EVENT0 = 34667&lt;br /&gt;
 29 59&lt;br /&gt;
 2C 81&lt;br /&gt;
 2D 35&lt;br /&gt;
 3E C3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Not set, i.e. factory defaults:&lt;br /&gt;
 13 MDMCFG1 NUM_PREAMBLE=2 (4 preamble bytes)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
From the configuration, we see that the&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;RC Oscillator: f_xosc/750 = 34666.66 Hz&lt;br /&gt;
 Event1 = Event1(=48 ticks)/RC Oscillator = 1.385 ms&lt;br /&gt;
 t_Event0 = 750/26Mhz * EVENT0 * 2^(5*WOR_RES) = 1.00 second&lt;br /&gt;
 C(RX_TIME, WOR_RES)= 0.2254&lt;br /&gt;
 rx timeout = EVENT0·C(RX_TIME, WOR_RES) ·26/X(=26) = 34667*0.2254 us = 7.8139 ms&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ShutterContact seems to always sleep. Thus it is necessary to trigger it manually (by opening/closing the window) to make it receive messages. Pushing the button may work to. It is also awake just after&lt;br /&gt;
pairing, so one may send messages right then. One can use the WakeUp message to keep it from sleeping for some time. (This is also the reason why in the official MAX software, one must trigger the ShutterContact&lt;br /&gt;
after removing it from the house. The &amp;quot;factoryReset&amp;quot; packet is sent directly after the &amp;quot;ShutterContactState&amp;quot; packet has been acked.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
=== Der Wandthermostat oder Heizthermostat reagieren nicht auf Änderungen über FHEM ===&lt;br /&gt;
Das Autocreate von FHEM erkennt, wenn aktiviert, die Geräte initial und legt auch Einträge an. Es fehlt aber noch das Pairing, da sonst keine Steuerung möglich ist!&lt;br /&gt;
Wenn im Log also Meldungen wie&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;2013.03.20 15:12:30 5: CUL_MAX_SendQueueHandler: 1 items in queue&lt;br /&gt;
 2013.03.20 15:12:30 5: CUL_MAX_SendQueueHandler: 1 items in queue&lt;br /&gt;
 2013.03.20 15:12:30 2: CUL_MAX_SendQueueHandler: Missing ack from 01c9bb for 0b05008212345601c9bb0000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
auftauchen (im Verbose Modus 5), dann wurde vermutlich kein oder ein inkorrektes Paring durchgeführt.&lt;br /&gt;
Nach dem Pairing sollten diese Meldungen verschwinden und stattdessen etwas wie&lt;br /&gt;
:&amp;lt;code&amp;gt;2013.03.20 15:21:43 5: Got matching ack&amp;lt;/code&amp;gt;&lt;br /&gt;
auftauchen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Kontaktsensor (magnetisch)]]&lt;br /&gt;
[[Kategorie:MAX]]&lt;br /&gt;
[[Kategorie:Heizungsventile]]&lt;/div&gt;</summary>
		<author><name>Hmcontrol</name></author>
	</entry>
</feed>