diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 44ffee0de..b0f830572 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -592,7 +592,7 @@ void publishValues(bool force) { if (EMS_Boiler.wWActivated != EMS_VALUE_INT_NOTSET) rootBoiler["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); - + if (EMS_Boiler.wWActivated != EMS_VALUE_INT_NOTSET) rootBoiler["wWOnetime"] = _bool_to_char(s, EMS_Boiler.wWOneTime); diff --git a/src/ems.cpp b/src/ems.cpp index 8dc5771c3..93c7d1e7d 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -187,8 +187,8 @@ const _EMS_Type EMS_Types[] = { {EMS_MODEL_ALL, EMS_TYPE_JunkersStatusMessage, "JunkersStatusMessage", _process_JunkersStatusMessage}, // Mixing devices - {EMS_MODEL_MM100, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, - {EMS_MODEL_MM100, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage}, + {EMS_MODEL_MM, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, + {EMS_MODEL_MM, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage}, }; @@ -2521,8 +2521,10 @@ void ems_scanDevices() { std::list Device_Ids; // create a new list - // add boiler device_id which is always 0x08 - Device_Ids.push_back(EMS_ID_BOILER); + + Device_Ids.push_back(EMS_ID_BOILER); // add boiler device_id which is always 0x08 + Device_Ids.push_back(EMS_ID_HP); // add heat pump + Device_Ids.push_back(EMS_ID_SM); // add solar module // copy over thermostats for (_Thermostat_Device tt : Thermostat_Devices) { @@ -2534,9 +2536,6 @@ void ems_scanDevices() { Device_Ids.push_back(ot.device_id); } - Device_Ids.push_back(EMS_ID_HP); // add heat pump - Device_Ids.push_back(EMS_ID_SM); // add solar module - // remove duplicates and reserved IDs (like our own device) Device_Ids.sort(); Device_Ids.unique(); diff --git a/src/ems_devices.h b/src/ems_devices.h index 7c1fb5fa8..dec79a6d7 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -160,16 +160,12 @@ typedef enum { EMS_MODEL_NONE, // unset EMS_MODEL_ALL, // common for all devices - // heatpump - EMS_MODEL_HP, + EMS_MODEL_HP, // heatpump + EMS_MODEL_SM, // solar module + EMS_MODEL_MM, // mixer module + EMS_MODEL_UBA, // boiler - // solar module - EMS_MODEL_SM, - - // boiler - EMS_MODEL_UBA, - - // and the thermostats + // and the various thermostats EMS_MODEL_ES73, EMS_MODEL_RC10, EMS_MODEL_RC20, @@ -187,9 +183,8 @@ typedef enum { EMS_MODEL_FR100, EMS_MODEL_FR110, EMS_MODEL_FW120, - - // mixing devices - EMS_MODEL_MM100 + EMS_MODEL_FW200, + EMS_MODEL_FR120 } _EMS_MODEL_ID; @@ -235,7 +230,10 @@ const _Mixing_Device Mixing_Devices[] = { {160, "MM100 Mixing Module"}, {161, "MM200 Mixing Module"}, {69, "MM10 Mixer Module"}, - {159, "MM50 Mixing Module"} + {159, "MM50 Mixing Module"}, + {79, "MM100 Mixer Module"}, + {80, "MM200 Mixer Module"}, + {78, "MM400 Mixer Module"} }; @@ -251,7 +249,7 @@ const _Other_Device Other_Devices[] = { {125, 0x09, "BC25 Base Controller"}, {169, 0x09, "BC40 Base Controller"}, {152, 0x09, "Junkers Controller"}, - {95, 0x09, "Junkers Controller"}, + {95, 0x09, "Junkers HT3 Controller"}, {230, 0x09, "BC Base Controller"}, {205, 0x02, "Nefit Moduline Easy Connect"}, @@ -274,6 +272,7 @@ const _HeatPump_Device HeatPump_Devices[] = { /* * Known thermostat types and their capabilities * format is MODEL_ID, PRODUCT ID, DEVICE ID, DESCRIPTION + * Typically on DeviceID 0x10 or 0x18 */ const _Thermostat_Device Thermostat_Devices[] = { @@ -297,9 +296,11 @@ const _Thermostat_Device Thermostat_Devices[] = { // Junkers {EMS_MODEL_FW100, 105, 0x10, "Junkers FW100", EMS_THERMOSTAT_WRITE_NO}, - {EMS_MODEL_FR10, 111, 0x18, "Junkers FR10", EMS_THERMOSTAT_WRITE_NO}, - {EMS_MODEL_FR100, 105, 0x18, "Junkers FR100", EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_FW200, 106, 0x10, "Junkers FW200", EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_FR100, 107, 0x18, "Junkers FR100", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_FR110, 108, 0x18, "Junkers FR110", EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_FR10, 111, 0x18, "Junkers FR10", EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_FR120, 191, 0x10, "Junkers FR120", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_FW120, 192, 0x10, "Junkers FW120", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_FR50, 147, 0x10, "Junkers FR50", EMS_THERMOSTAT_WRITE_NO}