Skip to content

In Cooling mode changes in Thermostat Parameters are not sent back correctly to the physical Thermostats (and the bosch app) #3107

Description

@MarkusMas

DESCRIPTION

Hello, first off, I’m new to the ems-esp project and would like to thank everyone involved.

When my heatpump switches to cooling mode, none of the parameters of the room thermostats (from ems-esp UI/ or HA UI) are applied/ send back correctly to the heatpumps room thermostats.

On the other hand all changes made on the physical room thermostats and in the bosch app are correctly reflected in the ems-esp data.

REQUESTED INFORMATION

systembackup/ config
{
   "system":{
      "version":"3.8.2",
      "uptime":"000+00:15:15.610",
      "uptimeSec":915,
      "resetReason":"Power on reset / APP CPU reset by PRO CPU",
      "platform":"ESP32",
      "cpuType":"ESP32-D0WD-V3",
      "arduino":"ESP32 Arduino v2.0.17",
      "sdk":"v4.4.7-dirty",
      "freeMem":171,
      "maxAlloc":107,
      "freeCaps":4160,
      "usedApp":2378,
      "freeApp":2294,
      "partition":"app0",
      "flash_chip_size":16384,
      "psram":true,
      "psramSize":4093,
      "freePsram":4022,
      "model":"BBQKees Electronics E32V2.2 rev.2.2/2026012",
      "txpause":false,
      "gpios_allowed":"2, 4, 5, 14, 32, 34, 36, 39",
      "gpios_in_use":"2, 4, 5, 14, 32, 34, 36, 39",
      "gpios_available":""
   },
   "network":{
      "network":"Ethernet",
      "hostname":"ems-esp",
      "TxPowerSetting":0,
      "staticIP":false,
      "lowBandwidth":false,
      "disableSleep":true,
      "enableMDNS":true,
      "enableCORS":false
   },
   "ntp":{
      "NTPstatus":"connected",
      "enabled":true,
      "server":"time.google.com",
      "tzLabel":"Europe/Berlin",
      "timestamp":1780499322,
      "NTPStatus":"connected"
   },
   "ap":{
      "provisionMode":"disconnected",
      "ssid":"ems-esp",
      "security":"wpa2",
      "channel":1,
      "ssidHidden":false,
      "maxClients":4,
      "localIP":"192.168.4.1",
      "gatewayIP":"192.168.4.1",
      "subnetMask":"255.255.255.0"
   },
   "mqtt":{
      "MQTTStatus":"connected",
      "MQTTPublishes":749,
      "MQTTQueued":0,
      "MQTTPublishFails":0,
      "MQTTReconnects":0,
      "enabled":true,
      "clientID":"esp32-e0077000",
      "keepAlive":60,
      "cleanSession":false,
      "entityFormat":1,
      "base":"ems-esp",
      "discoveryPrefix":"homeassistant",
      "discoveryType":0,
      "nestedFormat":1,
      "haEnabled":true,
      "mqttQos":0,
      "mqttRetain":false,
      "publishTimeHeartbeat":60,
      "publishTimeBoiler":10,
      "publishTimeThermostat":10,
      "publishTimeSolar":10,
      "publishTimeMixer":10,
      "publishTimeWater":10,
      "publishTimeOther":60,
      "publishTimeSensor":10,
      "publishSingle":false,
      "publish2command":false,
      "sendResponse":false
   },
   "syslog":{
      "enabled":false
   },
   "modbus":{
      "enabled":false
   },
   "sensor":{
      "temperatureSensors":1,
      "temperatureSensorReads":182,
      "temperatureSensorFails":0
   },
   "analog":{
      "enabled":true,
      "analogSensors":3,
      "analogSensorReads":11,
      "analogSensorFails":0
   },
   "api":{
      "APICalls":0,
      "APIFails":0
   },
   "bus":{
      "busStatus":"connected",
      "busProtocol":"HT3",
      "busTelegramsReceived":6115,
      "busReads":1320,
      "busWrites":0,
      "busIncompleteTelegrams":0,
      "busReadsFailed":0,
      "busWritesFailed":0,
      "busRxLineQuality":100,
      "busTxLineQuality":100
   },
   "settings":{
      "boardProfile":"E32V2_2",
      "locale":"de",
      "txMode":1,
      "emsBusID":13,
      "showerTimer":false,
      "showerMinDuration":180,
      "showerAlert":false,
      "hideLed":false,
      "noTokenApi":false,
      "readonlyMode":false,
      "fahrenheit":false,
      "dallasParasite":false,
      "boolFormat":1,
      "boolDashboard":1,
      "enumFormat":1,
      "analogEnabled":true,
      "telnetEnabled":true,
      "maxWebLogBuffer":50,
      "modbusEnabled":false,
      "forceHeatingOff":false,
      "developerMode":false
   },
   "devices":[
      {
         "type":"boiler",
         "name":"XCU_THH/CS5800i, CS6800i, WLW176i, WLW186i",
         "deviceID":"0x08",
         "productID":8,
         "brand":"Bosch",
         "version":"00.00",
         "entities":182,
         "handlersReceived":"0xBF 0xC6 0xD1 0xE3 0xE4 0xE5 0xE9 0x0494 0x0495 0x048F",
         "handlersFetched":"0x14 0xE6 0xEA 0xEB 0x02CC 0x048D 0x04A2 0x0485 0x0486 0x0492 0x0488 0x0484 0x048B 0x0491 0x0499 0x049C 0x049D 0x04AE 0x04AF 0x04AA 0x02D6",
         "handlersPending":"0x10 0x11 0xC2 0x15 0x1C 0x18 0x19 0x1A 0x35 0x16 0x33 0x34 0x27 0x2A 0x28 0x02E0 0x048A 0x04A5 0x04A7",
         "handlersIgnored":"0xE7 0x02EA 0x061E 0x023E 0x0240 0x0291 0x0292 0x0293 0x0294 0x029B 0x02A5 0x02F5 0x04A8 0x04A9 0x04AB 0x04AC 0x04CA 0x04CB 0x04D8 0x04F2"
      },
      {
         "type":"thermostat",
         "name":"HMI800.2/Rego 3000, UI800, Logamatic BC400",
         "deviceID":"0x10",
         "productID":253,
         "brand":"",
         "version":"47.09",
         "entities":80,
         "handlersReceived":"0x06 0x02BA 0x02BB 0x02BC 0x031D 0x0267 0xBF 0xC0",
         "handlersFetched":"0x02A5 0x02B9 0x02AF 0x029B 0x0471 0x0467 0x0291 0x0292 0x0293 0x0294 0x02F5 0x023A 0x0240 0xBB 0x023E 0x016E",
         "handlersPending":"0xA3 0xA2 0x12 0x13 0x02A6 0x02B0 0x029C 0x0472 0x02A7 0x02B1 0x029D 0x0473 0x02A8 0x02B2 0x029E 0x0474 0x02A9 0x02BD 0x02B3 0x029F 0x0475 0x02AA 0x02BE 0x02B4 0x02A0 0x0476 0x02AB 0x02BF 0x02B5 0x02A1 0x0477 0x02AC 0x02C0 0x02B6 0x02A2 0x0478 0x0421 0x0422 0x0468 0x0423 0x0469 0x0424 0x046A 0x02F6 0x031B 0x031E 0x0269 0x0470",
         "handlersIgnored":"0x0507 0x0508 0x0509 0x050A 0x059D 0xF7"
      },
      {
         "type":"heatpump",
         "name":"HP Module",
         "deviceID":"0x38",
         "productID":252,
         "brand":"",
         "version":"14.00",
         "entities":0,
         "handlersPending":"0x047B 0x0998 0x0999 0x09A0 0x099B 0x099C 0x04AE 0x04AF 0x099A 0x012E 0x013B 0x04AA",
         "handlersIgnored":"0x0A5D 0x0C5B 0x1683 0x0A5B 0x0C59 0x1681 0x045D 0x0A57 0x0A58 0x0A59 0x0A5A 0x0A5C 0x0A5E 0x0A5F 0x0A60 0x0A61 0x0A62 0x0A63 0x0A64 0x0A65 0x0A66 0x0C5D 0x1685 0x0C5C 0x1684 0x0C55 0x167D 0x0C57 0x167F 0x0C5A 0x1682 0x0C56 0x167E 0x0C58 0x1680 0x16E1 0x16E2 0x16E3 0x16E4 0x16E5 0x16E6 0x16E7 0x16E8 0x16E9 0x16F5 0x0C5E 0x0C5F 0x0C60 0x0C61 0x0C62 0x0C63 0x0C64 0x0CAF 0xBF"
      },
      {
         "type":"gateway",
         "name":"K40RF/MX400",
         "deviceID":"0x48",
         "productID":17,
         "brand":"Bosch",
         "version":"14.00",
         "entities":0,
         "handlersIgnored":"0xF9 0x2040 0x0495 0x0494 0x04AF 0x04AE"
      },
      {
         "type":"gateway",
         "name":"K40RF/MX400",
         "deviceID":"0x4B",
         "productID":17,
         "brand":"",
         "version":"14.00",
         "entities":0,
         "handlersIgnored":"0x04D6 0x04D7 0xBF"
      },
      {
         "type":"connect",
         "name":"K40RF/Wireless base",
         "deviceID":"0x50",
         "productID":17,
         "brand":"",
         "version":"14.00",
         "entities":64,
         "handlersReceived":"0x0BDD 0x1244 0x0BDE 0x1245 0x0BDF 0x1246 0x0BE0 0x1247 0x0BE1 0x1248 0x0BE2 0x1249 0x0BE3 0x124A 0x0BE4 0x124B 0x0BE5 0x124C 0x0BE6 0x124D 0x0BE7 0x124E 0x0BE8 0x124F 0x0BE9 0x1250 0x0BEA 0x1251 0x0BEB 0x1252 0x0BEC 0x1253",
         "handlersFetched":"0x0B3D 0x0BB5 0x1230 0x0B3F 0x0BB7 0x1232 0x0B40 0x0BB8 0x1233 0x0B41 0x0BB9 0x1234 0x0B42 0x0BBA 0x1235 0x0B43 0x0BBB 0x1236 0x0B44 0x0BBC 0x1237 0x0B45 0x0BBD 0x1238",
         "handlersPending":"0xD1 0x06 0x0B3E 0x0BB6 0x1231 0x0B46 0x0BBE 0x1239 0x0B47 0x0BBF 0x123A 0x0B48 0x0BC0 0x123B 0x0B49 0x0BC1 0x123C 0x0B4A 0x0BC2 0x123D 0x0B4B 0x0BC3 0x123E 0x0B4C 0x0BC4 0x123F 0xDB65",
         "handlersIgnored":"0x2040 0xBF"
      },
      {
         "type":"temperaturesensor",
         "name":"temperaturesensor",
         "entities":1
      },
      {
         "type":"analogsensor",
         "name":"analogsensor",
         "entities":3
      }
   ]
}

About my Heatpump and setup:

  • Heatpump: Bosch CS5800i
  • with build in Controller: UI800
  • Communication Module: Connect Key K40 RF
  • Regulation of individual rooms (DE: "Einzelraumregelung") by Bosch SRC 100 RF (equivalent to Buderus SRC plus)
  • Bosch Thermostats THIW 230 in each room
  • Two rooms are linked as one group (SRC1 + SRC2)
  • Thermostats automatically switch between heating and colling mode when needed (all at ounce)

TO REPRODUCE

  • set heatpump to cooling mode (or let it set itself)
  • in the EMS-EPS UI or Homeassistant:
    • try changing room temperature or
    • try changing the thermostat operating mode: auto (schedule), manual, off

==> Changes in cooling mode do not appear on physical room thermostats/ nor in the app.

However i noticed, that the changed parameters are instead applied to the heating mode, which is inactive/ hidden (in the bosch app) at this point. So it seems that he parameters are not send correctly.

EXPECTED BEHAVIOUR

I would expect, that the changed "selected room temperature" and "operating mode" would be applied correctly to the cooling mode as well as to the heating mode.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions