Giter Club home page Giter Club logo

Comments (49)

MichaelDvP avatar MichaelDvP commented on July 21, 2024 1

Sad, the thermostat always reverts back the settings. Then this is only a monitor message and not for commands.

There are 2F5 messages after the try, this is RC300WWmode (naming is fixed in dev). Can you read 10 2F5 before and after starting the onetime.

Or try direct writing to offset 11 as in N7.
Start ww onetime:
send telegram "0B 10 FF 0B 01 F5 FF"
Cancel ww onetime:
send telegram "0B 10 FF 0B 01 F5 00"

from ems-esp32.

appliko avatar appliko commented on July 21, 2024 1

I'm very interested on that too
I have a Logomax Plus GB152. I can ship a KM200 for tests if you need.
Not working on my Buderus. Using EMS-ESP with Domoticz

from ems-esp32.

mvjt avatar mvjt commented on July 21, 2024 1

Yes, you are right, i'd remembered wrong. It was renamed and is called wwCharge, can't remember why.

onetimekey is a a setting for RC35 if the pushbotton on the thermostat activates onetime or its without function.

Thank you for clarifying!

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024 1

Yes emsesp telegram id 02F5 is send as raw 01F5.

EMS-ESP32/src/telegram.cpp

Lines 326 to 336 in 18e9b99

if (telegram->type_id > 0xFF) {
// it's EMS 2.0/+
telegram_raw[2] = 0xFF; // fixed value indicating an extended message
telegram_raw[3] = telegram->offset;
// EMS+ has different format for read and write
if (telegram->operation == Telegram::Operation::TX_WRITE) {
// WRITE
telegram_raw[4] = (telegram->type_id >> 8) - 1; // type, 1st byte, high-byte, subtract 0x100
telegram_raw[5] = telegram->type_id & 0xFF; // type, 2nd byte, low-byte
message_p = 6;

BTW: Norberts1' docu uses a identical scheme for his message-ids, but note them decimal.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

To complicate things... I have 2-level WW program in use. So 60ºC twice a day and 40ºC in between, off at night. Not sure if this has anything to do with it?

But... when I do one time HW cylinder charge from the thermostat, it always recharges to 60ºC, regardless of time program. Maybe I should capture telegrams when I call it from the thermostat...

from ems-esp32.

proddy avatar proddy commented on July 21, 2024

the syntax is correct. Can you try with logging set to debug. Then you should see in the console something like [boiler] Setting warm water OneTime loading on and we can also see if the Tx message was successful.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

@proddy - thanks. Capture below - hopefully this is enough.

ems-esp:/# call boiler wwonetime 1
002+23:13:46.843 I 113: [boiler] Setting warm water OneTime loading on
002+23:13:46.852 D 114: [telegram] Sending write Tx [#61], telegram: 8B 08 35 00 22 CE
002+23:13:46.878 D 115: [emsesp] Last Tx write successful
002+23:13:46.878 D 116: [telegram] Sending post validate read, type ID 0x34 to dest 0x08
002+23:13:47.053 D 117: [telegram] Sending read Tx [#62], telegram: 8B 88 34 00 20 AC
002+23:13:47.102 D 118: [emsesp] Last Tx read successful
002+23:13:47.106 N 119: [emsesp] Boiler(0x08) -> Me(0x0B), UBAMonitorWW(0x34), data: 28 02 3B 02 3B 23 00 00 03 00 00 98 3C 00 0E 6C 00 80 00
002+23:13:47.106 D 120: [emsesp] Received UBAMonitorWW
002+23:13:47.118 D 121: [mqtt] Publishing topic ems-esp/boiler_data (#36848, attempt emsesp/EMS-ESP#1, size 519, pid 1)
002+23:13:47.319 D 122: [mqtt] Publishing topic ems-esp/boiler_data_ww (#36849, attempt emsesp/EMS-ESP#1, size 429, pid 1)
002+23:13:49.537 D 123: [mqtt] Publishing topic ems-esp/dallassensor_data (#36850, attempt emsesp/EMS-ESP#1, size 50, pid 1)
002+23:13:50.250 N 124: [emsesp] Thermostat(0x10) -> All(0x00), RCTime(0x06), data: 14 09 0C 1E 37 33 02 01 10 FF FE
002+23:13:50.250 D 125: [emsesp] Received RCTime
002+23:13:50.341 D 126: [mqtt] Publishing topic ems-esp/thermostat_data (#36851, attempt emsesp/EMS-ESP#1, size 263, pid 1)
002+23:13:53.460 N 127: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 DE 00 00 00 02 40 C0 80 00 02 3B 80 00 00 00 FF 00 00 00 CB 00 00 00
002+23:13:53.460 D 128: [emsesp] Received UBAMonitorFast
002+23:13:53.680 N 129: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
002+23:13:53.680 D 130: [emsesp] Received MC10Status
002+23:13:54.003 N 131: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 3B 02 3B 23 00 00 03 00 00 98 3C 00 0E 6C 00 80 00
002+23:13:54.003 D 132: [emsesp] Received UBAMonitorWW
002+23:13:54.563 D 133: [mqtt] Publishing topic ems-esp/dallassensor_data (#36852, attempt emsesp/EMS-ESP#1, size 50, pid 1)
002+23:13:59.591 D 134: [mqtt] Publishing topic ems-esp/dallassensor_data (#36853, attempt emsesp/EMS-ESP#1, size 50, pid 1)
002+23:14:02.636 N 135: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 01 7B 01 19 (offset 13)
002+23:14:02.636 D 136: [emsesp] Received RC300Monitor

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024

The onetime-function of the boiler works only if water temperature is more than 5 degree below setpoint.
You have set temperatue 40°C and current temperature 42,5°C, the boiler will not heat on onetime-command. Also you have ww activated on, than the boiler will heat automatically if the temperature is 5° below setpoint. Onetime is a function to heat up if automatic is off.

To get command confirmations as Setting warm water OneTime loading on you can also set log info.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

OK. This isn't the behaviour I see using the thermostat.

When I select one-time cylinder charging on the thermostat, it will fire the boiler anytime the water temperature is below 55ºC (60ºC setpoint minus 5ºC hysteresis) - regardless of the time program's temperature (e.g. 40ºC).

When I did the tests this morning, I could not get the boiler to fire from the telnet console even with the water below 55ºC but as soon as I selected one-time cylinder charging from the thermostat, the boiler started.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

Did more tests. Cylinder temp 54.6C.

HW time program ‘reduced’ - 40C setpoint. Telnet call would not start boiler.

HW time program ‘off’ - 15C setpoint. Telnet call would not start boiler.

HW time program back to ‘reduced’ - 40C setpoint. Did one time cylinder charge from thermostat. Boiler fires and heats water until 60C setpoint reached. This would also work if HW time program was ‘off’ with 15C setpoint.

So thermostat onetime charge works when DHW Off or Reduced and temp at least 5C below DHW On setpoint (60C)

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

Maybe there’s another one time charging command which mimics the thermostat HMI? Weird...

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024

Set watch on and start the onetime-heating on your thermostat. Then we can see which command is send.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

Ok. Interesting - HA is showing onetime ww active when I trigger it from the thermostat. I’ll collect some logs later when the cylinder has cooled.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

Is the wwonetime telegram being sent to the boiler? The logic to drive it is all in the thermostat in my system (enable/disable, one time active period etc.) I don’t think my boiler knows anything about it. The thermostat runs the logic and then simply tells the boiler to make DHW and the setpoint. Again, hopefully that will show up in the logs.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

Logs here...


ems-esp:/$ su
Password:
003+03:04:41.993 N 0: [shell] su session opened on console
ems-esp:/# watch on
Watching incoming telegrams, displayed in decoded format
003+03:05:02.233 N 1: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 00 94 02 00 (offset 13)
003+03:05:05.080 N 2: [emsesp] Boiler(0x08) -> Me(0x0B), UBATotalUptime(0x14), data: 12 DA 9F
003+03:05:05.380 N 3: [emsesp] Boiler(0x08) -> Me(0x0B), UBAParameters(0x16), data: FF 4B 64 00 04 F6 0A 01 03 64 50 04 00 00 00 00 00 00 00 00 00 00 00 00 28 00 3C
003+03:05:05.580 N 4: [emsesp] Boiler(0x08) -> Me(0x0B), UBAParameters(0x16), data: 00 3C 00 (offset 25)
003+03:05:05.930 N 5: [emsesp] Boiler(0x08) -> Me(0x0B), UBAMonitorSlow(0x19), data: 00 8C 80 00 80 00 00 00 00 00 00 34 14 02 6A B3 00 00 00 01 D2 71 00 25 A7 80 00
003+03:05:06.179 N 6: [emsesp] Boiler(0x08) -> Me(0x0B), UBAMonitorSlow(0x19), data: 80 00 (offset 25)
003+03:05:06.415 N 7: [emsesp] Boiler(0x08) -> Me(0x0B), UBAParameterWW(0x33), data: 08 FF 3C FB 00 28 00 00 46 00 FF FF 00
003+03:05:06.742 N 8: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BB 21 00 00 00 00 25 00 94 01 01 03 00 94 02 00 00 00 11 01 00 07 4D 00
003+03:05:07.015 N 9: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 05 06 FF A6 00 00 FF 00 4B 00 C6 04 FF 01 02 (offset 25)
003+03:05:07.332 N 10: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
003+03:05:07.577 N 11: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 00 00 00 00 00 00 00 00 00
003+03:05:07.921 N 12: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
003+03:05:08.418 N 13: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 11 01
003+03:05:08.472 N 14: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 28 (offset 3)
003+03:05:08.976 N 15: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 65 00 00 00 02 40 C0 80 00 02 16 80 00 00 00 FF 00 00 00 CB 00 00 00
003+03:05:09.271 N 16: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
003+03:05:09.494 N 17: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 16 02 16 01 00 00 03 00 00 98 42 00 0E 6D 00 80 00
003+03:05:18.993 N 18: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 16 02 16 01 00 00 03 00 00 98 42 00 0E 6D 00 80 00
003+03:05:19.187 N 19: [emsesp] Boiler(0x08) -> All(0x00), UBADevices(0x07), data: 0B 01 00 00 00 00 00 00 00 00 00 00 00
003+03:05:19.425 N 20: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 65 00 00 00 02 40 C0 80 00 02 16 80 00 00 00 FF 00 00 00 CB 00 00 00
003+03:05:19.702 N 21: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorSlow(0x19), data: 00 8C 80 00 80 00 00 00 00 00 00 34 14 02 6A B3 00 00 00 01 D2 71 00 25 A7 80 00
003+03:05:20.000 N 22: [emsesp] Boiler(0x08) -> All(0x00), UBAMaintenanceStatus(0x1C), data: 93 09 05 1D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
003+03:05:20.221 N 23: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
003+03:05:28.945 N 24: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
003+03:05:29.218 N 25: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 16 02 16 01 00 00 03 00 00 98 42 00 0E 6D 00 80 00
003+03:05:29.450 N 26: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 64 00 00 00 02 40 C0 80 00 02 16 80 00 00 00 FF 00 00 00 CB 00 00 00
003+03:05:39.000 N 27: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 64 00 00 00 02 40 C0 80 00 02 16 80 00 00 00 FF 00 00 00 CB 00 00 00
003+03:05:39.270 N 28: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
003+03:05:39.518 N 29: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 16 02 16 01 00 00 03 00 00 98 42 00 0E 6D 00 80 00
003+03:05:41.825 N 30: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00 00
003+03:05:41.877 N 31: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x267), data: 00 00
003+03:05:42.072 N 32: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00 00 09 07
003+03:05:48.968 N 33: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 16 02 16 01 00 00 03 00 00 98 42 00 0E 6D 00 80 00
003+03:05:49.174 N 34: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 64 00 00 00 02 40 C0 80 00 02 16 80 00 00 00 FF 00 00 00 CB 00 00 00
003+03:05:49.445 N 35: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
003+03:05:55.935 N 36: [emsesp] Thermostat(0x10) -> All(0x00), RCTime(0x06), data: 14 09 10 1E 2F 3A 02 01 10 FF FE
003+03:05:58.406 N 37: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 00 93 02 01 (offset 13)
003+03:05:58.970 N 38: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
003+03:05:59.293 N 39: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 16 02 16 01 00 00 03 00 00 98 42 00 0E 6D 00 80 00
003+03:05:59.500 N 40: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 01 64 00 00 00 02 40 C0 80 00 02 16 80 00 00 00 FF 00 00 00 CB 00 00 00

*** WW Onetime initiated from thermostat here ***

003+03:06:02.369 N 41: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 01
003+03:06:03.470 N 42: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 3C (offset 3)
003+03:06:03.745 N 43: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 02 (offset 2)
003+03:06:03.957 N 44: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 64 64 00 02 12 64 C0 80 00 02 16 80 00 00 00 FF 00 00 01 1B 00 00 00
003+03:06:04.781 N 45: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: FF (offset 11)
003+03:06:05.185 N 46: [emsesp] Boiler(0x08) -> Me(0x0B), UBATotalUptime(0x14), data: 12 DA A0
003+03:06:05.436 N 47: [emsesp] Boiler(0x08) -> Me(0x0B), UBAParameters(0x16), data: FF 4B 64 00 04 F6 0A 01 03 64 50 04 00 00 00 00 00 00 00 00 00 00 00 00 28 00 3C
003+03:06:05.710 N 48: [emsesp] Boiler(0x08) -> Me(0x0B), UBAParameters(0x16), data: 00 3C 00 (offset 25)
003+03:06:05.936 N 49: [emsesp] Boiler(0x08) -> Me(0x0B), UBAMonitorSlow(0x19), data: 00 8C 80 00 80 00 00 00 00 64 00 34 15 02 6A B3 00 00 00 01 D2 71 00 25 A7 80 00
003+03:06:05.981 N 50: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 64 64 00 02 12 6D C0 80 00 02 16 80 00 00 00 FF 00 00 01 1C 00 00 00
003+03:06:06.459 N 51: [emsesp] Boiler(0x08) -> Me(0x0B), UBAMonitorSlow(0x19), data: 80 00 (offset 25)
003+03:06:06.721 N 52: [emsesp] Boiler(0x08) -> Me(0x0B), UBAParameterWW(0x33), data: 08 FF 3C FB 00 28 00 00 46 00 FF FF 00
003+03:06:06.996 N 53: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BB 21 00 00 00 00 25 00 93 01 01 03 00 93 02 01 00 00 11 01 00 07 4E 00
003+03:06:07.031 N 54: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 64 64 00 0A 12 6D C0 80 00 02 16 80 00 00 AC FF 00 00 01 1C 00 00 00
003+03:06:07.494 N 55: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 05 06 FF A6 00 00 FF 00 4B 00 C6 04 FF 01 02 (offset 25)
003+03:06:07.763 N 56: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
003+03:06:07.956 N 57: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 65 64 50 0A 12 65 C0 80 00 02 16 80 00 00 CD FF 00 00 00 C9 00 00 00
003+03:06:08.280 N 58: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 FF 00 00 00 00 00 00 00 00
003+03:06:08.504 N 59: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
003+03:06:08.956 N 60: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 66 64 50 0A 12 65 C0 80 00 02 16 80 00 00 F5 FF 00 00 00 C9 00 00 00
003+03:06:09.277 N 61: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 01 E0 01 E1 80 00 00 80 00 80 00 80 00 00
003+03:06:09.550 N 62: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 3C 02 16 02 16 09 00 00 03 00 00 98 42 00 0E 6E 00 80 00
003+03:06:10.056 N 63: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 6B 64 50 0A 12 65 C0 80 00 02 16 80 00 01 0B FF 00 00 00 C9 00 00 00
003+03:06:11.981 N 64: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 73 64 4F 0A 12 65 C0 80 00 02 16 80 00 01 15 FF 00 00 00 C9 00 00 00
003+03:06:12.829 N 65: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 20 (offset 2)
003+03:06:13.980 N 66: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 7E 64 50 0A 12 65 C0 80 00 02 16 80 00 01 18 FF 00 00 00 C9 00 00 00
003+03:06:16.031 N 67: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 89 64 50 0A 12 65 C0 80 00 02 16 80 00 01 19 FF 00 00 00 C9 00 00 00
003+03:06:17.981 N 68: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 90 64 4F 0A 12 65 C0 80 00 02 16 80 00 01 19 FF 00 00 00 C9 00 00 00
003+03:06:18.981 N 69: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 94 64 4C 0A 12 65 C0 80 00 02 16 80 00 01 12 FF 00 00 00 C9 00 00 00
003+03:06:19.258 N 70: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorSlow(0x19), data: 00 8C 80 00 80 00 00 00 00 64 00 34 15 02 6A B4 00 00 00 01 D2 71 00 25 A7 80 00
003+03:06:19.506 N 71: [emsesp] Boiler(0x08) -> All(0x00), UBAMaintenanceStatus(0x1C), data: 93 09 05 1D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
003+03:06:19.727 N 72: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 01 B2 01 B7 80 00 00 80 00 80 00 80 00 00
003+03:06:20.049 N 73: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 3C 02 16 02 16 09 00 00 03 00 00 98 43 00 0E 6E 00 80 00
003+03:06:20.343 N 74: [emsesp] Boiler(0x08) -> All(0x00), UBADevices(0x07), data: 0B 01 00 00 00 00 00 00 00 00 00 00 00
003+03:06:20.556 N 75: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 9F 64 48 0A 12 65 C0 80 00 02 16 80 00 01 0A FF 00 00 00 C9 00 00 00
ems-esp:/# watch off
Watching telegrams is off
ems-esp:/#

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

If I've read this right...

003+03:06:02.369 N 41: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 01
The thermostat sets DHW Extra Active for WW-System 1.

003+03:06:03.470 N 42: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 3C (offset 3)
The thermostat tells the boiler to set flags 00110101 for WW system 1. Bit 5 is 'one-time DHW preparation'. Bit 4 is DHW priority. Bit 2 is ??. Bit 0 is 'DHW preparation'

003+03:06:03.745 N 43: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 02 (offset 2
The thermostat sets the DHW setpoint to 'Extra'

003+03:06:03.957 N 44: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 55 01 64 64 00 02 12 64 C0 80 00 02 16 80 00 00 00 FF 00 00 01 1B 00 00 00
The boiler responds with detailed status update

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024

Yes, but the 0x35, offset 3 is simply to set the ww temp in boiler to 60°C.
The 0x31D, offset 2 is the status-bit showing the extra is active.

If i'm right only the first command triggers the onetime heating.
So try to set extra on thermostat via ems and look if it's the same:
send telegram "0B 10 FF 00 02 1D 01" or from mqtt system {"cmd":"send","data":"0B 10 FF 00 02 1D 01"}

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

OK. This changed nothing on thermostat. Logs...

ems-esp:/# log debug
Log level = debug
003+04:09:50.035 D 1: [mqtt] Publishing topic ems-esp/dallassensor_data (#43143, attempt emsesp/EMS-ESP#1, size 50, pid 1)
003+04:09:50.475 D 2: [emsesp] Received UBAMonitorWW
003+04:09:50.681 D 3: [emsesp] Received UBAMonitorFast
003+04:09:50.839 D 4: [mqtt] Publishing topic ems-esp/boiler_data (#43144, attempt emsesp/EMS-ESP#1, size 519, pid 1)
003+04:09:50.927 D 5: [emsesp] Received MC10Status
003+04:09:51.040 D 6: [mqtt] Publishing topic ems-esp/boiler_data_ww (#43145, attempt emsesp/EMS-ESP#1, size 430, pid 1)
ems-esp:/# watch on
Watching incoming telegrams, displayed in decoded format
003+04:09:55.062 D 7: [mqtt] Publishing topic ems-esp/dallassensor_data (#43146, attempt emsesp/EMS-ESP#1, size 50, pid 1)
003+04:09:59.481 N 8: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 00 53 02 41 (offset 13)
003+04:09:59.481 D 9: [emsesp] Received RC300Monitor
003+04:10:00.502 N 10: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
003+04:10:00.502 D 11: [emsesp] Received MC10Status
003+04:10:00.750 N 12: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 63 02 63 21 00 00 03 00 00 98 49 00 0E 6E 00 80 00
003+04:10:00.750 D 13: [emsesp] Received UBAMonitorWW
003+04:10:00.956 N 14: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 02 31 00 00 00 02 40 C0 80 00 02 63 80 00 00 00 FF 00 00 00 CB 00 00 00
003+04:10:00.956 D 15: [emsesp] Received UBAMonitorFast
003+04:10:05.041 D 16: [emsesp] Fetching values for device ID 0x08
003+04:10:05.041 D 17: [telegram] Tx read request to device 0x08 for type ID 0x14
003+04:10:05.041 D 18: [telegram] Tx read request to device 0x08 for type ID 0x16
003+04:10:05.041 D 19: [telegram] Tx read request to device 0x08 for type ID 0x19
003+04:10:05.041 D 20: [telegram] Tx read request to device 0x08 for type ID 0x33
003+04:10:05.041 D 21: [emsesp] Fetching values for device ID 0x09
003+04:10:05.041 D 22: [emsesp] Fetching values for device ID 0x10
003+04:10:05.041 D 23: [telegram] Tx read request to device 0x10 for type ID 0x2A5
003+04:10:05.041 D 24: [telegram] Tx read request to device 0x10 for type ID 0x2B9
003+04:10:05.041 D 25: [telegram] Tx read request to device 0x10 for type ID 0x2F5
003+04:10:05.041 D 26: [telegram] Tx read request to device 0x10 for type ID 0x31B
003+04:10:05.099 D 27: [telegram] Sending read Tx [#6], telegram: 8B 88 14 00 20 2C
003+04:10:05.131 D 28: [emsesp] Last Tx read successful
003+04:10:05.135 N 29: [emsesp] Boiler(0x08) -> Me(0x0B), UBATotalUptime(0x14), data: 12 DA E0
003+04:10:05.135 D 30: [emsesp] Received UBATotalUptime
003+04:10:05.329 D 31: [mqtt] Publishing topic ems-esp/boiler_data (#43147, attempt emsesp/EMS-ESP#1, size 519, pid 1)
003+04:10:05.423 D 32: [telegram] Sending read Tx [#7], telegram: 8B 88 16 00 20 24
003+04:10:05.482 D 33: [emsesp] Last Tx read successful
003+04:10:05.486 N 34: [emsesp] Boiler(0x08) -> Me(0x0B), UBAParameters(0x16), data: FF 4B 64 00 04 F6 0A 01 03 64 50 04 00 00 00 00 00 00 00 00 00 00 00 00 28 00 3C
003+04:10:05.486 D 35: [emsesp] Received UBAParameters
003+04:10:05.530 D 36: [mqtt] Publishing topic ems-esp/boiler_data_ww (#43148, attempt emsesp/EMS-ESP#1, size 430, pid 1)
003+04:10:05.699 D 37: [telegram] Sending read Tx [#14], telegram: 8B 88 16 19 20 16
003+04:10:05.731 D 38: [emsesp] Last Tx read successful
003+04:10:05.735 N 39: [emsesp] Boiler(0x08) -> Me(0x0B), UBAParameters(0x16), data: 00 3C 00 (offset 25)
003+04:10:05.735 D 40: [emsesp] Received UBAParameters
003+04:10:05.923 D 41: [telegram] Sending read Tx [#8], telegram: 8B 88 19 00 20 18
003+04:10:05.981 D 42: [emsesp] Last Tx read successful
003+04:10:05.986 N 43: [emsesp] Boiler(0x08) -> Me(0x0B), UBAMonitorSlow(0x19), data: 00 8A 80 00 80 00 00 00 00 00 00 34 15 02 6A BA 00 00 00 01 D2 71 00 25 A7 80 00
003+04:10:05.986 D 44: [emsesp] Received UBAMonitorSlow
003+04:10:06.224 D 45: [telegram] Sending read Tx [#15], telegram: 8B 88 19 19 20 2A
003+04:10:06.255 D 46: [emsesp] Last Tx read successful
003+04:10:06.259 N 47: [emsesp] Boiler(0x08) -> Me(0x0B), UBAMonitorSlow(0x19), data: 80 00 (offset 25)
003+04:10:06.259 D 48: [emsesp] Received UBAMonitorSlow
003+04:10:06.449 D 49: [telegram] Sending read Tx [#9], telegram: 8B 88 33 00 20 B0
003+04:10:06.492 D 50: [emsesp] Last Tx read successful
003+04:10:06.496 N 51: [emsesp] Boiler(0x08) -> Me(0x0B), UBAParameterWW(0x33), data: 08 FF 3C FB 00 28 00 00 46 00 FF FF 00
003+04:10:06.496 D 52: [emsesp] Received UBAParameterWW
003+04:10:06.723 D 53: [telegram] Sending read Tx [#10], telegram: 8B 90 FF 00 20 01 A5 12
003+04:10:06.820 D 54: [emsesp] Last Tx read successful
003+04:10:06.825 N 55: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BF 21 00 00 00 00 25 00 53 01 01 03 00 53 02 41 00 00 11 01 00 07 73 00
003+04:10:06.825 D 56: [emsesp] Received RC300Monitor
003+04:10:06.999 D 57: [telegram] Sending read Tx [#16], telegram: 8B 90 FF 19 20 01 A5 DA
003+04:10:07.070 D 58: [emsesp] Last Tx read successful
003+04:10:07.074 N 59: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 05 06 FF A6 00 00 FF 00 4B 00 C6 04 FF 01 02 (offset 25)
003+04:10:07.074 D 60: [emsesp] Received RC300Monitor
003+04:10:07.374 D 61: [telegram] Sending read Tx [#11], telegram: 8B 90 FF 00 20 01 B9 0E
003+04:10:07.459 D 62: [emsesp] Last Tx read successful
003+04:10:07.463 N 63: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
003+04:10:07.463 D 64: [emsesp] Received RC300Set
003+04:10:07.552 D 65: [mqtt] Publishing topic ems-esp/heartbeat (#43149, attempt emsesp/EMS-ESP#1, size 148, pid 1)
003+04:10:07.673 D 66: [telegram] Sending read Tx [#12], telegram: 8B 90 FF 00 20 01 F5 42
003+04:10:07.752 D 67: [emsesp] Last Tx read successful
003+04:10:07.756 N 68: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 00 00 00 00 00 00 00 00 00
003+04:10:07.756 D 69: [emsesp] Received RC300WWmode
003+04:10:07.949 D 70: [telegram] Sending read Tx [#13], telegram: 8B 90 FF 00 20 02 1B AA
003+04:10:08.000 D 71: [emsesp] Last Tx read successful
003+04:10:08.004 N 72: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
003+04:10:08.004 D 73: [emsesp] Received RC300WWtemp
003+04:10:09.978 D 74: [mqtt] Publishing topic ems-esp/dallassensor_data (#43150, attempt emsesp/EMS-ESP#1, size 50, pid 1)
003+04:10:10.530 N 75: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 02 31 00 00 00 02 40 C0 80 00 02 63 80 00 00 00 FF 00 00 00 CB 00 00 00
003+04:10:10.530 D 76: [emsesp] Received UBAMonitorFast
003+04:10:10.851 N 77: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
003+04:10:10.851 D 78: [emsesp] Received MC10Status
003+04:10:11.074 N 79: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 63 02 63 21 00 00 03 00 00 98 49 00 0E 6E 00 80 00
003+04:10:11.074 D 80: [emsesp] Received UBAMonitorWW
003+04:10:18.267 N 81: [emsesp] Thermostat(0x10) -> All(0x00), RCTime(0x06), data: 14 09 11 1E 34 14 02 01 10 FF FE
003+04:10:18.267 D 82: [emsesp] Received RCTime
003+04:10:18.422 D 83: [mqtt] Publishing topic ems-esp/thermostat_data (#43151, attempt emsesp/EMS-ESP#1, size 265, pid 1)
003+04:10:20.500 N 84: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 63 02 63 21 00 00 03 00 00 98 49 00 0E 6E 00 80 00
003+04:10:20.500 D 85: [emsesp] Received UBAMonitorWW
003+04:10:20.767 N 86: [emsesp] Boiler(0x08) -> All(0x00), UBADevices(0x07), data: 0B 01 00 00 00 00 00 00 00 00 00 00 00
003+04:10:20.980 N 87: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 02 31 00 00 00 02 40 C0 80 00 02 63 80 00 00 00 FF 00 00 00 CB 00 00 00
003+04:10:20.980 D 88: [emsesp] Received UBAMonitorFast
003+04:10:21.307 N 89: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorSlow(0x19), data: 00 8A 80 00 80 00 00 00 00 00 00 34 15 02 6A BA 00 00 00 01 D2 71 00 25 A7 80 00
003+04:10:21.307 D 90: [emsesp] Received UBAMonitorSlow
003+04:10:21.555 N 91: [emsesp] Boiler(0x08) -> All(0x00), UBAMaintenanceStatus(0x1C), data: 93 09 05 1D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
003+04:10:21.555 D 92: [emsesp] Received UBAMaintenanceStatus
003+04:10:21.777 N 93: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
003+04:10:21.777 D 94: [emsesp] Received MC10Status
ems-esp:/# send telegram "0B 10 FF 00 02 1D 01"
003+04:10:27.773 D 95: [telegram] Sending write Tx [#17], telegram: 8B 10 FF 00 02 1D 01 8F
003+04:10:27.802 D 96: [emsesp] Last Tx write successful
003+04:10:27.802 D 97: [telegram] Sending post validate read, type ID 0x31D to dest 0x10
003+04:10:27.998 D 98: [telegram] Sending read Tx [#18], telegram: 8B 90 FF 00 20 02 1D AC
003+04:10:28.051 D 99: [emsesp] Last Tx read successful
003+04:10:28.056 N 100: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWmode2(0x31D), data: 01 00 09 07
003+04:10:28.056 D 101: [emsesp] Received RC300WWmode2
003+04:10:28.077 D 102: [mqtt] Publishing topic ems-esp/response (#43152, attempt emsesp/EMS-ESP#1, size 88, pid 1)
003+04:10:28.278 D 103: [mqtt] Publishing topic ems-esp/thermostat_data (#43153, attempt emsesp/EMS-ESP#1, size 265, pid 1)
003+04:10:29.894 D 104: [mqtt] Publishing topic ems-esp/dallassensor_data (#43154, attempt emsesp/EMS-ESP#1, size 50, pid 1)
003+04:10:29.989 N 105: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBADevices(0x07), data: 0F
003+04:10:30.017 N 106: [emsesp] Boiler(0x08) -> Thermostat(0x10), UBADevices(0x07), data: 0B 01 00 00 00 00 00 00 00 00 00 00 00
003+04:10:30.290 N 107: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: 00 00 00 00 00 00 (offset 12)
003+04:10:30.290 D 108: [emsesp] Received RC300WWmode
003+04:10:30.482 N 109: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: 00 00 (offset 18)
003+04:10:30.482 D 110: [emsesp] Received RC300WWmode
003+04:10:30.701 N 111: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
003+04:10:30.701 D 112: [emsesp] Received MC10Status
003+04:10:30.923 N 113: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorWW(0x34), data: 28 02 63 02 63 21 00 00 03 00 00 98 49 00 0E 6E 00 80 00
003+04:10:30.923 D 114: [emsesp] Received UBAMonitorWW
003+04:10:31.205 N 115: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 02 30 00 00 00 02 40 C0 80 00 02 63 80 00 00 00 FF 00 00 00 CB 00 00 00
003+04:10:31.205 D 116: [emsesp] Received UBAMonitorFast
003+04:10:31.303 D 117: [mqtt] Publishing topic ems-esp/boiler_data (#43155, attempt emsesp/EMS-ESP#1, size 517, pid 1)
003+04:10:31.504 D 118: [mqtt] Publishing topic ems-esp/boiler_data_ww (#43156, attempt emsesp/EMS-ESP#1, size 430, pid 1)
003+04:10:34.925 D 119: [mqtt] Publishing topic ems-esp/dallassensor_data (#43157, attempt emsesp/EMS-ESP#1, size 50, pid 1)
ems-esp:/# log notice
Log level = notice
003+04:10:40.605 N 120: [emsesp] Boiler(0x08) -> All(0x00), UBAMonitorFast(0x18), data: 05 02 30 00 00 00 02 40 C0 80 00 02 63 80 00 00 00 FF 00 00 00 CB 00 00 00
003+04:10:40.850 N 121: [emsesp] Boiler(0x08) -> All(0x00), MC10Status(0x2A), data: 00 00 00 00 1B 00 00 00 D8 00 00 80 00 00 80 00 80 00 80 00 00
ems-esp:/# watch off
Watching telegrams is off
ems-esp:/#

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024
ems-esp:/# watch on 31d
Watching incoming telegrams, displayed in decoded format
Filtering only telegrams that match a telegram type of 0x31D

*** Start WW onetime on thermostat ***

003+04:16:01.818 N 122: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 02 (offset 2)
003+04:16:03.795 N 123: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 01
003+04:16:44.168 N 124: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 01 00 02 07

*** Cancel WW onetime on thermostat ***

003+04:16:52.893 N 125: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00
003+04:16:54.494 N 126: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 09 (offset 2)
ems-esp:/# watch off
Watching telegrams is off
ems-esp:/#

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024

Hm, the command sets extra in pos 0, but pos 2 keeps 9=clock-mode, low temp. Maybe pos 2 is also writeable. Try to
send telegram "0B 10 FF 02 02 1D 02"
if this does not work alone, set also the pos 0 to 1 (as before): send telegram "0B 10 FF 00 02 1D 01"

or set both positions in one telegram send telegram "0B 10 FF 00 02 1D 01 00 02"

to cancel onetime first try with only pos 0 send telegram "0B 10 FF 00 02 1D 00" and check if pos 2 changes.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

@MichaelDvP - thanks for these ideas. Sadly, not much luck. None of the telegrams would start wwOneTime and the cancel one failed too!

ems-esp:/# watch on 10
Watching incoming telegrams, displayed in decoded format
Filtering only telegrams that match a device ID or telegram type of 0x10
003+21:14:01.847 N 1: [emsesp] Thermostat(0x10) -> All(0x00), RCTime(0x06), data: 14 0A 0A 1F 37 3A 05 00 10 FF FE
003+21:14:07.380 N 2: [emsesp] Thermostat(0x10) -> All(0x00), RCError(0xA2), data: 00 00 00 00 00
003+21:14:07.574 N 3: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 01 4E 00 38 (offset 13)
003+21:14:08.242 N 4: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BA 21 00 00 00 00 25 01 4E 01 01 03 01 4E 00 38 00 00 11 01 00 07 49 00
003+21:14:08.491 N 5: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 05 06 FF A6 00 00 FF 00 4B 00 C6 04 FF 01 02 (offset 25)
003+21:14:08.808 N 6: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
003+21:14:08.905 N 7: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00 00
003+21:14:08.955 N 8: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x267), data: 00 00
003+21:14:09.150 N 9: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00 00 08 07
003+21:14:09.477 N 10: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 00 00 00 00 00 00 00 00 00
003+21:14:09.822 N 11: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
003+21:14:44.300 N 12: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 11 01
003+21:14:44.346 N 13: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 0F (offset 3)
003+21:15:02.846 N 14: [emsesp] Thermostat(0x10) -> All(0x00), RCTime(0x06), data: 14 0A 0A 1F 38 3B 05 00 10 FF FE
003+21:15:06.828 N 15: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 01 4D 00 39 (offset 13)
003+21:15:08.040 N 16: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BA 21 00 00 00 00 25 01 4D 01 01 03 01 4D 00 39 00 00 11 01 00 07 49 00
003+21:15:08.322 N 17: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 05 06 FF A6 00 00 FF 00 4B 00 C6 04 FF 01 02 (offset 25)
003+21:15:08.607 N 18: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
003+21:15:08.932 N 19: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 00 00 00 00 00 00 00 00 00
003+21:15:08.999 N 20: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00 00
003+21:15:09.050 N 21: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x267), data: 00 00
003+21:15:09.286 N 22: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 00 BA 21 00 00 00 00 25 01 4D 01 01 03 01 4D 00 39 00 00 11 01 00 07 49 00
003+21:15:09.644 N 23: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
003+21:15:09.727 N 24: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 05 06 FF A6 00 00 FF 00 4B 00 C6 04 FF 01 02 (offset 25)
003+21:15:09.926 N 25: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00 00 08 07
ems-esp:/# send telegram "0B 10 FF 02 02 1D 02"
003+21:15:26.823 N 26: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWmode2(0x31D), data: 00 00 02 07
003+21:16:03.765 N 27: [emsesp] Thermostat(0x10) -> All(0x00), RCTime(0x06), data: 14 0A 0A 1F 3A 00 05 00 10 FF FE
003+21:16:06.355 N 28: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 01 4C 00 3A (offset 13)
003+21:16:08.063 N 29: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BA 21 00 00 00 00 25 01 4C 01 01 03 01 4C 00 3A 00 00 11 01 00 07 49 00
003+21:16:08.416 N 30: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 05 06 FF A6 00 00 FF 00 4B 00 C6 04 FF 01 02 (offset 25)
003+21:16:08.703 N 31: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
003+21:16:08.774 N 32: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00 00
003+21:16:08.824 N 33: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x267), data: 00 00
003+21:16:09.020 N 34: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00 00 08 07
003+21:16:09.603 N 35: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 00 00 00 00 00 00 00 00 00
003+21:16:09.899 N 36: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
ems-esp:/# send telegram "0B 10 FF 00 02 1D 01"
003+21:16:17.354 N 37: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWmode2(0x31D), data: 00 00 08 07
003+21:16:19.937 N 38: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: 00 00 00 00 00 00 00 00 (offset 12)
003+21:16:44.369 N 39: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 11 01
003+21:16:44.423 N 40: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 0F (offset 3)
ems-esp:/# send telegram "0B 10 FF 00 02 1D 01 00 02"
003+21:16:54.248 N 41: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWmode2(0x31D), data: 01 00 02 07
003+21:16:55.038 N 42: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBADevices(0x07), data: 0F
003+21:16:55.061 N 43: [emsesp] Boiler(0x08) -> Thermostat(0x10), UBADevices(0x07), data: 0B 01 00 00 00 00 00 00 00 00 00 00 00
003+21:16:58.439 N 44: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: 00 00 00 00 00 00 00 00 (offset 12)
003+21:17:04.835 N 45: [emsesp] Thermostat(0x10) -> All(0x00), RCTime(0x06), data: 14 0A 0A 1F 3B 01 05 00 10 FF FE
003+21:17:05.801 N 46: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 01 4B 00 3B (offset 13)
003+21:17:08.062 N 47: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BA 21 00 00 00 00 25 01 4B 01 01 03 01 4B 00 3B 00 00 11 01 00 07 49 00
003+21:17:08.319 N 48: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 05 06 FF A6 00 00 FF 00 4B 00 C6 04 FF 01 02 (offset 25)
003+21:17:08.652 N 49: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
003+21:17:08.929 N 50: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 00 00 00 00 00 00 00 00 00
003+21:17:08.972 N 51: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 00 00 00
003+21:17:09.022 N 52: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x267), data: 00 00
003+21:17:09.259 N 53: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 00 BA 21 00 00 00 00 25 01 4B 01 01 03 01 4B 00 3B 00 00 11 01 00 07 49 00
003+21:17:09.697 N 54: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
003+21:17:09.820 N 55: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 05 06 FF A6 00 00 FF 00 4B 00 C6 04 FF 01 02 (offset 25)
003+21:17:10.019 N 56: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00 00 08 07
ems-esp:/# send telegram "0B 10 FF 00 02 1D 00"
003+21:17:23.547 N 57: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWmode2(0x31D), data: 00 00 08 07
ems-esp:/# watch off
Watching telegrams is off
ems-esp:/#

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

I wonder whether this is going to be possible?

If we had someone with the Bosch internet gateway (MB LAN2 or MB LANi or KM200), then I wonder whether you can set wwonetime through that and capture telegrams? You'd like to think there is a way for the CW400 / Sense II to receive this request and start wwonetime.

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024

Yes, capturing the command from a working gateway is a simple way, but i think very few people using a geteway and ems-esp.

I'm not sure that the last commands are wrong. Starting onetime from thermostat sets RC300WWmode2(0x31D), data: 01 00 02 07 first byte to 1, third to 2. Thats exactly what is set here:

ems-esp:/# send telegram "0B 10 FF 00 02 1D 01 00 02"
003+21:16:54.248 N 41: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWmode2(0x31D), data: 01 00 02 07

but after 15 sec the thermostat resets this telegram to
003+21:17:10.019 N 56: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00 00 08 07
Maybe the water was warm enough.

After this the cancel command will do nothing, because there is nothing to cancel.

ems-esp:/# send telegram "0B 10 FF 00 02 1D 00"
003+21:17:23.547 N 57: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWmode2(0x31D), data: 00 00 08 07

I think it's worth a second try. Start onetime on the thermostat, after the burner starts try the cancel command
send telegram "0B 10 FF 00 02 1D 00"
If this works you can try to start again by
send telegram "0B 10 FF 00 02 1D 01 00 02"

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

@MichaelDvP - thanks. I've had another attempt.

So, cylinder at 45.2ºC, timed programme in reduced mode (set at 40ºC) but normal DHW temperature is 60ºC. Selected one-time cylinder charging from the thermostat. 3-way valve moved to HW and burner lit. Tap and flame symbols shown on LCD.

Issued the cancel telegram above and left for approx. 2 minutes. Nothing happened.

Cancelled one-time cylinder charging from thermostat. 3-way valve moved to CH.

Sent start telegram above. Nothing happened. Sent again approx 40 seconds later. Nothing happened.

Frustrating! Trace below...

ems-esp:/# watch on 10
Watching incoming telegrams, displayed in decoded format
Filtering only telegrams that match a device ID or telegram type of 0x10
002+23:44:40.754 N 1: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 18 64 64
002+23:44:40.804 N 2: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x267), data: 00 00
002+23:44:41.041 N 3: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 00 BA 21 25 18 00 25 1E 01 26 03 03 01 01 26 00 42 00 00 11 01 03 07 44 00
002+23:44:41.427 N 4: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 06 04 FF F7 00 00 FF 64 4B 00 86 05 FF 01 02 (offset 25)
002+23:44:41.625 N 5: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00 00 09 07
002+23:45:10.718 N 6: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x06), data: 14 0B 11 09 24 3A 00 00 10 FF FE
002+23:45:10.909 N 7: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: FF (offset 11)
002+23:45:11.622 N 8: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 01
002+23:45:11.968 N 9: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BA 21 25 18 00 25 1E 01 26 03 03 01 01 26 00 42 00 00 11 01 03 07 44 00
002+23:45:12.322 N 10: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 06 04 FF F7 00 00 FF 64 4B 00 86 05 FF 01 02 (offset 25)
002+23:45:12.631 N 11: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
002+23:45:12.698 N 12: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 3C (offset 3)
002+23:45:12.955 N 13: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 FF 00 00 00 00 00 00 00 00
002+23:45:13.245 N 14: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
002+23:45:13.326 N 15: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 02 (offset 2)
002+23:45:14.614 N 16: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 01 25 00 43 (offset 13)
002+23:45:18.761 N 17: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 20 (offset 2)
002+23:45:19.834 N 18: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 18 64 00
ems-esp:/# send telegram "0B 10 FF 00 02 1D 00"
002+23:45:22.955 N 19: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWmode2(0x31D), data: 00 00 02 07
002+23:45:41.009 N 20: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 18 64 00
002+23:45:41.059 N 21: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x267), data: 00 00
002+23:45:41.255 N 22: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 01 00 02 07
002+23:45:54.076 N 23: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 11 01
002+23:45:54.106 N 24: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 3C (offset 3)
002+23:45:55.301 N 25: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBADevices(0x07), data: 0F
002+23:45:55.321 N 26: [emsesp] Boiler(0x08) -> Thermostat(0x10), UBADevices(0x07), data: 0B 01 00 00 00 00 00 00 00 00 00 00 00
002+23:46:10.884 N 27: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x06), data: 14 0B 11 09 25 3A 00 00 10 FF FE
002+23:46:11.550 N 28: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BA 20 25 18 00 25 1E 01 25 03 03 01 01 25 00 43 00 00 11 01 03 07 44 00
002+23:46:11.847 N 29: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 06 04 FF F7 00 00 FF 64 4B 00 86 05 FF 01 02 (offset 25)
002+23:46:12.117 N 30: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
002+23:46:12.434 N 31: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 FF 00 00 00 00 00 00 00 00
002+23:46:12.674 N 32: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
002+23:46:14.140 N 33: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 01 24 00 44 (offset 13)
002+23:46:40.727 N 34: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 18 64 00
002+23:46:40.786 N 35: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x267), data: 00 00
002+23:46:41.021 N 36: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 00 BA 20 25 18 00 25 1E 01 24 03 03 01 01 24 00 44 00 00 11 01 03 07 48 00
002+23:46:41.432 N 37: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 06 04 FF F7 00 00 FF 64 4B 00 86 05 FF 01 02 (offset 25)
002+23:46:41.630 N 38: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 01 00 02 07
002+23:47:10.795 N 39: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x06), data: 14 0B 11 09 26 3A 00 00 10 FF FE
002+23:47:11.468 N 40: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BA 20 25 18 00 25 1E 01 24 03 03 01 01 24 00 44 00 00 11 01 03 07 49 00
002+23:47:11.822 N 41: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 06 04 FF F7 00 00 FF 64 4B 00 86 05 FF 01 02 (offset 25)
002+23:47:11.863 N 42: [emsesp] Thermostat(0x10) -> All(0x00), ?(0xA2), data: 00 00 00 00 00
002+23:47:12.315 N 43: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
002+23:47:12.584 N 44: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 FF 00 00 00 00 00 00 00 00
002+23:47:12.880 N 45: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
002+23:47:13.660 N 46: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 01 23 00 45 (offset 13)
002+23:47:27.233 N 47: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: 00 (offset 11)
002+23:47:28.153 N 48: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00
002+23:47:29.230 N 49: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 28 (offset 3)
002+23:47:29.706 N 50: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 09 (offset 2)
002+23:47:31.097 N 51: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: 00 00 00 00 00 00 00 00 (offset 12)
002+23:47:38.758 N 52: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 21 (offset 2)
002+23:47:39.630 N 53: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 18 64 64
002+23:47:40.606 N 54: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 18 64 64
002+23:47:40.656 N 55: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x267), data: 00 00
002+23:47:40.853 N 56: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00 00 09 07
ems-esp:/# send telegram "0B 10 FF 00 02 1D 01 00 02"
002+23:47:49.082 N 57: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWmode2(0x31D), data: 01 00 02 07
002+23:47:49.153 N 58: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 01
002+23:47:51.897 N 59: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: 00 00 00 00 00 00 00 00 (offset 12)
002+23:47:52.955 N 60: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00
002+23:47:54.081 N 61: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 11 01
002+23:47:54.127 N 62: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBAFlags(0x35), data: 28 (offset 3)
002+23:48:11.419 N 63: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 00 BA 21 25 18 00 25 1E 01 23 03 03 01 01 23 00 45 00 00 11 01 03 07 49 00
002+23:48:11.725 N 64: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Monitor(0x2A5), data: 06 04 FF F7 00 00 FF 64 4B 00 86 05 FF 01 02 (offset 25)
002+23:48:11.819 N 65: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x06), data: 14 0B 11 09 27 3B 00 00 10 FF FE
002+23:48:12.210 N 66: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300Set(0x2B9), data: FF 2E 2A 26 1E 02 2A FF FF 00 25 01 E1 20 01 0F 05 00 00 02 21
002+23:48:12.535 N 67: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 00 00 00 00 00 00 00 00 00
002+23:48:12.751 N 68: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWtemp(0x31B), data: 3C 28
002+23:48:13.361 N 69: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 01 22 00 46 (offset 13)
002+23:48:13.548 N 70: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 01 22 (offset 8)
002+23:48:16.968 E 71: [mqtt] Failed to publish to ems-esp/boiler_data_ww after 3 attempts
002+23:48:27.410 N 72: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 00 BB
ems-esp:/# send telegram "0B 10 FF 00 02 1D 01 00 02"
002+23:48:31.178 N 73: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300WWmode2(0x31D), data: 01 00 02 07
002+23:48:31.281 N 74: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 01
002+23:48:33.711 N 75: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: 00 00 00 (offset 12)
002+23:48:33.906 N 76: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x2F5), data: 00 00 00 00 00 (offset 15)
002+23:48:34.955 N 77: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00
002+23:48:40.957 N 78: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBASetPoints(0x1A), data: 18 64 64
002+23:48:41.007 N 79: [emsesp] Thermostat(0x10) -> All(0x00), ?(0x267), data: 00 00
002+23:48:41.243 N 80: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 00 BB 21 25 18 00 25 1E 01 22 03 03 01 01 22 00 46 00 00 11 01 03 07 4A 00
002+23:48:41.629 N 81: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: 06 04 FF F7 00 00 FF 64 4B 00 86 05 FF 01 02 (offset 25)
002+23:48:41.828 N 82: [emsesp] Thermostat(0x10) -> All(0x00), RC300WWmode2(0x31D), data: 00 00 09 07
002+23:48:52.083 N 83: [emsesp] Thermostat(0x10) -> All(0x00), RC300Monitor(0x2A5), data: FF EE (offset 27)
002+23:48:55.368 N 84: [emsesp] Thermostat(0x10) -> Boiler(0x08), UBADevices(0x07), data: 0F
002+23:48:55.392 N 85: [emsesp] Boiler(0x08) -> Thermostat(0x10), UBADevices(0x07), data: 0B 01 00 00 00 00 00 00 00 00 00 00 00
ems-esp:/# watch off
Watching telegrams is off
ems-esp:/#

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

mqtt publish error buried in there too at 23:48:16.968, in case that's relevant.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

@MichaelDvP - I owe you a beer (or other drink)! You've cracked it. These telegrams work...

Start ww onetime:
send telegram "0B 10 FF 0B 01 F5 FF"
Cancel ww onetime:
send telegram "0B 10 FF 0B 01 F5 00"

How did you work them out? I see the 2F5 telegram above.

ems-esp:/# send telegram "0B 10 FF 0B 01 F5 FF"
005+21:08:06.751 N 2: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 FF 00 00 00 00 00 00 00 00
ems-esp:/# send telegram "0B 10 FF 0B 01 F5 00"
005+21:08:46.206 N 3: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 00 00 00 00 00 00 00 00 00
ems-esp:/# send telegram "0B 10 FF 0B 01 F5 FF"
005+21:11:42.553 N 4: [emsesp] Thermostat(0x10) -> Me(0x0B), ?(0x2F5), data: 01 00 04 03 00 00 08 01 00 08 04 FF 00 00 00 00 00 00 00 00
ems-esp:/#

There is one odd thing though. I get Warm water/DHW active, Boiler Warm water charging but no Boiler Warm water one time charging. It changed Off / Unknown / Off briefly. Might be an HA issue. I did get Boiler Warm water one time charging when I triggered from thermostat.

Anyway - big step forward!

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

The Unknown state was me restarting HA - please ignore. I'll do some more tests on the onetime charging indication.

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024

The wwonetime command is now in the latest dev. Also some heatcurve parameters. Can you check please?

from ems-esp32.

jakubjakubik avatar jakubjakubik commented on July 21, 2024

Following up on emsesp/EMS-ESP#630 - I've tested sending the raw telegrams and this indeed works. The boiler still does not report it's own wwonetime state as enabled during this time, but the water heating cycle starts. I'll test the dev firmware later on and report back.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

I should also do more tests.

from ems-esp32.

jakubjakubik avatar jakubjakubik commented on July 21, 2024

Noticed one more thing - this time, even though the one time charging was triggered by the thermostat, not only did the wwonetime sensor on the boiler remain off, if I sent the api command to trigger it on it didn't react.

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024

@jakubjakubik Try again with new dev-build, api and console commands were broken.
As far as i see the onetime in thermostat do not trigger the boiler-onetime. It shows up in thermostat wwextra and sets the boiler wwtemp higher for some time.

from ems-esp32.

Renifer1980 avatar Renifer1980 commented on July 21, 2024

I wonder whether this is going to be possible?

If we had someone with the Bosch internet gateway (MB LAN2 or MB LANi or KM200), then I wonder whether you can set wwonetime through that and capture telegrams? You'd like to think there is a way for the CW400 / Sense II to receive this request and start wwonetime.

I have Bosch Condens 9000 with Bosch MB LANi connected , can do some testing for you but will need small introduction how to proceed.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

@Renifer1980 - thanks for your offer. I still need to get wwonetime built in HA and test it. Back on 12 Nov I got the boiler to fire up but some of the status indications didn't look quite right.

At some point, it would be good to capture the traffic in and out of the CW400 when one-time cylinder charging is started and stopped.

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

I still need to resolve this. I think @tp1de has a CW400 and km200 gateway, so I was going to ask him nicely to set wwonetime on the km200 and capture the telegrams between the km200 and CW400, to see how it does it.

from ems-esp32.

tp1de avatar tp1de commented on July 21, 2024

@glitter-ball let me share my findings. First of all I have a Buderus KB192i with RC310 and MM100 Mixer. IP-inside (KM200).

  1. wwonetime on boiler does not work since I have an EMS+ System. wwonetime telegram type is 0x35 which does not work. Any ON value is reset to OFF.
  2. Most WW parameters are set by thermostat (RC310).
  3. Setting one-time charge by KM200 and/or MyBuderus App uses telegram type 0x01F5 which is EMS+.
  4. ON/OFF: Offset 0B value FF/00 - duration offset 0A value in 15 Minutes eg. 02 = 30 mins / 04 = 60 mins
  5. The settings in ems-esp are done within device thermostat by parameters: wwcharge (ON/OFF), wwchargeduration (how long in minutes) and the boiler parameter wwseltempsingle sets the onetime charge temp. These use the same telegram types as km200 and these fields are working similar to km200 on my system.

But keep in mind: Onetime-charge only works outside of an active time-program. Switching on one-time charge during an active time program has no effect in ww temperature (I had to learn by myself !)

from ems-esp32.

glitter-ball avatar glitter-ball commented on July 21, 2024

@tp1de - thanks!

Yes, I don't understand wwonetime logic with the time program! I heat to 60°C twice a day and have a reduced setting of 45°C during the day to stop it getting too cold for hand-washing etc. Usually wwonetime from the thermostat will heat to 60°C if programme is set to 45°C but sometimes it won't!

My thermostat (CW400 / Sense II) is also EMS+, I think. I'll see if I can work out how to send it and see what happens.

from ems-esp32.

mvjt avatar mvjt commented on July 21, 2024

I would also need this. It would give the opportunity to heat water when electricity is cheap during the night right? I have a Bosch 7800 HP with km200 type of GW. Let me know if I should test.

from ems-esp32.

mvjt avatar mvjt commented on July 21, 2024

https://domoticproject.com/ems-bus-buderus-nefit-boiler/#0x35_8211Flags_Hot_Water

Is this command used?

from ems-esp32.

proddy avatar proddy commented on July 21, 2024

https://domoticproject.com/ems-bus-buderus-nefit-boiler/#0x35_8211Flags_Hot_Water

yes except we're not using values 39 & 7 as Dani suggested by 2 and 3. See emsesp/EMS-ESP#341 (comment)

You can experiment yourself by writing directly to this 0x35 telegram from the telnet Console to see what happens. Keep in mind it needs to be outside an active program

from ems-esp32.

mvjt avatar mvjt commented on July 21, 2024

https://domoticproject.com/ems-bus-buderus-nefit-boiler/#0x35_8211Flags_Hot_Water

yes except we're not using values 39 & 7 as Dani suggested by 2 and 3. See emsesp/EMS-ESP#341 (comment)

You can experiment yourself by writing directly to this 0x35 telegram from the telnet Console to see what happens. Keep in mind it needs to be outside an active program

Thanks @proddy. I think I am/was confused how the EMS manages all the different thermostats. It seems the comment above from @tp1de is rather accurate. It should be sent to thermostat and not boiler. How does EMS-ESP32 know whether to send or RC300WWmode(0x02F5) or RC300WWmode(0x01F5) when I trigger wwonetime on thermostat? Is it depending on EMS vs EMS?

And issuing it does not seems to work on latest dev

`ems-esp:# call thermostat wwonetime on

Unknown command
Available commands are: building comforttemp commands controlmode damping datetime designtemp ecotemp entities fastheatup heatingtype hpoperatingmode info manualtemp maxflowtemp minexttemp minflowtemp mode nofrostmode nofrosttemp noreducetemp offsettemp program reducemode reducetemp roominflfactor roominfluence seltemp summersetmode summertemp switchonoptimization tempautotemp wwcharge wwchargeduration wwcircmode wwdisinfectday wwdisinfecting wwdisinfecttime wwmode wwprio wwsettemp wwsettemplow `

from ems-esp32.

proddy avatar proddy commented on July 21, 2024

And issuing it does not seems to work on latest dev

ems-esp:# call thermostat wwonetime on

It's a boiler command. Look at http://ems-esp.local/api/boiler/commands

from ems-esp32.

mvjt avatar mvjt commented on July 21, 2024

And issuing it does not seems to work on latest dev
ems-esp:# call thermostat wwonetime on

It's a boiler command. Look at http://ems-esp.local/api/boiler/commands

I´m even more confused :-)

  • I've checked the docs and wwonetime seems to be both an boiler and a thermostat command. https://emsesp.github.io/docs/#/Command?id=thermostats-thermostat
  • The docs even state wwonetime on boiler might get overridden by thermostat and to check thermostat instead.
  • The [dest] in the working examples above is the Thermostat (0x10)
  • The [dest] in my setup is also the Thermostat, not the boiler.

I was under the impression both were possible...Hopfully I can contribute more when I understand things better...

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024

It's a boiler ommand and a RC100/300 only thermostat command. The RC300 blocks/overwrites the boiler command and uses a different logic to prepare onetime (wwextra).
Both are listed in the docu. You can also check in telenet, api or web-settings-customisaton what commands are registerd for your system. The docu sometimes is a bit behind, if you find a missing info, don't complain here, press the improve this article button in the docu and add the missing infos.

I was under the impression both were possible...

No, with RC300 the boiler command is not working, you have to use the thermostat command.

from ems-esp32.

mvjt avatar mvjt commented on July 21, 2024

No, with RC300 the boiler command is not working, you have to use the thermostat command.

So how do I get access to the Thermostat command for my HP which seems to be using "RC300" compatibility as it sends it to the thermostat? If I understand your response it is not available in my system because it is not detected properly?

{172, DeviceType::THERMOSTAT, F("Rego 2000/3000"), DeviceFlags::EMS_DEVICE_FLAG_RC300}, // 0x10

It seems in thermostat.cpp it is only used with RC35?

has_update(telegram, wwOneTimeKey_, 9); // 0-off, 0xFF on

I can raise a separate Issue if needed but most probably I'm the issue here...

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024

Yes, you are right, i'd remembered wrong. It was renamed and is called wwCharge, can't remember why.

onetimekey is a a setting for RC35 if the pushbotton on the thermostat activates onetime or its without function.

from ems-esp32.

mvjt avatar mvjt commented on July 21, 2024

Hi @MichaelDvP ,

I noticed that with Thermostat->wwcharge the FW sends 0x01F5 command. But my HP uses 0x02F5. What is the difference and how can I get the FW to use 0x02F5 instead? Same thing for the wwCharge duration.

from ems-esp32.

MichaelDvP avatar MichaelDvP commented on July 21, 2024

It's a bit confusing, emsesp uses an internal offset of 0x100 to indicate ems+ addressing. the emsesp telegram 0x2F5 is raw 0x1F5.
wwCharge writes to right address:

// Set ww charge RC300, ems+
bool Thermostat::set_wwcharge(const char * value, const int8_t id) {
bool b = false;
if (!Helpers::value2bool(value, b)) {
return false;
}
write_command(0x02F5, 11, b ? 0xFF : 0x00, 0x02F5);
return true;
}

from ems-esp32.

mvjt avatar mvjt commented on July 21, 2024

If I understand, you mean when I see EMS telegram in pretty print it will show 02F5 but in reality it sends 01F5 (which is what the raw log available in readonly mode indicates)?

000+00:03:12.980 I 25: [command] [readonly] Calling command 'thermostat/wwcharge' (charge) with value on
000+00:03:12.999 I 26: [telegram] [readonly] Sending write Tx telegram: 0B 10 FF 0B **01 F5** FF

from ems-esp32.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.