From 1f08940e477f72ec8e9bcde4c140d32df125d974 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Wed, 18 Jan 2023 08:59:58 +0100 Subject: [PATCH] add thermostat Rego 3000, TR120RF, heatpump modules, #917 --- src/device_library.h | 5 ++++- src/emsesp.cpp | 12 +++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/device_library.h b/src/device_library.h index 48f2d44b4..1a113e23a 100644 --- a/src/device_library.h +++ b/src/device_library.h @@ -40,7 +40,7 @@ {167, DeviceType::BOILER, "Cerapur Aero", DeviceFlags::EMS_DEVICE_FLAG_NONE}, {168, DeviceType::BOILER, "Hybrid Heatpump", DeviceFlags::EMS_DEVICE_FLAG_HYBRID}, {170, DeviceType::BOILER, "Logano GB212", DeviceFlags::EMS_DEVICE_FLAG_NONE}, -{172, DeviceType::BOILER, "Enviline/Compress 6000AW/Hybrid 3000-7000iAW/SupraEco/Geo 5xx/WLW196i", DeviceFlags::EMS_DEVICE_FLAG_HEATPUMP}, +{172, DeviceType::BOILER, "Enviline/Compress 6000AW/Hybrid 3000-7000iAW/SupraEco/Geo 5xx/WLW196i/WSW196i", DeviceFlags::EMS_DEVICE_FLAG_HEATPUMP}, {173, DeviceType::BOILER, "Geo 5xx", DeviceFlags::EMS_DEVICE_FLAG_HEATPUMP}, {195, DeviceType::BOILER, "Condens 5000i/Greenstar 8000/GC9800IW", DeviceFlags::EMS_DEVICE_FLAG_NONE}, {203, DeviceType::BOILER, "Logamax U122/Cerapur", DeviceFlags::EMS_DEVICE_FLAG_NONE}, @@ -98,6 +98,7 @@ {172, DeviceType::THERMOSTAT, "Rego 2000/3000", DeviceFlags::EMS_DEVICE_FLAG_RC300}, // 0x10 {216, DeviceType::THERMOSTAT, "CRF200S", DeviceFlags::EMS_DEVICE_FLAG_CRF | DeviceFlags::EMS_DEVICE_FLAG_NO_WRITE}, // 0x18 {246, DeviceType::THERMOSTAT, "Comfort+2RF", DeviceFlags::EMS_DEVICE_FLAG_CRF | DeviceFlags::EMS_DEVICE_FLAG_NO_WRITE}, // 0x18 +{253, DeviceType::THERMOSTAT, "Rego 3000", DeviceFlags::EMS_DEVICE_FLAG_RC300}, // 0x10 // Thermostat - Sieger - 0x10 / 0x17 { 66, DeviceType::THERMOSTAT, "ES72/RC20", DeviceFlags::EMS_DEVICE_FLAG_RC20_N}, // 0x17 or remote @@ -120,6 +121,7 @@ // Thermostat remote - 0x38 { 3, DeviceType::THERMOSTAT, "RT800", DeviceFlags::EMS_DEVICE_FLAG_RC100H}, {200, DeviceType::THERMOSTAT, "RC100H", DeviceFlags::EMS_DEVICE_FLAG_RC100H}, +{249, DeviceType::THERMOSTAT, "TR120RF", DeviceFlags::EMS_DEVICE_FLAG_RC100H}, // Solar Modules - 0x30 (for solar), 0x2A, 0x41 (for ww) { 73, DeviceType::SOLAR, "SM10", DeviceFlags::EMS_DEVICE_FLAG_SM10}, @@ -140,6 +142,7 @@ {204, DeviceType::MIXER, "MP100", DeviceFlags::EMS_DEVICE_FLAG_MP}, // pool // Heat Pumps - 0x38? This is a thermostat like RC100H +// also prod-id of wifi module and wireless base {252, DeviceType::HEATPUMP, "HP Module", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // Heat Pumps - 0x53 diff --git a/src/emsesp.cpp b/src/emsesp.cpp index bb9f998d6..73d24632b 100644 --- a/src/emsesp.cpp +++ b/src/emsesp.cpp @@ -1021,10 +1021,20 @@ bool EMSESP::add_device(const uint8_t device_id, const uint8_t product_id, const } } else if (device.device_type == DeviceType::HEATSOURCE) { device_p = &device; - if (device_id == EMSdevice::EMS_DEVICE_ID_BOILER) { // AHS as only heatsource on d 0x08 + if (device_id == EMSdevice::EMS_DEVICE_ID_BOILER) { // AHS as only heatsource on id 0x08 device_p->device_type = DeviceType::BOILER; } break; + } else if (device.device_type == DeviceType::HEATPUMP) { // integrated modules, same product_id + device_p = &device; + if (device_id == 0x48) { + device_p->device_type = DeviceType::GATEWAY; + device_p->name = "WiFi module"; + } else if (device_id == 0x50) { + device_p->device_type = DeviceType::CONNECT; + device_p->name = "Wireless sensor base"; + } + break; } else { // it's not a boiler, but we have a match device_p = &device;