Comments (8)
Hi Chris,
Sorry for the late reply. To be honest I really do not if there are different dialects. What I did see is that there is a difference between thermostats. It looks like the Moduline 300 requests more information than any of the other thermostats (moduline IV / Moduline 30).
If I look at the hex data it looks pretty much like the data I have seen from other thermostats. I have marked in the attached picture a number of messages (from your data) :
0xA4 - Current output water temperature in Celsius.
0x90 - Maximum heating water temperate.
0x8A - Reports the temperature of the external temperature sensor of the boiler.
0x07 - Start the burner and set burner power.
0xA3 - Display code (-H, =H)
The external temperature sensor (the 0x8A msg) does not report in celsius. I think it is the raw A/D converter output of the external NTC resistor. But i do not have an external sensor. I did do a test with 2 different resistor values ( see: Wiki )
If you need any additional information, just let me know.
Regards,
Victor
from irt-esp.
Hi Victor,
Thanks - I'm sorry for my late response too. Guess I missed the github alert.
I'm still trying to understand the way VSC and Platform.IO work. It was easy to setup, build and upload. But things like the way the webfiles end up on the device still puzzles me.
Chris
from irt-esp.
Hi,
There is still a thing that puzzles me.
The situation now:
-The EMS Dashboard indicates a Current Flow Temp of 14 degrees
-The Moduline 30 displays 25 degrees as setpoint <- calculated by Moduline
-The Moduline 30 displays 22 degrees as measured (aanvoer?) <- Measured value from the boiler
-The Moduline 30 displays 21 degrees as outside temp <- Measured value from the boiler
Where is the 22 degrees in the communication?
System Logging set to Raw mode
->
(00:52:54.669) irt_raw: 05: 90 E9 4C 72 A1
(00:52:54.670) irt_raw: 04: 01 11 E5 9C
(00:52:54.670) irt_raw: 04: 07 CC 7C 6F
(00:53:00.171) irt_raw: 05: 90 F8 DD 26 A1
(00:53:00.172) irt_raw: 05: 82 12 1D D2 00
(00:53:00.172) irt_raw: 05: A3 03 A5 03 07
(00:53:00.172) irt_raw: 05: 8A 77 47 61 8C
(00:53:00.173) irt_raw: 05: 84 20 C7 F3 55
Publishing boiler data via MQTT
(00:53:04.893) irt_raw: 05: 90 35 BA 20 A1
(00:53:04.893) irt_raw: 04: 73 52 25 43
(00:53:04.894) irt_raw: 04: 78 04 00 70
(00:53:04.894) irt_raw: 04: 04 00 0B 28
01:11 04:00 05:04 07:CC 73:52 78:04 | 81:45 82:00 84:55 8A:8C 90:A1 93:00 A3:07 A4:0E C9:00 DE:8C 0y
(00:53:09.914) irt_raw: 05: 90 68 B6 AA A1
(00:53:09.915) irt_raw: 05: 82 5D BD FE 00
(00:53:09.915) irt_raw: 05: A3 19 7F 74 07
(00:53:09.915) irt_raw: 05: 8A DE 53 7A 8C
(00:53:09.915) irt_raw: 05: 84 0A D5 EF 55
Publishing boiler data via MQTT
(00:53:15.095) irt_raw: 05: 90 AC 3E 29 A1
(00:53:15.096) irt_raw: 04: 73 52 25 43
(00:53:15.096) irt_raw: 04: 78 05 04 62
(00:53:15.096) irt_raw: 04: 05 04 28 AD
01:11 04:00 05:04 07:CC 73:52 78:05 | 81:45 82:00 84:55 8A:8C 90:A1 93:00 A3:07 A4:0E C9:00 DE:8C 0y
(00:53:21.036) irt_raw: 05: 90 4E 5D 61 A1
(00:53:21.037) irt_raw: 05: 82 4B C5 2B 00
(00:53:21.037) irt_raw: 05: A3 93 9B C2 07
(00:53:21.037) irt_raw: 05: 8A 85 F1 76 8C
(00:53:21.037) irt_raw: 05: 84 52 DC 7B 55
Publishing boiler data via MQTT
(00:53:25.757) irt_raw: 05: 90 44 4B 2D A1
(00:53:25.757) irt_raw: 05: C9 81 40 CB 00
(00:53:25.757) irt_raw: 05: DE 65 05 00 8C
(00:53:31.218) irt_raw: 05: 90 BE 80 C7 A1
(00:53:31.218) irt_raw: 05: 82 AC 25 57 00
(00:53:31.218) irt_raw: 05: A3 8C 3A 4A 07
(00:53:31.219) irt_raw: 05: 8A F8 DD 3C 8C
(00:53:31.219) irt_raw: 05: 84 12 1D D4 55
Publishing boiler data via MQTT
(00:53:36.079) irt_raw: 05: 90 03 A5 30 A1
(00:53:36.079) irt_raw: 05: 81 77 47 6A 45
(00:53:36.080) irt_raw: 05: 93 20 C7 E4 00
(00:53:36.080) irt_raw: 05: A4 35 BA 14 0E
Publishing boiler data via MQTT
(00:53:41.061) irt_raw: 05: 90 85 D8 C8 A1
(00:53:41.061) irt_raw: 05: 82 E2 D2 3C 00
(00:53:41.061) irt_raw: 05: A3 18 98 C1 07
(00:53:41.062) irt_raw: 05: 8A 4E 5D 7B 8C
(00:53:41.062) irt_raw: 05: 84 4B C5 2D 55
Publishing boiler data via MQTT
(00:53:45.882) irt_raw: 05: 90 93 9B F1 A1
(00:53:45.882) irt_raw: 04: 73 52 25 43
(00:53:45.883) irt_raw: 04: 78 01 FF AD
(00:53:45.883) irt_raw: 04: 73 52 25 43
(00:53:45.883) irt_raw: 04: 78 07 FF A1
01:11 04:00 05:04 07:CC 73:52 78:07 | 81:45 82:00 84:55 8A:8C 90:A1 93:00 A3:07 A4:0E C9:00 DE:8C 0y
(00:53:50.903) irt_raw: 05: 90 85 F1 6C A1
(00:53:50.904) irt_raw: 05: 82 52 DC 7D 00
(00:53:50.904) irt_raw: 05: A3 44 4B 1E 07
(00:53:50.904) irt_raw: 05: 8A 81 40 88 8C
(00:53:50.904) irt_raw: 05: 84 65 05 5A 55
Publishing boiler data via MQTT
(00:53:56.444) irt_raw: 05: 90 BE 80 C7 A1
(00:53:56.444) irt_raw: 04: 01 11 8B 3D
(00:53:56.445) irt_raw: 04: 07 CC 0D B2
(00:54:01.886) irt_raw: 05: 90 FC 44 78 A1
(00:54:01.886) irt_raw: 05: 82 E9 34 99 00
(00:54:01.886) irt_raw: 05: A3 DF 09 20 07
(00:54:01.887) irt_raw: 05: 8A F4 14 2B 8C
(00:54:01.887) irt_raw: 05: 84 02 D7 F7 55
Publishing boiler data via MQTT
(00:54:06.627) irt_raw: 05: 90 6B 98 14 A1
(00:54:06.628) irt_raw: 04: 73 52 25 43
(00:54:06.628) irt_raw: 04: 78 04 00 70
(00:54:06.628) irt_raw: 04: 04 00 12 4C
01:11 04:00 05:04 07:CC 73:52 78:04 | 81:45 82:00 84:55 8A:8C 90:A1 93:00 A3:07 A4:0E C9:00 DE:8C 0y
(00:54:12.549) irt_raw: 05: 90 A8 A6 73 A1
(00:54:12.549) irt_raw: 05: 82 93 B4 5F 00
(00:54:12.549) irt_raw: 05: A3 BB 9E 86 07
(00:54:12.550) irt_raw: 05: 8A DF 3A C5 8C
(00:54:12.550) irt_raw: 05: 84 9B CB AC 55
Publishing boiler data via MQTT
(00:54:17.289) irt_raw: 05: 90 6C 4E 69 A1
(00:54:17.290) irt_raw: 04: 73 52 25 43
(00:54:17.290) irt_raw: 04: 78 05 04 62
(00:54:17.290) irt_raw: 04: 05 04 74 C4
01:11 04:00 05:04 07:CC 73:52 78:05 | 81:45 82:00 84:55 8A:8C 90:A1 93:00 A3:07 A4:0E C9:00 DE:8C 0y
(00:54:22.250) irt_raw: 05: 90 18 98 F2 A1
(00:54:22.251) irt_raw: 05: 82 4E 5D 73 00
(00:54:22.251) irt_raw: 05: A3 4B C5 0A 07
(00:54:22.251) irt_raw: 05: 8A 93 9B EB 8C
(00:54:22.251) irt_raw: 05: 84 85 F1 78 55
Publishing boiler data via MQTT
(00:54:27.391) irt_raw: 05: 90 52 DC 6F A1
(00:54:27.391) irt_raw: 05: C9 44 4B 74 00
(00:54:27.391) irt_raw: 05: DE 81 40 DC 8C
(00:54:32.391) irt_raw: 05: 90 65 05 4E A1
(00:54:32.392) irt_raw: 05: 82 BE 80 D5 00
(00:54:32.392) irt_raw: 05: A3 AC 25 76 07
(00:54:32.392) irt_raw: 05: 8A 8C 3A 63 8C
(00:54:32.393) irt_raw: 05: 84 F8 DD 32 55
Publishing boiler data via MQTT
(00:54:37.292) irt_raw: 05: 90 12 1D C0 A1
(00:54:37.293) irt_raw: 05: 81 03 A5 21 45
(00:54:37.293) irt_raw: 05: 93 77 47 78 00
(00:54:37.293) irt_raw: 05: A4 20 C7 D3 0E
Publishing boiler data via MQTT
(00:54:42.274) irt_raw: 05: 90 35 BA 20 A1
(00:54:42.274) irt_raw: 05: 82 85 D8 DA 00
(00:54:42.275) irt_raw: 05: A3 E2 D2 1D 07
(00:54:42.275) irt_raw: 05: 8A 18 98 E8 8C
(00:54:42.275) irt_raw: 05: 84 4E 5D 75 55
Publishing boiler data via MQTT
(00:54:47.556) irt_raw: 05: 90 4B C5 39 A1
(00:54:47.556) irt_raw: 04: 73 52 25 43
(00:54:47.557) irt_raw: 04: 78 01 FF AD
(00:54:47.557) irt_raw: 04: 73 52 25 43
(00:54:47.557) irt_raw: 04: 78 07 FF A1
01:11 04:00 05:04 07:CC 73:52 78:07 | 81:45 82:00 84:55 8A:8C 90:A1 93:00 A3:07 A4:0E C9:00 DE:8C 0y
(00:54:52.538) irt_raw: 05: 90 93 9B F1 A1
(00:54:52.538) irt_raw: 05: 82 85 F1 7E 00
(00:54:52.538) irt_raw: 05: A3 52 DC 5C 07
(00:54:52.539) irt_raw: 05: 8A 44 4B 37 8C
(00:54:52.539) irt_raw: 05: 84 81 40 86 55
Publishing boiler data via MQTT
(00:54:57.178) irt_raw: 05: 90 65 05 4E A1
(00:54:57.179) irt_raw: 04: 01 11 DF 74
(00:54:57.179) irt_raw: 04: 07 CC CD 99
(00:55:03.120) irt_raw: 05: 90 F4 2D D5 A1
(00:55:03.120) irt_raw: 05: 82 72 E1 C9 00
(00:55:03.120) irt_raw: 05: A3 97 4C BD 07
(00:55:03.121) irt_raw: 05: 8A 73 C8 67 8C
(00:55:03.121) irt_raw: 05: 84 27 42 DB 55
Publishing boiler data via MQTT
(00:55:07.860) irt_raw: 05: 90 81 72 5A A1
(00:55:07.861) irt_raw: 04: 73 52 25 43
(00:55:07.861) irt_raw: 04: 78 04 00 70
(00:55:07.861) irt_raw: 04: 04 00 CF 13
01:11 04:00 05:04 07:CC 73:52 78:04 | 81:45 82:00 84:55 8A:8C 90:A1 93:00 A3:07 A4:0E C9:00 DE:8C 0y
(00:55:12.861) irt_raw: 05: 90 52 DC 6F A1
(00:55:12.861) irt_raw: 05: 82 44 4B 3F 00
(00:55:12.862) irt_raw: 05: A3 81 40 A1 07
(00:55:12.862) irt_raw: 05: 8A 65 05 54 8C
(00:55:12.862) irt_raw: 05: 84 BE 80 D3 55
Publishing boiler data via MQTT
(00:55:17.562) irt_raw: 05: 90 AC 25 45 A1
(00:55:17.562) irt_raw: 04: 73 52 25 43
(00:55:17.563) irt_raw: 04: 78 05 04 62
(00:55:17.563) irt_raw: 04: 05 04 49 30
01:11 04:00 05:04 07:CC 73:52 78:05 | 81:45 82:00 84:55 8A:8C 90:A1 93:00 A3:07
from irt-esp.
Hi Chreetz,
There are a number of steps in the way the web files are added to the firmware. From the directory './tools/webfilesbuilder' The gulp.js script is run (node node_modules/gulp/bin/gulp.js) (see also: https://emsesp.github.io/docs/#/Building-firmware ).
The gulp.js script will process the html and javascript from './src/websrc/' . It will concatenate, gzip and convert them to 'c' header files (.h). The output can be found in './src/webh/'.
These header files are then included bij ./src/myESP.h and build into the firmware.
The 'A4 35 BA 14 0E' message reports a outgoing water temperature of 14 (0x0E) degrees. This seems to be a bit low. I always have found this value a bit low, also on my system, maybe the Moduline adds a offset of 8 ? With an outside temperature of 21 degrees an water temperature of 22 degrees makes more sense. Also the moduline is requesting the boiler to limit the water temperature to 17 (0x11) degrees (01 11 DF 74). This also seems to have an offset of 8 with the setpoint of 25 degrees.
The outside temperature is reported through the 0x8A message (8A 65 05 54 8C) It reports the raw measured value of the outside temperature NTC resistor. I still need to add a conversion table to convert raw measured values to degrees. But at least I now know the raw value of 0x8C means 21 degrees ! (I do not have an outside temperature).
from irt-esp.
I just did a test on my boiler and I can confirm there is a 8 degree offset, i will fix that in a next version.
from irt-esp.
Hi Victor,
Thanks for your explanation.
The thing that puzzled me the most in the build process is I assumed the webfiles are stored in the spiffs filesystem. So it is not the webpages are translated into consts...
As for the temperature: I don't think it is a fixed offset. At higher temperatures the values seem to match although the Moduline is behind than the iRT. When the temp stabilizes at 72 the values match.
Looks like: EMS_Boiler.curFlowTemp = (data[4] * 8.6) + 100;
And for the outside Temperature:
Since it's been quite warm lately I have some value/temp pairs, but I think we need temperatures aound 5 degrees or less to create a workable translation function:
iRT vs Moduline
148 = 18 graden
137 = 22 graden
114 = 31 graden
I recorded a start (boot) of the system.
There are some F0 messages (which are not stored?):
(17:02:48.024) irt_crcErr3: 0C: 01 01 FE 90 90 93 93 9B 9B F1 73 73
(17:02:50.784) irt_crcErr1: 03: 01 01 FE
(17:02:51.444) irt_crcErr1: 03: 01 01 FE
(17:02:52.103) irt_crcErr1: 03: 01 01 FE
(17:02:52.763) irt_crcErr1: 03: 01 01 FE
(17:02:53.423) irt_crcErr1: 03: 01 01 FE
(17:02:54.083) irt_crcErr1: 03: 01 01 FE
(17:02:54.743) irt_crcErr1: 03: 01 01 FE
(17:02:59.682) irt_raw: 05: 90 00 DC CB A1
(17:02:59.682) irt_raw: 05: 82 19 66 31 00
(17:02:59.682) irt_raw: 05: A3 6F 49 40 06
(17:02:59.683) irt_raw: 05: 8A DF 21 A9 92
(17:02:59.683) irt_raw: 05: 84 2B C1 FD 55
01:15 04:00 05:04 07:CC 73:52 78:05 | 81:45 82:00 84:55 8A:92 90:A1 93:00 A3:06 A4:0F C9:00 DE:8C 0U
(17:03:04.500) irt_raw: 05: 90 40 9A 4A A1
(17:03:04.500) irt_raw: 05: 81 A8 A6 62 45
(17:03:04.501) irt_raw: 05: 93 93 B4 4E 00
(17:03:04.501) irt_raw: 05: A4 BB 9E 81 0F
Publishing boiler data via MQTT
(17:03:05.663) irt_raw: 05: F0 1F FE 1D 82
(17:03:05.663) irt_raw: 05: F0 1F FF 19 D3
(17:03:05.663) irt_raw: 05: F0 82 C5 D2 01
(17:03:05.664) irt_raw: 05: F0 82 C6 DE F1
(17:03:05.664) irt_raw: 05: F0 01 FA 31 BC
(17:03:05.664) irt_raw: 05: F0 01 FB 35 02
(17:03:17.374) irt_raw: 05: F0 1F FE 1D 82
(17:03:17.374) irt_raw: 05: F0 1F FF 19 D3
(17:03:17.375) irt_raw: 05: F0 82 CC F6 01
(17:03:17.375) irt_raw: 05: F0 82 CD F2 20
(17:03:17.375) irt_raw: 05: F0 01 21 76 34
(17:03:21.912) irt_raw: 05: 90 9B CB B8 A1
(17:03:21.912) irt_raw: 05: 82 6C 4E 7B 00
(17:03:21.912) irt_raw: 05: A3 DB 8A 16 03
(17:03:21.913) irt_raw: 05: 8A FB 8E 6F 92
(17:03:21.913) irt_raw: 05: 84 FF F4 98 55
01:15 04:00 05:04 07:CC 73:52 78:05 | 81:45 82:00 84:55 8A:92 90:A1 93:00 A3:03 A4:0F C9:00 DE:8C 0H
Best,
Chris
from irt-esp.
I have added logging of the 0xF0 messages to the status logging (log s) in the latest v1.9.10 build. I have added a conversion for the reporting of the temperatures. The outside temp. should also be correct.
from irt-esp.
Closing the issue, feel free to reopen if necessary.
from irt-esp.
Related Issues (20)
- iRT Bus Connection not working HOT 22
- Outside temperature not reported correctly HOT 4
- Active IRT-ESP and thermostat usage HOT 4
- Nefit EcomLine HR43 not correctly detecting the bus signal HOT 5
- iRT bus interpretation problem HOT 15
- Fail safe shut down upon wifi disconnect HOT 1
- How to integrate IRT-ESP to Home assistant HOT 3
- Succesful installation, but webgui is displayed but does not respond HOT 7
- IRT-ESP on Domoticz
- Modification for v3.0 interface board HOT 20
- Additional information for the wiki HOT 3
- New Version 2.3.0 with iRT read capabilities HOT 3
- Modification for S32 V2.0 Board HOT 3
- OTA does not work from 1.9.5ib43 to 1.9.5ib44 HOT 2
- Set wwactive doesn't work HOT 3
- iRT-ESP without Moduline 30? HOT 13
- No valid data? HOT 17
- How to compile the firmware in Gitpod? HOT 17
- Building issue HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from irt-esp.