Can't set some values - Bosch CR120 Thermostat with Ceramini ZSR 5/10-7 KE 21 Boiler #1779
-
Hi I've recently gotten a new boiler Ceramini ZSR 5/10-7 KE 21 and thermostat Bosch CR120 (PDF warning, there's no official website for this product) and bought a Gateway E32 V2 right away to hook it into Home Assistant. Getting it connected via the EMS bus pins was a breeze and setting it up to join the Wifi and MQTT also. I see the entities for both the boiler and the thermostat in Home Assistant and in the EMS ESP Dashboard. Unfortunately though I can't make any changes to anything at all from either the Dashboard or Home Assistant. Any change either throws an error or is just simply ignored. Honestly, I've tried nothing and I'm all out of ideas. How do I go about diagnosing this? Thanks a ton for your help in advance! Here's my /api/system: {
"System Info":{
"version":"3.6.5",
"uptime":"000+00:53:22.433",
"uptime (seconds)":3202,
"platform":"ESP32",
"arduino":"Tasmota Arduino v2.0.14",
"sdk":"4.4.6.240105",
"free mem":175,
"max alloc":107,
"used app":1591,
"free app":6537,
"partition":"app1",
"reset reason":"Software reset CPU / Software reset CPU"
},
"Network Info":{
"network":"WiFi",
"hostname":"ems-esp",
"RSSI":-58,
"BSSID":"set",
"TxPower setting":78,
"static ip config":false,
"enable IPv6":true,
"low bandwidth":false,
"disable sleep":false,
"enable MDNS":true,
"enable CORS":false,
"AP provision mode":"disconnected",
"AP security":"wpa2",
"AP ssid":"ems-esp"
},
"NTP Info":{
"NTP status":"disconnected",
"enabled":false,
"server":"time.google.com",
"tz label":"Europe/Amsterdam"
},
"OTA Info":{
"enabled":true,
"port":8266
},
"MQTT Info":{
"MQTT status":"connected",
"MQTT publishes":1028,
"MQTT queued":0,
"MQTT publish fails":0,
"MQTT connects":1,
"enabled":true,
"client id":"ems-esp",
"keep alive":60,
"clean session":false,
"entity format":1,
"base":"ems-esp",
"discovery prefix":"homeassistant",
"discovery type":0,
"nested format":1,
"ha enabled":true,
"mqtt qos":0,
"mqtt retain":false,
"publish time heartbeat":60,
"publish time boiler":10,
"publish time thermostat":10,
"publish time solar":10,
"publish time mixer":10,
"publish time other":10,
"publish time sensor":10,
"publish single":false,
"publish2command":false,
"send response":false
},
"Syslog Info":{
"enabled":false
},
"Sensor Info":{
"temperature sensors":0,
"temperature sensor reads":0,
"temperature sensor fails":0,
"analog sensors":0,
"analog sensor reads":0,
"analog sensor fails":0
},
"API Info":{
"API calls":1,
"API fails":0
},
"Bus Info":{
"bus status":"connected",
"bus protocol":"HT3",
"bus telegrams received (rx)":2249,
"bus reads (tx)":591,
"bus writes (tx)":12,
"bus incomplete telegrams":0,
"bus reads failed":1,
"bus writes failed":0,
"bus rx line quality":100,
"bus tx line quality":100
},
"Settings":{
"board profile":"E32V2",
"locale":"en",
"tx mode":1,
"ems bus id":11,
"shower timer":false,
"shower alert":false,
"hide led":true,
"notoken api":false,
"readonly mode":false,
"fahrenheit":false,
"dallas parasite":false,
"bool format":1,
"bool dashboard":1,
"enum format":1,
"analog enabled":true,
"telnet enabled":true,
"max web log buffer":50,
"web log buffer":50
},
"Devices":[
{
"type":"boiler",
"name":"Condens 2500/Logamax/Logomatic/Cerapur Top/Greenstar/Generic HT3",
"device id":"0x08",
"product id":95,
"version":"35.20",
"entities":57,
"handlers received":"0x10 0x11 0x14 0x15 0x1C 0x18 0x19 0x34 0x2A 0x04",
"handlers fetched":"0x16 0x33",
"handlers pending":"0xBF 0xC2 0x1A 0x35 0x26",
"handlers ignored":"0x23 0x22 0x2E 0x17 0x28 0x01 0x03"
},
{
"type":"thermostat",
"name":"RC200/CW100",
"device id":"0x18",
"product id":157,
"version":"22.02",
"entities":45,
"handlers received":"0x06 0x031D",
"handlers fetched":"0x02A5 0x02B9 0x02AF 0x029B 0x0291 0x02F5 0x023A",
"handlers pending":"0xA3 0xA2 0x12 0x13 0x0471 0x02A6 0x02BA 0x02B0 0x029C 0x0472 0x02A7 0x02BB 0x02B1 0x029D 0x0473 0x02A8 0x02BC 0x02B2 0x029E 0x0474 0x02A9 0x02BD 0x02B3 0x029F 0x0475 0x02AA 0x02BE 0x02B4 0x02A0 0x0476 0x02AB 0x02BF 0x02B5 0x02A1 0x0477 0x02AC 0x02C0 0x02B6 0x02A2 0x0478 0x02CC 0x0467 0x02CE 0x0468",
"handlers ignored":"0xBF 0xF7 0xF6 0xF9 0x04 0x16 0x18 0x19 0x33 0x34 0x15 0x17 0x02FF 0x1C 0x1104"
},
{
"type":"controller",
"name":"HT3",
"device id":"0x09",
"product id":95,
"version":"35.20",
"entities":0
}
]
} |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 41 replies
-
From the system info you provided I can't see anything strange. It looks healthy. Can you provide some examples of the error messages you are seeing? Either from the log (in the WebUI) or perhaps easier in your case is to Telnet, then |
Beta Was this translation helpful? Give feedback.
-
@proddy Thanks for the quick reply! I went into the System Log on the Dashboard and sent a command from Home Assistant via MQTT to set the temperature. I set the syslog to level ALL.
Basically a bunch of chatter here - but this chatter is ongoing anyway regardless of whether I set anything or not. I'm logged into the console as the admin as well, and tried similar there:
Either way it didn't seem to change anything - a further call of
shows that the temperature stays stubbornly at 16. |
Beta Was this translation helpful? Give feedback.
-
@proddy That's weird. Here's another log. First, I set it to a manual temp of 25 (0x19), then 15 (0x0F), then I waited a while and set it to boost mode with temp 26 (0x1A). Here's the logs for this action:
Also, Home Assistant is very responsive to the changes, so they trickle through the system immediately: |
Beta Was this translation helpful? Give feedback.
-
So - a quick update - I was able to toggle the mode just fine. Logs attached. I watched the mode change instantly on the display as I issued the commands.
This was after I added the custom entity @MichaelDvP mentioned - however I removed the custom entity again and made sure to save my changes, and tried again, and it still worked. So I assume that this always worked and I just missed it. |
Beta Was this translation helpful? Give feedback.
-
@MichaelDvP on dev12, I'm seeing:
Sooo, this one's not a winner for me. Sorry :) Edit: I'll get back to you on this. It took a loooong time for the entities to show up. They're there now though. I'll run some tests for you tomorrow! |
Beta Was this translation helpful? Give feedback.
-
@MichaelDvP, @proddy I'm sorry for the really late reply. Work has been something else... I've updated to the latest official dev18 build which you posted today. The thermostat is detected as:
so that works, which is neat! However, at the moment, all it shows are these values: {
"Boiler Condens 2500/Logamax/Logomatic/Cerapur Top/Greenstar/Generic HT3 (DeviceID:0x08, ProductID:95, Version:35.20)": {
"force heating off (heatingoff)": "off",
"heating active (heatingactive)": "off",
"tapwater active (tapwateractive)": "off",
"selected flow temperature (selflowtemp)": 0,
"heating pump modulation (heatingpumpmod)": 0,
"current flow temperature (curflowtemp)": 26.8,
"exhaust temperature (exhausttemp)": 25.3,
"gas (burngas)": "off",
"gas stage 2 (burngas2)": "off",
"fan (fanwork)": "on",
"ignition (ignwork)": "off",
"oil preheating (oilpreheat)": "off",
"burner min power (burnminpower)": 0,
"burner max power (burnmaxpower)": 21,
"burner min period (burnminperiod)": 3,
"hysteresis on temperature (boilhyston)": -5,
"hysteresis off temperature (boilhystoff)": 0,
"heating activated (heatingactivated)": "on",
"heating temperature (heatingtemp)": 54,
"heating pump (heatingpump)": "off",
"boiler pump max power (pumpmodmax)": 100,
"boiler pump min power (pumpmodmin)": 10,
"boiler pump mode (pumpmode)": "deltaP-2",
"pump delay (pumpdelay)": 3,
"set flow temperature (setflowtemp)": 0,
"burner set power (setburnpow)": 0,
"burner selected max power (selburnpow)": 0,
"burner current power (curburnpow)": 0,
"burner starts (burnstarts)": 1083,
"total burner operating time (burnworkmin)": "20 days 13 hours 0 minutes",
"burner stage 2 operating time (burn2workmin)": "0 days 0 hours 0 minutes",
"total heat operating time (heatworkmin)": "20 days 13 hours 0 minutes",
"burner starts heating (heatstarts)": 1083,
"total UBA operating time (ubauptime)": "167 days 23 hours 10 minutes",
"service code number (servicecodenumber)": 0,
"maintenance message (maintenancemessage)": "H00",
"maintenance scheduled (maintenance)": "off",
"time to next maintenance (maintenancetime)": 0,
"dhw selected temperature (seltemp)": 15,
"dhw type (type)": "off",
"dhw comfort (comfort)": "hot",
"dhw flow temperature offset (flowtempoffset)": 0,
"dhw circulation pump available (circpump)": "off",
"dhw charging type (chargetype)": "3-way valve",
"dhw hysteresis on temperature (hyston)": 0,
"dhw hysteresis off temperature (hystoff)": 0,
"dhw disinfection temperature (disinfectiontemp)": 70,
"dhw circulation pump mode (circmode)": "2x3min",
"dhw circulation active (circ)": "off",
"dhw activated (activated)": "on",
"dhw 3-way valve active (3wayvalve)": "off",
"dhw set pump power (setpumppower)": 0,
"nominal Power (nompower)": 11,
"total energy (nrgtotal)": 0.82,
"energy heating (nrgheat)": 0.82,
"dhw energy (nrg)": 0.00
},
"Thermostat RC200/CW100/CR120 (DeviceID:0x18, ProductID:157, Version:22.02)": {
"date/time (datetime)": "01.01.2023 00:00",
"damped outdoor temperature (dampedoutdoortemp)": 0.0,
"hc1 selected room temperature (seltemp)": 17.0,
"hc1 current room temperature (currtemp)": 26.1,
"hc1 mqtt discovery current room temperature (haclimate)": "roomTemp"
},
"Controller Module HT3 (DeviceID:0x09, ProductID:95, Version:35.20)": {},
"Custom Entities": {},
"Scheduler": {},
"Analog Sensors": {},
"Temperature Sensors": {}
} and of the thermostat values, only two are settable (seltemp and datetime.) Neither work. Via the EMS UI, I tried setting both. These are the logs from around then: datetime:
seltemp:
On the command line:
and
(though I'm not sure that is indeed the correct syntax for setting the date via the command line.) |
Beta Was this translation helpful? Give feedback.
-
@MichaelDvP Thanks for the dev build. This is looking a lot better already. The tldrtldr is at the top here: tldrtldr:
First off, I get a lot more entities to play with:
and mode changes work exactly as expected (three of them: auto, manual, off). In auto mode, setting seltemp works fine:
and I can see that the changes arrive on the thermostat as expected. In manual mode, though, seltemp does nothing:
and the temperature does not change in the front end. Maybe this is expected? I don't know. There is a
and that sets the correct temperature on the device's display. However:
it does not keep the value properly - it always displays as 0. However:
seltemp gets updated to the selected temperature. So tldr: in manual mode, you need to set the temperature via I'm not quite sure yet what to make of comforttemp, summertemp, ecotemp, etc, as all these are not modes I can select. Finally, I can't set the datetime using the UI or console at all but maybe I'm doing it wrong:
|
Beta Was this translation helpful? Give feedback.
The custom is mainly for testing. Please try the dev https://github.com/MichaelDvP/EMS-ESP32/releases, i've made some changes to seltemp and mode settings. Please also try to change mode and if seltemp also works in auto mode.
If ok, i'll do a PR. (In 3.7 the webpage changes, if it looks scrambled clear browser cache for emsesp.)