FHEM – Mache dein Heizung smart – Teil 2

By | 5. Januar 2019

Im ersten Teil unsere Reihe „Mache dein Heizung smart“ haben wir FHEM auf ein Raspberry Pi installiert. Zweite Teil befasst sich mit CUL (868 MHz) Selbstbau und Einrichtung unter FHEM. Ein CUL ist ein Transceiver zum Empfangen und Senden von Funknachrichten. Er besteht im Wesentlichen in unserem Fall aus einem Arduino und einem CC1101 Funkmodul sowie einer USB-Schnittstelle zur Verbindung mit dem Host Computer auf dem z. B. FHEM läuft. Als CUL Firmware wird die quelloffene culfw verwendet. → Auszug aus FHEM Wiki

Wir übernehmen keine Haftung jeglicher Art bei Nachmachen im Beitrag dargestellten Handlungen. Die jeweilige Einzelperson übernimmt Haftung für sich selbst.

Mittlerweile sind Bauteile einfach und preisgünstig. Daher ist es relativ einfach möglich eine in der Funktionalität zum Original CUL von Busware vergleichbare Hardware selbst zu bauen. Damit sind wir ein Schritt näher zum Smart Home Heizung Integration.

Empfehlung:

SIGNALduino Stick, Arduino Micro (Atmega 32U4) + CC1101 433MHz RF-Transceiver für FHEM

SIGNALduino Stick, Arduino Micro (Atmega 32U4) + CC1101 433MHz RF-Transceiver für FHEM
  • 8MHz Atmega 32U4 Prozessor; Arduio kompatibel
  • 433MHz CC1101 RF-Transceiver

Hardware:

Bild 1: PIN Belegung Arduino Nano:

Die original Arduino sind relativ teuer. Es gibt aber billige Kopien, meistens direkt aus China. Das ist aber kein Problem, nur im Fall das Sie mehrere CULs gleichzeitig in FHEM nutzen wollen, dann bitte beachten: Arduino mit Chip Bezeichnung FTDI FT232RL verwenden.

Der CC1101 darf nur mit Spannung 1,8 – 3.6 V versorgt werden. Passende Spannung von 3,3 V (siehe Bild Nr. 1) stellt der Arduino Nano bereit. Laut Datenblatt sind Eingänge von CC1101 nicht 5 V tolerant und gerade die Ausgänge bei Arduino Nano haben 5 V. In der Praxis funktionieren die Module bisher trotzdem, ich selbst betreibe so eine Selbstbau CUL ohne Spannungsteiler über mehr als 2 Jahre ohne Problem. Wer sicher gehen will, der verwendet in den Signalleitungen Spannungsteiler, oder verwendet einfach Teilung mit Widerständen (siehe Bild 3).

Gemäß Bild 3 ist am einfachsten der Aufbau auf einem Steckbrett oder Rasterplatine. Damit lässt es sich Selbstbau CUL schnell in Betrieb nehmen und mögliche Fehler können einfach korrigiert werden. Für einen permanenten Aufbau kann eine Rasterplatine verwendet werden. Zur Info: LED hilft als grobe Funktionskontrolle aber muss nicht verwendet werden.

Aktuell unterstützt CUL mehrere Betriebsmodi und damit kann bestimmte Geräte steuern. Jeweils kann immer nur ein Betriebsmodi aktiv sein. Möchte man Geräte unterschiedlicher Betriebsart steuern, so ist jeweils ein CUL pro Modus nötig oder muss man zwischen Betriebsmodi umschalten.

CUL Betriebsmodi:

  • SlowRF – FS20, FHT, KS300, USF1000, BS, HMS, CUL_EM, CUL_WS, CUL_FHTTK, CUL_HOERMANN, ESA2000, CUL_IR, CUL_TX, Revolt, Intertechno, UNIRoll, Somfy
  • HomeMatic – In dieser Betriebsart können nur HomeMatic-Geräte gesteuert werden.
  • MAX! – Dieser Modus ist nur für die MAX! Geräte, grundsätzlich nur Heizungsteuerung.
  • WMBus – Dieser Modus ist zur Dekodierung von Wireless M-Bus Nachrichten zuständig, z. B. von Zählern für Wasser, Wärme, Gas und Elektrizität.

CUL Firmware

Damit der CUL beschrieben werden kann, ist der AVR C-Cross-Compiler und die dazu benötigten Tools notwendig. Einfach mit Hilfe von z.B. Putty sich mit Raspberry Pi per SSH verbinden und AVR Compiler installieren.

sudo apt-get install make gcc-avr avrdude avr-libc
### Firmware herunterladen
cd /opt
wget https://sourceforge.net/code-snapshots/svn/c/cu/culfw/code/culfw-code-r568-trunk.zip
### Datei culfw-code-r568-trunk.zip entpacken
sudo unzip culfw-code-r568-trunk.zip
### Verzeichnis auswählen
cd /opt/culfw-code-r568-trunk/culfw/Devices/nanoCUL
### Bearbeitung von Datei board.h
sudo nano board.h
  • Sollte ein Arduino verwendet werden, der nicht 16 MHz Takt verwendet, muss dies in der board.h Zeile #define HAS_16MHZ_CLOCK auskommentiert werden.
  • Wenn ein 868MHz Modul verbaut ist, sollte in der Datei board.h die Zeile #define HAS_CC1100_433 auskommentiert werden.

Nachdem Sie die Änderungen in Datei board.h gemacht haben, kann mit Kompilieren des Codes begonnen werden.

sudo make

Jetzt können wir der Arduino mit Raspberry Pi per USB Kabel verbinden und Firmware kann beschrieben werden.

sudo make program

Das Einbinden des Selbstbau CUL in FHEM klappt am besten über die eindeutige ID des CUL. Um diese herauszufinden, lässt man sich die ID der USB-Geräte auflisten.

ls -l /dev/serial/by-id

Beispiel für eine CUL Definition in FHEM:

define CUL CUL /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400 1234

Weblinks mit Thema Selbstbau CUL und Smart Home:

Hat dir Post gefallen? Teile es und hilft uns weiter.
  •  
  •  
  •  
  • 1
  •  
  •  
  •  
  •  
  • 1
    Share

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.