MAX! Komponenten in Homegear koppeln und Konfigurieren

In meinem vorherigen Beitrag habe ich euch gezeigt wie man MAX! Komponenten via homegear in Home Assistant bekommt. Allerdings sind so leider einige Funktionen nicht verfügbar, welche der ein oder andere gerne nutzen möchte. in diesem Artikel zeige ich (ggf. nach und nach) wie man die MAX! Komponenten im homegear verwaltet und optimal nutzt. Ich gehe hier davon aus das Ihr eure Geräte bereits mit dem CUNX gepaart habt (ich vermute jeder andere CUL geht da genau so) und „nur“ noch konfigurieren wollt.

Generell solltet Ihr euch für alle weiteren Schritte die Liste eurer Geräte holen und planen was Ihr miteinander koppeln wollt. Je nach Konfiguration kann das schnell einiges werden. Zusätzlich arbeitet homegear da auch noch mit den IDs der Geräte, das macht es dann auch nochmal komplizierter. Die Liste erhaltet Ihr mit homegear -r -> fs 4 -> ls.

Kanäle (Channel)

Um zu verstehen wie die folgenden Kommandos funktionieren sollten wir verstehen das unsere Geräte die wir zu homegear hinzugefügt haben über Kanäle (Channel) verfügen, welche wir ansprechen bzw. konfigurieren können. Einen Teil dieser Kanäle können wir uns auch anschauen. Dazu wählt man in der cli von homegear ein Gerät auch (Beispiel Fenstersensor Bad (ID 9)).
homegear -r -> fs 4 -> ps 9 -> config print

Family 4 - peer 9> config print 
MASTER
{
}

VALUES
{
	Channel: 1
	{
		[STATE]: 00 
	}
	Channel: 0
	{
		[UNREACH]: 00 
		[STICKY_UNREACH]: 00 
		[RSSI_DEVICE]: 3b 
		[LOWBAT]: 00 
		[LAST_PACKET_RECEIVED]: 63 9f 12 06 
		[CONFIG_PENDING]: 00 
		[CENTRAL_ADDRESS_SPOOFED]: 00 
		[RSSI_PEER]: 00 
		[BOOT]: 00 
	}
}

LINK
{
}

Wir erhalten die komplette Konfiguration des Geräts und sehen dabei eben auch einger der verschiedenen Kanäle. Bei dem Fenstersensor in diesem beispiel sind dies zwei Kanäle. Kanal 0 verfügt dabei über Angaben zum Gerät, darunter dern Funkparametern, Batteriezustand etc. Kanal 1 verfügt über den Status, im Falle eines Fenstersensors also auf oder zu bzw. 0 oder 1.
Bei einen Thermostaten haben wir mehr Angaben und mehr Kanäle. Schauen wir uns in meinem Beispiel den Thermostaten Bad (ID 8) an. Dazu rufen wir
homegear -r -> fs 4 -> ps 8 -> channel count
auf. Wir erhalten als Ausgabe 4 Kanäle

Family 4 - peer 8> channel count 
Peer has 4 channels.

Natürlich können wir uns auch hier wieder die Konfiguration anzeigen lassen. Da diese allerdings auch das Wochenprogramm enthält werde ich dies hier nur gekürzt darstellen, wenn ihr eigene Thermostate habt seht ihr es dann ja selber.

Family 4 - peer 8> config print 
MASTER
{
	Channel: 0
	{
		[TEMPERATURE_WEDNESDAY_4]: 2a 
		[TEMPERATURE_WEDNESDAY_2]: 2a 
... #Viel weitere Ausgabe des Wochenprogramms
	}
}

VALUES
{
	Channel: 1
	{
		[VALVE_STATE]: 42 
		[TEMPERATURE_OFFSET]: 07 
		[SET_TEMPERATURE]: 2a 
		[PARTY_TEMPERATURE]: 28 
		[PARTY_STOP_YEAR]: 0c 
		[PARTY_STOP_TIME]: 00 
		[PARTY_STOP_MONTH]: 01 
		[PARTY_STOP_DAY]: 01 
		[ACTUAL_TEMPERATURE]: 00 c1 
		[BOOST_MODE]: 00 
		[ECO_TEMPERATURE]: 21 
		[WINDOW_OPEN_TEMPERATURE]: 18 
		[BOOST_POSITION]: 10 
		[BOOST_TIME_PERIOD]: 01 
		[LOCKED]: 00 
		[COMFORT_TEMPERATURE]: 2b 
		[DECALCIFICATION_TIME]: 16 
		[CONTROL_MODE]: 00 
		[MANU_MODE]: 28 
		[MAX_TEMPERATURE]: 3d 
		[AUTO_MODE]: 01 
		[DECALCIFICATION_WEEKDAY]: 00 
	}
	Channel: 0
	{
		[UNREACH]: 00 
		[STICKY_UNREACH]: 00 
		[RSSI_DEVICE]: 33 
		[LOWBAT]: 00 
		[LAST_PACKET_RECEIVED]: 63 9f 11 58 
		[CONFIG_PENDING]: 00 
		[RSSI_PEER]: 00 
		[BOOT]: 00 
	}
}

LINK
{
}

Die weiteren Kanäle sind z.B. in der Referenz von homegear verfügbar und beschrieben. https://ref.homegear.eu/family.html?familyLink=&familyName=MAX%21

Thermostat und Fenstersensor koppeln

Hier Koppeln wir einen Thermostaten direkt mit einem Fenstersenor, da diese Funktion auch unabhängig vom Smarthome funktionieren soll. Hierbei möchte ich den „Fenstersenor Bad (ID 9)“ mit dem „Thermostat Bad (ID 8)“ verbinden.
Dies gelingt mit folgendem Befehl in der homegear cli:
$hg->addLink(9,1,8,4);
4 Ist Dabei der Kanal auf dem der Thermostat die Fenster offen Meldung erhält. Damit ist das Kommando addLink(Fenstersensor, Kanal 1, Thermostat, Kanal 4)
Wir können die Kopplung ebenfalls überprüfen, dazu müssen wir uns die „peers list“ des devices Anschauen. (homegear -r -> fs 4 -> ps <Geräte ID>)

Family 4 - peer 9> peers list
Channel: 1	Address: 0x7baaa	Remote channel: 4	Serial number: KEQ0124444

Family 4 - peer 9> ps 8
Family 4 - peer 8> peers list
Channel: 4	Address: 0x49aaa	Remote channel: 1	Serial number: JEQ0424444

Und hier sehen wir die Gegenseitige Kopplung, die Adressen und Seriennummern müsst Ihr euch leider von Hand raussuchen, da gibts (derzeit) noch keine Enstprechung.

Thermostate mit Wandthermostat koppeln

Hier Koppeln wir Thermostate mit dem Wandthermostat dabei haben die Thermostate die IDs 5 und 6 und der Wandthermostat die ID 2.

> $hg->addLink(2,1,5,3);
> $hg->addLink(2,1,6,3);

Auch das können wir natürlich wieder prüfen.

Family 4> ps 5
Family 4 - peer 5> peers list
Channel: 3	Address: 0x58888	Remote channel: 1	Serial number: JEQ0500000
Family 4 - peer 5> ps 6
Family 4 - peer 6> peers list
Channel: 3	Address: 0x58777	Remote channel: 1	Serial number: JEQ0500123
Family 4 - peer 6> ps 2
Family 4 - peer 2> peers list
Channel: 1	Address: 0x7ffff	Remote channel: 3	Serial number: KEQ0133333
Channel: 1	Address: 0x7bbbb	Remote channel: 3	Serial number: KEQ0444444

Fenstersensoren mit Wandthermostat koppeln (und den Thermostaten)

Ich möchte natürlich in einem Raum auch die Fenstersensoren mit dem Wandthermostat koppeln um alles im Raum vernetzt zu haben. In diesem Beispiel möchte ich Die Fenstersensoren ID 3 und ID4 mit dem Wandthermostat ID 2 Koppeln. Dazu nutze ich den Befehl: $hg->addLink(Fenstersensor, Kanal 3, Wandthermostat, Kanal 4):

> $hg->addLink(3,3,2,4);
> $hg->addLink(4,3,2,4);

#Auch das prüfen wir:

Family 4 - peer 2> peers list
Channel: 4	Address: 0x49999	Remote channel: 3	Serial number: JEQ0333333
Channel: 4	Address: 0x58788	Remote channel: 3	Serial number: JEQ0123545
Channel: 1	Address: 0x7ffff	Remote channel: 3	Serial number: KEQ0154786
Channel: 1	Address: 0xbbbbb	Remote channel: 3	Serial number: KEQ0199999

Hier sehen wir jetzt entsprechend auf Kanal 4 die zwei Geräte gekoppelt. Um die Sache rund zu machen sollten wir die Fenstersensoren jetzt allerdings auch nochmal mit den Thermostaten koppeln, dann reagiert das ganze einfach schneller (und war bei FHEM auch schon immer so :-)). Wir koppeln jetzt also die Thermostate ID 5 und ID 6 mit jeweils den Fenstersensoren ID 3 und ID 4.

> $hg->addLink(3,1,5,4);
> $hg->addLink(3,1,6,4);
> $hg->addLink(4,1,5,4);
> $hg->addLink(4,1,6,4);
> fs4
Family 4> ps 5
Family 4 - peer 5> peers list
Channel: 4	Address: 0x4xxxx	Remote channel: 1	Serial number: JEQ0xxxxxx
Channel: 4	Address: 0x5xxxx	Remote channel: 1	Serial number: JEQ0xxxxxx
Channel: 3	Address: 0x5xxxx	Remote channel: 1	Serial number: JEQxxxxxxx
Family 4 - peer 5> ps 6
Family 4 - peer 6> peers list
Channel: 4	Address: 0x4xxxx	Remote channel: 1	Serial number: JEQxxxxxxx
Channel: 4	Address: 0x5xxxx	Remote channel: 1	Serial number: JEQ0xxxxxx
Channel: 3	Address: 0x5xxxx	Remote channel: 1	Serial number: JEQ0xxxxxx

Und hier sehen wir jetzt ebenfalls schön wie wir jeweils die zwei Fenstersensoren auf Kanal 4 haben und den Wandthermostat auf Kanal 3. Damit ist das System dann erstmal komplett untereinander verbunden.

Setzen von Einstellungen

Wichtig ist ebenfalls gewisse Werte im MAX! System konfigurieren zu können. Dazu zählen meiner Meinung nach die folgenden:
– WINDOW_OPEN_TEMPERATURE – Temperatur wenn Fenster offen
– ECO_TEMPERATURE – Temperatur im ECO Modus (wenn verwendet)
– COMFORT_TEMPERATURE – Die „Warme“ Temperatur
Als Beispiel setzen wir alle diese Werte einmal auf einem Wandthermostat ID 2 und zwei Thermostaten ID 5 und ID 6.

> $hg->setValue(2,1,"WINDOW_OPEN_TEMPERATURE",10.0);
> $hg->setValue(5,1,"WINDOW_OPEN_TEMPERATURE",10.0);
> $hg->setValue(6,1,"WINDOW_OPEN_TEMPERATURE",10.0);
> $hg->setValue(6,1,"COMFORT_TEMPERATURE",19.5);
> $hg->setValue(5,1,"COMFORT_TEMPERATURE",19.5);
> $hg->setValue(2,1,"COMFORT_TEMPERATURE",19.5);
> $hg->setValue(2,1,"ECO_TEMPERATURE",17.0);
> $hg->setValue(5,1,"ECO_TEMPERATURE",17.0);
> $hg->setValue(6,1,"ECO_TEMPERATURE",17.0);

Damit haben wir auch diese Werte Konfiguriert. Am Ende alles kein Hexenwert, wirklich komfortabel allerdings auch nicht. Bleibt nur noch ein Array für die Wochensteuerung zu bauen, aber das hebe ich mir für einen extra Beitrag auf.


6 Gedanken zu „MAX! Komponenten in Homegear koppeln und Konfigurieren

  1. Hallo,
    danke für die gute beschreibung das Koppeln wird leider nur sehr selten so gut beschrieben.
    Damit konnte ich jetzt meine Wandthermostate mit meinen Stellantrieben kopplen.

    Nun ist mir mir aber aufgefallen, des Wandthermostat ist „Master“. Wenn ich über Homeassistent direkt das Thermometer verstelle, wird das Setting vom Wandthermostat übernommen.
    Wird die Zieltemperatur an das Wandthermostat gesendet, wird dieser Wert auch auf den Stellantrieb übernommen. Das selbe gilt für den Wochenplan.

    Muss da das Peering noch in umgekehrter reihe Erfolgen? Wie wäre dann dort die Kanalzuordung.

  2. Hallo Benedikt,

    konzeptionell ist es glaube ich so gedacht, das man beim Einsatz von Wandthermostaten, den Wert lokal am Stellantrieb ändern kann, dieser aber nicht an den Wandthermostat zurückgemeldet wird, sondern als lokaler Wert im „Manuellen“ Modus besteht. Den müsstest Du setzen und dann kannst Du denke ich den Wert auch überschreiben. Ansonsten werden immer die Werte des Wandthermostat angenommen, was an und für sich auch einleuchtend ist, dazu hat man den ja. Der Funktionsumfang in der GUI ist da leider sehr basic. Die beste unterstützung für das MAX! System gibt es immer noch in FHEM, allerdings hat das wieder andere nachteile.

  3. Hallo, danke.
    Ich komme von FHEM und habe so gut wie alles umgezogen. Da ich nicht so tief in MQTT/FHEM belesen bin. Habe ich eine einfach Möglichkeit gesucht, die MAX! Thermostate in HA zu migrieren.

    2 Max!Cube (auf clufw), 1 SCC, 16 Stellantriebe und 4 Wandthermosate waren in einem Abend in Homegear und HA. Also eine elegante Lösung die schnell umzusetzen war.

    Das mit dem Wandthermomenter / Stellantrieb ist jetzt nur eine kleiner Wermutstropfen. Wenn man weiß wo man drehen muss, aber kein Problem.

  4. Hallo Thomas,
    vielen Dank dafür, das du deine Erfahrung und Installationshinweise so leicht verständlich zur Verfügung stellst.
    Ich versuche mit gerade in HomeGear, da ich ein Haus mit jeder Menge (ungekoppelter) MAX! Komponentn erworben habe.
    Im Gegensatz zu dir finde ich die Homegear Doku recht dürftig. An vielen Stellen wird HomeGear spezifisches Know-How vorausgesetzt, aber nicht gesagt wo man Info’s dazu findet. Oder sie ist schlicht veraltet und/oder unvollständig.
    So wird beispielweise nirgends erklärt wie der Zusammenhang der max.conf und den in der Admin-UI konfigurierten Werte ist. Die beeinflussen sich nämlich gegenseitig, wenn man in der max.conf Einträge ändert, die in der Admin-UI nicht vorgesehen sind. Und Antworten gibts im Homegear Forum auch eher selten…

    Daher hilft mir und sicher auch anderen deine Darstellung sehr viel weiter.
    Ich habe gesehen das du mit „homegear -r“ in die HomeGear Konsole wechselst und dann diverse Befehle absetzt. z.B. „peers list“.
    Das bedeutet ja faktisch, das man jeden Befehl einzeln eintippen oder per cut&paste eintragen muss.
    Gibt es eine Möglichkei diese Befehle direkt von der Kommandozeile auszuführen?
    Dann könnte man ein (Linux-Bash-) Script erstellen, das alle vorgefertigten (oder gespeicherten) Konfigurationen on Block einfügt, bzw. ändert.
    Das wäre besser als jedes Backup, da sich in einem Backup manchmal auch Fehlkonfigurationen einschleichen, die man dann irgendwie wieder entfernen muss…

  5. Hallo,

    Eine super Anleitung, jetzt laufen auch meine MAX! Geräte auf HA über Homegear.
    Du hast oben geschrieben, daß du vielleicht noch den Wocheplan machen wolltest,
    hasst du da auch was gemacht?

    Viele Grüße
    Rudi

  6. Hallo Rudi,

    prinzipiell muss man sich da nur einmal ein entsprechendes array basteln und übergeben. Einen extra Beitrag werde ich dazu aber wohl nicht mehr machen.

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.