diff --git a/README.md b/README.md
index 4f3893c9c..063a55364 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@ Note, EMS-ESP requires a small hardware circuit that can convert the EMS bus dat
- Native support for Home Assistant and Domoticz via [MQTT Discovery](https://www.home-assistant.io/docs/mqtt/discovery/)
- Can run standalone as an independent WiFi Access Point or join an existing WiFi network
- Easy first-time configuration via a web Captive Portal
-- Support for more than [80 EMS devices](https://emsesp.github.io/docs/#/Supported-EMS-Devices) (boilers, thermostats, solar modules, mixer modules, heat pumps, gateways)
+- Support for more than [100 EMS devices](https://emsesp.github.io/docs/#/Supported-EMS-Devices) (boilers, thermostats, solar modules, mixer modules, heat pumps, gateways)
## **Demo**
diff --git a/interface/src/project/SettingsCustomization.tsx b/interface/src/project/SettingsCustomization.tsx
index 05dca4571..a5cac3aae 100644
--- a/interface/src/project/SettingsCustomization.tsx
+++ b/interface/src/project/SettingsCustomization.tsx
@@ -376,22 +376,22 @@ const SettingsCustomization: FC = () => {
}}
>
-
+
-
+
-
+
-
+
@@ -403,26 +403,30 @@ const SettingsCustomization: FC = () => {
:
-
+
+
+
-
+
+
+
diff --git a/media/web_devices.png b/media/web_devices.png
index 8d4f8794a..75055909f 100644
Binary files a/media/web_devices.png and b/media/web_devices.png differ
diff --git a/media/web_edit.png b/media/web_edit.png
index 93e0170f7..91c7c4f00 100644
Binary files a/media/web_edit.png and b/media/web_edit.png differ
diff --git a/media/web_sensor.png b/media/web_sensor.png
new file mode 100644
index 000000000..9419070e3
Binary files /dev/null and b/media/web_sensor.png differ
diff --git a/media/web_settings.png b/media/web_settings.png
index 6fd91c775..23b076143 100644
Binary files a/media/web_settings.png and b/media/web_settings.png differ
diff --git a/media/web_status.png b/media/web_status.png
index 0c37b9639..55c6e923e 100644
Binary files a/media/web_status.png and b/media/web_status.png differ
diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp
index 41ee5e05d..6591dbde9 100644
--- a/src/devices/boiler.cpp
+++ b/src/devices/boiler.cpp
@@ -807,8 +807,6 @@ void Boiler::process_UBAParameterWWPlus(std::shared_ptr telegram
wwComfort1 = EMS_VALUE_UINT_NOTSET;
}
has_update(wwComfort1_, wwComfort1);
-
-
}
// 0xE9 - WW monitor ems+
diff --git a/src/devices/boiler.h b/src/devices/boiler.h
index adcca7f97..e02465905 100644
--- a/src/devices/boiler.h
+++ b/src/devices/boiler.h
@@ -51,39 +51,39 @@ class Boiler : public EMSdevice {
static constexpr uint16_t EMS_TYPE_UBAEnergySupplied = 0x494;
// ww
- uint8_t wwSetTemp_; // DHW set temperature
- uint8_t wwSelTemp_; // DHW selected temperature
- uint8_t wwSelTempLow_; // DHW lower selected temperature
- uint8_t wwSelTempOff_; // DHW selected temperature for off position
- uint8_t wwSelTempSingle_; // DHW single charge temperature
- uint8_t wwType_; // 0-off, 1-flow, 2-flowbuffer, 3-buffer, 4-layered buffer
- uint8_t wwComfort_; // WW comfort mode
- uint8_t wwComfort1_; // WW comfort mode RC310
- uint8_t wwCircPump_; // DHW circulation pump available
- uint8_t wwChargeType_; // DHW charge type (pump or 3-way-valve)
- uint8_t wwChargeOptimization_; // DHW charge optimization
- uint8_t wwDisinfectionTemp_; // DHW disinfection temperature to prevent infection
- uint8_t wwCircMode_; // DHW circulation pump mode
- uint8_t wwCirc_; // Circulation on/off
- uint16_t wwCurTemp_; // DHW current temperature
- uint16_t wwCurTemp2_; // DHW current temperature storage
- uint8_t wwCurFlow_; // DHW current flow temp in l/min
- uint16_t wwStorageTemp1_; // DHW storage temp 1
- uint16_t wwStorageTemp2_; // DHW storage temp 2
- uint8_t wwActivated_; // DHW activated
- uint8_t wwOneTime_; // DHW one time function on/off
- uint8_t wwDisinfect_; // DHW disinfection on/off
- uint8_t wwCharging_; // DHW charging on/off
- uint8_t wwRecharging_; // DHW recharge on/off
- uint8_t wwTempOK_; // DHW temperature ok on/off
- uint8_t wwActive_; //
- uint8_t ww3wayValve_; // 3-way valve on WW
- uint8_t wwSetPumpPower_; // ww pump speed/power?
- uint8_t wwFlowTempOffset_; // Boiler offset for ww heating
- uint8_t wwMaxPower_; // DHW maximum power
- uint32_t wwStarts_; // DHW starts
- uint32_t wwStarts2_; // DHW control starts
- uint32_t wwWorkM_; // DHW minutes
+ uint8_t wwSetTemp_; // DHW set temperature
+ uint8_t wwSelTemp_; // DHW selected temperature
+ uint8_t wwSelTempLow_; // DHW lower selected temperature
+ uint8_t wwSelTempOff_; // DHW selected temperature for off position
+ uint8_t wwSelTempSingle_; // DHW single charge temperature
+ uint8_t wwType_; // 0-off, 1-flow, 2-flowbuffer, 3-buffer, 4-layered buffer
+ uint8_t wwComfort_; // WW comfort mode
+ uint8_t wwComfort1_; // WW comfort mode RC310
+ uint8_t wwCircPump_; // DHW circulation pump available
+ uint8_t wwChargeType_; // DHW charge type (pump or 3-way-valve)
+ uint8_t wwChargeOptimization_; // DHW charge optimization
+ uint8_t wwDisinfectionTemp_; // DHW disinfection temperature to prevent infection
+ uint8_t wwCircMode_; // DHW circulation pump mode
+ uint8_t wwCirc_; // Circulation on/off
+ uint16_t wwCurTemp_; // DHW current temperature
+ uint16_t wwCurTemp2_; // DHW current temperature storage
+ uint8_t wwCurFlow_; // DHW current flow temp in l/min
+ uint16_t wwStorageTemp1_; // DHW storage temp 1
+ uint16_t wwStorageTemp2_; // DHW storage temp 2
+ uint8_t wwActivated_; // DHW activated
+ uint8_t wwOneTime_; // DHW one time function on/off
+ uint8_t wwDisinfect_; // DHW disinfection on/off
+ uint8_t wwCharging_; // DHW charging on/off
+ uint8_t wwRecharging_; // DHW recharge on/off
+ uint8_t wwTempOK_; // DHW temperature ok on/off
+ uint8_t wwActive_; //
+ uint8_t ww3wayValve_; // 3-way valve on WW
+ uint8_t wwSetPumpPower_; // ww pump speed/power?
+ uint8_t wwFlowTempOffset_; // Boiler offset for ww heating
+ uint8_t wwMaxPower_; // DHW maximum power
+ uint32_t wwStarts_; // DHW starts
+ uint32_t wwStarts2_; // DHW control starts
+ uint32_t wwWorkM_; // DHW minutes
int8_t wwHystOn_;
int8_t wwHystOff_;
uint8_t wwTapActivated_; // maintenance-mode to switch DHW off
diff --git a/src/devices/thermostat.cpp b/src/devices/thermostat.cpp
index 4d502f6ac..7be718f9b 100644
--- a/src/devices/thermostat.cpp
+++ b/src/devices/thermostat.cpp
@@ -3835,8 +3835,13 @@ void Thermostat::register_device_values_hc(std::shared_ptrheatingtype, DeviceValueType::ENUM, FL_(enum_heatingtype), FL_(heatingtype), DeviceValueUOM::NONE, MAKE_CF_CB(set_heatingtype));
register_device_value(
tag, &hc->summersetmode, DeviceValueType::ENUM, FL_(enum_summermode), FL_(summersetmode), DeviceValueUOM::NONE, MAKE_CF_CB(set_summermode));
- register_device_value(
- tag, &hc->hpoperatingmode, DeviceValueType::ENUM, FL_(enum_hpoperatingmode), FL_(hpoperatingmode), DeviceValueUOM::NONE, MAKE_CF_CB(set_summermode));
+ register_device_value(tag,
+ &hc->hpoperatingmode,
+ DeviceValueType::ENUM,
+ FL_(enum_hpoperatingmode),
+ FL_(hpoperatingmode),
+ DeviceValueUOM::NONE,
+ MAKE_CF_CB(set_summermode));
register_device_value(tag, &hc->summermode, DeviceValueType::ENUM, FL_(enum_summer), FL_(summermode), DeviceValueUOM::NONE);
register_device_value(
tag, &hc->controlmode, DeviceValueType::ENUM, FL_(enum_controlmode), FL_(controlmode), DeviceValueUOM::NONE, MAKE_CF_CB(set_controlmode));