Urlaubs/Party Modus einstellen über IPS

Hallo zusammen,

hat jemand ein funktionierendes Script um bei einem HomaticIP Gerät (CCU3 + HmIP-BWTH Wandthermostat)
den Party/Urlaubsmodus mit einer Start u. Endzeit zu aktivieren?

folgendes habe ich ohne Erfolg probiert:

HM_WriteValueString($IPS_DeviceID, ‚PARTY_TIME_START‘, ‚2022_10_13 07:30‘);
HM_WriteValueString($IPS_DeviceID, ‚PARTY_TIME_END‘, ‚2022_10_13 08:00‘);
HM_WriteValueFloat($IPS_DeviceID, ‚SET_POINT_TEMPERATURE‘, $Temp);
HM_WriteValueInteger($IPS_DeviceID, „SET_POINT_MODE“, „2“);

Bin für jede Hilfe dankbar :grin:

Die Lösung ist ein Homematic Script im RemoteScript Interface von [Nall-chan] laufen zu lassen.

Habe leider ein Problem in der letzten Zeile jemand eine Idee?

$HMScript = ‚string stdErr=„“; string stdOut=„“; string TCL=„“;‘ . PHP_EOL
.‚TCL= TCL # " {SET_POINT_MODE {i4 2}}";‘ . PHP_EOL
.‚TCL= TCL # " {SET_POINT_TEMPERATURE {double 12.50}}";‘ . PHP_EOL
.‚TCL= TCL # " {PARTY_TIME_START {2023_01_24 19:30}}";‘ . PHP_EOL
.‚TCL= TCL # " {PARTY_TIME_END {2023_01_24 20:00}}";‘ . PHP_EOL
.‚object oCHANNEL= dom.GetObject (ID_CHANNELS).Get („HmIP-BWTH 000C9F298AE2D8:1“);‘ . PHP_EOL
.‚object oIFace= dom.GetObject (oCHANNEL.Interface () );‘ . PHP_EOL
.‚string sTCL= ^puts [xmlrpc ^ #oIFace.InterfaceUrl()# ^/ putParamset [list string "^#oCHANNEL.Address()#^"] [list string "VALUES"] [list struct "^#TCL#^"]]^;‘ . PHP_EOL
.‚system.Exec („/bin/sh -c ‚echo "load tclrpc.so; " # sTCL # "" |tclsh‘“,&stdOut,&stdErr);‘ . PHP_EOL;

Funktioniert bei WTH, BWTH u. ETRV von Homematic

$Temp = (Integer Wert 5-30)
$Startzeit = „2024_01_05 08:00“;
$Endzeit = „2024_04_06 09:00“;

$HMScript = ‚string stdErr=„“; string stdOut=„“; string TCL=„“;‘ . PHP_EOL
.‚TCL= TCL # " {SET_POINT_MODE {i4 2}}";‘ . PHP_EOL
.‚TCL= TCL # " {SET_POINT_TEMPERATURE {double ‚.$Temp.‘}}";‘ . PHP_EOL
.‚TCL= TCL # " {PARTY_TIME_START {‘.$Startzeit.‚}}";‘ . PHP_EOL
.‚TCL= TCL # " {PARTY_TIME_END {‘.$Endzeit.‚}}";‘ . PHP_EOL
.‚object oCHANNEL= dom.GetObject (ID_CHANNELS).Get („HmIP-BWTH xxxxxxxxxxxxxx:1“);‘ . PHP_EOL
.‚object oIFace= dom.GetObject (oCHANNEL.Interface () );‘ . PHP_EOL
.‚string sTCL= ^puts [xmlrpc ^ #oIFace.InterfaceUrl()# ^/ putParamset [list string "^#oCHANNEL.Address()#^"] [list string "VALUES"] [list struct "^#TCL#^"]]^;‘ . PHP_EOL
.‚system.Exec ("/bin/sh -c 'echo "load tclrpc.so; " # sTCL # „" |tclsh'“,&stdOut,&stdErr);‘ . PHP_EOL;

$HMScriptResult = HM_RunScript(ID /[HomeMatic RemoteScript Interface]/, $HMScript);
var_dump(json_decode($HMScriptResult));

Leider wird der Code oben nicht richtig dargestellt anbei der Screenshot.

Folgendes ist ebenfalls verfügbar bei Interesse:
Urlaub für alle Thermostate aktivieren/deaktivieren
Globale Bediensperre
Offset
Optimum Start/Stop
Servicemeldungen Text/Anzahl
Firmware
Wochenplan

Anbei ein paar Screenshots
Urlaub Alle