Closed stewiem2000 closed 1 year ago
The thermostat seems to be compatible with RC100, i've added it to the database, check with new dev.
CRC errors are most common on low buspower. If you are on buspower, maybe the RF-thermostat draws more than wired thermostats. If you have a service-jack, try powering with this (jumper change) or try USB-power (jumper removed).
If crc-errors stays with external power, check the bus connection and cable. Try different bus-connectors and cable length (not less 25 cm).
Thanks for the quick response! That's certainly picked it up and I can see some values propagating through to Home Assistant! :)
Unfortunately, that's where the joy seems to end :-o
Whilst the "Current room temperature" seems to be reflecting the display, the "Setpoint room temperature" is always 0º. Looking through the code, Thermostat::process_RC300Monitor() seems to be the function used. It even notes that octed-3 can be zero and the description for octet-6 matches what I'm seeing. Indeed, if I add the following to the end of that function, and finally figure out how to get a working build-environment, I do seem to get actual numbers:
if(hc->setpoint_roomTemp == 0.0) {
changed_ |= telegram->read_value(hc->setpoint_roomTemp, 6, 1); // is * 2, force as single byte
}
I'd ask whether that would be a reasonable patch-request, but having also tried to set a target temperature (via Home-Assistant or 'call thermostat temp 20'), nothing happens (other than appropriate log messages and telegram-tx) — so I wonder if there's something else (perhaps more obvious to you) that mismatches?
As for the CRC-errors: yes, I will check the cable and also try the service-jack tomorrow.
Thanks.
Seems that this thermostat is not 100% compatible to rc100 (see emsesp/EMS-ESP#249). The check with if(hc->setpoint_roomTemp == 0.0) {
is not a good solution, sometimes (summermode, etc.) the setpoint goes to 0 (see emsesp/EMS-ESP#256) and this logic will trigger a changed
in every telegram.
The 02A5 for this thermostat is very short, maybe we can use the length for checking. But first we have to check how to set the temperature. Can you log a watch 18
in terminal for more than a minute to see also the 02B9 telegram and others from thermostat. Please also change the setpoint on thermostat while watching to log the change, Post the log here,
Please also post the output of the show
command from telnet to see what values are read.
@stewiem2000 To make the setpoint work for reading and writing we need a feedback from you with the mentioned log.
My apologies! $DayJob and $Life popped-up; I had also hoped to switch over to the service-jack to gain cleaner logs (fewer invalid-CRC entries). In the mean time, here is the requested show
and log. I've rebooted the gateway, let it settle, then poked through the thermostat's modes, capturing approximately a minute's worth of entries between each change.
Show:
EMS-ESP version 2.2.2b0
Boiler: Worcester GBx72/Trendline/Cerapur/Greenstar Si/27i (DeviceID:0x08 ProductID:123, Version:06.02)
Heating active: off
Warm water/DHW active: off
Service code:
Service code number: 203
Last error: EA(229) 08.01.2020 08:23
Selected flow temperature: 5 °C
Burner selected max power: 0 %
Burner current power: 0 %
Heating pump modulation: 0 %
Current flow temperature: 36.2 °C
Return temperature: 34.9 °C
Max temperature: 36.7 °C
Gas: off
Flame current: 0.0 uA
Heating Pump: off
Fan: off
Ignition: off
Heating activated: on
Heating temperature setting: 60 °C
Circuit pump modulation max power: 100 %
Circuit pump modulation min power: 60 %
Circuit pump delay time: 3 min
Burner min period: 5 min
Burner min power: 0 %
Burner max power: 100 %
Temperature hysteresis on: -6 °C
Temperature hysteresis off: 4 °C
Burner starts: 48751
Burner active time: 193 days 21 hours 5 minutes
Heating active time: 183 days 7 hours 12 minutes
Boiler total uptime: 1380 days 16 hours 18 minutes
Maintenance message: -
Scheduled maintenance: off
Warm water selected temperature: 51 °C
Warm water set temperature: 0 °C
Warm water disinfection temperature: 70 °C
Warm water type: flow
Warm water charging type: 3-way valve
Warm water circulation pump available: off
Warm water circulation pump freq: 2x3min
Warm water circulation active: off
Warm water current temperature (intern): 30.2 °C
Warm water current tap water flow: 0.0 l/min
Warm water storage temperature (intern): 30.2 °C
Warm water activated: on
Warm water one time charging: off
Warm water disinfecting: off
Warm water charging: off
Warm water recharging: off
Warm water temperature ok: on
Warm water active: off
Warm water heating: on
Warm water starts: 26830
Warm water active time: 10 days 13 hours 53 minutes
Thermostat: Worcester CRF200S (DeviceID:0x18 ProductID:216, Version:01.02)
Time: 13:26:00 26/04/2021
(hc 1) Setpoint room temperature: 16.5 °C
(hc 1) Current room temperature: 18.5 °C
(hc 1) Target flow temperature: 0 °C
(hc 1) Mode: auto
Controller: Controller (DeviceID:0x09, ProductID:152, Version:03.01)
Log:
-----8<----- Mode:auto, Target: 18ºC, Reading 18.4º, Boiler:off -----8<-----
000+00:00:40.600 E 31: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request.
000+00:00:41.630 N 32: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A3 09 00 01 03 40 D0 01 63 80 00 01 85 00 00 FF 00 00 01 09 00 00 00
000+00:00:52.154 N 33: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A3 09 00 01 03 40 D0 01 62 80 00 01 85 00 00 FF 00 00 01 09 00 00 00
000+00:00:53.824 E 34: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request.
000+00:00:56.239 N 35: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Set(0x2B9), data: <empty>
000+00:00:59.974 E 36: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request.
000+00:01:01.679 N 37: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A3 09 00 01 03 40 D0 01 61 80 00 01 85 00 00 FF 00 00 01 09 00 00 00
000+00:01:03.408 N 38: [emsesp] Thermostat(0x18) -> All(0x00), RCTime(0x06), data: 15 04 0D 1A 0F 00 00 00
000+00:01:03.598 N 39: [emsesp] Thermostat(0x18) <- Boiler(0x08), Version(0x02), data: 0A
000+00:01:03.639 N 40: [emsesp] Boiler(0x08) -> Thermostat(0x18), Version(0x02), data: 7B 06 02 00 00 00 00 00 00 0B
000+00:01:03.674 N 41: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B8 21 00 5A 09 25
000+00:01:03.876 N 42: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 55 09
000+00:01:14.124 E 43: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request.
000+00:01:26.174 E 44: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request.
000+00:01:28.677 N 45: [emsesp] Thermostat(0x18) -> Me(0x0B), RCErrorMessage(0x12), data: <empty>
000+00:01:30.202 N 46: [emsesp] Thermostat(0x18) -> Me(0x0B), RCError(0xA2), data: <empty>
000+00:01:30.462 N 47: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300WWmode(0x2F5), data: <empty>
000+00:01:30.687 N 48: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300WWtemp(0x31B), data: <empty>
000+00:01:30.962 N 49: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300OutdoorTemp(0x23A), data: <empty>
000+00:01:31.187 N 50: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Settings(0x240), data: <empty>
000+00:01:31.682 E 51: [telegram] Rx: 88 0B 19 00 80 00 01 AB 80 00 00 00 00 00 00 BE 6D 04 42 90 00 00 00 04 FF 0F 00 55 9F 80 00 9D (CRC 9D != 81)
000+00:01:32.005 E 52: [telegram] Rx: 80 FE 88 00 18 00 3C 01 A2 09 00 01 03 40 D0 01 5D 80 00 01 85 00 00 FF 00 00 01 09 00 00 00 C2 (CRC C2 != 8C)
000+00:01:34.362 N 53: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300WWmode(0x2F5), data: <empty>
000+00:01:34.562 N 54: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300WWtemp(0x31B), data: <empty>
000+00:01:34.888 N 55: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300OutdoorTemp(0x23A), data: <empty>
000+00:01:35.138 N 56: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Settings(0x240), data: <empty>
000+00:02:02.253 N 57: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A2 09 00 01 03 40 D0 01 5B 80 00 01 84 00 00 FF 00 00 01 09 00 00 00
000+00:02:02.849 E 58: [telegram] Rx: 98 00 06 00 15 04 0D 1A 10 00 00 00 08 09 (CRC 09 != 10)
000+00:02:03.106 N 59: [emsesp] Thermostat(0x18) -> All(0x00), RCTime(0x06), data: 15 04 0D 1A 10 00 00 00
000+00:02:03.301 N 60: [emsesp] Thermostat(0x18) <- Boiler(0x08), Version(0x02), data: 0A
000+00:02:03.339 N 61: [emsesp] Boiler(0x08) -> Thermostat(0x18), Version(0x02), data: 7B 06 02 00 00 00 00 00 00 0B
000+00:02:03.368 E 62: [telegram] Rx: 98 00 FF 00 01 A5 00 B8 21 00 5A 09 (CRC 09 != FC)
000+00:02:04.082 N 63: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B8 21 00 5A 09 25
000+00:02:04.277 N 64: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBAFlags(0x35), data: 01
000+00:02:04.318 N 65: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 55 09
000+00:02:04.579 N 66: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 B8 21 00 5A 09 25
000+00:02:04.814 N 67: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Set(0x2B9), data: <empty>
000+00:02:05.089 N 68: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Summer(0x2AF), data: <empty>
000+00:02:05.314 N 69: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Curves(0x29B), data: <empty>
-----8<----- Target set to 20ºC, boiler came on -----8<-----
000+00:02:11.705 N 70: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A2 09 00 01 03 40 D0 01 5A 80 00 01 84 00 00 FF 00 00 01 09 00 00 00
000+00:02:13.081 N 71: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B8 21 00 5A 64 28
000+00:02:13.275 N 72: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 55 64
000+00:02:14.686 N 73: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A2 64 00 01 03 04 D0 01 5A 80 00 01 84 00 00 FF 00 00 01 1B 00 00 00
000+00:02:17.686 N 74: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A2 64 00 01 03 25 D0 01 59 80 00 01 84 00 00 FF 00 00 01 1C 00 00 00
000+00:02:18.686 N 75: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A2 64 00 01 03 2D D0 01 59 80 00 01 84 00 23 FF 00 00 01 1C 00 00 00
000+00:02:19.686 N 76: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A3 64 00 09 03 2D D0 01 59 80 00 01 86 00 AA FF 00 00 01 1C 00 00 00
000+00:02:21.736 N 77: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A4 64 2D 09 03 25 D0 01 59 80 00 01 7D 00 FA FF 00 00 00 C8 00 00 00
000+00:02:25.686 N 78: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 B3 64 28 09 03 25 D0 01 59 80 00 01 7F 01 1D FF 00 00 00 C8 00 00 00
000+00:02:26.686 N 79: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 B9 64 27 09 03 25 D0 01 59 80 00 01 7C 01 13 FF 00 00 00 C8 00 00 00
000+00:02:28.686 N 80: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 C4 64 25 09 03 25 D0 01 58 80 00 01 7A 01 01 FF 00 00 00 C8 00 00 00
000+00:02:31.686 N 81: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 CD 64 20 09 03 25 D0 01 58 80 00 01 7B 00 E9 FF 00 00 00 C8 00 00 00
000+00:02:32.735 N 82: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 D0 64 20 09 03 25 D0 01 58 80 00 01 7B 00 E1 FF 00 00 00 C8 00 00 00
000+00:02:40.786 N 83: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 C9 64 1E 09 03 25 D0 01 57 80 00 01 71 00 CE FF 00 00 00 C8 00 00 00
000+00:02:41.736 N 84: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 C6 64 1E 09 03 25 D0 01 57 80 00 01 71 00 CE FF 00 00 00 C8 00 00 00
000+00:02:43.711 N 85: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 C1 64 1E 09 03 25 D0 01 57 80 00 01 70 00 CE FF 00 00 00 C8 00 00 00
000+00:02:50.686 N 86: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 B7 64 1D 09 03 25 D0 01 56 80 00 01 68 00 D1 FF 00 00 00 C8 00 00 00
000+00:02:51.711 N 87: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 B6 64 1E 09 03 25 D0 01 56 80 00 01 68 00 D3 FF 00 00 00 C8 00 00 00
000+00:02:59.761 N 88: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 AD 64 1E 09 03 25 D0 01 55 80 00 01 67 00 D8 FF 00 00 00 C8 00 00 00
000+00:03:00.788 E 89: [telegram] Rx: 88 0B 19 00 80 00 01 AB 80 00 00 00 00 54 00 BE 6E 04 42 90 00 00 00 04 D8 0F 00 55 A0 80 00 ED (CRC ED != E0)
000+00:03:01.711 N 90: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 AB 64 1E 09 03 25 D0 01 56 80 00 01 67 00 D6 FF 00 00 00 C8 00 00 00
000+00:03:03.311 N 91: [emsesp] Thermostat(0x18) -> All(0x00), RCTime(0x06), data: 15 04 0D 1A 11 00 00 00
000+00:03:03.506 N 92: [emsesp] Thermostat(0x18) <- Boiler(0x08), Version(0x02), data: 0A
000+00:03:03.544 N 93: [emsesp] Boiler(0x08) -> Thermostat(0x18), Version(0x02), data: 7B 06 02 00 00 00 00 00 00 0B
000+00:03:03.805 E 94: [telegram] Rx: 98 00 FF 00 01 A5 00 B8 21 00 10 09 (CRC 09 != B6)
000+00:03:04.438 N 95: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B8 21 00 5A 64 28
000+00:03:04.634 N 96: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 55 64
000+00:03:05.134 N 97: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 B8 21 00 5A 64 28
000+00:03:11.960 N 98: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A5 64 1D 09 03 25 D0 01 55 80 00 01 67 00 DC FF 00 00 00 C8 00 00 00
000+00:03:14.736 N 99: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A3 64 1E 09 03 25 D0 01 54 80 00 01 67 00 DB FF 00 00 00 C8 00 00 00
000+00:03:21.761 N 100: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A2 64 1D 09 03 25 D0 01 54 80 00 01 68 00 D9 FF 00 00 00 C8 00 00 00
000+00:03:32.010 N 101: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 A1 64 1D 09 03 25 D0 01 53 80 00 01 6A 00 DB FF 00 00 00 C8 00 00 00
-----8<----- Target set to 17ºC, boiler went off -----8<-----
000+00:03:36.587 N 102: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B8 21 00 5A 64 22
000+00:03:36.788 N 103: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 55 64
000+00:03:36.836 N 104: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B8 20 00 00 00 22
000+00:03:37.032 N 105: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
000+00:03:38.710 N 106: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 A2 00 00 08 02 24 D0 01 53 80 00 01 6C 00 D5 FF 00 00 00 CB 00 00 00
000+00:03:40.735 N 107: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 A2 00 00 00 02 24 D0 01 53 80 00 01 6D 00 00 FF 00 00 00 CB 00 00 00
000+00:03:46.735 N 108: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 97 00 00 00 02 24 D0 01 52 80 00 01 6B 00 00 FF 00 00 00 CB 00 00 00
000+00:03:50.810 N 109: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 8E 00 00 00 02 24 D0 01 51 80 00 01 6B 00 00 FF 00 00 00 CB 00 00 00
000+00:03:51.810 N 110: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 8C 00 00 00 02 24 D0 01 51 80 00 01 6B 00 00 FF 00 00 00 CB 00 00 00
000+00:03:54.735 N 111: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 85 00 00 00 02 24 D0 01 51 80 00 01 6C 00 00 FF 00 00 00 CB 00 00 00
000+00:04:01.735 N 112: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 7E 00 00 00 02 24 D0 01 51 80 00 01 6D 00 00 FF 00 00 00 CB 00 00 00
000+00:04:03.312 E 113: [telegram] Rx: 88 0B 19 00 80 00 01 7E 80 00 00 00 03 40 00 BE 6E 04 42 91 00 00 00 04 F8 10 00 55 A0 80 00 D9 (CRC D9 != 1C)
000+00:04:03.839 N 114: [emsesp] Thermostat(0x18) -> All(0x00), RCTime(0x06), data: 15 04 0D 1A 12 00 00 00
000+00:04:04.029 N 115: [emsesp] Thermostat(0x18) <- Boiler(0x08), Version(0x02), data: 0A
000+00:04:04.069 N 116: [emsesp] Boiler(0x08) -> Thermostat(0x18), Version(0x02), data: 7B 06 02 00 00 00 00 00 00 0B
000+00:04:04.084 E 117: [telegram] Rx: 98 00 FF 00 01 A5 (CRC A5 != 87)
000+00:04:04.915 N 118: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B8 20 00 00 00 22
000+00:04:05.109 N 119: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBAFlags(0x35), data: 01
000+00:04:05.151 N 120: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
000+00:04:06.381 N 121: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 B8 20 00 00 00 22
000+00:04:06.760 N 122: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 7B 00 00 00 02 24 D0 01 50 80 00 01 6F 00 00 FF 00 00 00 CB 00 00 00
000+00:04:08.785 N 123: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 7B 00 00 00 02 20 D0 01 50 80 00 01 6F 00 00 FF 00 00 00 CB 00 00 00
000+00:04:11.735 N 124: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 7A 00 00 00 02 20 D0 01 50 80 00 01 70 00 00 FF 00 00 00 CB 00 00 00
-----8<----- Mode changed to Off -----8<-----
000+00:04:33.112 N 125: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B8 30 00 00 00 0A
000+00:04:33.308 N 126: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
000+00:04:41.785 N 127: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 7A 00 00 00 02 20 D0 01 4D 80 00 01 70 00 00 FF 00 00 00 CB 00 00 00
000+00:05:00.362 E 128: [telegram] Rx: 88 0B 19 00 80 00 01 7B 80 00 00 00 02 40 00 BE 6E 04 42 91 00 00 00 04 D8 10 00 55 A0 80 00 A9 (CRC A9 != A4)
000+00:05:02.209 N 129: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 7A 00 00 00 02 20 D0 01 4C 80 00 01 70 00 00 FF 00 00 00 CB 00 00 00
000+00:05:02.859 N 130: [emsesp] Thermostat(0x18) -> All(0x00), RCTime(0x06), data: 15 04 0D 1A 13 00 00 00
000+00:05:03.050 N 131: [emsesp] Thermostat(0x18) <- Boiler(0x08), Version(0x02), data: 0A
000+00:05:03.069 N 132: [emsesp] Boiler(0x08) -> Thermostat(0x18), Version(0x02), data: 7B 06 02 00 00 00 00 00 00 0B
000+00:05:03.102 N 133: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B8 30 00 00 00 0A
000+00:05:03.297 N 134: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
000+00:05:03.507 N 135: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 B8 30 00 00 00 0A
000+00:05:11.835 N 136: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 7A 00 00 00 02 20 D0 01 4B 80 00 01 70 00 00 FF 00 00 00 CB 00 00 00
000+00:05:13.715 N 137: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B9 30 00 00 00 0A
000+00:05:22.109 N 138: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 79 00 00 00 02 20 D0 01 49 80 00 01 6D 00 00 FF 00 00 00 CB 00 00 00
000+00:05:41.859 N 139: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 77 00 00 00 02 20 D0 01 48 80 00 01 6C 00 00 FF 00 00 00 CB 00 00 00
-----8<----- Mode changed to On (target auto-restored to 20ºC) -----8<-----
000+00:05:48.535 N 140: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B9 21 00 5A 64 28
000+00:05:48.731 N 141: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 55 64
000+00:05:49.759 N 142: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 77 00 00 01 03 20 D0 01 47 80 00 01 6C 00 00 FF 00 00 00 CB 00 00 00
000+00:05:50.766 N 143: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 76 64 00 01 03 24 D0 01 47 80 00 01 6C 00 00 FF 00 00 01 1B 00 00 00
000+00:05:51.767 N 144: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 76 64 00 01 03 24 D0 01 47 80 00 01 6B 00 00 FF 00 00 01 1B 00 00 00
000+00:05:53.591 N 145: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 76 64 00 01 03 2D D0 01 47 80 00 01 6B 00 59 FF 00 00 01 1C 00 00 00
000+00:05:53.866 N 146: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 76 64 00 09 03 2D D0 01 47 80 00 01 6B 00 89 FF 00 00 01 1C 00 00 00
000+00:05:58.816 N 147: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 7F 64 2B 09 03 25 D0 01 47 80 00 01 6B 01 2B FF 00 00 00 C8 00 00 00
000+00:05:59.815 N 148: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 87 64 2A 09 03 25 D0 01 47 80 00 01 6B 01 29 FF 00 00 00 C8 00 00 00
000+00:06:01.791 N 149: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 94 64 27 09 03 25 D0 01 47 80 00 01 6B 01 14 FF 00 00 00 C8 00 00 00
000+00:06:02.892 N 150: [emsesp] Thermostat(0x18) -> All(0x00), RCTime(0x06), data: 15 04 0D 1A 14 00 00 00
000+00:06:03.082 N 151: [emsesp] Thermostat(0x18) <- Boiler(0x08), Version(0x02), data: 0A
000+00:06:03.099 N 152: [emsesp] Boiler(0x08) -> Thermostat(0x18), Version(0x02), data: 7B 06 02 00 00 00 00 00 00 0B
000+00:06:03.134 N 153: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B9 21 00 5A 64 28
000+00:06:03.333 N 154: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBAFlags(0x35), data: 01
000+00:06:03.355 N 155: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 55 64
000+00:06:03.441 N 156: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 9F 64 26 09 03 25 D0 01 47 80 00 01 6B 01 06 FF 00 00 00 C8 00 00 00
000+00:06:05.591 N 157: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 B9 21 00 5A 64 28
000+00:06:06.841 N 158: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 B0 64 20 09 03 25 D0 01 46 80 00 01 6A 00 E3 FF 00 00 00 C8 00 00 00
000+00:06:09.841 N 159: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 B8 64 1D 09 03 25 D0 01 46 80 00 01 6A 00 CF FF 00 00 00 C8 00 00 00
000+00:06:11.865 N 160: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 B9 64 1D 09 03 25 D0 01 46 80 00 01 6A 00 D3 FF 00 00 00 C8 00 00 00
000+00:06:14.840 N 161: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 B7 64 1D 09 03 25 D0 01 46 80 00 01 68 00 CE FF 00 00 00 C8 00 00 00
-----8<----- Target set to 16º, boiler went off -----8<-----
000+00:06:18.668 N 162: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B9 20 00 00 00 20
000+00:06:18.862 N 163: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
000+00:06:19.816 N 164: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 3C 01 AF 64 1E 08 02 25 D0 01 45 80 00 01 6C 00 D3 FF 00 00 00 CB 00 00 00
000+00:06:20.841 N 165: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 AE 00 00 08 02 24 D0 01 45 80 00 01 6C 00 78 FF 00 00 00 CB 00 00 00
000+00:06:22.791 N 166: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 AD 00 00 00 02 24 D0 01 45 80 00 01 6C 00 00 FF 00 00 00 CB 00 00 00
000+00:06:26.840 N 167: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 A1 00 00 00 02 24 D0 01 45 80 00 01 6A 00 00 FF 00 00 00 CB 00 00 00
000+00:06:29.791 N 168: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 97 00 00 00 02 24 D0 01 45 80 00 01 6A 00 00 FF 00 00 00 CB 00 00 00
000+00:06:31.790 N 169: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 91 00 00 00 02 24 D0 01 45 80 00 01 6A 00 00 FF 00 00 00 CB 00 00 00
000+00:06:32.866 N 170: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 8E 00 00 00 02 24 D0 01 45 80 00 01 68 00 00 FF 00 00 00 CB 00 00 00
000+00:06:36.816 N 171: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 85 00 00 00 02 24 D0 01 44 80 00 01 68 00 00 FF 00 00 00 CB 00 00 00
000+00:06:41.816 N 172: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 7E 00 00 00 02 24 D0 01 44 80 00 01 67 00 00 FF 00 00 00 CB 00 00 00
000+00:06:44.790 N 173: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 7B 00 00 00 02 24 D0 01 44 80 00 01 67 00 00 FF 00 00 00 CB 00 00 00
000+00:06:50.866 N 174: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 76 00 00 00 02 20 D0 01 44 80 00 01 67 00 00 FF 00 00 00 CB 00 00 00
000+00:06:51.866 N 175: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 76 00 00 00 02 20 D0 01 44 80 00 01 67 00 00 FF 00 00 00 CB 00 00 00
000+00:06:59.865 N 176: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 71 00 00 00 02 20 D0 01 43 80 00 01 67 00 00 FF 00 00 00 CB 00 00 00
000+00:07:00.817 E 177: [telegram] Rx: 88 0B 19 00 80 00 01 73 80 00 00 00 03 40 00 BE 6F 04 42 91 00 00 00 04 D8 10 00 55 A1 80 00 87 (CRC 87 != 8A)
000+00:07:02.040 N 178: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 71 00 00 00 02 20 D0 01 43 80 00 01 67 00 00 FF 00 00 00 CB 00 00 00
000+00:07:03.819 N 179: [emsesp] Thermostat(0x18) -> All(0x00), RCTime(0x06), data: 15 04 0D 1A 15 00 00 00
000+00:07:04.014 N 180: [emsesp] Thermostat(0x18) <- Boiler(0x08), Version(0x02), data: 0A
000+00:07:04.050 N 181: [emsesp] Boiler(0x08) -> Thermostat(0x18), Version(0x02), data: 7B 06 02 00 00 00 00 00 00 0B
000+00:07:04.073 E 182: [telegram] Rx: 98 00 FF 00 01 A5 00 B9 20 00 (CRC 00 != A6)
000+00:07:04.640 N 183: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B9 20 00 00 00 20
000+00:07:04.837 N 184: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
000+00:07:05.786 N 185: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 B9 20 00 00 00 20
000+00:07:22.390 N 186: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 71 00 00 00 02 20 D0 01 42 80 00 01 6A 00 00 FF 00 00 00 CB 00 00 00
-----8<----- Mode changed back to Auto -----8<-----
000+00:07:30.815 N 187: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 73 00 00 00 02 20 D0 01 41 80 00 01 6B 00 00 FF 00 00 00 CB 00 00 00
000+00:07:31.619 N 188: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B9 20 00 00 00 22
000+00:07:31.814 N 189: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
000+00:07:31.890 N 190: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 73 00 00 00 02 20 D0 01 41 80 00 01 6B 00 00 FF 00 00 00 CB 00 00 00
000+00:07:42.115 N 191: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 74 00 00 00 02 20 D0 01 40 80 00 01 6C 00 00 FF 00 00 00 CB 00 00 00
000+00:07:50.643 N 192: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B9 20 00 00 00 21
000+00:07:50.839 N 193: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
000+00:08:01.742 E 194: [telegram] Rx: 88 0B 16 00 FF 3C 64 00 04 FA 05 01 03 64 3C 04 00 00 00 00 00 00 00 00 F8 00 00 00 3C 00 1E 4C (CRC 4C != 50)
000+00:08:04.140 N 195: [emsesp] Thermostat(0x18) -> All(0x00), RCTime(0x06), data: 15 04 0D 1A 16 00 00 00
000+00:08:04.331 N 196: [emsesp] Thermostat(0x18) <- Boiler(0x08), Version(0x02), data: 0A
000+00:08:04.348 N 197: [emsesp] Boiler(0x08) -> Thermostat(0x18), Version(0x02), data: 7B 06 02 00 00 00 00 00 00 0B
000+00:08:04.383 N 198: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B9 20 00 00 00 21
000+00:08:04.577 N 199: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBAFlags(0x35), data: 01
000+00:08:04.604 N 200: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
000+00:08:05.313 N 201: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 B9 20 00 00 00 21
000+00:08:11.890 N 202: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 74 00 00 00 02 20 D0 01 3F 80 00 01 6A 00 00 FF 00 00 00 CB 00 00 00
000+00:08:29.864 N 203: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 71 00 00 00 02 20 D0 01 3E 80 00 01 67 00 00 FF 00 00 00 CB 00 00 00
000+00:08:31.839 N 204: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 71 00 00 00 02 20 D0 01 3C 80 00 01 67 00 00 FF 00 00 00 CB 00 00 00
Thanks.
Ok, this is a new kind of thermostat, it does not support the telgrams RC300Set(0x2B9), RC300Summer(0x2AF), and RC300Curves(0x29B) Only the RC300Monitor(0x2A5) is used, but with different meaning of the values.
It's only a few bytes: 00 B8 21 00 5A 09 25
where
pos 0/1: current roomtemp in 0.1°C
pos 2 seems to be mode bits, but is unclear
pos 3 ? always 0
pos 4 setpoint flowtemp (5A = 90°C)
pos 5 pump power (0-100%)
pos 6 the setpoint
We have to figure out the mode and mode_type settings: mode_type seems to be bit 0 with 0-eco(off), 1-comfort(on) mode is somewhere in bits 4 and 5, but i don't see the logic 0x20- auto (modetype eco) 0x21 - auto (modetype comfort) 0x30 - off (modetype eco)
What modes does the thermostat have? I can not find a manual in web.
For the setpoint can you try if pos 6 is writeable. In telnet
call system send "0B 18 FF 06 01 A5 26"
should set the setpoint roomtemp to 19°C.
If this works we can add it to thermostat-temp-command.
Manual:
Modes:
Position 6 seems unwritable :( I tried both tx_mode 1 and 2. Same immediate response from the thermostat.
ems-esp:/# call system send "0B 18 FF 06 01 A5 26"
000+02:38:19.433 N 13: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 B7 20 00 00 00 21
000+02:38:25.835 N 14: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 30 00 00 00 02 40 D0 00 E2 80 00 01 0E 00 00 FF 00 00 00 CB 00 00 00
000+02:38:36.061 N 15: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 30 00 00 00 02 40 D0 00 E2 80 00 01 10 00 00 FF 00 00 00 CB 00 00 00
000+02:38:45.510 N 16: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 30 00 00 00 02 40 D0 00 E2 80 00 01 10 00 00 FF 00 00 00 CB 00 00 00
000+02:38:55.960 N 17: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 30 00 00 00 02 40 D0 00 E2 80 00 01 10 00 00 FF 00 00 00 CB 00 00 00
000+02:39:01.788 N 18: [emsesp] Thermostat(0x18) -> All(0x00), RCTime(0x06), data: 15 04 0F 1A 35 00 00 00
000+02:39:01.984 N 19: [emsesp] Thermostat(0x18) <- Boiler(0x08), Version(0x02), data: 0A
000+02:39:02.020 N 20: [emsesp] Boiler(0x08) -> Thermostat(0x18), Version(0x02), data: 7B 06 02 00 00 00 00 00 00 0B
000+02:39:02.034 E 21: [telegram] Rx: 98 00 FF 00 01 A5 (CRC A5 != 87)
000+02:39:02.490 N 22: [emsesp] Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B7 20 00 00 00 21
000+02:39:02.692 N 23: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
000+02:39:03.506 N 24: [emsesp] Thermostat(0x18) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 B7 20 00 00 00 21
000+02:39:06.035 N 25: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 30 00 00 00 02 40 D0 00 E2 80 00 01 0E 00 00 FF 00 00 00 CB 00 00 00
000+02:39:15.560 N 26: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 30 00 00 00 02 40 D0 00 E2 80 00 01 0E 00 00 FF 00 00 00 CB 00 00 00
Position 6 seems unwritable
That's sad, but expected. Normally the monitor telegram is not wrtiable and there is a setting-telegram for the parameters, that is published if a parameter changed. But this thermostat only publishes the monitor, seems that there is no way to write the values. I added the known values for this thermostat as special thermostat type. But i don't know what else we can do to write a value.
@proddy, @Norberts1 You know more about the different thermostats and telegrams, any idea how to write setpoint?
I'd hope you wouldn't say that, but it fits. Thanks for adding the values, reporting will still be of some use.
Do I have any other sensible control options, e.g. "unplugging" the thermostat competely and sending the boiler commands directly? Is that considered a Bad Ideaᵀᴹ?
If there's any additional information I can provide, please let me know.
Do I have any other sensible control options, e.g. "unplugging" the thermostat competely and sending the boiler commands directly? Is that considered a Bad Ideaᵀᴹ?
Normally it is not the best idea to build a own thermostat logic, the commercial thermostats are very fail-safe and control strategy is a lot of work to rebuild. But your CRF seems very simple and it seems easy to replace it.
What the CRF do is to measure the roomtemp and calfulate to flowtemp and burnpower and send it to the boiler. This is done in only a few telegrams:
Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B8 21 00 5A 09 25
The thermostat publishes it's own values only for info.
Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 55 09
The thermostat sets the boiler flowtemp (85°C) and burnPower (9%).
Thermostat(0x18) -> Boiler(0x08), UBAFlags(0x35), data: 01
The thermostet tells the boiler that warm water is activated.
Also the thermostats do not have different temperatures and mode, it simple switches on or off at programmed times.
That is all i see in this log. There must be also a setting for ww-temperature in telegram 33 or 35.
If you unplug the thermostat you can do this very easy (or better if you also measure outdoor temperature) and calcualte flowtemp, also you can change between different temperatures for day and night, etc. with a bit scripting in home automation system.
You only need the commands boiler selflowtemp x
, boiler wwsettemp x
.
Only thing is, that we do not have a dedicated command for burnPower for now (but can be added easiely), you have to send by raw system command send "0B 08 1A 01 xx"
to change burner power.
The best solution is to buy a (writable) masterthermostat, placed on the boiler and use the CRF as room temperature remote thermostat. I don't know much about the worcester models, but i think it's possible.
Only thing is, that we do not have a dedicated command for burnPower for now (but can be added easiely), you have to send by raw system command send "0B 08 1A 01 xx" to change burner power.
From further monitoring, it seems the thermostat keeps the same flowtemp (0x55 / 85ºC, or 0x00 when sending "off"), and only modulates the burnPower, so having a dedicated command would certainly aid me replicating its functionality.
The best solution is to buy a (writable) masterthermostat, placed on the boiler and use the CRF as room temperature remote thermostat. I don't know much about the worcester models, but i think it's possible.
On a whim, over the weekend, I acquired a Comfort I RF room thermostat (a CRF100S) with the hope of being able to add it into the system and glean some extra telegrams. Unfortunately, I could not persuade it pair with either/both the CRF200S and/nor the boiler-fitted receiver :(
So it looks like you might be right and I shall consider the options of replacing the thermostat or implementing my own, unless @proddy and/or @norberts1 have any further suggestions...?
Hi, I also have a CRF200S thermostat called RF-NSC on ELM Leblanc branding (https://www.elmleblanc.fr/fr/fr/ocs/elm-leblanc/nsc-rf-878577-p/).
Controller (HT3) and Thermostat (CRF200S) are not recognized even with the last version of EMS-ESP32 3.2.1.
In the post it is written We're able to read the mode, current temperature and setpoint temperature but writing is tricky.
but i nothing is decoded :(
Is it in a dev version or is there another trick ?
log.txt
What can I proceed to at least control On/Off of heating part of the Thermostat if I can control the thermostat ? Otherwise how could I replace the thermostat to control boiler ?
Thanks for your help.
You could try the latest dev build. No promises though as technically we haven’t supported the crf200. https://emsesp.github.io/docs/#/Supported-EMS-Devices
On Sat, 30 Oct 2021 at 17:32, bed31 @.***> wrote:
Hi, I also have a CRF200S thermostat called RF-NSC on ELM Leblanc branding (https://www.elmleblanc.fr/fr/fr/ocs/elm-leblanc/nsc-rf-878577-p/). Controller (HT3) and Thermostat (CRF200S) are not recognized even with the last version of EMS-ESP32 3.2.1. [image: image] https://user-images.githubusercontent.com/33985224/139539274-35e1270a-715f-49ec-80db-72d4d962352c.png
In the post it is written We're able to read the mode, current temperature and setpoint temperature but writing is tricky. but i nothing is decoded :( Is it in a dev version or is there another trick ? log.txt https://github.com/emsesp/EMS-ESP32/files/7446988/log.txt
What can I proceed to at least control On/Off of heating part of the Thermostat if I can control the thermostat ? Otherwise how could I replace the thermostat to control boiler ?
Thanks for your help.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/emsesp/EMS-ESP32/issues/138#issuecomment-955335007, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJMO6DVSM2TJZKDQI7I4H3UJQMYBANCNFSM5FI4SVVA .
You could try the latest dev build. No promises though as technically we haven’t supported the crf200. https://emsesp.github.io/docs/#/Supported-EMS-Devices …
Thanks for your quick response. Do you think it will be supported soon ?
regards
@proddy
I have test the last version v3.2.2b14 and no change.
Concerning Controller (HT3) is it normal to have nothing also ?
I also notice some errors in the console
2021-10-30 18:18:39.856 ERROR 584: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request: 8B 98 FF 00 20 01 A8
Is it an real issue ?
Thx
@bed31 you should be at least able to see the details. Without details we can't help you. Have a look at https://emsesp.github.io/docs/#/Troubleshooting
This is really a poor thermostat, not responding to hc2,3,4 telegrams. The error messages should now be fixed (only a few after startup), but it is cosmetic.
@bed31 you should be at least able to see the details. Without details we can't help you. Have a look at https://emsesp.github.io/docs/#/Troubleshooting
@proddy Sorry I may did not understand your comment :(
Thermostat is recognized but only the Date (not very useful )
Controller is not recognized :
Boiler : Ok
In order to start / stop the boiler with an external thermostat, how can i proceed ? Which mqtt command should i send ?
thanks in advance for your help Eric
Controller is not recognized :
looks like the controller is recognized. It has no data, but controllers normally do not publish any data. This is ok.
Thermostat is recognized but only the Date (not very useful )
In your log.txt
from yesterday (and this is all information from your system we have) this is correct. Your thermostat does not publish more values, we have the time publish
2021-10-30 17:26:34.603 TRACE 2734: [emsesp] Thermostat(0x18) -> All(0x00), RCTime(0x06), data: 15 0A 11 1E 1B 00 05 00
thermostat reading some boiler parameters:
2021-10-30 17:26:34.800 TRACE 2735: [emsesp] Thermostat(0x18) <- Boiler(0x08), Version(0x02), data: 0A
2021-10-30 17:26:34.836 TRACE 2736: [emsesp] Boiler(0x08) -> Thermostat(0x18), Version(0x02), data: 5F 14 0E 00 00 00 00 00 00 00
2021-10-30 17:26:34.855 TRACE 2737: [emsesp] Thermostat(0x18) <- Boiler(0x08), ?(0x04), data: 15
2021-10-30 17:26:34.907 TRACE 2738: [emsesp] Boiler(0x08) -> Thermostat(0x18), ?(0x04), data: 2D 58 00 40 18 1F 64 00 00 78 6C 25 00 00 00 08
2021-10-30 17:26:34.925 TRACE 2739: [emsesp] Thermostat(0x18) <- Boiler(0x08), UBAParameters(0x16), data: 1B
2021-10-30 17:26:34.964 TRACE 2740: [emsesp] Boiler(0x08) -> Thermostat(0x18), UBAParameters(0x16), data: FF 42 2D 00 00 FB 03 01 03 64 0A 04
2021-10-30 17:26:34.981 TRACE 2741: [emsesp] Thermostat(0x18) <- Boiler(0x08), UBAParameterWW(0x33), data: 17
2021-10-30 17:26:35.028 TRACE 2742: [emsesp] Boiler(0x08) -> Thermostat(0x18), UBAParameterWW(0x33), data: 08 FF 39 00 00 1C 00 02 48 00 FF FF
thermostat sets flow temperature setpoint:
2021-10-30 17:26:35.048 TRACE 2743: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00
thermostat sets boiler warm water temperature:
2021-10-30 17:27:35.051 TRACE 2830: [emsesp] Thermostat(0x18) -> Boiler(0x08), UBAFlags(0x35), data: 3C (offset 3)
But the thermostat does not publish it's own values like the CRF200S from @stewiem2000. This was this telegram: Thermostat(0x18) -> All(0x00), RC300Monitor(0x2A5), data: 00 B9 20 00 00 00 20
. Maybe it's older, i don't know, you have not told us the system information with version info.
@MichaelDvP Thank you for all these information.
Maybe it's older, i don't know, you have not told us the system information with version info. Sorry but what are the information that I could give you ? The boiler has just been install 3 months ago. It's a ELM Leblanc ODEALIS CONDENS GVT C 24-2M (same as Junkers Cerapur). The Thermostat is a NSC RF (=CRF200S) log (1).txt
Please post system info and settings, see buttons on the help page:
Please post system info and settings, see buttons on the help page: ![Screenshot 2021-10-31 at 19-02-55 EMS-ESP]
Hi, I have connected my EMS-ESP (an awesome EMS Bus Gateway Premium II (P2) from @bbqkees!) to my Worcester Bosch Greenstar 36CDi Compact Erp combi boiler with Comfort II RF wireless controller and "CRF200S" remote. I'm running the latest dev firmware, "2.2.2b0" via telnet, "2.2.2-dev(38a443e)" from the web-interface.
The boiler seems to be detected OK (I think, certainly getting sensible values out of it), but the thermostat isn't recognised and I'm not entirely sure about the controller, show devices yields
show ems bus information:
From the following log, I'm slightly concerned by the CRC-mismatches, but I can see that dev:0x18 is the thermostat because adjusting its target temperature emits 0x2AF IDs where the third octet (value 0x20) seems to be the call for heat (value 0x21 when wanted, 0x20 when not) and the the last octet (value 0x25) seems to be twice the selected temperature, ie. 0x25 = 37 = 18.0ºC:
I've yet to try sending the boiler commands.
What can I do to help resolve the CRC errors and get my thermostat supported? :)
Thanks in advance!