diff --git a/CHANGELOG.md b/CHANGELOG.md index 675e5a57b..ffbf046cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Solar Module SM200 support - `set master_thermostat ` to choose with thermostat is master when there are multiple on the bus - MM10 Mixer support (thanks @MichaelDvP) +- MM200 warm water circuits (https://github.com/proddy/EMS-ESP/pull/315) - First implementation of writing to Junker Thermostats (thanks @Neonox31) +- Added model type (Buderus, Sieger, Junkers, Nefit, Bosch, Worcester) to device names ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 diff --git a/src/ems.h b/src/ems.h index 56c829474..dccb4c0fc 100644 --- a/src/ems.h +++ b/src/ems.h @@ -34,7 +34,7 @@ // thermostat specific #define EMS_THERMOSTAT_MAXHC 4 // max number of heating circuits -#define EMS_THERMOSTAT_MAXWWC 2 // max number of warm water circuits +#define EMS_THERMOSTAT_MAXWWC 2 // max number of warm water circuits #define EMS_THERMOSTAT_DEFAULTHC 1 // default heating circuit is 1 #define EMS_THERMOSTAT_WRITE_YES true #define EMS_THERMOSTAT_WRITE_NO false @@ -348,7 +348,7 @@ typedef struct { // Mixing Module per WWC typedef struct { - uint8_t wwc; // warm water circuit 1, 2 + uint8_t wwc; // warm water circuit 1, 2 bool active; // true if there is data for this WWC uint16_t flowTemp; uint8_t pumpMod; @@ -357,14 +357,14 @@ typedef struct { // Mixer data typedef struct { - uint8_t device_id; - uint8_t device_flags; - const char * device_desc_p; - uint8_t product_id; - char version[10]; - bool detected; - _EMS_Mixing_HC hc[EMS_THERMOSTAT_MAXHC]; // array for the 4 heating circuits - _EMS_Mixing_WWC wwc[EMS_THERMOSTAT_MAXWWC]; // array for the 2 ww circuits + uint8_t device_id; + uint8_t device_flags; + const char * device_desc_p; + uint8_t product_id; + char version[10]; + bool detected; + _EMS_Mixing_HC hc[EMS_THERMOSTAT_MAXHC]; // array for the 4 heating circuits + _EMS_Mixing_WWC wwc[EMS_THERMOSTAT_MAXWWC]; // array for the 2 ww circuits } _EMS_Mixing; // Solar Module - SM10/SM100/SM200/ISM1 diff --git a/src/ems_devices.h b/src/ems_devices.h index eb343fe2a..93b513f28 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -54,16 +54,20 @@ #define EMS_OFFSET_UBASetPoints_flowtemp 0 // flow temp -// SM and HP Types +// Solar Module // Assuming here that the SM200 behaves like SM100 #define EMS_TYPE_SM10Monitor 0x97 // SM10Monitor #define EMS_TYPE_SM100Monitor 0x0262 // SM100Monitor #define EMS_TYPE_SM100Status 0x0264 // SM100Status #define EMS_TYPE_SM100Status2 0x026A // SM100Status2 #define EMS_TYPE_SM100Energy 0x028E // SM100Energy -#define EMS_TYPE_HPMonitor1 0xE3 // HeatPump Monitor 1 -#define EMS_TYPE_HPMonitor2 0xE5 // HeatPump Monitor 2 +// Heat Pump +#define EMS_TYPE_HPMonitor1 0xE3 // HeatPump Monitor 1 +#define EMS_TYPE_HPMonitor2 0xE5 // HeatPump Monitor 2 + + +// ISPM solar module #define EMS_TYPE_ISM1StatusMessage 0x0003 // Solar Module Junkers ISM1 Status #define EMS_TYPE_ISM1Set 0x0001 // for setting values of the solar module like max boiler temp #define EMS_OFFSET_ISM1Set_MaxBoilerTemp 6 // position of max boiler temp e.g. 50 in the following example: 90 30 FF 06 00 01 50 (CRC=2C) @@ -171,16 +175,16 @@ #define EMS_OFFSET_JunkersSetMessage_no_frost_temp 0x0F // EMS offset to set temperature on thermostat for no frost mode #define EMS_OFFSET_JunkersSetMessage_set_mode 0x0E // EMS offset to set mode on thermostat -// MM100 (EMS Plus) -#define EMS_TYPE_MMPLUSStatusMessage_HC1 0x01D7 // mixer status HC1 -#define EMS_TYPE_MMPLUSStatusMessage_HC2 0x01D8 // mixer status HC2 -#define EMS_TYPE_MMPLUSStatusMessage_HC3 0x01D9 // mixer status HC3 -#define EMS_TYPE_MMPLUSStatusMessage_HC4 0x01DA // mixer status HC4 -#define EMS_TYPE_MMPLUSStatusMessage_WWC1 0x0231 // mixer status WWC1 -#define EMS_TYPE_MMPLUSStatusMessage_WWC2 0x0232 // mixer status WWC2 -#define EMS_OFFSET_MMPLUSStatusMessage_flow_temp 3 // flow temperature -#define EMS_OFFSET_MMPLUSStatusMessage_pump_mod 5 // pump modulation -#define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent +// MM100/MM200 (EMS Plus) +#define EMS_TYPE_MMPLUSStatusMessage_HC1 0x01D7 // mixer status HC1 +#define EMS_TYPE_MMPLUSStatusMessage_HC2 0x01D8 // mixer status HC2 +#define EMS_TYPE_MMPLUSStatusMessage_HC3 0x01D9 // mixer status HC3 +#define EMS_TYPE_MMPLUSStatusMessage_HC4 0x01DA // mixer status HC4 +#define EMS_TYPE_MMPLUSStatusMessage_WWC1 0x0231 // mixer status WWC1 +#define EMS_TYPE_MMPLUSStatusMessage_WWC2 0x0232 // mixer status WWC2 +#define EMS_OFFSET_MMPLUSStatusMessage_flow_temp 3 // flow temperature +#define EMS_OFFSET_MMPLUSStatusMessage_pump_mod 5 // pump modulation +#define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent #define EMS_OFFSET_MMPLUSStatusMessage_WW_flow_temp 0 // flow temperature #define EMS_OFFSET_MMPLUSStatusMessage_WW_pump_mod 2 // pump on 6, off 0 #define EMS_OFFSET_MMPLUSStatusMessage_WW_temp_status 11 // 0,1,2 diff --git a/src/version.h b/src/version.h index e3be0139b..d11718d8e 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b20" +#define APP_VERSION "1.9.5b21"