Im ersten Teil unserer Reihe „Heizungssteuerung Raspberry Pi entdecken“ haben wir Raspbian OS Lite und 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 zum Beispiel 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.
Seiteninhalt:
Heizungssteuerung Raspberry Pi – CUL Hardware
- Transceiver Platine CC1101 *
- Arduino Nano inkl. USB Kabel *
- Verbindungskabel *
- Rasterplatine (Optional) *
- Spannungsteiler * (Optional)
- Widerstände * (Optional)
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) 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).
- Intelligenter Heizkörperregler für das FRITZ!Box-Heimnetz
- Automatische und präzise Steuerung der Raumtemperatur
- Einfache Montage an allen gängigen Heizkörperventilen
- Bequeme Konfiguration über die FRITZ!Box-Benutzeroberfläche
- Individuelle Heizprofile per Zeitschaltmatrix einstellbar
Gemäß Bild 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
Heizungssteuerung Raspberry Pi – MAX! Ventil Integration
CUL für Heizungssteuerung Raspberry Pi ist jetzt verbunden und wir können uns mit MAX! Ventil * Integration befassen. Integration ist sehr einfach, zuerst starten wir CUL „Pairmode“ in FHEM, befindet sie im Menü unter CUL Bezeichnung „cm“ (siehe Bild unten). Jetzt müssen wir gemäß MAX! Anleitung Ventil im Pairmode versetzen, lange drücken an mittlere „Boost“ Taste. Ventil wird sofort erkannt und integriert in FHEM, bzw. Heizungssteuerung Raspberry Pi. Mehr Information über Integration und Anpassung von MAX! Ventilen lesen Sie hier nach.
Weblinks mit Thema CUL Selbstbau und FHEM Smart Home:
- FHEM Forum zu diesem Thema
- FHEM Wiki Selbstbau CUL
- FHEM Wiki MAX!
Heizungssteuerung Raspberry Pi – Teil 1. Erste Teil beschäftigt sich mit Raspbian Installation und Konfiguration, FHEM Installation und FHEM Styling.