mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-10 01:39:54 +03:00
add Tado thermostat, old version device 0x19. no entities, no broadcast
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|
||||||
-
|
- detect old Tado thermostat, device-id 0x19, no entities
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
|
|||||||
@@ -1192,10 +1192,7 @@ void Thermostat::process_RC30Temp(std::shared_ptr<const Telegram> telegram) {
|
|||||||
|
|
||||||
// type 0x3E (HC1), 0x48 (HC2), 0x52 (HC3), 0x5C (HC4) - data from the RC35 thermostat (0x10) - 16 bytes
|
// type 0x3E (HC1), 0x48 (HC2), 0x52 (HC3), 0x5C (HC4) - data from the RC35 thermostat (0x10) - 16 bytes
|
||||||
void Thermostat::process_RC35Monitor(std::shared_ptr<const Telegram> telegram) {
|
void Thermostat::process_RC35Monitor(std::shared_ptr<const Telegram> telegram) {
|
||||||
// exit if the 15th byte (second from last) is 0x00, which I think is calculated flow setpoint temperature
|
// Check if heatingciruit is active, see https://github.com/emsesp/EMS-ESP32/issues/786
|
||||||
// with weather controlled RC35s this value is >=5, otherwise can be zero and our setpoint temps will be incorrect
|
|
||||||
// see https://github.com/emsesp/EMS-ESP/issues/373#issuecomment-627907301
|
|
||||||
// some RC30_N have only 13 byte, use byte 0 for active detection.
|
|
||||||
if (telegram->offset > 0 || telegram->message_data[0] == 0x00) {
|
if (telegram->offset > 0 || telegram->message_data[0] == 0x00) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -366,6 +366,7 @@ class EMSdevice {
|
|||||||
static constexpr uint8_t EMS_DEVICE_ID_RFSENSOR = 0x40; // RF sensor only sending, no reply
|
static constexpr uint8_t EMS_DEVICE_ID_RFSENSOR = 0x40; // RF sensor only sending, no reply
|
||||||
static constexpr uint8_t EMS_DEVICE_ID_RFBASE = 0x50;
|
static constexpr uint8_t EMS_DEVICE_ID_RFBASE = 0x50;
|
||||||
static constexpr uint8_t EMS_DEVICE_ID_ROOMTHERMOSTAT = 0x17; // TADO using this with no version reply
|
static constexpr uint8_t EMS_DEVICE_ID_ROOMTHERMOSTAT = 0x17; // TADO using this with no version reply
|
||||||
|
static constexpr uint8_t EMS_DEVICE_ID_TADO_OLD = 0x19; // TADO using this with no broadcast and version
|
||||||
|
|
||||||
// generic type IDs
|
// generic type IDs
|
||||||
static constexpr uint16_t EMS_TYPE_VERSION = 0x02; // type ID for Version information. Generic across all EMS devices.
|
static constexpr uint16_t EMS_TYPE_VERSION = 0x02; // type ID for Version information. Generic across all EMS devices.
|
||||||
|
|||||||
@@ -1057,7 +1057,7 @@ bool EMSESP::add_device(const uint8_t device_id, const uint8_t product_id, const
|
|||||||
// see: https://github.com/emsesp/EMS-ESP32/issues/103#issuecomment-911717342 and https://github.com/emsesp/EMS-ESP32/issues/624
|
// see: https://github.com/emsesp/EMS-ESP32/issues/103#issuecomment-911717342 and https://github.com/emsesp/EMS-ESP32/issues/624
|
||||||
name = "RF room temperature sensor";
|
name = "RF room temperature sensor";
|
||||||
device_type = DeviceType::THERMOSTAT;
|
device_type = DeviceType::THERMOSTAT;
|
||||||
} else if (device_id == EMSdevice::EMS_DEVICE_ID_ROOMTHERMOSTAT) {
|
} else if (device_id == EMSdevice::EMS_DEVICE_ID_ROOMTHERMOSTAT || device_id == EMSdevice::EMS_DEVICE_ID_TADO_OLD) {
|
||||||
name = "Generic thermostat";
|
name = "Generic thermostat";
|
||||||
device_type = DeviceType::THERMOSTAT;
|
device_type = DeviceType::THERMOSTAT;
|
||||||
flags = DeviceFlags::EMS_DEVICE_FLAG_RC10 | DeviceFlags::EMS_DEVICE_FLAG_NO_WRITE;
|
flags = DeviceFlags::EMS_DEVICE_FLAG_RC10 | DeviceFlags::EMS_DEVICE_FLAG_NO_WRITE;
|
||||||
|
|||||||
Reference in New Issue
Block a user