-
-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
improve EMS brand detection #2073
Comments
Good idea, i think the 2nd and 3rd identifier WILL gives some more info, also for the thermostats with same 1st ID. I'll start with my system:
|
Mine:
Notes
|
Mine (I am including more data FYI, since the device 0x08 and 0x09 return same string)...
These are Australian market.
I can send PDFs with installation manuals if they would be of any help. |
thermostat Bosch CW100 boiler Bosch Condens 2300i W (GC2300i W 24 P 23) |
Boiler: Buderus Logamax GB172i.2-15KW
|
|
|
boiler(0x08) -W-> me(0x0B), Version(0x02), data: 5F 17 00 00 00 00 00 00 00 00 thermostat(0x10) -W-> me(0x0B), Version(0x02), data: 69 0D 05 00 00 00 00 00 00 02 controller(0x09) -W-> me(0x0B), Version(0x02), data: 5F 17 00 00 00 00 00 00 00 00 |
Here the data for Buderus Logatherm WLW186i (heatpump) , MM100 (mixer) and MX300 (Wifi-Module).
Output from read device:
|
Analyzing the data (thanks everyone!), maybe there's is something in offset 1+2 which we use for the version. @VlastiBroucek is there way you can see the version of the boiler and/or controller on the unit yourself? Does it also show 12.16? @suaveolent could you also report back the version showed on you EMS devices, to see if they are the same what EMS-ESP thinks they are. |
In principle, they look good, with some slight deviations and different naming: Boiler:
Mixer
Gateway:
Edit: I guess |
Thanks @suaveolent . Seeing that the version telegram from your Boiler gives |
|
@proddy the 47.10 comes from the BC400 (identified as thermostat) and is already correctly identified. Let me know if I can help any further. |
Yes, it shows software version (service function code 8.A) as "CF1216" |
For me, the requested data are as follows:
The actual products are Versions match (except for MM100 thermostat, which reports NF24.05) |
For my installation the data is as follows: Heat pumpDetected by ESM-ESP: Data shown in the control unit HMC310
ThermostatDetected by ESM-ESP: Data shown in the control unit HMC310
GatewayDetected by ESM-ESP: Data shown in the control unit HMC310
Where to find the product name
|
thanks @Sbried - I never thought about telegram 0x01. It would make sense to store the device information there (as 2 is only the version). On my Nefit Trendline combi-boiler offset 27 of 0x01 is the letters CBS (Combi-Boiler System?) (using this link) Could we ask everyone to do a @MichaelDvP we could ask Norbert what he knows about telegram 1 - it's not in his list either. |
I know when connecting a device the 0x01 is requested/sent, in normal operation is not repeated any more.
|
here for my devices:
|
In my case, the responses are
|
The offset 27 is definitely a name of sorts, but not the brand so probably not useful to us. Your mixer says MM100, the Thermostat says HMI800.2, Gateway MX300 and the Boiler XCU_THH ! |
Boiler: Buderus Logamax GB172i.2-15KW `read 0x08 1 read 0x10 1 read 0x38 1 |
We can set this as custom name if not set by user. Maybe more specific that the name list in database. |
Can it be that there is no info about the brand at all? Checking system info in my system using CW400, I see controller as HT3, thermostat as CW400 and mixer as MM100. No brand mentioned. And the component names match the offset 27 (except for controller that does not publish offset 27 in my case). In the worst case, brand can be identified by creating a map of component names (e.g., CW400 is Bosch) |
|
Next "research" result: data type 0x02 offset 9: is 0=undefined, 1=Bosch, 2= Junkers, 3=Buderus, 4=Nefit? |
This is what EMS-ESP does now, reads the 9th data byte from 0x02 (Version). It should be shown in EMS-ESP when you click on the info button. Problem with this is that it isn't always accurate and missing on some devices. |
ok, I see |
Boiler is branded Bosch, controller is inside of the boiler and Room Thermostat is branded Bosch 30kw__37kw_user_manual.pdf |
The name we capture, I called it model and added to 3.7.1. It will be prefixed to the Device Name if no custom one is set. |
"Just my 2 cents" - hope it helps ... ems-esp:$ show devices Boiler: Bosch MX25/GC7000F (DeviceID:0x08, ProductID:132, Version:02.12) (87) Thermostat: CW400/RC3*0, Moduline 3000/1010H, CW400, Sense II, HPC410 (DeviceID:0x10, ProductID:158, Version:74.05) (55) Mixer Module: MM100/MM100 (DeviceID:0x20, ProductID:160, Version:24.05) (7) Heat Pump: MH200-1/Hybrid Manager HM200 (DeviceID:0x53, ProductID:248, Version:06.03) (36) Gateway Module: Bosch K30RF/WiFi module (DeviceID:0x48, ProductID:252, Version:08.02) (0) ems-esp:$ read 0x08 2 9 1 ems-esp:$ read 0x10 2 9 1 ems-esp:$ read 0x20 2 9 1 ems-esp:$ read 0x53 2 9 1 ems-esp:$ read 0x48 2 9 1 Regelgerät MX25: Bosch Gas-Brennwertkessel Condens 7000 F Bosch Bedieneinheit CR 400/CW 400/CW 800 Bosch Luft-Wasser-Wärmepumpe Compress 7400i AW MH 200 |
EMS-ESP tries to determine the manufacturer/brand (Buderus, Sieger, Junkers, Bosch, Nefit etc..) from each connected EMS device by reading the last byte from the Version 0x02 telegram (in
emsesp.cpp::process_version()
).But it does a poor job and only detects a few brands correctly. Let's improve this, ask the community for make/model and the results of a
read <deviceID> 2
to correctly build the mapping.The text was updated successfully, but these errors were encountered: