MAX CUL
Zur Raumweisen Steuerung einiger Heizkörper setze ich seit längerem MAX! von ELV bzw EQ3 ein. Für die Verbindung der Heizkörper- und Wandthermostate mit dem LAN ist von Seiten des Systems ein MAX!-Cube vorgesehen.
Mehrere Jahre nutzte ich den Cube im Original, um vom Visualisierungs-PC mit selbstgeschriebener Software die Temperatur der Räume anzuzeigen und über APP zu steuern.
Die originale Java-Software des Herstelles war nie wirklich zumutbar und ist nicht mehr zeitgemäß. Zudem leidet die originale Firmware des Cube ein bis zweimal mal im Jahr unter totalem Gedächtnisverlust, und das MAX!-System wird offensichtlich vom Hersteller aus dem Programm genommen.
Mit Ausweitung der Thermostate auf alle Heizkörper, Anforderung Cube-Betrieb ohne Restarts und Verluste, Anforderung der Kopplung SPS-Fensterkontakte zum sofortigen Absenken der Soll-Temperatur bei Fenster öffnen, musste ein neues Konzept umgesetzt werden.
Nach neuem Konzept wird der Cube mit einer alternativen Firmware zum CUL geflasht, die Daten über FHEM am Raspberry auf MQTT umgesetzt, per MQTT an den Visualisierungs-PC gesendet, von dort für die APP verfügbar gemacht. Um den Cube noch universeller für mehrere Protokolle parallel einsetzen zu können, baute ich zusätzlich je einen Transceiver für 433 Mhz und 886 Mhz ein.
Die Transceiver müssen C1101-kompatibel sein. Ich verwendete:
433 Mhz https://de.aliexpress.com/item/32855767133.html 1,55 €
868 Mhz https://www.ebay.de/itm/401694298868 2,30 €
Auf der Rückseite der Platine finden sich die Anschlüsse für SCK, MOSI, MISO
Die 2 zusätzlichen Module sind mit 0,3 mm Schaltdraht frei verdrahtet. Für die notwendige mechanische Stabiliät besteht je eine Verbindung aus einem Vierkantstift.
Zur Anwendung kam folgende Zuordnung, welche sich an einer möglichst einfachen Erreichbarkeit der Lötpunkte orientiert:
GND |
GND |
GND |
VCC |
VCC |
VCC |
GDO0 |
PB 25 |
PB 24 |
CSN |
PA 6 |
PA 10 |
SCK |
SCK |
SCK |
MOSI |
MOSI |
MOSI |
MISO |
MISO |
MISO |
GDO2 |
PA 5 |
PA 11 |
Die Firmware für den CUBE entstammt dem a-culw-Projekt, wurde in einer Raspberry-VM kompiliert und über USB geflasht.
Im ersten Step muss der Bootloader überschrieben werden, dieser Vorgang ist unumkehrbar. Ich nutzte für diesen einmaligen Vorgang bossash.
Der neue Bootloader erzeugt anschließend im Programmiermodus ein neues Blockdevice, in welches man nach dem mounten einfach die neue Firmware einkopiert.
Das File ../master/culfw/Devices/CUBe/board.h benötigt vor dem Kompilieren die Einträge der neuen Hardwarezuordnung:
//External Transceivers
//PORT 1
#define CC1100_1_CS_PIN 6
#define CC1100_1_CS_BASE AT91C_BASE_PIOA
#define CC1100_1_OUT_PIN 25
#define CC1100_1_OUT_BASE AT91C_BASE_PIOB
#define CC1100_1_IN_PIN 5
#define CC1100_1_IN_BASE AT91C_BASE_PIOA
//PORT 2
#define CC1100_2_CS_PIN 10
#define CC1100_2_CS_BASE AT91C_BASE_PIOA
#define CC1100_2_OUT_PIN 24
#define CC1100_2_OUT_BASE AT91C_BASE_PIOB
#define CC1100_2_IN_PIN 11
#define CC1100_2_IN_BASE AT91C_BASE_PIOA
Bei der Nutzung des fertig geflashten 3-fach Cube-Cul ist zu beachten, dass nicht jeder Port den Betriebsmodus RFMode SlowRF unterstützt, daher bei mir folgende Zuordnung:
0 = 868 MHZ für Lacrosse RFMODE SlowRF
1 = 433 MHZ für Steckdosen RFMODE SlowRF
2 = 868 MHz für MAX RFMODE MAX
Vorteile:
- durch die LAN-Kopplung kann das Device funktechnisch optimal im Haus positioniert werden,
- die unter Amnesie leidende, propritäre Firmware des Herstellers ist abgelöst,
- durch die nun quelloffene Firmware ist die Zukunftssicherheit gegeben,
- durch die Kombination von 3 Transceivern in einem Gerät weniger Netzteile und Stromverbrauch