{"id":6813,"date":"2016-03-26T15:02:20","date_gmt":"2016-03-26T14:02:20","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=6813"},"modified":"2025-02-14T20:48:07","modified_gmt":"2025-02-14T19:48:07","slug":"cul-openhab","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=6813","title":{"rendered":"OpenHab: CUL an Homematic \u00fcber Homegear auf dem Raspberry Pi unter Debian &#8211; Jessie"},"content":{"rendered":"<p>Wie kann an einem Raspberry Pi auf dem openHab unter Debian Jessie l\u00e4uft, die Homematic Ger\u00e4te mit einem CUL angebunden werden. Da meine Homatic Ger\u00e4te alle unter Fhem liefen, musste jedes Ger\u00e4t resetet und neu gepeert und angelernt (gepairt) werden. Und es soll die Heizung, Brandmelder, Leistungsmesser und die T\u00fcr und Fensterkontakte ja laufen, sonnst kommt noch jemand ungebeten ins Haus \ud83d\ude09<\/p>\n<p>Dabei muss man darauf achten, zuerst die Schalter mit den Heizungsventilen zu pairen und dann zum Schluss an die CUL Zentrale pairen. Anders l\u00e4uf es nicht. Auch ist es wichtig, die f\u00fcr das Betriebssystem richtige Homegeare Version zu installieren. <\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/cul-pi.png\" rel=\"attachment wp-att-6827\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/cul-pi.png\" alt=\"cul-pi\" width=\"640\" height=\"453\" class=\"aligncenter size-full wp-image-6827\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/cul-pi.png 640w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/cul-pi-300x212.png 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><br \/>\nFolgende Schritte sind n\u00f6tig:<\/p>\n<p><br \/>\n<!--more--><\/p>\n<h1>CUL Flashen<\/h1>\n<p>Der <a href=\"https:\/\/busware.de\/tiki-index.php?page=CUL\" target=\"_blank\" rel=\"noopener noreferrer\">CUL von Busware<\/a> muss mit der aktuellsten Version geflasht werden.<\/p>\n<p>Aktuelle <a href=\"http:\/\/culfw.de\/commandref.html\" target=\"_blank\" rel=\"noopener noreferrer\">Anleitung culfw<\/a> und hier die <a href=\"https:\/\/sourceforge.net\/p\/culfw\/code\/HEAD\/tree\/trunk\/culfw\/\" target=\"_blank\" rel=\"noopener noreferrer\">Quellcodes<\/a>.<br \/>\nFolgendes ist n\u00f6tig um die Firmware mit dem <a href=\"http:\/\/dfu-programmer.github.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">dfu-programmer<\/a> upzuladen:<\/p>\n<pre class=\"lang:default decode:true \" >\r\n# den Programmierer dfu-programmer installieren\r\napt-get install dfu-programmer\r\n# die Firmware laden\r\nwget http:\/\/culfw.de\/culfw-1.61.tar.gz\r\n# die Firmware entpacken\r\ntar -zxf culfw-1.61.tar.gz\r\n# in das Verzeichnis mit der Firmware f\u00fcr den CUL gehen\r\ncd \/CUL_VER_161\/Devices\/CUL\r\n# und wie weiter unten Flashen\r\n\r\n# oder Optional \r\n# die allerneueste Firmwar aus SVN holen und die dann flashen\r\n# daf\u00fcr brauchen wir Subversion\r\nsudo apt-get install subversion\r\n# aktuellen Code aus dem trunk holen\r\nsvn checkout http:\/\/svn.code.sf.net\/p\/culfw\/code\/trunk culfw-code\r\n# in das Verzeichnis wechseln\r\n~\/culfw\/culfw-code\/culfw\/Devices\/CUL\r\n\r\n# flashen\r\n# CUL vom USB Port trennen und den RESET Schalter dr\u00fccken und mit gedr\u00fcckten Schalter verbinden\r\nsudo dfu-programmer atmega32u4 erase\r\nsudo dfu-programmer atmega32u4 flash CUL_V3.hex\r\nsudo dfu-programmer atmega32u4 reset\r\n# CUL einmal vom Port trennen und wieder verbinden\r\n# checken ob CUL am Port erkannt wird mit\r\nlsusb\r\n# er muss in der Liste auftauchen\r\n# z.B. Atmel Corp. LUFA USB to Serial Adapter Project\r\n<\/pre>\n<p>Um zu checken ob der CUL \u00fcberhaupt Daten liefer, kann <strong>screen<\/strong> verwendet werden. Das muss erst installier werden mit<\/p>\n<pre class=\"lang:default decode:true \" >\r\nsudo apt-get install screen\r\n# starten mit\r\nscreen \/dev\/ttyACM0\r\n# eingeben eines V und Return um die Version auszugeben\r\n# Es wird die Versionsnummer ausgegeben oder aber auch Daten die empfangen werden.\r\n# Das ist schon mal gut.\r\n<\/pre>\n<h1>Homegear installieren<\/h1>\n<p>Achtung! Es muss die richtige <a href=\"https:\/\/homegear.eu\/index.php\/Main_Page\" target=\"_blank\" rel=\"noopener noreferrer\">Homegear<\/a> Version f\u00fcr den Raspberry Pi installiert werden. Ich habe das Debian Jessie und deshalb sind <a href=\"https:\/\/homegear.eu\/downloads.html\" target=\"_blank\" rel=\"noopener noreferrer\">diese<\/a> Schritte n\u00f6tig:<\/p>\n<pre class=\"lang:default decode:true \" >\r\nsudo wget https:\/\/homegear.eu\/packages\/Release.key \r\nsudo apt-key add Release.key \r\nsudo rm Release.key\r\nsudo echo 'deb https:\/\/homegear.eu\/packages\/Debian\/ jessie\/' &gt;&gt; \/etc\/apt\/sources.list.d\/homegear.list \r\nsudo apt-get update\r\nsudo apt-get upgrade\r\nsudo apt-get install homegear\r\n# checken ob homegear l\u00e4uft mit\r\nsudo homegear -r\r\n# wenn der Prompt > kommt ist alles ok.\r\n<\/pre>\n<h1>Homegear konfigurieren<\/h1>\n<p>In der Datei <strong>\/etc\/homegear\/families\/homematicbidcos.conf<\/strong>  (alt: \/etc\/homegear\/physicalinterfaces.conf) folgende Einstellungen machen, alle anderen mit # auskommentieren<\/p>\n<pre class=\"lang:default decode:true \" >\r\n[HomeMaticBidCoS]\r\nid = TW-CUL\r\ndefault = true\r\ndeviceType = cul\r\ndevice = \/dev\/ttyACM0\r\nresponseDelay = 95\r\n<\/pre>\n<h1>Ger\u00e4te anlernen an Homegear<\/h1>\n<p>Wie hier beschrieben:<\/p>\n<pre class=\"lang:default decode:true \" >\r\nsudo homegear -r\r\nfamilies select 0\r\ndevices select central\r\npairing on\r\n# Ger\u00e4t peeren\r\npairing off\r\n# Anschauden ob Ger\u00e4t in Liste vorhanden\r\npeers list\r\n# Dann noch einen Namen geben, die ID mit der ID aus der Liste ersetzen\r\npeers setname ID \"Schalter\"\r\n# zur\u00fcck mit u oder hilfe in jedem Men\u00fc mit help\r\n<\/pre>\n<p>Hier mal das Ergebnis der Liste mit ls:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/hm.png\" rel=\"attachment wp-att-6815\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/hm-1024x366.png\" alt=\"hm\" width=\"640\" height=\"229\" class=\"aligncenter size-large wp-image-6815\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/hm-1024x366.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/hm-300x107.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/hm-768x275.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/hm.png 1557w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Hier k\u00f6nnen auch gleich neue Firmware in die Ger\u00e4te mit <strong>pud ID<\/strong> hochgeladen werden. Das ist aber nicht f\u00fcr alle HM-Ger\u00e4te m\u00f6glich. Wo es neue Firmware gibt, wird ein * angezeigt.<\/p>\n<h1>OpenHab Initialisierung<\/h1>\n<p>Addon <a href=\"https:\/\/github.com\/openhab\/openhab1-addons\/wiki\/Homematic-Binding\" target=\"_blank\" rel=\"noopener noreferrer\">org.openhab.binding.homematic-1.8.1.jar<\/a> installieren mit <\/p>\n<pre class=\"lang:default decode:true \" >\r\nsudo apt-get install openhab-addon-binding-homematic\r\n<\/pre>\n<p>Weitere Infos siehe <a href=\"https:\/\/github.com\/openhab\/openhab1-addons\/wiki\/Homematic-Binding\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> oder hier f\u00fcr die Adressen und Parameter.<\/p>\n<p>In der Datei <strong>\/home\/pi\/openhab\/configurations\/openhab.cfg<\/strong> die folgenden Eintr\u00e4ge machen (pi-addr durch Adresse des Pis ersetzen):<\/p>\n<pre class=\"lang:default decode:true \" >\r\nhomematic:host=pi-addr\r\nhomematic:callback.host=pi-addr\r\nhomematic:callback.port=9123\r\nhomematic:alive.interval=300\r\n<\/pre>\n<p>Reboot von openHab mit<\/p>\n<pre class=\"lang:default decode:true \" >sudo service openhab restart<\/pre>\n<h1>Openhab Items anlegen<\/h1>\n<p>Hier mal ein Beispiel mit dem Leistungsmesser, die Adresse 333 ersetzen mit der eigenen:<\/p>\n<pre class=\"lang:default decode:true \" >\r\n\r\nGroup gHomematic\r\n\r\nNumber leistungsmesserFrequenz     \"Frequenz [%.1f Hz]\"  (gHomematic) {homematic=\"address=333, channel=2, parameter=FREQUENCY\"}\r\nNumber leistungsmesserSpannung     \"Spannung [%.1f V]\"     (gHomematic) {homematic=\"address=333, channel=2, parameter=VOLTAGE\"}\r\nNumber leistungsmesserStrom        \"Strom [%.1f mA]\"       (gHomematic) {homematic=\"address=333, channel=2, parameter=CURRENT\"}\r\nNumber leistungsmesserLeistung     \"Leistung [%.1f Watt]\"  (gHomematic) {homematic=\"address=333, channel=2, parameter=POWER\"}\r\nNumber leistungsmesserSummeKwh     \"Summe KWH [%.1f Watt]\" (gHomematic) {homematic=\"address=333, channel=2, parameter=ENERGY_COUNTER\"}\r\n\r\nSwitch leistungsmesserSchalten     \"Status\"    \t\t       (gHomematic)  {homematic=\"address=333, channel=1, parameter=STATE\"}\r\n<\/pre>\n<h1>Openhab Sitemap anlegen<\/h1>\n<p>Diese Sitemap:<\/p>\n<pre class=\"lang:default decode:true \" >Group item=gHomematic label=\"Leistungsmessung\" icon=\"groundfloor\" {\r\n\t\t       Frame label=\"Leistungsmesser\" {\r\n\t\t       \tText    item=leistungsmesserFrequenz\r\n\t\t        Text    item=leistungsmesserSpannung\r\n\t\t        Text    item=leistungsmesserStrom\r\n\t\t        Text    item=leistungsmesserLeistung    \r\n\t\t        Text    item=leistungsmesserSummeKwh\t\t        \r\n\t\t        Switch  item=leistungsmesserSchalten   \r\n\t\t        }    \t\t        \r\n\t\t     } \r\n<\/pre>\n<p>Ergebnis:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/leistungsmesser.png\" rel=\"attachment wp-att-6822\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/leistungsmesser.png\" alt=\"leistungsmesser\" width=\"465\" height=\"395\" class=\"aligncenter size-full wp-image-6822\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/leistungsmesser.png 465w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/leistungsmesser-300x255.png 300w\" sizes=\"auto, (max-width: 465px) 100vw, 465px\" \/><\/a> <\/p>\n<p>Oder f\u00fcr die Heizung:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/heizung.png\" rel=\"attachment wp-att-6831\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/heizung.png\" alt=\"heizung\" width=\"461\" height=\"499\" class=\"aligncenter size-full wp-image-6831\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/heizung.png 461w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/03\/heizung-277x300.png 277w\" sizes=\"auto, (max-width: 461px) 100vw, 461px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wie kann an einem Raspberry Pi auf dem openHab unter Debian Jessie l\u00e4uft, die Homematic Ger\u00e4te mit einem CUL angebunden werden. Da meine Homatic Ger\u00e4te alle unter Fhem liefen, musste jedes Ger\u00e4t resetet und neu gepeert und angelernt (gepairt) werden. Und es soll die Heizung, Brandmelder, Leistungsmesser und die T\u00fcr und Fensterkontakte ja laufen, sonnst &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=6813\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eOpenHab: CUL an Homematic \u00fcber Homegear auf dem Raspberry Pi unter Debian &#8211; Jessie\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,2173,852,2426,1023],"tags":[752,883,2452,927,1687,1324],"class_list":["post-6813","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-debian","category-heimautomatisierung","category-openhab","category-raspberry-pi","tag-einrichten","tag-hm","tag-homegear","tag-homematic","tag-openhab","tag-peeren"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/6813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6813"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/6813\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6813"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}