mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2026-03-23 10:06:34 +03:00
Merge pull request #2994 from MichaelDvP/dev
dev.12, add dhw4, 5,.. circuits, #2991
This commit is contained in:
@@ -12,6 +12,7 @@ For more details go to [emsesp.org](https://emsesp.org/).
|
|||||||
- prometheus metrics for temperature/analog/scheduler/custom [#2962](https://github.com/emsesp/EMS-ESP32/issues/2962)
|
- prometheus metrics for temperature/analog/scheduler/custom [#2962](https://github.com/emsesp/EMS-ESP32/issues/2962)
|
||||||
- boiler pumpkick [#2965](https://github.com/emsesp/EMS-ESP32/discussions/2965)
|
- boiler pumpkick [#2965](https://github.com/emsesp/EMS-ESP32/discussions/2965)
|
||||||
- heatpump reset [#2933](https://github.com/emsesp/EMS-ESP32/issues/2933)
|
- heatpump reset [#2933](https://github.com/emsesp/EMS-ESP32/issues/2933)
|
||||||
|
- 2.nd freshwater module (dhw4) [#2991](https://github.com/emsesp/EMS-ESP32/issues/2991)
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
|
|||||||
36
interface/pnpm-lock.yaml
generated
36
interface/pnpm-lock.yaml
generated
@@ -237,11 +237,11 @@ packages:
|
|||||||
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
|
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@emnapi/core@1.9.0':
|
'@emnapi/core@1.9.1':
|
||||||
resolution: {integrity: sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==}
|
resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==}
|
||||||
|
|
||||||
'@emnapi/runtime@1.9.0':
|
'@emnapi/runtime@1.9.1':
|
||||||
resolution: {integrity: sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==}
|
resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==}
|
||||||
|
|
||||||
'@emnapi/wasi-threads@1.2.0':
|
'@emnapi/wasi-threads@1.2.0':
|
||||||
resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==}
|
resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==}
|
||||||
@@ -1181,8 +1181,8 @@ packages:
|
|||||||
base64-js@1.5.1:
|
base64-js@1.5.1:
|
||||||
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
||||||
|
|
||||||
baseline-browser-mapping@2.10.8:
|
baseline-browser-mapping@2.10.9:
|
||||||
resolution: {integrity: sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ==}
|
resolution: {integrity: sha512-OZd0e2mU11ClX8+IdXe3r0dbqMEznRiT4TfbhYIbcRPZkqJ7Qwer8ij3GZAmLsRKa+II9V1v5czCkvmHH3XZBg==}
|
||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -3163,8 +3163,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==}
|
resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
ts-api-utils@2.4.0:
|
ts-api-utils@2.5.0:
|
||||||
resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==}
|
resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==}
|
||||||
engines: {node: '>=18.12'}
|
engines: {node: '>=18.12'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '>=4.8.4'
|
typescript: '>=4.8.4'
|
||||||
@@ -3528,13 +3528,13 @@ snapshots:
|
|||||||
'@babel/helper-string-parser': 7.27.1
|
'@babel/helper-string-parser': 7.27.1
|
||||||
'@babel/helper-validator-identifier': 7.28.5
|
'@babel/helper-validator-identifier': 7.28.5
|
||||||
|
|
||||||
'@emnapi/core@1.9.0':
|
'@emnapi/core@1.9.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@emnapi/wasi-threads': 1.2.0
|
'@emnapi/wasi-threads': 1.2.0
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@emnapi/runtime@1.9.0':
|
'@emnapi/runtime@1.9.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
optional: true
|
optional: true
|
||||||
@@ -3866,8 +3866,8 @@ snapshots:
|
|||||||
|
|
||||||
'@napi-rs/wasm-runtime@1.1.1':
|
'@napi-rs/wasm-runtime@1.1.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@emnapi/core': 1.9.0
|
'@emnapi/core': 1.9.1
|
||||||
'@emnapi/runtime': 1.9.0
|
'@emnapi/runtime': 1.9.1
|
||||||
'@tybys/wasm-util': 0.10.1
|
'@tybys/wasm-util': 0.10.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -4192,7 +4192,7 @@ snapshots:
|
|||||||
eslint: 10.0.3
|
eslint: 10.0.3
|
||||||
ignore: 7.0.5
|
ignore: 7.0.5
|
||||||
natural-compare: 1.4.0
|
natural-compare: 1.4.0
|
||||||
ts-api-utils: 2.4.0(typescript@5.9.3)
|
ts-api-utils: 2.5.0(typescript@5.9.3)
|
||||||
typescript: 5.9.3
|
typescript: 5.9.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -4234,7 +4234,7 @@ snapshots:
|
|||||||
'@typescript-eslint/utils': 8.57.1(eslint@10.0.3)(typescript@5.9.3)
|
'@typescript-eslint/utils': 8.57.1(eslint@10.0.3)(typescript@5.9.3)
|
||||||
debug: 4.4.3
|
debug: 4.4.3
|
||||||
eslint: 10.0.3
|
eslint: 10.0.3
|
||||||
ts-api-utils: 2.4.0(typescript@5.9.3)
|
ts-api-utils: 2.5.0(typescript@5.9.3)
|
||||||
typescript: 5.9.3
|
typescript: 5.9.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -4251,7 +4251,7 @@ snapshots:
|
|||||||
minimatch: 10.2.4
|
minimatch: 10.2.4
|
||||||
semver: 7.7.4
|
semver: 7.7.4
|
||||||
tinyglobby: 0.2.15
|
tinyglobby: 0.2.15
|
||||||
ts-api-utils: 2.4.0(typescript@5.9.3)
|
ts-api-utils: 2.5.0(typescript@5.9.3)
|
||||||
typescript: 5.9.3
|
typescript: 5.9.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -4340,7 +4340,7 @@ snapshots:
|
|||||||
|
|
||||||
base64-js@1.5.1: {}
|
base64-js@1.5.1: {}
|
||||||
|
|
||||||
baseline-browser-mapping@2.10.8: {}
|
baseline-browser-mapping@2.10.9: {}
|
||||||
|
|
||||||
bin-build@3.0.0:
|
bin-build@3.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4401,7 +4401,7 @@ snapshots:
|
|||||||
|
|
||||||
browserslist@4.28.1:
|
browserslist@4.28.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
baseline-browser-mapping: 2.10.8
|
baseline-browser-mapping: 2.10.9
|
||||||
caniuse-lite: 1.0.30001780
|
caniuse-lite: 1.0.30001780
|
||||||
electron-to-chromium: 1.5.321
|
electron-to-chromium: 1.5.321
|
||||||
node-releases: 2.0.36
|
node-releases: 2.0.36
|
||||||
@@ -6381,7 +6381,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp: 1.0.5
|
escape-string-regexp: 1.0.5
|
||||||
|
|
||||||
ts-api-utils@2.4.0(typescript@5.9.3):
|
ts-api-utils@2.5.0(typescript@5.9.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
typescript: 5.9.3
|
typescript: 5.9.3
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ board_build.filesystem = littlefs
|
|||||||
lib_deps =
|
lib_deps =
|
||||||
bblanchon/ArduinoJson @ 7.4.2
|
bblanchon/ArduinoJson @ 7.4.2
|
||||||
ESP32Async/AsyncTCP @ 3.4.10
|
ESP32Async/AsyncTCP @ 3.4.10
|
||||||
ESP32Async/ESPAsyncWebServer @ 3.10.2
|
ESP32Async/ESPAsyncWebServer @ 3.10.3
|
||||||
https://github.com/emsesp/EMS-ESP-Modules.git @ 1.0.8
|
https://github.com/emsesp/EMS-ESP-Modules.git @ 1.0.8
|
||||||
|
|
||||||
|
|
||||||
@@ -168,19 +168,6 @@ build_flags =
|
|||||||
${common.build_flags}
|
${common.build_flags}
|
||||||
-DBOARD_C3_MINI_V1
|
-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
|
|
||||||
|
|
||||||
; foundation for building and testing natively, standalone without an ESP32
|
; foundation for building and testing natively, standalone without an ESP32
|
||||||
; use the `standalone` environment instead of `native` for testing
|
; use the `standalone` environment instead of `native` for testing
|
||||||
[env:native]
|
[env:native]
|
||||||
|
|||||||
@@ -34,25 +34,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef EMSESP_STANDALONE
|
#ifndef EMSESP_STANDALONE
|
||||||
#ifdef ESP_IDF_VERSION_MAJOR // IDF 4+
|
|
||||||
#if CONFIG_IDF_TARGET_ESP32 // ESP32/PICO-D4
|
|
||||||
#include "../esp32/rom/rtc.h"
|
|
||||||
#elif CONFIG_IDF_TARGET_ESP32S2
|
|
||||||
#include "../esp32s2/rom/rtc.h"
|
|
||||||
#elif CONFIG_IDF_TARGET_ESP32C3
|
|
||||||
#include "../esp32c3/rom/rtc.h"
|
|
||||||
#elif CONFIG_IDF_TARGET_ESP32S3
|
|
||||||
#include "../esp32s3/rom/rtc.h"
|
|
||||||
#else
|
|
||||||
#error Target CONFIG_IDF_TARGET is not supported
|
|
||||||
#endif
|
|
||||||
#else // ESP32 Before IDF 4.0
|
|
||||||
#include "../rom/rtc.h"
|
|
||||||
#endif
|
|
||||||
#include <esp_mac.h>
|
#include <esp_mac.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef EMSESP_STANDALONE
|
|
||||||
#include "esp_efuse.h"
|
#include "esp_efuse.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -2534,37 +2516,38 @@ bool System::command_restart(const char * value, const int8_t id) {
|
|||||||
|
|
||||||
std::string System::reset_reason(uint8_t cpu) const {
|
std::string System::reset_reason(uint8_t cpu) const {
|
||||||
#ifndef EMSESP_STANDALONE
|
#ifndef EMSESP_STANDALONE
|
||||||
switch (rtc_get_reset_reason(cpu)) {
|
switch (esp_rom_get_reset_reason(cpu)) {
|
||||||
case 1:
|
case RESET_REASON_CHIP_POWER_ON:
|
||||||
return ("Power on reset");
|
return ("Power on reset");
|
||||||
// case 2 :reset pin not on esp32
|
case 2: // not on esp32
|
||||||
case 3:
|
return ("reset pin");
|
||||||
|
case RESET_REASON_CORE_SW:
|
||||||
return ("Software reset");
|
return ("Software reset");
|
||||||
case 4: // not on S2, C3
|
case 4: // not on S2, C3
|
||||||
return ("Legacy watch dog reset");
|
return ("Legacy watch dog reset");
|
||||||
case 5:
|
case RESET_REASON_CORE_DEEP_SLEEP:
|
||||||
return ("Deep sleep reset");
|
return ("Deep sleep reset");
|
||||||
case 6: // not on S2, C3
|
case 6: // RESET_REASON_CORE_SDIO: // not on S2, S3, C3
|
||||||
return ("Reset by SDIO");
|
return ("Reset by SDIO");
|
||||||
case 7:
|
case RESET_REASON_CORE_MWDT0:
|
||||||
return ("Timer group0 watch dog reset");
|
return ("Timer group0 watch dog reset");
|
||||||
case 8:
|
case RESET_REASON_CORE_MWDT1:
|
||||||
return ("Timer group1 watch dog reset");
|
return ("Timer group1 watch dog reset");
|
||||||
case 9:
|
case RESET_REASON_CORE_RTC_WDT:
|
||||||
return ("RTC watch dog reset");
|
return ("RTC watch dog reset");
|
||||||
case 10:
|
case 10:
|
||||||
return ("Intrusion reset CPU");
|
return ("Intrusion reset CPU");
|
||||||
case 11:
|
case RESET_REASON_CPU0_MWDT0:
|
||||||
return ("Timer group reset CPU");
|
return ("Timer group reset CPU");
|
||||||
case 12:
|
case RESET_REASON_CPU0_SW:
|
||||||
return ("Software reset CPU");
|
return ("Software reset CPU");
|
||||||
case 13:
|
case RESET_REASON_CPU0_RTC_WDT:
|
||||||
return ("RTC watch dog reset: CPU");
|
return ("RTC watch dog reset: CPU");
|
||||||
case 14: // not on S2, C3
|
case 14: // RESET_REASON_CPU1_CPU0: // not on S2, S3, C3
|
||||||
return ("APP CPU reset by PRO CPU");
|
return ("APP CPU reset by PRO CPU");
|
||||||
case 15:
|
case RESET_REASON_SYS_BROWN_OUT:
|
||||||
return ("Brownout reset");
|
return ("Brownout reset");
|
||||||
case 16:
|
case RESET_REASON_SYS_RTC_WDT:
|
||||||
return ("RTC watch dog reset: CPU+RTC");
|
return ("RTC watch dog reset: CPU+RTC");
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -29,16 +29,21 @@ Water::Water(uint8_t device_type, uint8_t device_id, uint8_t product_id, const c
|
|||||||
dhw_ = device_id - EMSdevice::EMS_DEVICE_ID_DHW1;
|
dhw_ = device_id - EMSdevice::EMS_DEVICE_ID_DHW1;
|
||||||
int8_t tag = DeviceValueTAG::TAG_DHW1 + dhw_;
|
int8_t tag = DeviceValueTAG::TAG_DHW1 + dhw_;
|
||||||
if (flags == EMSdevice::EMS_DEVICE_FLAG_SM100) { // device_id 0x2A, DHW3
|
if (flags == EMSdevice::EMS_DEVICE_FLAG_SM100) { // device_id 0x2A, DHW3
|
||||||
|
|
||||||
// telegram handlers
|
// telegram handlers
|
||||||
register_telegram_type(0x07D6, "SM100wwTemperature", false, MAKE_PF_CB(process_SM100wwTemperature));
|
register_telegram_type(0x07D6 + dhw_ - 2, "SM100wwTemperature", false, MAKE_PF_CB(process_SM100wwTemperature));
|
||||||
|
register_telegram_type(0x07E0 + dhw_ - 2, "SM100wwStatus2", true, MAKE_PF_CB(process_SM100wwStatus2));
|
||||||
|
register_telegram_type(0x07A6, "SM100wwParam", true, MAKE_PF_CB(process_SM100wwParam)); // same telegram for all circuits
|
||||||
|
if (tag == DeviceValueTAG::TAG_DHW3) {
|
||||||
register_telegram_type(0x07AA, "SM100wwStatus", false, MAKE_PF_CB(process_SM100wwStatus));
|
register_telegram_type(0x07AA, "SM100wwStatus", false, MAKE_PF_CB(process_SM100wwStatus));
|
||||||
register_telegram_type(0x07AB, "SM100wwCommand", false, MAKE_PF_CB(process_SM100wwCommand));
|
|
||||||
register_telegram_type(0x07AC, "SM100wwParam1", false, MAKE_PF_CB(process_SM100wwParam2));
|
register_telegram_type(0x07AC, "SM100wwParam1", false, MAKE_PF_CB(process_SM100wwParam2));
|
||||||
register_telegram_type(0x07A5, "SM100wwCirc", true, MAKE_PF_CB(process_SM100wwCirc));
|
register_telegram_type(0x07A5, "SM100wwCirc", true, MAKE_PF_CB(process_SM100wwCirc));
|
||||||
register_telegram_type(0x07A6, "SM100wwParam", true, MAKE_PF_CB(process_SM100wwParam));
|
|
||||||
register_telegram_type(0x07AE, "SM100wwKeepWarm", true, MAKE_PF_CB(process_SM100wwKeepWarm));
|
register_telegram_type(0x07AE, "SM100wwKeepWarm", true, MAKE_PF_CB(process_SM100wwKeepWarm));
|
||||||
register_telegram_type(0x07E0, "SM100wwStatus2", true, MAKE_PF_CB(process_SM100wwStatus2));
|
|
||||||
register_telegram_type(0x07AD, "SM100ValveStatus", false, MAKE_PF_CB(process_SM100ValveStatus));
|
register_telegram_type(0x07AD, "SM100ValveStatus", false, MAKE_PF_CB(process_SM100ValveStatus));
|
||||||
|
register_telegram_type(0x07AB, "SM100wwCommand", false, MAKE_PF_CB(process_SM100wwCommand)); // command from thermostat
|
||||||
|
} else if (tag == DeviceValueTAG::TAG_DHW4) {
|
||||||
|
register_telegram_type(0x07C3, "SM100wwCommand", false, MAKE_PF_CB(process_SM100wwCommand)); // command from dhw3->dhw4
|
||||||
|
}
|
||||||
// device values...
|
// device values...
|
||||||
register_device_value(tag, &wwTemp_, DeviceValueType::UINT16, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(wwTemp), DeviceValueUOM::DEGREES);
|
register_device_value(tag, &wwTemp_, DeviceValueType::UINT16, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(wwTemp), DeviceValueUOM::DEGREES);
|
||||||
register_device_value(tag, &wwTemp2_, DeviceValueType::UINT16, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(wwStorageTemp1), DeviceValueUOM::DEGREES);
|
register_device_value(tag, &wwTemp2_, DeviceValueType::UINT16, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(wwStorageTemp1), DeviceValueUOM::DEGREES);
|
||||||
@@ -100,7 +105,7 @@ Water::Water(uint8_t device_type, uint8_t device_id, uint8_t product_id, const c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// SM100wwTemperature - 0x07D6
|
// SM100wwTemperature - 0x07D6, dhw4: 0x07D7
|
||||||
// Solar Module(0x2A) -> (0x00), (0x7D6), data: 01 C1 00 00 02 5B 01 AF 01 AD 80 00 01 90
|
// Solar Module(0x2A) -> (0x00), (0x7D6), data: 01 C1 00 00 02 5B 01 AF 01 AD 80 00 01 90
|
||||||
void Water::process_SM100wwTemperature(std::shared_ptr<const Telegram> telegram) {
|
void Water::process_SM100wwTemperature(std::shared_ptr<const Telegram> telegram) {
|
||||||
has_update(telegram, wwTemp_, 0); // is *10 TS17
|
has_update(telegram, wwTemp_, 0); // is *10 TS17
|
||||||
@@ -156,12 +161,10 @@ void Water::process_SM100ValveStatus(std::shared_ptr<const Telegram> telegram) {
|
|||||||
has_update(telegram, wwRetValve_, 1);
|
has_update(telegram, wwRetValve_, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
// SM100ww? - 0x7E0, some kind of status, dhw4: 0x7E1
|
||||||
// SM100ww? - 0x7E0, some kind of status
|
|
||||||
// data: 00 00 46 00 00 01 06 0E 06 0E 00 00 00 00 00 03 03 03 03
|
// data: 00 00 46 00 00 01 06 0E 06 0E 00 00 00 00 00 03 03 03 03
|
||||||
// publishes single values offset 1/2(16bit), offset 5, offset 6, offset 7, offset 8, offset 9,
|
// publishes single values offset 1/2(16bit), offset 5, offset 6, offset 7, offset 8, offset 9,
|
||||||
// status2 = 03:"no heat", 06:"heat request", 08:"disinfecting", 09:"hold"
|
// status2 = 03:"no heat", 06:"heat request", 08:"disinfecting", 09:"hold"
|
||||||
*/
|
|
||||||
void Water::process_SM100wwStatus2(std::shared_ptr<const Telegram> telegram) {
|
void Water::process_SM100wwStatus2(std::shared_ptr<const Telegram> telegram) {
|
||||||
// has_update(telegram, wwFlow_, 7); // single byte, wrong see #1387
|
// has_update(telegram, wwFlow_, 7); // single byte, wrong see #1387
|
||||||
has_update(telegram, wwStatus2_, 8);
|
has_update(telegram, wwStatus2_, 8);
|
||||||
@@ -170,6 +173,7 @@ void Water::process_SM100wwStatus2(std::shared_ptr<const Telegram> telegram) {
|
|||||||
|
|
||||||
// SM100wwCommand - 0x07AB
|
// SM100wwCommand - 0x07AB
|
||||||
// Thermostat(0x10) -> Solar Module(0x2A), (0x7AB), data: 01 00 01
|
// Thermostat(0x10) -> Solar Module(0x2A), (0x7AB), data: 01 00 01
|
||||||
|
// or dhw3 module (0x2A) -> dhw4 module(0x2B), (0x7C3), data: 01 01 00
|
||||||
void Water::process_SM100wwCommand(std::shared_ptr<const Telegram> telegram) {
|
void Water::process_SM100wwCommand(std::shared_ptr<const Telegram> telegram) {
|
||||||
// not implemented yet
|
// not implemented yet
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
#define EMSESP_APP_VERSION "3.8.2-dev.11"
|
#define EMSESP_APP_VERSION "3.8.2-dev.12"
|
||||||
|
|||||||
Reference in New Issue
Block a user