diff --git a/src/cud_display.cpp b/src/cud_display.cpp index 1489fb9..abcf251 100644 --- a/src/cud_display.cpp +++ b/src/cud_display.cpp @@ -283,4 +283,21 @@ void CUDDisplay::set_display_air_purifier_state(bool state) this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AIR_PURIFIER, state ? LCD_DASHBOARD_PIC_AIR_PURIFIER_ON : LCD_DASHBOARD_PIC_AIR_PURIFIER_OFF); this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AIR_PURIFIER, state ? LCD_DASHBOARD_PIC_AIR_PURIFIER_ON_PRESSED : LCD_DASHBOARD_PIC_AIR_PURIFIER_OFF_PRESSED); this->sendStopBytes(); +} + +void CUDDisplay::refresh_display() +{ + // Send every states to the display + this->set_display_light_all_state(); + this->set_display_fan_all_state(); + this->set_display_air_purifier_state(this->conf->outputCard->getState(this->conf->air_purifier_pin)); + this->set_display_mosquito_zapper_state(this->conf->outputCard->getState(this->conf->mosquito_zapper_pin)); + for (int i = 0; i < 4; i++) + { + this->set_display_light_state(i, this->conf->outputCard->getState(this->conf->light_pins[i])); + } + for (int i = 0; i < 3; i++) + { + this->set_display_fan_state(i, this->conf->outputCard->getState(this->conf->fan_pins[i])); + } } \ No newline at end of file diff --git a/src/cud_display.hpp b/src/cud_display.hpp index 6abe390..31615c8 100644 --- a/src/cud_display.hpp +++ b/src/cud_display.hpp @@ -65,6 +65,7 @@ class CUDDisplay : public ESPMegaDisplay void set_display_fan_all_state(); void set_display_mosquito_zapper_state(bool state); void set_display_air_purifier_state(bool state); + void refresh_display(); // Local Variables cud_display_conf_t *conf; cud_display_light_group_t light_group;