Es gibt da einen Config Parameter, den musst du per executeCmdline über ein php Skript setzen. Ich hatte da mal was angefangen, aber nicht fertig gemacht. Suche ich heute abend mal raus.
Das ist z. B. etwas, was mit eine CCU gar nicht geht, da du auf die Parameter nur manuell setzen kannst.
So, rausgesucht. Der Parameter ist WEEK_PROGRAM_POINTER
, der muss entsprechend gesetzt werden.
Das könnte dann mit diesem shell-script gemacht werden. Parameter 1 ist der Peer, Parameter 2 das Wochenprogramm. Bin mir gerade nicht sicher ob 0,1,2 oder 1,2,3 die Wochenprogramme auswählen.
#!/bin/sh
PEERID=$1
WPPID=$2
/usr/bin/homegear -e rc "\$hg->putParamset($PEERID, -1, \"MASTER\", array(\"WEEK_PROGRAM_POINTER\" => $WPPID ));"
Das wird dann über executeCommandLine aus einer Rule in openHAB aufgerufen. Die Rule unten setzt das Wochenprogramm für die 3 Wandthermostate mit den PeerIds 12, 17 und 21. (Ich gehe mal davon aus, dass alle Thermostate die gleichen Programme haben sollen.)
rule "SetWeekProgramPointer"
when
Item HmWeekProgramPointer changed
then
val String cmd = "/etc/openhab2/exec-scripts/SetWeekProgramPointer.sh"
executeCommandLine(cmd + " 12 " + HmWeekProgramPointer.state.toString)
executeCommandLine(cmd + " 17 " + HmWeekProgramPointer.state.toString)
executeCommandLine(cmd + " 21 " + HmWeekProgramPointer.state.toString)
end
Das habe ich jetzt aus dem Kopf und meinen Codefragmenten wieder zusammengefriemelt, aber nicht getestet.