abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 


Temperatur steuern Thermostate (RTH2_230/BWTH usw.) per REST-API

Stefan71242
Vice President of the Homies

Hallo,

 

ich schaffe es leider nicht, per REST-API die Temperatur von Thermostaten (z.B. RTH2_230/BWTH) zu steuern (KI Gemini und ChatGPT5.0 haben auch aufgegeben 😁).

Probiert habe ich schon viele Kombinationen (im Postman) z.B. mittels
{{shc_api}}/devices/{{device_id}}/services/{{service_id}}/state     (service_id="Thermostat")

{

    "@type": "climateControlState",
    "setpointTemperature": 22.5
}

Ergebnis: 1  (???, passiert am Thermostat aber nichts)

oder per
PUT {{shc_api}}/devices/{{device_id}}/services/RoomClimateControl/state

{
    "@type": "climateControlState",
    "setpointTemperature": "21.5"
}

Fehler:

{
    "@type": "JsonRestExceptionResponseEntity",
    "errorCode": "ENTITY_NOT_FOUND",
    "statusCode": 404
}



oder in meinem Smart_Home_Center:
case "thermostat": // RAUMTHERMOSTAT HEIZUNG
strUrl = $"devices/{strID}/services/Thermostat/state";
strOrder = $"{{\"@type\": \"climateControlState\", \"setpointTemperature\": \"20.5\", \"operationMode\": \"MANUAL\" }}"; // Befehl zum Steuern Temperatur
// { "@type": "thermostatState", "setpointTemperature": 21.5 } 

oder
strOrder = $"{{\"@type\": \"TemperaturLevel\", \"setpointTemperature\": \"20.5\", \"operationMode\": \"MANUAL\" }}"; // Befehl zum Steuern Temperatur
// { "@type": "thermostatState", "setpointTemperature": 21.5 } 

oder
case "climatecontrolstate": // TEMPERATUR / KLIMAKONTROLLE
strUrl = $"devices/{strID}/services/Thermostat/state"; // Ziel-URL zusammenbauen
// { ""@type\": \"climateControlState\", \"setpointTemperature\": "20.5" } // strOrder wird von der aufrufenden Funktion (z.B. Form0_ToolboxGeraete) geliefert.

Kann jemand einen Tipp geben oder mir von BOSCH einen Hinweis geben, wo ich für die Temperatursteuerung in der REST-API Doku passende Infos finde?  Danke vorab 👋🤓

 

SHC II mit 149 Komponenten, 14 Szenarien, 60 Automationen, 4 Zustände, Stromausfallwächter, Schlüsselschalter Alarm, Briefkasteneinwurferkennung, 3 fest verbaute Tablets für BSH als BHS-Zentralen, Freeware Windows-BSH-Software: https://www.smart-home-center.info
1 AKZEPTIERTE LÖSUNG

/devices/{deviceId}/services/RoomClimateControl/state scheint mir auch der richtige Ansatz zu sein. Verwendest Du da die richtige deviceId für das virtuelle Gerät "Raumtemperatur"?

Privater Endanwender, kein Bosch-Mitarbeiter.
SHC II + Funk-Stick mit 38 Geräten + 12 Hue + Home Connect, 130 Automationen, OnePlus 7T mit Android 12

☝ gerne mitmachen! Info SHC Generation, Smartphone und Betriebssystem hilft häufig bei der Lösung von Problemen. Einfach im Profil bei "Persönliche Informationen" in der "Signatur" eintragen.

Lösung in ursprünglichem Beitrag anzeigen

4 ANTWORTEN 4

Maurice
Poweruser

Ohne in den Details der API drinzustecken: Die Soll-Temperatur einzelner Thermostate kann man soweit ich weiß gar nicht setzen, das läuft immer über die Abstraktion "Raumtemperatur".

Privater Endanwender, kein Bosch-Mitarbeiter.
SHC II + Funk-Stick mit 38 Geräten + 12 Hue + Home Connect, 130 Automationen, OnePlus 7T mit Android 12

☝ gerne mitmachen! Info SHC Generation, Smartphone und Betriebssystem hilft häufig bei der Lösung von Problemen. Einfach im Profil bei "Persönliche Informationen" in der "Signatur" eintragen.

Stefan71242
Vice President of the Homies

Hallo @Maurice, aber wie geht das: "immer über die Abstraktion "Raumtemperatur" ?

In der REST-API Kollektion scheint mir das der richtige Ansatz zu sein:
{{shc_api}}/devices/{{device_id}}/services/RoomClimateControl/state

Body (RAW):

{
    "@type": "climateControlState",
    "setpointTemperature": "21.5"
}

Von den ServiceIDs her habe ich es über Thermostat und TemperatureLevel auch probiert:
 "@type": "device",
    "rootDeviceId": "64-da-a0-40-93-e2",
    "id": "hdm:HomeMaticIP:3014F711A000239EF8592C2B",
    "deviceServiceIds": [
        "CommunicationQuality",
        "Thermostat",
        "TemperatureLevel",
        "HumidityLevel",
        "WallThermostatConfiguration",
        "TemperatureOffset"
    ],
    "manufacturer": "BOSCH",
    "roomId": "hz_9",
    "deviceModel": "BWTH",
    "serial": "3014F711A000239EF8592C2B",
    "profile": "GENERIC",
    "name": "Thermostat Büro Stefan",


Doku habe ich das hier gefunden:
https://local.apidocs.bosch-smarthome.com/#/States/put_devices__deviceId__services_RoomClimateContro... 

SHC II mit 149 Komponenten, 14 Szenarien, 60 Automationen, 4 Zustände, Stromausfallwächter, Schlüsselschalter Alarm, Briefkasteneinwurferkennung, 3 fest verbaute Tablets für BSH als BHS-Zentralen, Freeware Windows-BSH-Software: https://www.smart-home-center.info

/devices/{deviceId}/services/RoomClimateControl/state scheint mir auch der richtige Ansatz zu sein. Verwendest Du da die richtige deviceId für das virtuelle Gerät "Raumtemperatur"?

Privater Endanwender, kein Bosch-Mitarbeiter.
SHC II + Funk-Stick mit 38 Geräten + 12 Hue + Home Connect, 130 Automationen, OnePlus 7T mit Android 12

☝ gerne mitmachen! Info SHC Generation, Smartphone und Betriebssystem hilft häufig bei der Lösung von Problemen. Einfach im Profil bei "Persönliche Informationen" in der "Signatur" eintragen.

Stefan71242
Vice President of the Homies

Das war der entscheidende Hinweis; vielen Dank 😀👍

Ich habe immer die ID vom Thermostat (BHWT) genommen, weil ich davon ausgegangen bin, dass das Thermostat den neuen Temperaturwert erhält und dann entsprechend regelt. Mit den "virtuellen Geräten" habe ich noch nicht so ganz auf dem Schirm (muss noch echt viel vom BSH lernen 🤗), aber mit der ID roomClimateControl_hz_9 funktioniert es in Postman mit 

{{shc_api}}/devices/{{device_id}}/services/RoomClimateControl/state
und

{
    "@type": "climateControlState",
    "setpointTemperature": "20.0"
}




SHC II mit 149 Komponenten, 14 Szenarien, 60 Automationen, 4 Zustände, Stromausfallwächter, Schlüsselschalter Alarm, Briefkasteneinwurferkennung, 3 fest verbaute Tablets für BSH als BHS-Zentralen, Freeware Windows-BSH-Software: https://www.smart-home-center.info



Rechtswidrigen Inhalt melden