<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>COC Erweiterung &#8211; bubuxblog</title>
	<atom:link href="https://www.bubuxblog.de/tag/coc-erweiterung/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bubuxblog.de</link>
	<description></description>
	<lastBuildDate>Fri, 02 May 2014 11:41:37 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Raspberry PI &#8211; Heimautomatisierung mit COC, Homematic &#038; FHEM</title>
		<link>https://www.bubuxblog.de/raspberry-pi-heimautomatisierung-mit-coc-und-fhem/</link>
					<comments>https://www.bubuxblog.de/raspberry-pi-heimautomatisierung-mit-coc-und-fhem/#comments</comments>
		
		<dc:creator><![CDATA[diefenbecker]]></dc:creator>
		<pubDate>Wed, 29 Jan 2014 20:18:56 +0000</pubDate>
				<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[COC Erweiterung]]></category>
		<category><![CDATA[FHEM]]></category>
		<category><![CDATA[Hausautomatisierung]]></category>
		<category><![CDATA[Homeautomation]]></category>
		<category><![CDATA[Homematic]]></category>
		<guid isPermaLink="false">http://blog.bubux.de/?p=153</guid>

					<description><![CDATA[Damit der Raspberry PI sich nicht nur mit dem Aufzeichnen des Stromverbrauches langweilt, musste noch etwas anderes her. Kennt ihr das: Sobald man von Zuhause weg ist und gerade auf die Autobahn auffahrt, geht es einem durch den Kopf, ob auch alle Fenster zu sind und der Herd ausgeschaltet? Um diese Frage, zumindest für die [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Damit der Raspberry PI sich nicht nur mit dem Aufzeichnen des Stromverbrauches langweilt, musste noch etwas anderes her. Kennt ihr das: Sobald man von Zuhause weg ist und gerade auf die Autobahn auffahrt, geht es einem durch den Kopf, ob auch alle Fenster zu sind und der Herd ausgeschaltet?</p>
<p>Um diese Frage, zumindest für die Fenster, auch auf der Autobahnauffahrt klären zu können, habe ich im Internet nach einer Lösung gesucht und <a title="Homematic" href="http://www.homematic.com/" target="_blank">Homematic</a> und <a title="www.busware.de" href="http://www.busware.de" target="_blank">www.busware.de</a> gefunden. Die nötige Software bietet <a title="FHEM" href="http://fhem.de/fhem_DE.html" target="_blank">FHEM</a>.</p>
<p><span id="more-153"></span></p>
<p>Von Busware gibt es eine <a title="COC" href="http://busware.de/tiki-index.php?page=COC" target="_blank">Erweiterung</a> für den Raspberry PI, die auf die GPIO-Leiste gesteckt wird und dem Raspberry das für Homematic-Geräte benötigte Funken im 868 MHz-Band beibringt. Das Aufstecken der COC-Platine gestaltete sich etwas schwierig, da der Display Connector des Raspberry zu breit ist. Da ich den aber eh nicht benötige, habe ich ihn mit einem Cutter passend gemacht.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2014/01/raspberryCOC.jpg"><img fetchpriority="high" decoding="async" class="alignnone  wp-image-188" src="http://blog.bubux.de/wp-content/uploads/2014/01/raspberryCOC-300x199.jpg" alt="raspberryCOC" width="461" height="305" /></a></p>
<p><strong>1. COC in Betrieb nehmen</strong></p>
<p>Zuerst muss der serielle Port des Rasperry für den COC freigegeben werden. Dazu müssen folgende Dateien angepaßt werden und <strong>alle Verweise auf <i>ttyAMA0</i> entfernt</strong> werden.</p>
<ul>
<li><i>In der Datei <strong>/etc/inittab</strong> folgende Zeile löschen oder auskommentieren (mit #)<br />
</i></li>
</ul>
<pre>T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100</pre>
<ul>
<li><i>In der Datei <strong>/boot/cmdline.txt</strong> auch alle Verweise auf <strong>ttyAMA0</strong> löschen<br />
</i></li>
</ul>
<p>Anschliessend den Raspberry rebooten.</p>
<p>Jetzt muss die Firmware auf den COC. Es gibt zwei Firmware-Versionen da es auch zwei COC-Versionen gibt. Einmal mit 1-Wire und einmal ohne 1-Wire. Ich habe die Version ohne 1-Wire. Am einfachsten geht das mit dem Runterladen der Firmware unter Linux mit <strong><em>wget</em></strong>.</p>
<p>Für die Version ohne 1-Wire sieht das folgendermaßen aus:</p>
<pre>sudo wget "http://culfw.svn.sourceforge.net/viewvc/culfw/trunk/culfw/Devices/COC/COC.radio_only.hex?format=raw" -O COC.radio_only.hex</pre>
<p>Für die Version mit 1-Wire gibt es die Firmware hier:</p>
<pre>sudo wget "http://culfw.svn.sourceforge.net/viewvc/culfw/trunk/culfw/Devices/COC/COC.radio.hex?format=raw" -O COC.radio.hex</pre>
<p>Wichtig ist die Ergänzung <strong><em>format=raw</em></strong> in dem URL. Ohne diesen Zusatz werden HTML-Header mitgeladen, welche die heruntergeladene Firmware unbrauchbar machen.<br />
Eine falsch aufgespielte Firmware äußert sich später mit folgenden Meldungen im FHEM-Log:</p>
<pre>---schnipp---
Opening COC device /dev/ttyAMA0
Setting COC baudrate to 38400
COC device opened
Cannot init /dev/ttyAMA0, ignoring it
---schnapp--</pre>
<p><span style="color: #0000ff;">Wenn es auch mit dem Parameter <strong><em>raw</em> </strong>zu diesem Fehler kommt, versucht die Datei ganz normal im Browser runter zu laden und kopiert sie anschliessend auf den Raspi.</span></p>
<p>Aber weiter mit dem Aufspielen der Firmware&#8230;. Dazu folgendes auf der Kommandozeile absetzen:</p>
<pre>echo "calling COC bootloader..."
if test ! -d /sys/class/gpio/gpio17; then echo 17 &gt; /sys/class/gpio/export; fi
 if test ! -d /sys/class/gpio/gpio18; then echo 18 &gt; /sys/class/gpio/export; fi
echo out &gt; /sys/class/gpio/gpio17/direction
echo out &gt; /sys/class/gpio/gpio18/direction
echo 0 &gt; /sys/class/gpio/gpio18/value
echo 0 &gt; /sys/class/gpio/gpio17/value
sleep 1
echo 1 &gt; /sys/class/gpio/gpio17/value
sleep 1
echo 1 &gt; /sys/class/gpio/gpio18/value</pre>
<p>Jetzt ist der Microcontroller des COC bereit, um mit der eben heruntergeladenen Firmware geflasht zu werden. Dafür wird z.B. <a title="avrdude auf mikorcontroller.net" href="http://www.mikrocontroller.net/articles/AVRDUDE" target="_blank"><em>avrdude</em></a> benötigt. Falls es noch nicht installiert ist geht das unter Debian mit folgendem Befehl:</p>
<pre>sudo apt-get install avrdude</pre>
<p>Der Befehl zum flashen schaut so aus (je nach COC-Version auf den richtigen Dateinamen der Firmware achten):</p>
<pre>avrdude -p atmega1284p -P /dev/ttyAMA0 -b 38400 -c avr109 -U flash:w:COC.radio_only.hex</pre>
<p>Das wars für den COC, der jetzt unter /dev/ttyAMA0 als Device auftauchen sollte.</p>
<p><span style="color: #ff0000;">Für Firmwareupdates muss FHEM gestoppt werden bevor mittels AVRDude geflasht wird. Ansonsten antwortet der COC mit &#8222;not responding&#8220;.</span></p>
<p><strong>2. FHEM</strong></p>
<p>FHEM ist eine in Perl geschriebene Anwendung zur Heimautomation. Das Paket kann mit folgendem Befehl runtergeladen werden. Ggf. auf der <a title="FHEM" href="http://fhem.de/fhem.html#Download">Webseite</a> prüfen ob v5.5 noch die aktuelle Version ist</p>
<pre>sudo wget fhem.de/fhem-5.5.deb</pre>
<p>Dann noch Perl installieren falls noch nicht passiert:</p>
<pre id="crayon-52dc13e5900aa884546568-1">sudo apt-get install perl libwww-perl libdevice-serialport-perl</pre>
<p>Anschliessend das FHEM-Paket installieren:</p>
<pre id="crayon-52dc13e5900ad023417912-1">sudo dpkg -i fhem-5.5.deb</pre>
<p>Damit die COC-Erweiterung bei jedem Start von FHEM initialisiert wird, müssen folgende Anpassungen im FHEM-Startscript vorgenommen werden. In der Datei <em>/etc/init.d/fhem</em> an der Stelle wo</p>
<pre>start)</pre>
<p>zu finden ist, folgendes hinzufügen:</p>
<pre>start)
	echo "resetting 868MHz extension..."
	if test ! -d /sys/class/gpio/gpio17; then echo 17 &gt; /sys/class/gpio/export; fi
	if test ! -d /sys/class/gpio/gpio18; then echo 18 &gt; /sys/class/gpio/export; fi
	echo out &gt; /sys/class/gpio/gpio17/direction
	echo out &gt; /sys/class/gpio/gpio18/direction
	echo 1 &gt; /sys/class/gpio/gpio18/value
	echo 0 &gt; /sys/class/gpio/gpio17/value
	sleep 1
	echo 1 &gt; /sys/class/gpio/gpio17/value
	sleep 1</pre>
<p><span style="color: #0000ff;">Diese Anpassung ist nach jedem Update der FHEM-Software zu tun da die fhem.cfg bei einem Update wieder überschrieben wird.</span></p>
<p>Die eigentliche Konfiguration von FHEM für die Homematic-Geräte oder die Räume etc. findet in der Datei <em>/etc/fhem.cfg</em> statt:</p>
<pre id="crayon-52dc13e5900b1566296470-1">sudo vim /opt/fhem/fhem.cfg</pre>
<p>Dort muss noch der COC und der Frequenzmodus eingetragen werden. Für die Homematic-Geräte ist der Eintrag in der zweiten Zeile notwendig.</p>
<pre>define COC CUL /dev/ttyAMA0@38400 1234
attr COC rfmode HomeMatic</pre>
<p>Danach FHEM neu starten, damit die Änderungen der Konfigdatei angezogen werden. Das geht z.B. so:</p>
<pre>sudo /etc/init.d/fhem start</pre>
<p>Funktioniert alles richtig, sollte auf der FHEM Webseite unter <em>http://&lt;ip_vom_raspi&gt;:8083/fhem </em>unter &#8222;Everything&#8220; folgendes Gerät auftauchen</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2014/01/fhem_coc1.jpg"><img decoding="async" class="alignnone size-full wp-image-199" src="http://blog.bubux.de/wp-content/uploads/2014/01/fhem_coc1.jpg" alt="fhem_coc1" width="252" height="58" /></a></p>
<p>und mit Klick auf COC sollte folgendes zu lesen sein</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2014/01/fhem_coc2.jpg"><img decoding="async" class="alignnone size-medium wp-image-200" src="http://blog.bubux.de/wp-content/uploads/2014/01/fhem_coc2-300x270.jpg" alt="fhem_coc2" width="300" height="270" srcset="https://www.bubuxblog.de/wp-content/uploads/2014/01/fhem_coc2-300x270.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2014/01/fhem_coc2.jpg 350w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><strong>3. Homematic-Gerät einbinden</strong></p>
<p>Die schönste COC- und FHEM-Installation nutzt nix, wenn nicht auch ein Homematic-Gerät angebunden wird. Ich stelle das bespielhaft an einen Tür-/Fensterkontakt dar (hm-sec-sc).<br />
Der Fensterkontakt ist sehr kompakt und fällt kaum an der Türe auf.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2014/01/fensterkontakt1.jpg"><img loading="lazy" decoding="async" class="alignnone  wp-image-178" src="http://blog.bubux.de/wp-content/uploads/2014/01/fensterkontakt1-300x199.jpg" alt="fensterkontakt1" width="435" height="288" /></a></p>
<p>Nach einlegen der beiden Knopfzellen leuchtet die Status-LED jewils einmal in Rot, Orange und Grün. Um das Gerät mit der Zentrale (COC) zu verbinden, muss der COC in den Pairing-Modus versetzt werden. Das funktioniert auf der FHEM-Webseite mit</p>
<pre>set COC hmPairForSec 600</pre>
<p>in der Eingabezeile auf der Startseite oder mit Klick auch &#8222;Everything &#8211; &gt;  COC &#8220; mittels Auswahlbox. &#8222;600&#8220; steht dabei für die Zeit in Sekunden für das Pairing und kann entsprechend angepaßt werden.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2014/01/fhem_coc3.jpg"><img loading="lazy" decoding="async" class="alignnone  wp-image-204" src="http://blog.bubux.de/wp-content/uploads/2014/01/fhem_coc3-300x25.jpg" alt="fhem_coc3" width="300" height="25" srcset="https://www.bubuxblog.de/wp-content/uploads/2014/01/fhem_coc3-300x25.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2014/01/fhem_coc3.jpg 354w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Ist die Zentrale im Pairing-Modus kann an dem Homematic-Fenstersensor die Anlerntaste gedrückt werden. Die LED sollte relativ schnell kurz grün aufleuchten. Damit ist das Pairing auch schon abgeschlossen.</p>
<p>Auf der FHEM-Webseite und in der FHEM-Konfiguration in <em>/etc/fhem.cfg</em> sollte nun das neue als <em><strong>threeStateSensor</strong></em> auftauchen.</p>
<p>Der Fensterkontakt kann nun mittels des doppelseitigen Klebebandes an der Fenster angebracht werden. Hierbei zeigte sich, dass das beigelegte Klebeband nicht wirklich gut hält, die Klebeflächen vorher gut gereinigt werden (z.B. mit Isopropanol) und fest angepresst werden müssen. Vor allem der Kontaktmagnet hält zumindest bei mir nicht besonders gut.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2013/11/fensterkontakt.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-299" src="http://blog.bubux.de/wp-content/uploads/2013/11/fensterkontakt-300x200.jpg" alt="fensterkontakt" width="300" height="200" srcset="https://www.bubuxblog.de/wp-content/uploads/2013/11/fensterkontakt-300x200.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2013/11/fensterkontakt-1024x682.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2013/11/fensterkontakt.jpg 1500w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Wenn jetzt das Fenster geöffnet oder geschlossen wird, sollte sich der Status des Fensterkontaktes aud der FHEM-Webseite entsprechend ändern.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bubuxblog.de/raspberry-pi-heimautomatisierung-mit-coc-und-fhem/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
