Homematic - Homegear - Temperatur Offset einstellen

Hi,

ich bin gerade dabei von FHEM und einem HMLAN-Adapter auf Homegear + OpenHab und hm-mod-rpi-pcb umzusteigen. Einen Thermostat habe ich angebunden und kann ihn auch steuern, allerdings vermisse ich einige Konfigurationsmöglichkeiten:

  • wie kann ich über Homegear oder OpenHab bspw. den Temperatur Offset einstellen? In FHEM ging dies bspw. über set <Thermostat-Name>_Clima regSet tempOffset -3.0K (nur als Beispiel, damit klar ist was ich meine)
  • wie könnte ich Temperatur-Profile einspielen, um den Thermostat im Auto Modus zu betreiben?

Generell hätte ich halt vermutet, alle Werte die ich in FHEM im Zugriff hatte auch unter Homegear/OpenHab so setzen zu können, aber anscheinend ist dies nicht so oder ich schaue an der falschen Stelle.

Mittels homegear -e rc ‘print_v($hg->getValue(1, 4, “MANU_MODE”));’ bzw. homegear -e rc ‘print_v($hg->setValue(1, 4, “MANU_MODE”, 16.0));’ habe ich zwar die Temperatur steuern können, aber eben diese spezielleren Eigenschaften finde ich nicht.

Ich habe ebenfalls versucht mittels sudo homegear -e rc ‘print_v($hg->listDevices());’ und sudo homegear -e rc ‘print_v($hg->getParamset(<id>,<channel>,“VALUES”));’ den Wert dafür überhaupt zu finden, aber auch das gelingt mir nicht.

Laut https://github.com/openhab/openhab-addons/issues/3026 gibt es dazu eine Möglichkeit in OpenHab aber abgesehen von dem dort beschriebenen Fehler habe ich auch in OpenHab diesen Wert/Channel nicht.

Ich hoffe, jemand der auch Homematic eingesetzt, kann mir etwas auf die Sprünge helfen, vielleicht suche ich ja nur an der falschen Stelle oder habe einen generellen Denkfehler.

Vielen Dank vorab für eure Mühe & lieben Gruß
Roland

So, ich habe es mittlerweile raus gefunden wie es funktioniert, vielleicht ist es ja für andere Homematic Nutzer auch von Interesse:

die von mir gesuchten Parameter befinden sich im Channel 0, das hatte ich schon einmal mittels ‘config print’ herausgefunden. Diese Werte lassen sich aber nicht über “getValue” bzw. “setValue” ansprechen, sondern über “getParamset” bzw. “putParamset”. Wichtig dabei ist noch, dass für den Parameter “paramsetType” der Wert “MASTER” übergeben wird.

Konkret bedeutet das, man kann die folgende REST Schnittstelle nutzen:
http://smarthome-pi:2001/api/v1/config/1/0/MASTER
und dort entweder per GET die Werte abfragen oder per PUT die gewünschten Werte als JSON Payload übertragen oder aber in der BASH die folgenden Befehle nutzen:
sudo homegear -e rc ‘print_v($hg->getParamset(1,0,“MASTER”));’
sudo homegear -e rc ‘print_v($hg->putParamset(1,0,“MASTER”, array(“TEMPERATURE_OFFSET” => 12)));’

Die 1 ist hier die ID meines Thermostats, 0 der Channel für die Konfigurations-Parameter, 12 entspricht einem Offset von +2,5K (dazu mehr im nächsten Abschnitt).

Bei der Angabe des Offsets gilt es zu beachten, dass der Wertebereich von -3,5K bis +3,5K geht, die Werte allerdings wie folgt hexadezimal gemappt werden:
-3,5K = 0x00
-3,0K = 0x01
-2,5K = 0x02
-2,0K = 0x03
-1,5K = 0x04
-1,0K = 0x05
-0,5K = 0x06
+0,0K = 0x07
+0,5K = 0x08
+1,0K = 0x09
+1,5K = 0x0A
+2,0K = 0x0B
+2,5K = 0x0C
+3,0K = 0x0D
+3,5K = 0x0E
Übertragen werden kann der Offset als Dezimalwert, also statt “0x0C” überträgt man einfach “12” um bspw. den Offset auf +2,5K zu setzen, der Standardwert für keinen Offset ist somit “7”.

Ich hoffe, das hilft dem einen oder anderen weiter …

3 Likes