mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
map RFM200/T1RF to connect/extension
This commit is contained in:
@@ -70,8 +70,6 @@
|
||||
{206, DeviceType::CONTROLLER, "Ecomline", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // 0x09
|
||||
{207, DeviceType::CONTROLLER, "Sense II/CS200", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // 0x10
|
||||
{209, DeviceType::CONTROLLER, "ErP", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // 0x09
|
||||
{218, DeviceType::CONTROLLER, "M200/RFM200", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // 0x50
|
||||
{220, DeviceType::CONTROLLER, "BC30", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // 0x16
|
||||
{224, DeviceType::CONTROLLER, "9000i", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // 0x09
|
||||
{229, DeviceType::CONTROLLER, "8700i", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // 0x09
|
||||
{230, DeviceType::CONTROLLER, "BC Base", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // 0x09
|
||||
@@ -165,6 +163,7 @@
|
||||
{206, DeviceType::CONNECT, "Easy Connect", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||
|
||||
// Wireless sensor base - 0x50
|
||||
{218, DeviceType::CONNECT, "M200/RFM200", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||
{236, DeviceType::CONNECT, "Wireless sensor base", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||
{238, DeviceType::CONNECT, "Wireless sensor base", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||
|
||||
@@ -174,6 +173,9 @@
|
||||
// EM10/100 extension module, pump module - 0x15
|
||||
{ 243, DeviceType::EXTENSION, "EM10/EM100", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||
|
||||
// Wireless outdoor sensor T1RF - 0x16
|
||||
{ 220, DeviceType::EXTENSION, "T1RF", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // 0x16
|
||||
|
||||
// EM10 error contact and analog flowtemp control- 0x12
|
||||
{ 74, DeviceType::ALERT, "EM10", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||
|
||||
|
||||
@@ -24,6 +24,28 @@ REGISTER_FACTORY(Connect, EMSdevice::DeviceType::CONNECT);
|
||||
|
||||
Connect::Connect(uint8_t device_type, uint8_t device_id, uint8_t product_id, const char * version, const char * name, uint8_t flags, uint8_t brand)
|
||||
: EMSdevice(device_type, device_id, product_id, version, name, flags, brand) {
|
||||
if (device_id == 0x50) { // RF Base
|
||||
register_telegram_type(0xD1, "RFOutdoorTemp", false, MAKE_PF_CB(process_OutdoorTemp));
|
||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||
&outdoorTemp_,
|
||||
DeviceValueType::SHORT,
|
||||
DeviceValueNumOp::DV_NUMOP_DIV10,
|
||||
FL_(outdoorTemp),
|
||||
DeviceValueUOM::DEGREES);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* OutdoorTemp - type 0xD1 - external temperature
|
||||
*/
|
||||
void Connect::process_OutdoorTemp(std::shared_ptr<const Telegram> telegram) {
|
||||
has_update(telegram, outdoorTemp_, 0);
|
||||
}
|
||||
|
||||
} // namespace emsesp
|
||||
/* other values from 0x50 RF base
|
||||
(0x087F), data: 00 00
|
||||
(0x0880), data: 01 04
|
||||
(0x0889), data: 00 80 80 01
|
||||
*/
|
||||
|
||||
|
||||
} // namespace emsesp
|
||||
|
||||
@@ -26,6 +26,10 @@ namespace emsesp {
|
||||
class Connect : public EMSdevice {
|
||||
public:
|
||||
Connect(uint8_t device_type, uint8_t device_id, uint8_t product_id, const char * version, const char * name, uint8_t flags, uint8_t brand);
|
||||
|
||||
private:
|
||||
void process_OutdoorTemp(std::shared_ptr<const Telegram> telegram);
|
||||
int16_t outdoorTemp_;
|
||||
};
|
||||
|
||||
} // namespace emsesp
|
||||
|
||||
@@ -24,6 +24,11 @@ REGISTER_FACTORY(Extension, EMSdevice::DeviceType::EXTENSION);
|
||||
|
||||
Extension::Extension(uint8_t device_type, uint8_t device_id, uint8_t product_id, const char * version, const char * name, uint8_t flags, uint8_t brand)
|
||||
: EMSdevice(device_type, device_id, product_id, version, name, flags, brand) {
|
||||
if (device_id == 0x16) {
|
||||
// no entities for T1RF outdoor sensor, values are comming from RFbase 0x50 (connect)
|
||||
return;
|
||||
}
|
||||
// Extension module EM100 device_id 0x12
|
||||
register_telegram_type(0x935, "EM100SetMessage", true, MAKE_PF_CB(process_EM100SetMessage));
|
||||
register_telegram_type(0x936, "EM100OutMessage", false, MAKE_PF_CB(process_EM100OutMessage));
|
||||
register_telegram_type(0x937, "EM100TempMessage", false, MAKE_PF_CB(process_EM100TempMessage));
|
||||
|
||||
Reference in New Issue
Block a user