diff --git a/src/devices/ventilation.cpp b/src/devices/ventilation.cpp index 8dcdf6605..6b41fb8d8 100644 --- a/src/devices/ventilation.cpp +++ b/src/devices/ventilation.cpp @@ -30,7 +30,7 @@ Ventilation::Ventilation(uint8_t device_type, uint8_t device_id, uint8_t product register_telegram_type(0x583, "VentilationMonitor", false, MAKE_PF_CB(process_MonitorMessage)); register_telegram_type(0x5D9, "Airquality", false, MAKE_PF_CB(process_VOCMessage)); register_telegram_type(0x587, "Bypass", false, MAKE_PF_CB(process_BypassMessage)); - // register_telegram_type(0x5, "VentilationSet", true, MAKE_PF_CB(process_SetMessage)); + register_telegram_type(0x55C, "VentilationSet", true, MAKE_PF_CB(process_SetMessage)); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &outFresh_, @@ -50,8 +50,9 @@ Ventilation::Ventilation(uint8_t device_type, uint8_t device_id, uint8_t product register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &bypass_, DeviceValueType::BOOL, FL_(airbypass), DeviceValueUOM::NONE, MAKE_CF_CB(set_bypass)); } -// message +// message 0x055C, data: 08 01 11 17 void Ventilation::process_SetMessage(std::shared_ptr telegram) { + has_update(telegram, bypass_, 1); } // message 583 @@ -85,9 +86,10 @@ void Ventilation::process_ModeMessage(std::shared_ptr telegram) has_enumupdate(telegram, mode_, 0, -1); } -// message 0x0587, data: 01 00 +// message 0x0587, data: 00 00 64 00 64 0A 00 01 54 01 00 01 00 00 00 46 00 00 00 02 00 A3 00 A3 void Ventilation::process_BypassMessage(std::shared_ptr telegram) { - has_update(telegram, bypass_, 1); + // has_update(telegram, bypass_closing, 0); + // has_update(telegram, bypass_opening, 1); } bool Ventilation::set_ventMode(const char * value, const int8_t id) { diff --git a/src/devices/ventilation.h b/src/devices/ventilation.h index f76fc7185..d01dcd6a0 100644 --- a/src/devices/ventilation.h +++ b/src/devices/ventilation.h @@ -41,7 +41,7 @@ class Ventilation : public EMSdevice { uint8_t ventOutSpeed_; // handlers: 0x056B 0x0575 0x0583 0x0585 0x0586 0x0587 0x0588 0x058D 0x058E 0x058F 0x0590 0x05CF 0x05D9 0x05E3 - void process_SetMessage(std::shared_ptr telegram); + void process_SetMessage(std::shared_ptr telegram); // 0x55C void process_MonitorMessage(std::shared_ptr telegram); void process_ModeMessage(std::shared_ptr telegram); // 0x56B void process_BlowerMessage(std::shared_ptr telegram); // 0x56B