-
-
Notifications
You must be signed in to change notification settings - Fork 97
(v2) support grouping of device types (thermostats, mixing units etc) for MQTT #440
Comments
Yes, this confusion is made by Bosch, it's odd that the thermostat has a single device-id and different type-ids for each hc, but the mixer-devices have a unique device-id for each heatingcircuit, but sending the same type-id (only EMS1.0, EMS+ uses different type-ids). If you want to add a nested mixer publish without braking the model, you can add a dummy-device which collects the mixer-data and publishes all, whereas the mixers do not publish. |
@MichaelDvP also that mixer-devices (MMx00 or IPM1/2 for Junkers) and that solar-devices (MSx00 or ISM1/2) can send different type-id's (I named it: MessageID). This depend on there configuration and the use in the heater-system itself. In that attached system-example there are 3 MMx00 moduls visible, that MM100 used only for the WW-storage cells and the other 2 MM200 for one unmixed and 3 mixed heater-circuits. So that handling is already done for that MQTT-messages and heating-cicruits like {hcx{....}}. Messages send by the IPM/MM-Modul using DHW type-id's (messageID: 52_0) Messages send by the IPM/MM-Modul using heatingcircuit type'id's (messageID's:268_0, 26_2 ) |
thanks @norberts1 for explaining that. I need to re-think the design, especially for Mixers. |
@MichaelDvP is this something we should spend time looking into? I don't have mixing units so can't comment on whether grouping adds any value. |
No, i dont think it would add any value. The structure now is clear one topic per device. |
ok! |
re-opening. For Mixing units it would make sense to group all the data into a single MQTT topic, which means handling this outside the device classes (like mixing.cpp). |
I think we can close this, mixers grouping work fine and thermostat grouping type-ids 0x18-0x1B should work, only the real-world-test is missing. |
yes, I'll reach out to the regulars to test. Then we can finally close and release 2.1 and take a break. |
When I was testing v2 Michael pointed out that the Mixing units each have a unique device_id corresponding to a specific heating circuit or warm-water circuit (e.g. 0x20 is HC1, 0x21 HC2 etc). I had implemented it incorrectly in 1.9 as I thought a Mixing unit behaved like a Thermostat unit and could represent all available heating circuits. This is why when you have multiple mixing units, each is an instantiation of the C++ Mixing class object and handles its own MQTT publishing.
At some point I should refactor the code to support group all device types and send as one MQTT payload, but this will be quite a change and break the underlying inheritance model. Because of this limitation, this is also why we only allow 1 thermostat to be published (which is called the Master Thermostat). So if you had two RC300 thermostats in your EMS network you'll only be able to see the MQTT data for one. I'll create a new feature issue to address this.
So for the time being stick with
ems-esp/mixing_data1
andems-esp/mixing_data2
!Originally posted by @proddy in #439 (comment)
The text was updated successfully, but these errors were encountered: