am 25. Januar 2026 14:54
Hallo zusammen!
Über die Bosch Smart Home App, ist es möglich, den Sollwert an einem Raumthermostat (II) für eine begrenzte Zeit manuell zu setzen (Über den "Stoppuhr"-Button). Der automatische Zeitplan wird dann für einen begrenzten Zeitraum überschrieben. Nach Ablauf der eingestellten Zeit wechselt der Thermostat wieder zurück auf "Automatisch".
Meine Frage ist nun: Kann man dieses Verhalten auch mit der REST API erwirken?
Zumindest wenn ich den Status (der RoomClimateControl) auslese, sehe ich, dass das eingestellt ist, z.B.:
'customDuration': {
'customDurationActive': True,
'customDurationActiveSince': '2026-01-25T12:09:04.052673Z'
}, 'nextChange': {
'nextSetpointTemperature': 16.0,
'nextOperationMode': 'AUTOMATIC',
'nextSetPointTemperatureChange': '2026-01-25T13:10:00Z'
}
Daher vermute ich, dass das Verhalten von dem SHC verwaltet wird (und nicht von der App). Aber ich habe keine Dokumentation gefunden, wie ich das über die REST API setzen kann.
Oder steuert das doch die App? (Und ich muss die Logik in meinem Projekt selbst programmieren?)
am 01. Februar 2026 20:55
Okay, sorry, ich habe wo ganz falsches geschaut.
Die Operation für den RoomClimateControl DeviceService lautet
startCustomDurationund muss um zwei Parameter im Body als Array ergänzt werden:
1. die Temperatur, z. B. "21.5"
2. der Zeitpunkt, bis wann die Temperatur gelten soll, z. B. "2027-12-03T10:15:30+01:00"
Ich hoffe, so klappt es.
POST /devices/<roomClimateControlId>/services/RoomClimateControl/operation/startCustomDuration
Body:
[ 22.5, "2027-12-03T10:15:30+01:00" ]
am 25. Januar 2026 19:42
Hallo @ijonmichy,
ja, das geht über die REST-API.
Probiers mal mit einem POST-Request auf /devices/<roomClimateControlId>/services/PowerSwitchProgram/operation/turnOnTemporarily.
Viele Grüße
Sebastian
P.S. deine Vermutung war richtig. Es wäre zu unzuverlässig, der App das automatische Ausschalten zu überlassen. Es gibt ja keine Garantie, dass diese zum richtigen Zeitpunkt eine Verbindung zum SHC herstellen kann.
am 25. Januar 2026 20:54
Super! Danke für die schnelle Antwort.
Kannst du mir auch sagen, wie das json strukturiert ist, das ich im body senden muss? (Hab die Struktur von climateControlState ausprobiert. Aber ich weiß nicht, wie ich die Zeit definiere, bei der wieder auf Automatik geschaltet werden soll.)
am 25. Januar 2026 22:07
Guter Punkt! Ich glaube, nur die Dauer in Sekunden.
am 01. Februar 2026 14:23
Also nur die Dauer in Sekunden? Und die Temperatur? (Oder setze ich erst die Temperatur und steuere dann den PowerSwitchProgram-Endpunkt an?)
Wenn ich nur einen Zahlenwert übergebe, bekomme ich jedenfalls Fehler 422
{
"@type":"JsonRestExceptionResponseEntity",
"errorCode":"JSON_MAPPING_FAILED",
"statusCode":422
}
am 01. Februar 2026 20:55
Okay, sorry, ich habe wo ganz falsches geschaut.
Die Operation für den RoomClimateControl DeviceService lautet
startCustomDurationund muss um zwei Parameter im Body als Array ergänzt werden:
1. die Temperatur, z. B. "21.5"
2. der Zeitpunkt, bis wann die Temperatur gelten soll, z. B. "2027-12-03T10:15:30+01:00"
Ich hoffe, so klappt es.
POST /devices/<roomClimateControlId>/services/RoomClimateControl/operation/startCustomDuration
Body:
[ 22.5, "2027-12-03T10:15:30+01:00" ]
am 01. Februar 2026 21:45
Perfekt! Das funktioniert. Vielen Dank 🙂
am 27. Januar 2026 21:01
Also nur die Dauer in Sekunden? Und die Temperatur? (Oder setze ich erst die Temperatur und steuere dann den PowerSwitchProgram-Endpunkt an?)
Wenn ich nur einen Zahlenwert übergebe, bekomme ich jedenfalls Fehler 422
{
"@type":"JsonRestExceptionResponseEntity",
"errorCode":"JSON_MAPPING_FAILED",
"statusCode":422
}
03. Februar 2026 09:35 - bearbeitet 03. Februar 2026 09:35
Wie frage ich per REST-API die Schaltzeiten von einem RoomClimateControl Service ab? Bei z.B. einem Zwischenstecker klappt das mit
$"devices/{{device_id}}/services/PowerSwitchProgram"
Bei einem RoomClimateControl bekomme ich die Schedule-ID z.B.
am 03. Februar 2026 09:42
Probier's bitte mal mit GET /climate/schedule/roomClimateControl_hz_1/<scheduleId>
03. Februar 2026 09:52 - bearbeitet 03. Februar 2026 10:15
Hallo @sebastian, auf
{{shc_api}}/climate/schedule/roomClimateControl_hz_11/b3a8492a-edf4-498c-966c-68f11debf223
bekomme ich "nur" das zurück: