Closed HansRemmerswaal closed 1 year ago
thanks, we can surely add this. Do you know a good description for this 0xF7 telegram?
Maybe we can implement https://github.com/emsesp/EMS-ESP32/issues/150#issuecomment-1306970869 at the same time
When I change the menu to English it's called "Low-noise operation" with the options "No", "Auto" and "On". When I change the menu to Dutch it's called "Stiller gebruik" with the options "Nee", "Auto" and "Aan"
If the below log the initial status was "Auto". I then changed to "No", "On", "No", "On", "Auto". I guess we best call it HPSilentMode as that is what I also see coming back in the log file...
It looks like that the following is send from the HMC310 to the boiler to set the mode:
Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 00 (offset 10) (No) Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 01 (offset 10) (Auto) Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 02 (offset 10) (On)
And that that the boiler response with the 0xF7 with the HPSilentMode No / On.
Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 FE FF 0F FD 7F Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 F6 FF 0F FD 7F
001+03:50:09.558 N 8: [emsesp] Me(0x0B) -R-> Boiler(0x08), HPSilentMode(0x0484), length: 0x19 001+03:50:09.597 N 9: [emsesp] Boiler(0x08) -W-> Me(0x0B), HPSilentMode(0x0484), data: 01 00 23 2D 0D 50 00 00 00 02 01 00 28 1E 02 02 05 19 0A 0A 03 0D 07 00 0A 001+03:50:09.858 N 10: [emsesp] Me(0x0B) -R-> Boiler(0x08), HPSilentMode(0x0484), length: 0x19 (offset 25) 001+03:50:09.894 N 11: [emsesp] Boiler(0x08) -W-> Me(0x0B), HPSilentMode(0x0484), data: 01 90 00 F6 28 14 64 00 00 E1 00 1E 00 32 0A 64 01 64 54 20 00 00 (offset 25)
001+03:50:45.087 N 85: [emsesp] Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 00 (offset 10) 001+03:50:45.779 N 86: [emsesp] Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 F6 FF 0F FD 7F 001+03:50:45.985 N 87: [emsesp] Boiler(0x08) -B-> All(0x00), HPSilentMode(0x0484), data: 01 00 23 2D 0D 50 00 00 00 02 00 00 28 1E 02 02 05 19 0A 0A 03 0D 07 00 0A 001+03:50:46.181 N 88: [emsesp] Boiler(0x08) -B-> All(0x00), HPSilentMode(0x0484), data: 01 90 00 F6 28 14 64 00 00 E1 00 1E 00 32 0A 64 01 64 54 20 00 00 (offset 25)
001+03:50:53.412 N 106: [emsesp] Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 02 (offset 10) 001+03:50:53.755 N 107: [emsesp] Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 FE FF 0F FD 7F 001+03:50:53.960 N 108: [emsesp] Boiler(0x08) -B-> All(0x00), HPSilentMode(0x0484), data: 01 00 23 2D 0D 50 00 00 00 02 02 00 28 1E 02 02 05 19 0A 0A 03 0D 07 00 0A 001+03:50:54.157 N 109: [emsesp] Boiler(0x08) -B-> All(0x00), HPSilentMode(0x0484), data: 01 90 00 F6 28 14 64 00 00 E1 00 1E 00 32 0A 64 01 64 54 20 00 00 (offset 25)
001+03:50:57.838 N 124: [emsesp] Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 00 (offset 10)
001+03:50:58.954 N 129: [emsesp] Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 F6 FF 0F FD 7F 001+03:50:59.160 N 130: [emsesp] Boiler(0x08) -B-> All(0x00), HPSilentMode(0x0484), data: 01 00 23 2D 0D 50 00 00 00 02 00 00 28 1E 02 02 05 19 0A 0A 03 0D 07 00 0A 001+03:50:59.357 N 131: [emsesp] Boiler(0x08) -B-> All(0x00), HPSilentMode(0x0484), data: 01 90 00 F6 28 14 64 00 00 E1 00 1E 00 32 0A 64 01 64 54 20 00 00 (offset 25)
001+03:51:03.763 N 149: [emsesp] Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 02 (offset 10)
001+03:51:06.979 N 169: [emsesp] Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 FE FF 0F FD 7F 001+03:51:07.185 N 170: [emsesp] Boiler(0x08) -B-> All(0x00), HPSilentMode(0x0484), data: 01 00 23 2D 0D 50 00 00 00 02 02 00 28 1E 02 02 05 19 0A 0A 03 0D 07 00 0A 001+03:51:07.457 N 171: [emsesp] Boiler(0x08) -B-> All(0x00), HPSilentMode(0x0484), data: 01 90 00 F6 28 14 64 00 00 E1 00 1E 00 32 0A 64 01 64 54 20 00 00 (offset 25)
001+03:51:09.658 N 186: [emsesp] Me(0x0B) -R-> Boiler(0x08), HPSilentMode(0x0484), length: 0x19 001+03:51:09.698 N 187: [emsesp] Boiler(0x08) -W-> Me(0x0B), HPSilentMode(0x0484), data: 01 00 23 2D 0D 50 00 00 00 02 02 00 28 1E 02 02 05 19 0A 0A 03 0D 07 00 0A 001+03:51:09.959 N 188: [emsesp] Me(0x0B) -R-> Boiler(0x08), HPSilentMode(0x0484), length: 0x19 (offset 25) 001+03:51:09.994 N 189: [emsesp] Boiler(0x08) -W-> Me(0x0B), HPSilentMode(0x0484), data: 01 90 00 F6 28 14 64 00 00 E1 00 1E 00 32 0A 64 01 64 54 20 00 00 (offset 25)
001+03:51:11.475 N 199: [emsesp] Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 01 (offset 10)
001+03:51:12.528 N 207: [emsesp] Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 FE FF 0F FD 7F 001+03:51:12.735 N 208: [emsesp] Boiler(0x08) -B-> All(0x00), HPSilentMode(0x0484), data: 01 00 23 2D 0D 50 00 00 00 02 01 00 28 1E 02 02 05 19 0A 0A 03 0D 07 00 0A 001+03:51:12.932 N 209: [emsesp] Boiler(0x08) -B-> All(0x00), HPSilentMode(0x0484), data: 01 90 00 F6 28 14 64 00 00 E1 00 1E 00 32 0A 64 01 64 54 20 00 00 (offset 25)
Related to issue #802
In #802 Michael added some support, not sure if it enables the low noise operation from the 0x0484 telegram. What you could try yourself is writing to this from the command line manually to see which values work from on/off/auto
Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 00 (offset 10) (No) Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 01 (offset 10) (Auto) Thermostat(0x10) -W-> Boiler(0x08), HPSilentMode(0x0484), data: 02 (offset 10) (On)
Thanks, this is a addition to #802, i'll add it.
And that that the boiler response with the 0xF7 with the HPSilentMode No / On. Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 FE FF 0F FD 7F Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 F6 FF 0F FD 7F
This changes in thermostat the visibility of telegram 484, offset 11 (Min outside temp).
Bitmask: 31 F6 FF 0F FD 7F => 10001100 01101111 11111111 00001111 10111111 1111111
Bitmask: 31 FE FF 0F FD 7F => 10001100 01111111 11111111 00001111 10111111 1111111
^
This changes in thermostat the visibility of telegram 484, offset 11 (Min outside temp).
Are you sure? I get the impression that I see that 0xF7 each time around the same time that I change the Silent Mode. And each time that FE / F6 in the middle is changing depending on Silent Mode on / off.
This changes in thermostat the visibility of telegram 484, offset 11 (Min outside temp).
Are you sure? I get the impression that I see that 0xF7 each time around the same time that I change the Silent Mode. And each time that FE / F6 in the middle is changing depending on Silent Mode on / off.
I think the F7 and F8 are only for reading (broadcasting) and the write operations are done via x484
When the Silent Mode is set to Auto then somewhere in the evening the Silent Mode will be "On" and somewhere in the morning it will be "Off". It's now set to auto, let me check tomorrow if I see the silent mode being turned on / off due to the auto mode.
BTW, I do see the Silent Mode now in EMS-ESP with that latest build.
And in HA
Are you sure?
99% sure. The setting telegram is 484 with a length of 47 bytes. The F7 telegram starts with the regarding telegram FF 03 84
, referencing the 484 telegram (telegram 484 is <src> <dst> FF <offset> 03 84 ..
and then the bitmask with 47 bits, each bit reference one byte in the 484 telegram.
If you set silentmode to off, byte 10 in 484 changes and bit 11 of F7 change, meaning that the menu entry of minTempSilent (byte 11 in 484) is not shown in thermostat menu. If you change silentmode again ,the entry reappears.
The F9 telegrams are more complicated, i think they are coding the min/max ranges for a menu entry. But i have not understood the scheme.
We can see the menu setting now, but we can't see when the silent mode is enabled / disabled in case of auto.
My SilentMode is set to auto. Somewhere last night the compressor was put in silent mode (the compressor output is limited, the peak of the 2nd run is less high) but the select.boiler_silent_mode remains auto. So we can't see when the silent mode was enabled and disabled.
as I understand the manual, silent mode (or low noise operation) in auto enables/disables according to a set time schedule and the min temp. If on, its only the min temp. Thanks for requesting/ adding the on/off/auto switch!
Yes, but it would be great to see if silent mode is on or off. So I keep searching, there must be a message telling the actual status. But that can also be added later on a new issue.
Ok, you are right. I captured the full log from 15:38 till 00:22. Somewhere between 19:43 and 22:32 the compressor boiler went into silent mode and there is no 0xF7 in that timeframe. So if there is a message then it must be something different.
Silent Mode = Auto Run started at 19:43 was not in silent mode Run started at 22:32 was in silent mode
Assuming the Silent Mode, in Auto Mode, starts every day at the same time, then 22:00 is the most logical time looking at historical compressor power outputs.
Finding a single bit change within 140000 lines will take longer than this life.
As far as i understood the silentmode switches dependent on outdoortemp and mintemp-setting. Try set silentmode on, mintemp low, if pump starts it should be starting in silentmode. Than set mintemp higher than outdoortemp and silentmode should stop. We have the change of mintemp in log and one of the next telegrams will contain the silentmode indicator.
That's actually a very good idea, didn't realized that we have the min temp setting.
Starting point: Silent mode is put to "On" Min Temp Silent is 20 Outside temperature is around 9.6
Changing Min Temp Silent to 0 Changing Min Temp Silent to 20 Changing Min Temp Silent to 0
Maybe changed a bit to fast. I think you need to wait after a change for the next outdoot temperature mesaurement (~ once a minute). Is it possile to check if the pump really actvates silentmode (noise, power, etc.)?
Ok, let me see what I can do. The minimum power of my compressor is a bit to high, so right now I can only see the silent mode being enabled because the peak at the beginning of the run is lower.
I should be able to time the start of a new run as I have a sensor calculating the On/Off hysteresis value. So shortly before I see a new run will start I will change that Min Temp Silent.
Starting point: Silent mode is put to "On" Min Temp Silent is 0 Outside temperature is around 8.5 Last run was in silent mode
18:00 - Changing Min Temp Silent to 20 18:05 - Changing Min Temp Silent to 0 18:10 - Changing Min Temp Silent to 20 18:15 - Changing Min Temp Silent to 0 18:20 - Changing Min Temp Silent to 10
See attached log. log (8).txt
Around 18:22 the EMS-ESP restarted maybe because of the size of the log?
For the run of 16:26 was in silent mode was enabled as silent mode was on AND outside temp > min temp for silent mode For the run of 19:30 was in silent mode was disabled as silent mode was on AND outside temp < min temp for silent mode
Each time block starting with "Calling command 'boiler/mintempsilent'" I marked with a group number. Group 0 was before +/- 18:00 Group 1 was before +/- 18:05 Group 2 was before +/- 18:10 etc
Next I made a pivot on the message, group number and count of messages. I was looking for messages that only existed in the groups where the silent mode was enabled and messages that only existed in the groups where silent mode was disabled.
Excluding the messages related to setting the MinTempSilent to 0, 10 and 20, I found nothing that only occurs in the groups with silent mode on or only in the groups silent mode off.
Apart from the following which by coincident happened in the same blocks but are not related. No telegram type handler found for ID 0xBF (src 0x10) No telegram type handler found for ID 0xBF (src 0x38)
So either I overlooked something or there is no message telling that the silent mode is enabled / disabled. Or only when the compressor gets enabled the check is done, which could make sense as on other moments there is no need for it. Or there is a kind of delay which is longer than that 5 min, which could make sense especially when the outside temperature is around the mintempsilent and you don't want to send multiple on/off in a short period of time.
I think the compressor must be running. Change would have effect at 16:34 and 19:40, but not if compressor is off. I've checked the telegrams, i'd expect a bit somewhere in telegram 0x48D together with actual compressor power.
I did several tests with silent mode on / off and compressor running / not running.
I could not find a message telling that the silent mode was enabled. So maybe there is not such a message and does the boiler keeps this internally by just limiting the compressor power.
Closing it for now. At least we have the option itself now to set the silent mode!
Can you please implement the entity for "Silent Mode"?
Below is the log file where I enabled and disabled the silent mode. The telegram is 0xF7.
Silent mode ON: Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 FE FF 0F FD 7F
Silent mode OFF: Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 F6 FF 0F FD 7F
When putting the silent mode to "auto" I was getting the same as "Silent mode OFF", so I guess when putting it to "auto" the "Silent mode ON" will be automatically send somewhere tonight.
Note: I'm having the Nefit Eviline A/W Split 7.0 E-S
┌──────────────────────────────────────┐ │ EMS-ESP version 3.5.0b12 │ │ https://github.com/emsesp/EMS-ESP32 │ │ │ │ type help to show available commands │ └──────────────────────────────────────┘
ems-esp:$ set timeout 0 Telnet timeout set to 0 minutes ems-esp:$ watch 8 F7 Watching incoming telegrams, displayed in decoded format Filtering only telegrams that match a telegram type of 0xF7 000+00:07:16.247 N 0: [emsesp] Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 FE FF 0F FD 7F 000+00:07:54.309 N 1: [emsesp] Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 F6 FF 0F FD 7F 000+00:07:59.309 N 2: [emsesp] Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 FE FF 0F FD 7F 000+00:08:04.359 N 3: [emsesp] Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 F6 FF 0F FD 7F 000+00:08:09.309 N 4: [emsesp] Boiler(0x08) -B-> All(0x00), ?(0xF7), data: FF 03 84 31 FE FF 0F FD 7F