This commit is contained in:
MichaelDvP
2025-08-28 10:43:09 +02:00
14 changed files with 204 additions and 93 deletions

View File

@@ -13,8 +13,12 @@ For more details go to [docs.emsesp.org](https://docs.emsesp.org/).
- boiler 0xC6 telegram [#1963](https://github.com/emsesp/EMS-ESP32/issues/1963)
- CS6800i changes [#2448](https://github.com/emsesp/EMS-ESP32/issues/2448), [#2449](https://github.com/emsesp/EMS-ESP32/issues/2449)
- charging pump [#2544](https://github.com/emsesp/EMS-ESP32/issues/2544)
- Hybrid CSH5800iG [#2569](https://github.com/emsesp/EMS-ESP32/issues/2569)
- Add EMS Device details to Home Assistant MQTT Discovery
- hybrid CSH5800iG [#2569](https://github.com/emsesp/EMS-ESP32/issues/2569)
- add EMS Device details to Home Assistant MQTT Discovery
- disinfection command [#2601](https://github.com/emsesp/EMS-ESP32/issues/2601)
- added new board profile for upcoming BBQKees E32V2.2
- set differential pressure entity in Mixer device
- set set climate action cooling/heating in HA
- Internal sensors of E32V2_2
- FW200 display options
- CR11 mode settings OFF/MANUAL depends on selTemp
@@ -33,9 +37,11 @@ For more details go to [docs.emsesp.org](https://docs.emsesp.org/).
- shower active state retained, shows correctly in HA
- MQTT Command Topic with slashes [#2571](https://github.com/emsesp/EMS-ESP32/issues/2571)
- Add pulsed water meter input to V1.3 gateway with Lilygo S3 [#2550](https://github.com/emsesp/EMS-ESP32/issues/2550)
- Fix missing long 10-second press of Button to perform a factory reset
- fix missing long 10-second press of Button to perform a factory reset
- fix wwMaxPower on Junkers ZBS14 [#2609](https://github.com/emsesp/EMS-ESP32/issues/2609)
## Changed
- show console log with ISO date/time [#2533](https://github.com/emsesp/EMS-ESP32/discussions/2533)
- remove ESP32 CPU temperature
- updated core libraries like AsyncTCP, AsyncWebServer and Modbus

View File

@@ -0,0 +1,48 @@
{
"build": {
"core": "esp32",
"extra_flags": [
"-DARDUINO_XIAO_ESP32C6",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_USB_CDC_ON_BOOT=1"
],
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [
[
"0x2886",
"0x0046"
],
[
"0x303a",
"0x1001"
]
],
"mcu": "esp32c6",
"variant": "XIAO_ESP32C6"
},
"connectivity": [
"wifi",
"bluetooth",
"zigbee",
"thread"
],
"debug": {
"openocd_target": "esp32c6.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Seeed Studio XIAO ESP32C6",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"require_upload_port": true,
"speed": 460800
},
"url": "https://wiki.seeedstudio.com/XIAO_ESP32C6_Getting_Started/",
"vendor": "Seeed Studio"
}

View File

@@ -4083,8 +4083,10 @@
| hc1.flowsettemp | setpoint flow temperature | uint8 (>=0<=254) | C | true | HC | 2 | 1 | 1 |
| hc1.pumpstatus | pump status (PC1) | boolean | | true | HC | 3 | 1 | 1 |
| hc1.activated | activated | boolean | | true | HC | 4 | 1 | 1 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 5 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 7 | 1 | 1 |
| hc1.flow | Durchfluss | uint16 (>=0<=31999) | l/h | false | HC | 5 | 1 | 1 |
| hc1.setdiffpress | set differential pressure | uint8 (>=0<=12700) | mbar | true | HC | 6 | 1 | 50 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 7 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 8 | 1 | 1 |
### IPM
| shortname | fullname | type | uom | writeable | tag type | register offset | register count | scale factor |
@@ -4093,7 +4095,7 @@
| hc1.valvestatus | mixing valve actuator (VC1) | uint8 (>=0<=100) | % | false | HC | 1 | 1 | 1 |
| hc1.flowsettemp | setpoint flow temperature | uint8 (>=0<=254) | C | true | HC | 2 | 1 | 1 |
| hc1.pumpstatus | pump status (PC1) | boolean | | true | HC | 3 | 1 | 1 |
| hc1.flowtempvf | flow temperature in header (T0/Vf) | uint16 (>=0<=3199) | C | false | HC | 6 | 1 | 1/10 |
| hc1.flowtempvf | flow temperature in header (T0/Vf) | uint16 (>=0<=3199) | C | false | HC | 9 | 1 | 1/10 |
### IPM2
| shortname | fullname | type | uom | writeable | tag type | register offset | register count | scale factor |
@@ -4102,7 +4104,7 @@
| hc1.valvestatus | mixing valve actuator (VC1) | uint8 (>=0<=100) | % | false | HC | 1 | 1 | 1 |
| hc1.flowsettemp | setpoint flow temperature | uint8 (>=0<=254) | C | true | HC | 2 | 1 | 1 |
| hc1.pumpstatus | pump status (PC1) | boolean | | true | HC | 3 | 1 | 1 |
| hc1.flowtempvf | flow temperature in header (T0/Vf) | uint16 (>=0<=3199) | C | false | HC | 6 | 1 | 1/10 |
| hc1.flowtempvf | flow temperature in header (T0/Vf) | uint16 (>=0<=3199) | C | false | HC | 9 | 1 | 1/10 |
### MM10
| shortname | fullname | type | uom | writeable | tag type | register offset | register count | scale factor |
@@ -4112,7 +4114,7 @@
| hc1.flowsettemp | setpoint flow temperature | uint8 (>=0<=254) | C | true | HC | 2 | 1 | 1 |
| hc1.pumpstatus | pump status (PC1) | boolean | | true | HC | 3 | 1 | 1 |
| hc1.activated | activated | boolean | | true | HC | 4 | 1 | 1 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 5 | 1 | 10 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 7 | 1 | 10 |
### MM100
| shortname | fullname | type | uom | writeable | tag type | register offset | register count | scale factor |
@@ -4122,8 +4124,10 @@
| hc1.flowsettemp | setpoint flow temperature | uint8 (>=0<=254) | C | true | HC | 2 | 1 | 1 |
| hc1.pumpstatus | pump status (PC1) | boolean | | true | HC | 3 | 1 | 1 |
| hc1.activated | activated | boolean | | true | HC | 4 | 1 | 1 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 5 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 7 | 1 | 1 |
| hc1.flow | Durchfluss | uint16 (>=0<=31999) | l/h | false | HC | 5 | 1 | 1 |
| hc1.setdiffpress | set differential pressure | uint8 (>=0<=12700) | mbar | true | HC | 6 | 1 | 50 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 7 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 8 | 1 | 1 |
### MM200
| shortname | fullname | type | uom | writeable | tag type | register offset | register count | scale factor |
@@ -4133,8 +4137,10 @@
| hc1.flowsettemp | setpoint flow temperature | uint8 (>=0<=254) | C | true | HC | 2 | 1 | 1 |
| hc1.pumpstatus | pump status (PC1) | boolean | | true | HC | 3 | 1 | 1 |
| hc1.activated | activated | boolean | | true | HC | 4 | 1 | 1 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 5 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 7 | 1 | 1 |
| hc1.flow | Durchfluss | uint16 (>=0<=31999) | l/h | false | HC | 5 | 1 | 1 |
| hc1.setdiffpress | set differential pressure | uint8 (>=0<=12700) | mbar | true | HC | 6 | 1 | 50 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 7 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 8 | 1 | 1 |
### MM50
| shortname | fullname | type | uom | writeable | tag type | register offset | register count | scale factor |
@@ -4144,8 +4150,10 @@
| hc1.flowsettemp | setpoint flow temperature | uint8 (>=0<=254) | C | true | HC | 2 | 1 | 1 |
| hc1.pumpstatus | pump status (PC1) | boolean | | true | HC | 3 | 1 | 1 |
| hc1.activated | activated | boolean | | true | HC | 4 | 1 | 1 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 5 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 7 | 1 | 1 |
| hc1.flow | Durchfluss | uint16 (>=0<=31999) | l/h | false | HC | 5 | 1 | 1 |
| hc1.setdiffpress | set differential pressure | uint8 (>=0<=12700) | mbar | true | HC | 6 | 1 | 50 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 7 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 8 | 1 | 1 |
### MZ100
| shortname | fullname | type | uom | writeable | tag type | register offset | register count | scale factor |
@@ -4155,8 +4163,23 @@
| hc1.flowsettemp | setpoint flow temperature | uint8 (>=0<=254) | C | true | HC | 2 | 1 | 1 |
| hc1.pumpstatus | pump status (PC1) | boolean | | true | HC | 3 | 1 | 1 |
| hc1.activated | activated | boolean | | true | HC | 4 | 1 | 1 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 5 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 7 | 1 | 1 |
| hc1.flow | Durchfluss | uint16 (>=0<=31999) | l/h | false | HC | 5 | 1 | 1 |
| hc1.setdiffpress | set differential pressure | uint8 (>=0<=12700) | mbar | true | HC | 6 | 1 | 50 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 7 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 8 | 1 | 1 |
### XCUMixer
| shortname | fullname | type | uom | writeable | tag type | register offset | register count | scale factor |
|-|-|-|-|-|-|-|-|-|
| hc1.flowtemphc | flow temperature (TC1) | uint16 (>=0<=3199) | C | false | HC | 0 | 1 | 1/10 |
| hc1.valvestatus | mixing valve actuator (VC1) | uint8 (>=0<=100) | % | false | HC | 1 | 1 | 1 |
| hc1.flowsettemp | setpoint flow temperature | uint8 (>=0<=254) | C | true | HC | 2 | 1 | 1 |
| hc1.pumpstatus | pump status (PC1) | boolean | | true | HC | 3 | 1 | 1 |
| hc1.activated | activated | boolean | | true | HC | 4 | 1 | 1 |
| hc1.flow | Durchfluss | uint16 (>=0<=31999) | l/h | false | HC | 5 | 1 | 1 |
| hc1.setdiffpress | set differential pressure | uint8 (>=0<=12700) | mbar | true | HC | 6 | 1 | 50 |
| hc1.valvesettime | time to set valve | uint8 (>=10<=600) | seconds | true | HC | 7 | 1 | 10 |
| hc1.flowtempoffset | flow temperature offset for mixer | uint8 (>=0<=20) | K | true | HC | 8 | 1 | 1 |
## Devices of type *pool*
### MP100
@@ -5928,7 +5951,7 @@
| dhw.dailyheattime | daily heating time | uint8 (>=0<=1431) | minutes | true | DHW | 11 | 1 | 15 |
## Devices of type *ventilation*
### Logavent HRV176
### HRV176, HRV156, 5000c, MV200
| shortname | fullname | type | uom | writeable | tag type | register offset | register count | scale factor |
|-|-|-|-|-|-|-|-|-|
| outfresh | outdoor fresh air | int16 (>=-3199<=3199) | C | false | DEVICE_DATA | 0 | 1 | 1/10 |

View File

@@ -5064,57 +5064,76 @@ device name,device type,product id,shortname,fullname,type [options...] \| (min/
"TR120RF, CR20RF",thermostat,249,hc1.seltemp,selected room temperature,int16 (>=0<=30),C,true,number.thermostat_hc1_selected_room_temperature,number.thermostat_hc1_seltemp,6,1,1/2,0,1
"TR120RF, CR20RF",thermostat,249,hc1.currtemp,current room temperature,int16 (>=-3199<=3199),C,false,sensor.thermostat_hc1_current_room_temperature,sensor.thermostat_hc1_currtemp,6,1,1/10,1,1
"TR120RF, CR20RF",thermostat,249,hc1.haclimate,mqtt discovery current room temperature,enum [selTemp\|roomTemp] (>=5<=30), ,false,sensor.thermostat_hc1_mqtt_discovery_current_room_temperature,sensor.thermostat_hc1_haclimate,6,1,1,2,1
"XCUMixer",mixer,8,hc1.flowtemphc,flow temperature (TC1),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_(TC1),sensor.mixer_hc1_flowtemphc,7,1,1/10,0,1
"XCUMixer",mixer,8,hc1.valvestatus,mixing valve actuator (VC1),uint8 (>=0<=100),%,false,sensor.mixer_hc1_mixing_valve_actuator_(VC1),sensor.mixer_hc1_valvestatus,7,1,1,1,1
"XCUMixer",mixer,8,hc1.flowsettemp,setpoint flow temperature,uint8 (>=0<=254),C,true,number.mixer_hc1_setpoint_flow_temperature,number.mixer_hc1_flowsettemp,7,1,1,2,1
"XCUMixer",mixer,8,hc1.pumpstatus,pump status (PC1),boolean, ,true,switch.mixer_hc1_pump_status_(PC1),switch.mixer_hc1_pumpstatus,7,1,1,3,1
"XCUMixer",mixer,8,hc1.activated,activated,boolean, ,true,switch.mixer_hc1_activated,switch.mixer_hc1_activated,7,1,1,4,1
"XCUMixer",mixer,8,hc1.flow,Durchfluss,uint16 (>=0<=31999),l/h,false,sensor.mixer_hc1_Durchfluss,sensor.mixer_hc1_flow,7,1,1,5,1
"XCUMixer",mixer,8,hc1.setdiffpress,set differential pressure,uint8 (>=0<=12700),mbar,true,number.mixer_hc1_set_differential_pressure,number.mixer_hc1_setdiffpress,7,1,50,6,1
"XCUMixer",mixer,8,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,7,1
"XCUMixer",mixer,8,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,8,1
"MM10",mixer,69,hc1.flowtemphc,flow temperature (TC1),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_(TC1),sensor.mixer_hc1_flowtemphc,7,1,1/10,0,1
"MM10",mixer,69,hc1.valvestatus,mixing valve actuator (VC1),int8 (>=-100<=100),%,false,sensor.mixer_hc1_mixing_valve_actuator_(VC1),sensor.mixer_hc1_valvestatus,7,1,1,1,1
"MM10",mixer,69,hc1.flowsettemp,setpoint flow temperature,uint8 (>=0<=254),C,true,number.mixer_hc1_setpoint_flow_temperature,number.mixer_hc1_flowsettemp,7,1,1,2,1
"MM10",mixer,69,hc1.pumpstatus,pump status (PC1),boolean, ,true,switch.mixer_hc1_pump_status_(PC1),switch.mixer_hc1_pumpstatus,7,1,1,3,1
"MM10",mixer,69,hc1.activated,activated,boolean, ,true,switch.mixer_hc1_activated,switch.mixer_hc1_activated,7,1,1,4,1
"MM10",mixer,69,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,5,1
"MM10",mixer,69,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,7,1
"IPM",mixer,100,hc1.flowtemphc,flow temperature (TC1),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_(TC1),sensor.mixer_hc1_flowtemphc,7,1,1/10,0,1
"IPM",mixer,100,hc1.valvestatus,mixing valve actuator (VC1),uint8 (>=0<=100),%,false,sensor.mixer_hc1_mixing_valve_actuator_(VC1),sensor.mixer_hc1_valvestatus,7,1,1,1,1
"IPM",mixer,100,hc1.flowsettemp,setpoint flow temperature,uint8 (>=0<=254),C,true,number.mixer_hc1_setpoint_flow_temperature,number.mixer_hc1_flowsettemp,7,1,1,2,1
"IPM",mixer,100,hc1.pumpstatus,pump status (PC1),boolean, ,true,switch.mixer_hc1_pump_status_(PC1),switch.mixer_hc1_pumpstatus,7,1,1,3,1
"IPM",mixer,100,hc1.flowtempvf,flow temperature in header (T0/Vf),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_in_header_(T0/Vf),sensor.mixer_hc1_flowtempvf,7,1,1/10,6,1
"IPM",mixer,100,hc1.flowtempvf,flow temperature in header (T0/Vf),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_in_header_(T0/Vf),sensor.mixer_hc1_flowtempvf,7,1,1/10,9,1
"IPM2",mixer,102,hc1.flowtemphc,flow temperature (TC1),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_(TC1),sensor.mixer_hc1_flowtemphc,7,1,1/10,0,1
"IPM2",mixer,102,hc1.valvestatus,mixing valve actuator (VC1),uint8 (>=0<=100),%,false,sensor.mixer_hc1_mixing_valve_actuator_(VC1),sensor.mixer_hc1_valvestatus,7,1,1,1,1
"IPM2",mixer,102,hc1.flowsettemp,setpoint flow temperature,uint8 (>=0<=254),C,true,number.mixer_hc1_setpoint_flow_temperature,number.mixer_hc1_flowsettemp,7,1,1,2,1
"IPM2",mixer,102,hc1.pumpstatus,pump status (PC1),boolean, ,true,switch.mixer_hc1_pump_status_(PC1),switch.mixer_hc1_pumpstatus,7,1,1,3,1
"IPM2",mixer,102,hc1.flowtempvf,flow temperature in header (T0/Vf),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_in_header_(T0/Vf),sensor.mixer_hc1_flowtempvf,7,1,1/10,6,1
"IPM2",mixer,102,hc1.flowtempvf,flow temperature in header (T0/Vf),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_in_header_(T0/Vf),sensor.mixer_hc1_flowtempvf,7,1,1/10,9,1
"MM50",mixer,159,hc1.flowtemphc,flow temperature (TC1),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_(TC1),sensor.mixer_hc1_flowtemphc,7,1,1/10,0,1
"MM50",mixer,159,hc1.valvestatus,mixing valve actuator (VC1),uint8 (>=0<=100),%,false,sensor.mixer_hc1_mixing_valve_actuator_(VC1),sensor.mixer_hc1_valvestatus,7,1,1,1,1
"MM50",mixer,159,hc1.flowsettemp,setpoint flow temperature,uint8 (>=0<=254),C,true,number.mixer_hc1_setpoint_flow_temperature,number.mixer_hc1_flowsettemp,7,1,1,2,1
"MM50",mixer,159,hc1.pumpstatus,pump status (PC1),boolean, ,true,switch.mixer_hc1_pump_status_(PC1),switch.mixer_hc1_pumpstatus,7,1,1,3,1
"MM50",mixer,159,hc1.activated,activated,boolean, ,true,switch.mixer_hc1_activated,switch.mixer_hc1_activated,7,1,1,4,1
"MM50",mixer,159,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,5,1
"MM50",mixer,159,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,7,1
"MM50",mixer,159,hc1.flow,Durchfluss,uint16 (>=0<=31999),l/h,false,sensor.mixer_hc1_Durchfluss,sensor.mixer_hc1_flow,7,1,1,5,1
"MM50",mixer,159,hc1.setdiffpress,set differential pressure,uint8 (>=0<=12700),mbar,true,number.mixer_hc1_set_differential_pressure,number.mixer_hc1_setdiffpress,7,1,50,6,1
"MM50",mixer,159,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,7,1
"MM50",mixer,159,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,8,1
"MM100",mixer,160,hc1.flowtemphc,flow temperature (TC1),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_(TC1),sensor.mixer_hc1_flowtemphc,7,1,1/10,0,1
"MM100",mixer,160,hc1.valvestatus,mixing valve actuator (VC1),uint8 (>=0<=100),%,false,sensor.mixer_hc1_mixing_valve_actuator_(VC1),sensor.mixer_hc1_valvestatus,7,1,1,1,1
"MM100",mixer,160,hc1.flowsettemp,setpoint flow temperature,uint8 (>=0<=254),C,true,number.mixer_hc1_setpoint_flow_temperature,number.mixer_hc1_flowsettemp,7,1,1,2,1
"MM100",mixer,160,hc1.pumpstatus,pump status (PC1),boolean, ,true,switch.mixer_hc1_pump_status_(PC1),switch.mixer_hc1_pumpstatus,7,1,1,3,1
"MM100",mixer,160,hc1.activated,activated,boolean, ,true,switch.mixer_hc1_activated,switch.mixer_hc1_activated,7,1,1,4,1
"MM100",mixer,160,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,5,1
"MM100",mixer,160,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,7,1
"MM100",mixer,160,hc1.flow,Durchfluss,uint16 (>=0<=31999),l/h,false,sensor.mixer_hc1_Durchfluss,sensor.mixer_hc1_flow,7,1,1,5,1
"MM100",mixer,160,hc1.setdiffpress,set differential pressure,uint8 (>=0<=12700),mbar,true,number.mixer_hc1_set_differential_pressure,number.mixer_hc1_setdiffpress,7,1,50,6,1
"MM100",mixer,160,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,7,1
"MM100",mixer,160,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,8,1
"MM200",mixer,161,hc1.flowtemphc,flow temperature (TC1),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_(TC1),sensor.mixer_hc1_flowtemphc,7,1,1/10,0,1
"MM200",mixer,161,hc1.valvestatus,mixing valve actuator (VC1),uint8 (>=0<=100),%,false,sensor.mixer_hc1_mixing_valve_actuator_(VC1),sensor.mixer_hc1_valvestatus,7,1,1,1,1
"MM200",mixer,161,hc1.flowsettemp,setpoint flow temperature,uint8 (>=0<=254),C,true,number.mixer_hc1_setpoint_flow_temperature,number.mixer_hc1_flowsettemp,7,1,1,2,1
"MM200",mixer,161,hc1.pumpstatus,pump status (PC1),boolean, ,true,switch.mixer_hc1_pump_status_(PC1),switch.mixer_hc1_pumpstatus,7,1,1,3,1
"MM200",mixer,161,hc1.activated,activated,boolean, ,true,switch.mixer_hc1_activated,switch.mixer_hc1_activated,7,1,1,4,1
"MM200",mixer,161,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,5,1
"MM200",mixer,161,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,7,1
"MM200",mixer,161,hc1.flow,Durchfluss,uint16 (>=0<=31999),l/h,false,sensor.mixer_hc1_Durchfluss,sensor.mixer_hc1_flow,7,1,1,5,1
"MM200",mixer,161,hc1.setdiffpress,set differential pressure,uint8 (>=0<=12700),mbar,true,number.mixer_hc1_set_differential_pressure,number.mixer_hc1_setdiffpress,7,1,50,6,1
"MM200",mixer,161,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,7,1
"MM200",mixer,161,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,8,1
"MZ100",mixer,193,hc1.flowtemphc,flow temperature (TC1),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_(TC1),sensor.mixer_hc1_flowtemphc,7,1,1/10,0,1
"MZ100",mixer,193,hc1.valvestatus,mixing valve actuator (VC1),uint8 (>=0<=100),%,false,sensor.mixer_hc1_mixing_valve_actuator_(VC1),sensor.mixer_hc1_valvestatus,7,1,1,1,1
"MZ100",mixer,193,hc1.flowsettemp,setpoint flow temperature,uint8 (>=0<=254),C,true,number.mixer_hc1_setpoint_flow_temperature,number.mixer_hc1_flowsettemp,7,1,1,2,1
"MZ100",mixer,193,hc1.pumpstatus,pump status (PC1),boolean, ,true,switch.mixer_hc1_pump_status_(PC1),switch.mixer_hc1_pumpstatus,7,1,1,3,1
"MZ100",mixer,193,hc1.activated,activated,boolean, ,true,switch.mixer_hc1_activated,switch.mixer_hc1_activated,7,1,1,4,1
"MZ100",mixer,193,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,5,1
"MZ100",mixer,193,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,7,1
"MZ100",mixer,193,hc1.flow,Durchfluss,uint16 (>=0<=31999),l/h,false,sensor.mixer_hc1_Durchfluss,sensor.mixer_hc1_flow,7,1,1,5,1
"MZ100",mixer,193,hc1.setdiffpress,set differential pressure,uint8 (>=0<=12700),mbar,true,number.mixer_hc1_set_differential_pressure,number.mixer_hc1_setdiffpress,7,1,50,6,1
"MZ100",mixer,193,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,7,1
"MZ100",mixer,193,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,8,1
"HM210",mixer,248,hc1.flowtemphc,flow temperature (TC1),uint16 (>=0<=3199),C,false,sensor.mixer_hc1_flow_temperature_(TC1),sensor.mixer_hc1_flowtemphc,7,1,1/10,0,1
"HM210",mixer,248,hc1.valvestatus,mixing valve actuator (VC1),uint8 (>=0<=100),%,false,sensor.mixer_hc1_mixing_valve_actuator_(VC1),sensor.mixer_hc1_valvestatus,7,1,1,1,1
"HM210",mixer,248,hc1.flowsettemp,setpoint flow temperature,uint8 (>=0<=254),C,true,number.mixer_hc1_setpoint_flow_temperature,number.mixer_hc1_flowsettemp,7,1,1,2,1
"HM210",mixer,248,hc1.pumpstatus,pump status (PC1),boolean, ,true,switch.mixer_hc1_pump_status_(PC1),switch.mixer_hc1_pumpstatus,7,1,1,3,1
"HM210",mixer,248,hc1.activated,activated,boolean, ,true,switch.mixer_hc1_activated,switch.mixer_hc1_activated,7,1,1,4,1
"HM210",mixer,248,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,5,1
"HM210",mixer,248,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,7,1
"HM210",mixer,248,hc1.flow,Durchfluss,uint16 (>=0<=31999),l/h,false,sensor.mixer_hc1_Durchfluss,sensor.mixer_hc1_flow,7,1,1,5,1
"HM210",mixer,248,hc1.setdiffpress,set differential pressure,uint8 (>=0<=12700),mbar,true,number.mixer_hc1_set_differential_pressure,number.mixer_hc1_setdiffpress,7,1,50,6,1
"HM210",mixer,248,hc1.valvesettime,time to set valve,uint8 (>=10<=600),seconds,true,number.mixer_hc1_time_to_set_valve,number.mixer_hc1_valvesettime,7,1,10,7,1
"HM210",mixer,248,hc1.flowtempoffset,flow temperature offset for mixer,uint8 (>=0<=20),K,true,number.mixer_hc1_flow_temperature_offset_for_mixer,number.mixer_hc1_flowtempoffset,7,1,1,8,1
"SM10",solar,73,collectortemp,collector temperature (TS1),int16 (>=-3199<=3199),C,false,sensor.solar_collector_temperature_(TS1),sensor.solar_collectortemp,8,0,1/10,0,1
"SM10",solar,73,cylbottomtemp,cylinder bottom temperature (TS2),int16 (>=-3199<=3199),C,false,sensor.solar_cylinder_bottom_temperature_(TS2),sensor.solar_cylbottomtemp,8,0,1/10,1,1
"SM10",solar,73,solarpump,pump (PS1),boolean, ,false,binary_sensor.solar_pump_(PS1),binary_sensor.solar_solarpump,8,0,1,2,1
@@ -5529,16 +5548,16 @@ device name,device type,product id,shortname,fullname,type [options...] \| (min/
"AM200",heatsource,228,ahs1.heatrequest,heat request,uint8 (>=0<=100),%,false,sensor.heatsource_ahs1_heat_request,sensor.heatsource_ahs1_heatrequest,17,19,1,29,1
"AM200",heatsource,228,ahs1.blockremain,remaining blocktime,uint8 (>=0<=254),minutes,false,sensor.heatsource_ahs1_remaining_blocktime,sensor.heatsource_ahs1_blockremain,17,19,1,30,1
"AM200",heatsource,228,ahs1.blockremaindhw,remaining blocktime dhw,uint8 (>=0<=254),minutes,false,sensor.heatsource_ahs1_remaining_blocktime_dhw,sensor.heatsource_ahs1_blockremaindhw,17,19,1,31,1
"Logavent HRV176",ventilation,231,outfresh,outdoor fresh air,int16 (>=-3199<=3199),C,false,sensor.ventilation_outdoor_fresh_air,sensor.ventilation_outfresh,18,0,1/10,0,1
"Logavent HRV176",ventilation,231,infresh,indoor fresh air,int16 (>=-3199<=3199),C,false,sensor.ventilation_indoor_fresh_air,sensor.ventilation_infresh,18,0,1/10,1,1
"Logavent HRV176",ventilation,231,outexhaust,outdoor exhaust air,int16 (>=-3199<=3199),C,false,sensor.ventilation_outdoor_exhaust_air,sensor.ventilation_outexhaust,18,0,1/10,2,1
"Logavent HRV176",ventilation,231,inexhaust,indoor exhaust air,int16 (>=-3199<=3199),C,false,sensor.ventilation_indoor_exhaust_air,sensor.ventilation_inexhaust,18,0,1/10,3,1
"Logavent HRV176",ventilation,231,ventinspeed,in blower speed,uint8 (>=0<=100),%,false,sensor.ventilation_in_blower_speed,sensor.ventilation_ventinspeed,18,0,1,4,1
"Logavent HRV176",ventilation,231,ventoutspeed,out blower speed,uint8 (>=0<=100),%,false,sensor.ventilation_out_blower_speed,sensor.ventilation_ventoutspeed,18,0,1,5,1
"Logavent HRV176",ventilation,231,ventmode,ventilation mode,enum [auto\|off\|L1\|L2\|L3\|L4\|demand\|sleep\|intense\|bypass\|party\|fireplace], ,true,select.ventilation_ventilation_mode,select.ventilation_ventmode,18,0,1,6,1
"Logavent HRV176",ventilation,231,airquality,air quality (voc),uint16 (>=0<=31999), ,false,sensor.ventilation_air_quality_(voc),sensor.ventilation_airquality,18,0,1,7,1
"Logavent HRV176",ventilation,231,airhumidity,relative air humidity,uint8 (>=0<=100),%,false,sensor.ventilation_relative_air_humidity,sensor.ventilation_airhumidity,18,0,1,8,1
"Logavent HRV176",ventilation,231,bypass,bypass,boolean, ,true,switch.ventilation_bypass,switch.ventilation_bypass,18,0,1,9,1
"HRV176, HRV156, 5000c, MV200",ventilation,231,outfresh,outdoor fresh air,int16 (>=-3199<=3199),C,false,sensor.ventilation_outdoor_fresh_air,sensor.ventilation_outfresh,18,0,1/10,0,1
"HRV176, HRV156, 5000c, MV200",ventilation,231,infresh,indoor fresh air,int16 (>=-3199<=3199),C,false,sensor.ventilation_indoor_fresh_air,sensor.ventilation_infresh,18,0,1/10,1,1
"HRV176, HRV156, 5000c, MV200",ventilation,231,outexhaust,outdoor exhaust air,int16 (>=-3199<=3199),C,false,sensor.ventilation_outdoor_exhaust_air,sensor.ventilation_outexhaust,18,0,1/10,2,1
"HRV176, HRV156, 5000c, MV200",ventilation,231,inexhaust,indoor exhaust air,int16 (>=-3199<=3199),C,false,sensor.ventilation_indoor_exhaust_air,sensor.ventilation_inexhaust,18,0,1/10,3,1
"HRV176, HRV156, 5000c, MV200",ventilation,231,ventinspeed,in blower speed,uint8 (>=0<=100),%,false,sensor.ventilation_in_blower_speed,sensor.ventilation_ventinspeed,18,0,1,4,1
"HRV176, HRV156, 5000c, MV200",ventilation,231,ventoutspeed,out blower speed,uint8 (>=0<=100),%,false,sensor.ventilation_out_blower_speed,sensor.ventilation_ventoutspeed,18,0,1,5,1
"HRV176, HRV156, 5000c, MV200",ventilation,231,ventmode,ventilation mode,enum [auto\|off\|L1\|L2\|L3\|L4\|demand\|sleep\|intense\|bypass\|party\|fireplace], ,true,select.ventilation_ventilation_mode,select.ventilation_ventmode,18,0,1,6,1
"HRV176, HRV156, 5000c, MV200",ventilation,231,airquality,air quality (voc),uint16 (>=0<=31999), ,false,sensor.ventilation_air_quality_(voc),sensor.ventilation_airquality,18,0,1,7,1
"HRV176, HRV156, 5000c, MV200",ventilation,231,airhumidity,relative air humidity,uint8 (>=0<=100),%,false,sensor.ventilation_relative_air_humidity,sensor.ventilation_airhumidity,18,0,1,8,1
"HRV176, HRV156, 5000c, MV200",ventilation,231,bypass,bypass,boolean, ,true,switch.ventilation_bypass,switch.ventilation_bypass,18,0,1,9,1
"IPM",water,100,dhw.seltemp,selected temperature,uint8 (>=0<=254),C,true,number.water_dhw_selected_temperature,number.water_dhw_seltemp,19,9,1,0,1
"IPM",water,100,dhw.temp,current temperature,uint16 (>=0<=3199),C,false,sensor.water_dhw_current_temperature,sensor.water_dhw_temp,19,9,1/10,1,1
"IPM",water,100,dhw.curtemp2,current extern temperature,uint16 (>=0<=3199),C,false,sensor.water_dhw_current_extern_temperature,sensor.water_dhw_curtemp2,19,9,1/10,2,1
Can't render this file because it is too large.

View File

@@ -13,9 +13,9 @@ telegram_type_id,name,is_fetched
0x19,UBAMonitorSlow,
0x1A,UBASetPoints,
0x1C,UBAMaintenanceStatus,
0x1E,WM10TempMessage,
0x1E,HydrTemp,
0x23,JunkersSetMixer,fetched
0x26,UBASettingsWW,fetched
0x27,UBASettingsWW,fetched
0x28,WeatherComp,fetched
0x2A,MC110Status,
0x2E,Meters,
@@ -111,7 +111,7 @@ telegram_type_id,name,is_fetched
0x02A0,RC300Curves,
0x02A1,RC300Curves,
0x02A2,RC300Curves,
0x02A5,RC300Monitor,
0x02A5,RC300Monitor,fetched
0x02A6,RC300Monitor,
0x02A7,RC300Monitor,
0x02A8,CRFMonitor,
1 telegram_type_id name is_fetched
13 0x19 UBAMonitorSlow
14 0x1A UBASetPoints
15 0x1C UBAMaintenanceStatus
16 0x1E WM10TempMessage HydrTemp
17 0x23 JunkersSetMixer fetched
18 0x26 0x27 UBASettingsWW fetched
19 0x28 WeatherComp fetched
20 0x2A MC110Status
21 0x2E Meters
111 0x02A0 RC300Curves
112 0x02A1 RC300Curves
113 0x02A2 RC300Curves
114 0x02A5 RC300Monitor fetched
115 0x02A6 RC300Monitor
116 0x02A7 RC300Monitor
117 0x02A8 CRFMonitor

View File

@@ -63,5 +63,5 @@
"vite-plugin-imagemin": "^0.6.1",
"vite-tsconfig-paths": "^5.1.4"
},
"packageManager": "pnpm@10.15.0"
"packageManager": "pnpm@10.15.0+sha512.486ebc259d3e999a4e8691ce03b5cac4a71cbeca39372a9b762cb500cfdf0873e2cb16abe3d951b1ee2cf012503f027b98b6584e4df22524e0c7450d9ec7aa7b"
}

View File

@@ -12,8 +12,8 @@
"@msgpack/msgpack": "^3.1.2",
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
"formidable": "^3.5.4",
"itty-router": "^5.0.21",
"itty-router": "^5.0.22",
"prettier": "^3.6.2"
},
"packageManager": "pnpm@10.14.0+sha512.ad27a79641b49c3e481a16a805baa71817a04bbe06a38d17e60e2eaee83f6a146c6a688125f5792e48dd5ba30e7da52a5cda4c3992b9ccf333f9ce223af84748"
"packageManager": "pnpm@10.15.0+sha512.486ebc259d3e999a4e8691ce03b5cac4a71cbeca39372a9b762cb500cfdf0873e2cb16abe3d951b1ee2cf012503f027b98b6584e4df22524e0c7450d9ec7aa7b"
}

View File

@@ -18,8 +18,8 @@ importers:
specifier: ^3.5.4
version: 3.5.4
itty-router:
specifier: ^5.0.21
version: 5.0.21
specifier: ^5.0.22
version: 5.0.22
prettier:
specifier: ^3.6.2
version: 3.6.2
@@ -30,8 +30,8 @@ packages:
resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
engines: {node: '>=6.9.0'}
'@babel/generator@7.28.0':
resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==}
'@babel/generator@7.28.3':
resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==}
engines: {node: '>=6.9.0'}
'@babel/helper-globals@7.28.0':
@@ -46,8 +46,8 @@ packages:
resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
engines: {node: '>=6.9.0'}
'@babel/parser@7.28.0':
resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==}
'@babel/parser@7.28.3':
resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -55,26 +55,26 @@ packages:
resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
engines: {node: '>=6.9.0'}
'@babel/traverse@7.28.0':
resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==}
'@babel/traverse@7.28.3':
resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==}
engines: {node: '>=6.9.0'}
'@babel/types@7.28.2':
resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
engines: {node: '>=6.9.0'}
'@jridgewell/gen-mapping@0.3.12':
resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==}
'@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
'@jridgewell/sourcemap-codec@1.5.4':
resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==}
'@jridgewell/sourcemap-codec@1.5.5':
resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
'@jridgewell/trace-mapping@0.3.29':
resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==}
'@jridgewell/trace-mapping@0.3.30':
resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==}
'@msgpack/msgpack@3.1.2':
resolution: {integrity: sha512-JEW4DEtBzfe8HvUYecLU9e6+XJnKDlUAIve8FvPzF3Kzs6Xo/KuZkZJsDH0wJXl/qEZbeeE7edxDNY3kMs39hQ==}
@@ -122,8 +122,8 @@ packages:
resolution: {integrity: sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==}
engines: {node: '>=14.0.0'}
itty-router@5.0.21:
resolution: {integrity: sha512-SrmsBfXtdoIkuDMTMXqCT0kYSl9OlQZLC7llHs4fE26dZlGfi0Cm4adNL7q/ygpWyoTZobZ547h5SZu/PwB+cg==}
itty-router@5.0.22:
resolution: {integrity: sha512-9hmdGErWdYDOurGYxSbqLhy4EFReIwk71hMZTJ5b+zfa2zjMNV1ftFno2b8VjAQvX615gNB8Qxbl9JMRqHnIVA==}
javascript-natural-sort@0.7.1:
resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
@@ -164,12 +164,12 @@ snapshots:
js-tokens: 4.0.0
picocolors: 1.1.1
'@babel/generator@7.28.0':
'@babel/generator@7.28.3':
dependencies:
'@babel/parser': 7.28.0
'@babel/parser': 7.28.3
'@babel/types': 7.28.2
'@jridgewell/gen-mapping': 0.3.12
'@jridgewell/trace-mapping': 0.3.29
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.30
jsesc: 3.1.0
'@babel/helper-globals@7.28.0': {}
@@ -178,22 +178,22 @@ snapshots:
'@babel/helper-validator-identifier@7.27.1': {}
'@babel/parser@7.28.0':
'@babel/parser@7.28.3':
dependencies:
'@babel/types': 7.28.2
'@babel/template@7.27.2':
dependencies:
'@babel/code-frame': 7.27.1
'@babel/parser': 7.28.0
'@babel/parser': 7.28.3
'@babel/types': 7.28.2
'@babel/traverse@7.28.0':
'@babel/traverse@7.28.3':
dependencies:
'@babel/code-frame': 7.27.1
'@babel/generator': 7.28.0
'@babel/generator': 7.28.3
'@babel/helper-globals': 7.28.0
'@babel/parser': 7.28.0
'@babel/parser': 7.28.3
'@babel/template': 7.27.2
'@babel/types': 7.28.2
debug: 4.4.1
@@ -205,19 +205,19 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.27.1
'@jridgewell/gen-mapping@0.3.12':
'@jridgewell/gen-mapping@0.3.13':
dependencies:
'@jridgewell/sourcemap-codec': 1.5.4
'@jridgewell/trace-mapping': 0.3.29
'@jridgewell/sourcemap-codec': 1.5.5
'@jridgewell/trace-mapping': 0.3.30
'@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/sourcemap-codec@1.5.4': {}
'@jridgewell/sourcemap-codec@1.5.5': {}
'@jridgewell/trace-mapping@0.3.29':
'@jridgewell/trace-mapping@0.3.30':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.4
'@jridgewell/sourcemap-codec': 1.5.5
'@msgpack/msgpack@3.1.2': {}
@@ -229,9 +229,9 @@ snapshots:
'@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.6.2)':
dependencies:
'@babel/generator': 7.28.0
'@babel/parser': 7.28.0
'@babel/traverse': 7.28.0
'@babel/generator': 7.28.3
'@babel/parser': 7.28.3
'@babel/traverse': 7.28.3
'@babel/types': 7.28.2
javascript-natural-sort: 0.7.1
lodash: 4.17.21
@@ -256,7 +256,7 @@ snapshots:
dezalgo: 1.0.4
once: 1.4.0
itty-router@5.0.21: {}
itty-router@5.0.22: {}
javascript-natural-sort@0.7.1: {}

View File

@@ -56,7 +56,7 @@ custom_emsesp_ip = 192.168.1.223 ; E32V2
lib_deps =
bblanchon/ArduinoJson @ 7.4.2
ESP32Async/AsyncTCP @ 3.4.7
ESP32Async/ESPAsyncWebServer @ 3.7.10
ESP32Async/ESPAsyncWebServer @ 3.8.0
file://${PROJECT_DIR}/../modules/EMS-ESP-Modules
; ; https://github.com/emsesp/EMS-ESP-Modules.git @ 1.0.8
@@ -65,7 +65,7 @@ framework = arduino
board_build.partitions = partitions/esp32_partition_16M.csv
board_upload.flash_size = 16MB
board_build.app_partition_name = app0
; platform = espressif32@6.11.0 ; Arduino Core v2.0.17 / IDF v4.4.7
; platform = espressif32@6.12.0 ; Arduino Core v2.0.17 / IDF v4.4.7
; platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.20/platform-espressif32.zip ; Arduino Core v3.2.0 / ESP-IDF v5.4.1
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.30/platform-espressif32.zip ; Arduino Core 3.3.0, IDF 5.5.0

View File

@@ -61,7 +61,7 @@ framework = arduino
board_build.partitions = partitions/esp32_partition_16M.csv
board_upload.flash_size = 16MB
board_build.app_partition_name = app0
platform = espressif32@6.11.0 ; Arduino Core v2.0.17 / IDF v4.4.7
platform = espressif32@6.12.0 ; Arduino Core v2.0.17 / IDF v4.4.7
; 32MB Flash variants
[espressif32_base_32M]
@@ -69,7 +69,7 @@ framework = arduino
board_build.partitions = partitions/esp32_partition_32M.csv
board_upload.flash_size = 32MB
board_build.app_partition_name = app0
platform = espressif32@6.11.0 ; Arduino Core 2.0.17 / IDF 4.4.7
platform = espressif32@6.12.0 ; Arduino Core 2.0.17 / IDF 4.4.7
; use Tasmota's library for 4MB Flash variants.
; Removes libs (like mbedtsl, so no WiFi_secure.h) to increase available heap
@@ -164,6 +164,18 @@ build_flags =
${common.build_flags}
-DBOARD_C3_MINI_V1
; XIAO ESP32C - 512KB SRAM & 4MB Flash - https://wiki.seeedstudio.com/xiao_esp32c6_getting_started/
[env:c6]
framework = arduino
board_build.partitions = partitions/esp32_partition_4M.csv
board_upload.flash_size = 4MB
board_build.app_partition_name = app0
platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.21-2/platform-espressif32.zip ; Arduino Release v3.2.1 based on ESP-IDF v5.4.2
; platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.30-2/platform-espressif32.zip ; Arduino Release v3.3.0 based on ESP-IDF v5.5.0
board = seeed_xiao_esp32c6
build_flags =
${common.build_flags}
-DBOARD_C6
;
; Building and testing natively, standalone without an ESP32.
; See https://docs.platformio.org/en/latest/platforms/native.html

View File

@@ -302,7 +302,8 @@ static void setup_commands(std::shared_ptr<Commands> const & commands) {
std::vector<int8_t> data; // led, dallas, rx, tx, button, phy_type, eth_power, eth_phy_addr, eth_clock_mode
std::string board_profile = Helpers::toUpper(arguments.front());
if (!EMSESP::system_.load_board_profile(data, board_profile)) {
shell.println("Invalid board profile (S32, E32, E32V2, E32V2_2, MH-ET, NODEMCU, LOLIN, OLIMEX, OLIMEXPOE, C3MINI, S2MINI, S3MINI, S32S3, CUSTOM)");
shell.println(
"Invalid board profile (S32, E32, E32V2, E32V2_2, MH-ET, NODEMCU, LOLIN, OLIMEX, OLIMEXPOE, C3MINI, S2MINI, S3MINI, S32S3, CUSTOM)");
return;
}

View File

@@ -1708,9 +1708,9 @@ void EMSESP::start() {
modbus_->start(1, system_.modbus_port(), system_.modbus_max_clients(), system_.modbus_timeout() * 1000);
}
mqtt_.start(); // mqtt init
system_.start(); // starts commands, led, adc, button, network (sets hostname), syslog & uart
shower_.start(); // initialize shower timer and shower alert
mqtt_.start(); // mqtt init
system_.start(); // starts commands, led, adc, button, network (sets hostname), syslog & uart
shower_.start(); // initialize shower timer and shower alert
temperaturesensor_.start(factory_settings); // Temperature external sensors
analogsensor_.start(factory_settings); // Analog external sensors

View File

@@ -404,9 +404,11 @@ const std::initializer_list<Modbus::EntityModbusInfo> Modbus::modbus_register_ma
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(flowSetTemp), 2, 1), // flowsettemp
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(wwPumpStatus), 3, 1), // pumpstatus
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(activated), 4, 1), // activated
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(mixerSetTime), 5, 1), // valvesettime
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(flowTempVf), 6, 1), // flowtempvf
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(flowtempoffset), 7, 1), // flowtempoffset
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(wwFlow), 5, 1), // flow
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(setDiffPress), 6, 1), // setdiffpress
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(mixerSetTime), 7, 1), // valvesettime
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(flowtempoffset), 8, 1), // flowtempoffset
REGISTER_MAPPING(dt::MIXER, TAG_TYPE_HC, FL_(flowTempVf), 9, 1), // flowtempvf
REGISTER_MAPPING(dt::SOLAR, TAG_TYPE_DEVICE_DATA, FL_(collectorTemp), 0, 1), // collectortemp
REGISTER_MAPPING(dt::SOLAR, TAG_TYPE_DEVICE_DATA, FL_(cylBottomTemp), 1, 1), // cylbottomtemp
REGISTER_MAPPING(dt::SOLAR, TAG_TYPE_DEVICE_DATA, FL_(solarPump), 2, 1), // solarpump

View File

@@ -180,7 +180,7 @@ StateUpdateResult WebSettings::update(JsonObject root, WebSettings & settings) {
if (ETH.begin(ETH_PHY_LAN8720, 0, 23, 18, 15, ETH_CLOCK_GPIO0_OUT)) {
#endif
if (analogReadMilliVolts(39) > 700) { // core voltage > 2.6V
if (analogReadMilliVolts(39) > 700) { // core voltage > 2.6V
settings.board_profile = "E32V2_2"; // Ethernet, PSRAM, internal sensors
} else {
settings.board_profile = "E32V2"; // Ethernet and PSRAM