From 742027acf06effdc38f19c90e12919c72662b793 Mon Sep 17 00:00:00 2001 From: reaw Date: Fri, 9 Feb 2024 15:52:01 +0700 Subject: [PATCH] fix aircon and other --- ise-display/ise-display-prod.HMI | Bin 37446253 -> 37446253 bytes src/ise_display.cpp | 89 +++++++++++++++++-------------- src/ise_display.hpp | 10 ++-- src/main.cpp | 68 +++++++++++++---------- 4 files changed, 93 insertions(+), 74 deletions(-) diff --git a/ise-display/ise-display-prod.HMI b/ise-display/ise-display-prod.HMI index c39453341d45eb75fceb68fe20eb5e4d35e0d026..c7b0d8c691b9188fce140c1de61a1087d7918c7c 100644 GIT binary patch delta 6665 zcmeI!Yg80v9LMozmSsUe1VI#66u~>7?1l;wxKvn{3SO|(5D8K70@yAn+AdB$HK=*T z981%*EYrLNI%-}pZ)tfU^Ol-gYMN4bODoO(KU|#6*3RjiUi1Ra`F_rG_L&);ot>T8 ziX9cc6_jv$jS#7EIc#PnQJS_IVSY)5Hc%HoFO)I1)6CcoGuu@;-&HH`(crbwwQNj7 zQv${In%TiU>b#len2zQ`ix+qpn=Yiyg@+D-*OFpv>`+6Rn<@AeYdxu7OFV-Q=9zp5AIgXEEIyo%;3N4c zp3QT3E+5Tb=4Ni;c|4zw;bVCLAIHb@S4yo%&b#J|OE=AvPn@?VrJi-cw}Y{M9*mu^ zkE6U9J7yny)m6vm>M>See?2vjF`IpSqLDi87tGkrsv|PiLrD*?ZLbw*q+_$(k?94& zhHzteBz^5zZu-#7V597tCU#V2R9cTV5SU`P9_PW2qAR~Qg9ab1yt9prX!NypJRZ4V2pbDu8N>YrN z8&ErW`R)RIoug@&W^(*mDXeg{z?hGH)n!`7rrO8d-5Hx!ea`4V9=DH6>!{~`x*uaF z?XQoh&)9zZI7ZLdKKoeLMBVpvh`P;+7FF96(n=T`*M_k%_8qQ9s2|*L17p|iucx+W z%on#v`pfR9jtgVd@r+n?yeN*btM+|oC8*Ns?eIyMba$EhP3tG-g>bJcMZi#ldw?PGeg?Cf~P{Os@ShLtf-`bhA1k8b;3 z_Oa&##`J=GFr>Vb+**+a$d!$3eU&Y4%jXJn`iQMk4D_)uOV+5&wA^&FrEPxt$hb&c zCmA_|GtGl@#$-o0+X9zP)fRcV&gPZVagxo&&&i(h=tELNId_N@AfMSF)l+gdOC27$ zVWJY0D4Cs4ZyPNJD&A@0sz*-uR(vwVe5cb&(`0Fn(;2KUQEAsl%5yrc(DZueGqj+8 zI^=;o(fJ`CoRKhPQh_+!Bf-g8i*!8S58Y_~{`tuXlf`Jo6tjGj=f66bAw1H_!Ne=p zXr;118td|39V~dZ_@5lCX92y<%d%Kn+v%0&>su70NK5e9>t5Nz`oqU1Fftp1viK)Jkmxxah$UE;yv6XdcklD~!p$O#7|KV5d_ z7|U3TEZ(vP2>!Bo-RfW5S??whGPEot|OI%Fj&87?zna;=zGZG(~<` zXES3IJsMcnkXCb>AN>KUhal>jJ zTXcGA9$V^z&G9zs7*zg<4N-pf*yUQk$sF)D~(hRYq;2KBKl%JE)!1E^0URIkkt{OMO9oN$sQdQwOMn zR5|q(b%^?!I!qm*j#9^{LPWC`jNU! zU7;$dpQxXyO6n?gjk-?Vpl(vXP`9Yt)UVWU)bG?C>Mr#Mb#IEhL6}Yf4R8Tk;0koW z4Y-3^zyo*!FHjqJgF3(m_=38?5BP(6AOO?{4L~4h2=t&42m*~k6A%oVf)Ef2nt|q^ z1!xIcf!3f62m|3D0<;C~KqRPo(?*OQ15uzo=m0u`Xb=NBfmrZ3hy(GUGcbV!@C0}g zJOvU#7w|NA26P3_g6BXt&>i#uNgx^Y1ie6S&}g z4!!{=z)5fld<#y4GvF-v4tx*Jf%D)3_yJr5m%xwUGPnXNz)#?3PzkPrYv4M#0d9g{ zz%6ha{0e>pzk@sAF8Bl76X^D*p@9H2zy)Z5E6@Qq;0|g558w&BKyBa+>Hr_$3+e(t z;1BA708k$^0D+(((1S)G2s8#wKrm{J2AYEwpe1MpT7xzq41|LS&=#}teM1l681Lz2%K@8}m*-E!RO{U>bViiAf delta 4637 zcmeIyeR$1vAHebNIeW6%n5V@K%jO|$W>{;Rhn9!b)Q&Mi;V`9C3`xw!$+u3z#Nt#` zQ}iGi4M(0fnP(HpL$+yzN>)=wB=vc7+~;?7cmH$$bzk?@uIv4}K0EvU&iUOBJ01M znzz@ka)Ra5%-n8)%R8vQoH{tcapP3eUoMWP>$KLPN-_(=f_!Uvr&pXjpBrdt=zZ#J z;kp^A7DuYZB$*{I$y@S~d|jy)zx>m=HcRV&?gV#YhRx!z$*r=F&CR?y2w9z4U$hex0m)>j(6M zIz?M`ADycE>V7&+_tyjTLwcYdqzCJV^&@(S9;%0Fn;x!5=yW|&KdK+oqx9qY2|Zdr zsh`qM>oIz)&d}rZcs)TsqbKTT^(6hAo~)PeuTPW33l2E{yUWUSUrK+u ztm*Fguw2%yxxeAElK=B%Rn&7;`DNQpH6p6b)s~*+GeUw^l=qp> z2FJ^P8SdO?wMR~yZBpu}`R0F}?yb}m_Z5`;DRt}02G&$+hx_rc+Dh$m&u8TZ?{?4m zAxdp@&!golX@h%i9_BgsT)5|$Wi4(TGwsGJ4{NQ|B=-qNqCD@EHAblt_v4LYm8#>u z(6(`&xvTs$w;s19dS+W^rS`hdjZE^)m%4lAt-a*+Z+$EhdwV_#>r*^)TwkRE6)JoB!J?%7|Sbm3&B>Y1HOQtb;|g%fj5n4I}t z9P!S=NjaTdMQQe7Ud}#w_84bIS4RWa*v*cH~4L-?v@#LcbQ>#ZHCl${qnPGQh4ZGXZu)6~cyBnV5+1K-i-E|pvH^#8L zD-F9FW!T*~!|o;-b~o9uyJ?2qjWFzPm0@?c79|xX zl}Y8&3F&L8LOLm(lD?5nOJ}6B(znug()ZFi=?Ce&R4M%^{UlXM7o?x1U!;ptwRB0k zEd457k*-R=N!O&`rR&lkv&L>V&6U6mUf>Nr;0u0G1NLKL)xXlMs9&>lKKM~Hcu0Um=medi3v`9MAqnn*ZqOZiKu@?Adcl2gKO{qMcmN)R6tF@cNQJ)857MAN z41kAVAPj=R@Gv|ALtrQj0~-v75s(fe;Zb-DM#1Co1dN6!;VF0;#=uy}fN?M$CcrZ= z5uSxf@ElBrDUbnFc0QKF1!j0 zU?Di+HFzD~fJLwv-h{W{ZODTq@D98SOJNzj2k*lN@F6URk6;CS3@afYR>5lc1PWjc ztc7*pg7xqzY=Dih2{ywPD1;)|3ZKC?D2DB@19rkL*bRGNFYJR7*bkq>0XPU>z#;e& z4#N>R3di6pI1Z&y2IX)9zJ>}o38&y2I1OjuEPM;!!S`?uet`2(2|vP5Pz4v@XZQs! zLN#21%kV2)fvfNvT!Y`?I{aahuRpU4CNP5+c!Ll4f*;fXe+Yn@5C}m~3u;3!)PcHC z59&h$2!Y$6AvA(eus~yI0%34FG=*@8fM(DfT0l#<16o0AXakWD1#KZ3+CdDohYrvY VV&P7RgS#Le63m72^=H1m^iM&<6lVYc diff --git a/src/ise_display.cpp b/src/ise_display.cpp index 7f6eb9b..6aaa8be 100644 --- a/src/ise_display.cpp +++ b/src/ise_display.cpp @@ -25,7 +25,7 @@ void ISEDisplay::begin(DigitalInputCard *inputCard, DigitalOutputCard *outputCar this->lightLevelRow2 = 0; this->lightLevelRow3 = 0; this->lightLevelRow4 = 0; - this->time_since_last_screen_update = 0; + //this->time_since_last_screen_update = 0; this->registerTouchCallback(bindedHandleTouch); this->reset(); delay(1000); @@ -36,7 +36,6 @@ void ISEDisplay::begin(DigitalInputCard *inputCard, DigitalOutputCard *outputCar this->updateAirPurifierState(); this->updateACState(); this->updateLightGroupStatePageDashboard(); - this->updateLightGroupStatePageStandby(); this->outputCard->setValue(6,pm_fan_speed); this->outputCard->setValue(5,0); this->outputCard->setValue(1,0); @@ -55,22 +54,22 @@ void ISEDisplay::loop() // Update the time since the last screen update using millis() - u_int32_t current_time = millis(); + // u_int32_t current_time = millis(); - if (current_time - this->time_since_last_screen_update > 120000) - { - // jump to standby page if there is no activity for 2 minutes - if(this->currentPage != 1){ - this->jumpToPage(1); - ESP_LOGI("ISEDisplay", "Jumping to standby page"); - } - } + // if (current_time - this->time_since_last_screen_update > 120000) + // { + // // jump to standby page if there is no activity for 2 minutes + // if(this->currentPage != 1){ + // this->jumpToPage(1); + // ESP_LOGI("ISEDisplay", "Jumping to standby page"); + // } + // } } void ISEDisplay::handleTouch(uint8_t page, uint8_t component, uint8_t touch_type) { ESP_LOGD("ISEDisplay", "Touch detected on page %d, component %d, touch type %d", page, component, touch_type); - time_since_last_screen_update = millis(); // update time since last activity + //time_since_last_screen_update = millis(); // update time since last activity if (page == PAGE_STANDBY) { switch (component) @@ -81,7 +80,7 @@ void ISEDisplay::handleTouch(uint8_t page, uint8_t component, uint8_t touch_type // TODO : Should you really jump to page 2 here? should't page jumping be handled reactivly? // EX. if atleast one light is on, then jump to active page, else jump to standby page // This will allow page to change correctly when the system is started and when controlled remotely which won't call handleTouch - time_since_last_screen_update = millis(); + //time_since_last_screen_update = millis(); this->jumpToPage(2); // the function of the button is to open the dashboard from standby break; @@ -130,7 +129,6 @@ void ISEDisplay::handleTouch(uint8_t page, uint8_t component, uint8_t touch_type { setLightLevel(i, 1); } - updateLightGroupStatePageDashboard(); break; case COMPONENT_LIGHT_MASTER_LEVEL2_TOUCHPOINT: if (touch_type != TOUCH_TYPE_RELEASE) @@ -139,7 +137,6 @@ void ISEDisplay::handleTouch(uint8_t page, uint8_t component, uint8_t touch_type { setLightLevel(i, 2); } - updateLightGroupStatePageDashboard(); break; case COMPONENT_LIGHT_MASTER_LEVEL3_TOUCHPOINT: if (touch_type != TOUCH_TYPE_RELEASE) @@ -148,7 +145,6 @@ void ISEDisplay::handleTouch(uint8_t page, uint8_t component, uint8_t touch_type { setLightLevel(i, 3); } - updateLightGroupStatePageDashboard(); break; case COMPONENT_LIGHT_ROW1_SLIDER: if (touch_type != TOUCH_TYPE_RELEASE) @@ -211,20 +207,23 @@ void ISEDisplay::handleTouch(uint8_t page, uint8_t component, uint8_t touch_type ac_fan_speed = this->climateCard->getFanSpeed(); // We have auto, low, mid, high right?, that's 0,1,2,3 a modulo operation of 3 only gives 0,1,2 // mod 4 should fixed it - this->climateCard->setFanSpeed((ac_fan_speed + 1) % 4); - updateACState(); + ESP_LOGI("ISEDisplay", "Current AC fan speed: %d", ac_fan_speed); + ac_fan_speed = (ac_fan_speed + 1) % 4; + ESP_LOGI("ISEDisplay", "New AC fan speed: %d", ac_fan_speed); + this->climateCard->setFanSpeed(ac_fan_speed); + //updateACState(); break; case COMPONENT_AC_TEMP_DOWN_BUTTON: if (touch_type != TOUCH_TYPE_RELEASE) break; this->climateCard->setTemperature(this->climateCard->getTemperature() - 1); - updateACState(); + //updateACState(); break; case COMPONENT_AC_TEMP_UP_BUTTON: if (touch_type != TOUCH_TYPE_RELEASE) break; this->climateCard->setTemperature(this->climateCard->getTemperature() + 1); - updateACState(); + //updateACState(); break; case COMPONENT_PM_TOGGLE_BUTTON: if (touch_type != TOUCH_TYPE_RELEASE) @@ -273,13 +272,13 @@ void ISEDisplay::handlePWMChange(uint8_t pin, bool state, uint16_t value) { // Light updateLightGroupStatePageStandby(); - time_since_last_screen_update = millis(); // update time since last activity + //time_since_last_screen_update = millis(); // update time since last activity } else if (pin == 4 || pin == 5) { // Air Purifier updateAirPurifierStateStandby(); - time_since_last_screen_update = millis(); // update time since last activity + //time_since_last_screen_update = millis(); // update time since last activity } } else if (current_page == PAGE_DASHBOARD) @@ -288,13 +287,13 @@ void ISEDisplay::handlePWMChange(uint8_t pin, bool state, uint16_t value) { // Light updateLightGroupStatePageDashboard(); - time_since_last_screen_update = millis(); // update time since last activity + //time_since_last_screen_update = millis(); // update time since last activity } else if (pin == 4 || pin == 5) { // Air Purifier updateAirPurifierState(); - time_since_last_screen_update = millis(); // update time since last activity + //time_since_last_screen_update = millis(); // update time since last activity } } else @@ -416,10 +415,16 @@ void ISEDisplay::setPMstate(bool is_pm_on, uint8_t pm_fan_speed) void ISEDisplay::setACstate(uint8_t ac_fan_speed, uint8_t ac_mode, uint8_t ac_temperature) { - this->climateCard->setTemperature(ac_temperature); + ESP_LOGI("ISEDisplay", "Setting AC state: = fan speed: %d, mode: %d, temperature: %d", ac_fan_speed, ac_mode, ac_temperature); + + this->climateCard->setFanSpeed(ac_fan_speed); + ESP_LOGI("ISEDisplay", "AC fan speed set to: %d", ac_fan_speed); this->climateCard->setMode(ac_mode); - updateACState(); + ESP_LOGI("ISEDisplay", "AC mode set to: %d", ac_mode); + this->climateCard->setTemperature(ac_temperature); + ESP_LOGI("ISEDisplay", "AC temperature set to: %d", ac_temperature); + //updateACState(); } void ISEDisplay::toggleLightGroupState() { @@ -431,7 +436,6 @@ void ISEDisplay::toggleLightGroupState() { setLightLevel(i, state ? 0 : 3); } - updateLightGroupStatePageDashboard(); } void ISEDisplay::toggleLightGroupStateStandby() { @@ -443,7 +447,7 @@ void ISEDisplay::toggleLightGroupStateStandby() { setLightLevel(i, state ? 0 : 3); } - updateLightGroupStatePageStandby(); + //updateLightGroupStatePageStandby(); } void ISEDisplay::togglePM() { @@ -498,18 +502,23 @@ void ISEDisplay::changeUserACmode() { // Get the current group state uint8_t mode = this->climateCard->getMode(); + ESP_LOGI("ISEDisplay", "Current actual AC mode: %d", mode); // Toggle the state // user mode alternate between 1 and 2 - user_mode = (user_mode + 1) % 2 + 1; + ESP_LOGI("ISEDisplay", "User mode BEFORE: %d", user_mode); + user_mode = (user_mode) % 2 + 1; + ESP_LOGI("ISEDisplay", "User mode AFTER: %d", user_mode); if (mode != 0) { // update mode to new mode mode = user_mode; + ESP_LOGI("ISEDisplay", "change actual AC mode to user mode: %d", mode); } else { // ie mode is off // do nothing as the state is keep in user_mode // the mode will change to user_mode when turn on by toggleAC() + ESP_LOGI("ISEDisplay", "do nothing; user mode: %d , actual mode: %d", user_mode, mode); } updateuserACmode(); // call to update mode part of the display seperately } @@ -622,7 +631,6 @@ void ISEDisplay::toggleLightIndividual(uint8_t row) } // Set the state setLightLevel(row, state); - updateLightGroupStatePageDashboard(); } void ISEDisplay::toggleSliderLight(uint8_t row, uint8_t lightLevel) { @@ -651,7 +659,6 @@ void ISEDisplay::toggleSliderLight(uint8_t row, uint8_t lightLevel) } // Set the state setLightLevel(row, state); - updateLightGroupStatePageDashboard(); } void ISEDisplay::updateAirPurifierStateStandby() { @@ -700,11 +707,13 @@ void ISEDisplay::updateAirPurifierState() } void ISEDisplay::handleACChange(uint8_t mode, uint8_t fan_speed, uint8_t temperature) { + ESP_LOGI("ISEDisplay", "AC state changed: mode: %d, fan speed: %d, temperature: %d", mode, fan_speed, temperature); updateACState(); } void ISEDisplay::updateuserACmode() { this->takeSerialMutex(); + ESP_LOGI("ISEDisplay", "updating display user AC mode to: %d", user_mode); switch (user_mode) { case 1: @@ -731,38 +740,39 @@ void ISEDisplay::updateuserACmode() void ISEDisplay::updateACfanSpeed() { uint8_t fan_speed = this->climateCard->getFanSpeed(); + ESP_LOGI("ISEDisplay", "updating display AC fan speed to: %d", fan_speed); this->takeSerialMutex(); switch (fan_speed) { case 0: - this->displayAdapter->print("ac_fan.pic="); + this->displayAdapter->print("ac_speed.pic="); this->displayAdapter->print(COMPONENT_AC_FAN_MODE_AUTO_PIC); this->sendStopBytes(); - this->displayAdapter->print("ac_fan.pic2="); + this->displayAdapter->print("ac_speed.pic2="); this->displayAdapter->print(COMPONENT_AC_FAN_MODE_AUTO_PIC_PRESSED); this->sendStopBytes(); break; case 1: - this->displayAdapter->print("ac_fan.pic="); + this->displayAdapter->print("ac_speed.pic="); this->displayAdapter->print(COMPONENT_AC_FAN_MODE_HIGH_PIC); this->sendStopBytes(); - this->displayAdapter->print("ac_fan.pic2="); + this->displayAdapter->print("ac_speed.pic2="); this->displayAdapter->print(COMPONENT_AC_FAN_MODE_HIGH_PIC_PRESSED); this->sendStopBytes(); break; case 2: - this->displayAdapter->print("ac_fan.pic="); + this->displayAdapter->print("ac_speed.pic="); this->displayAdapter->print(COMPONENT_AC_FAN_MODE_MID_PIC); this->sendStopBytes(); - this->displayAdapter->print("ac_fan.pic2="); + this->displayAdapter->print("ac_speed.pic2="); this->displayAdapter->print(COMPONENT_AC_FAN_MODE_MID_PIC_PRESSED); this->sendStopBytes(); break; case 3: - this->displayAdapter->print("ac_fan.pic="); + this->displayAdapter->print("ac_speed.pic="); this->displayAdapter->print(COMPONENT_AC_FAN_MODE_LOW_PIC); this->sendStopBytes(); - this->displayAdapter->print("ac_fan.pic2="); + this->displayAdapter->print("ac_speed.pic2="); this->displayAdapter->print(COMPONENT_AC_FAN_MODE_LOW_PIC_PRESSED); this->sendStopBytes(); break; @@ -821,4 +831,5 @@ void ISEDisplay::updateACState() this->sendStopBytes(); this->giveSerialMutex(); + ESP_LOGI("ISEDisplay", "display AC state updated"); } diff --git a/src/ise_display.hpp b/src/ise_display.hpp index 446b437..46e4b7e 100644 --- a/src/ise_display.hpp +++ b/src/ise_display.hpp @@ -22,6 +22,9 @@ class ISEDisplay : public ESPMegaDisplay { ISEDisplay(HardwareSerial* adapter); void begin(DigitalInputCard* inputCard, DigitalOutputCard* outputCard, ClimateCard* climateCard); void updateLightGroupStatePageDashboard(); + void updateLightGroupStatePageStandby(); + void updateAirPurifierState(); + void updateAirPurifierStateStandby(); void updateDateTimeText(rtctime_t time); void updateWeather(char *weather_string); void updateTempOutside(float temp_outside); @@ -56,14 +59,9 @@ class ISEDisplay : public ESPMegaDisplay { u_int8_t lightLevelRow3; u_int8_t lightLevelRow4; - + void updateACState(); void updateuserACmode(); void updateACfanSpeed(); - void updateLightGroupStatePageStandby(); - void updateAirPurifierState(); - void updateAirPurifierStateStandby(); - void updateACState(); - bool calculateLightGroupState(); void toggleLightGroupState(); void toggleLightGroupStateStandby(); diff --git a/src/main.cpp b/src/main.cpp index ad4f45d..992f131 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -28,7 +28,6 @@ ClimateCard climateCard = ClimateCard(AIR_CONDITIONER_IR_PIN, ac, void handleMqttMessage(char *topic, char *payload) { - } void sendStopBytes() @@ -122,19 +121,18 @@ void loop() iseDisplay.loop(); // Update the time every 15 seconds - //static bool run_when_init = false; // No static ? , this shit will reset to 0 every loop + // static bool run_when_init = false; // No static ? , this shit will reset to 0 every loop static uint32_t last_time_updated = 0; - //rtctime_t time = espmega.getTime(); - //when init update once then update every 15 seconds - // You don't need this, when it go from page 0 to 1 it call handlePageChange - // if(!run_when_init){ - // time = espmega.getTime(); - // iseDisplay.updateDateTimeText(time); - // last_time_updated = millis(); - // run_when_init = true; - // } - - + // rtctime_t time = espmega.getTime(); + // when init update once then update every 15 seconds + // You don't need this, when it go from page 0 to 1 it call handlePageChange + // if(!run_when_init){ + // time = espmega.getTime(); + // iseDisplay.updateDateTimeText(time); + // last_time_updated = millis(); + // run_when_init = true; + // } + if (millis() - last_time_updated > 15000) { rtctime_t time = espmega.getTime(); @@ -168,12 +166,10 @@ void loop() // iseDisplay.updateWeather(weather_value); // last_weather_update = millis(); // } - } void on_pin_change(uint8_t pin, uint8_t value) { - } // uint16_t get_pm25_out() @@ -191,22 +187,36 @@ void on_pin_change(uint8_t pin, uint8_t value) // return temp_out_value; // } -void handlePageChange(uint8_t page) { +void handlePageChange(uint8_t page) +{ // Which already send the time - //printESP_LOGI the page have changed + // printESP_LOGI the page have changed ESP_LOGI("Page", "Page change to: %d", page); rtctime_t time = espmega.getTime(); iseDisplay.updateDateTimeText(time); - iseDisplay.updateLightGroupStatePageDashboard(); - //iseDisplay.updatePMinside(); - /* iseDisplay.updatePMoutside(get_pm25_out()); - iseDisplay.updateWeather(weather.getValue()); - iseDisplay.updateTempOutside(get_temp_out()); */ - /* iseDisplay.updateACState(); - iseDisplay.updateAirPurifierState(); - iseDisplay.updateLightGroupStatePageStandby(); - iseDisplay.updateLightGroupStatePageDashboard(); - iseDisplay.updateuserACmode(); - iseDisplay.updateAirPurifierStateStandby(); */ -} \ No newline at end of file + switch (page) + { + case PAGE_STANDBY: + iseDisplay.updateLightGroupStatePageStandby(); + iseDisplay.updateAirPurifierStateStandby(); + break; + case PAGE_DASHBOARD: + iseDisplay.updateLightGroupStatePageDashboard(); + iseDisplay.updateAirPurifierState(); + break; + default: + break; + } + + // iseDisplay.updatePMinside(); + /* iseDisplay.updatePMoutside(get_pm25_out()); + iseDisplay.updateWeather(weather.getValue()); + iseDisplay.updateTempOutside(get_temp_out()); */ + /* iseDisplay.updateACState(); + iseDisplay.updateAirPurifierState(); + iseDisplay.updateLightGroupStatePageStandby(); + iseDisplay.updateLightGroupStatePageDashboard(); + iseDisplay.updateuserACmode(); + iseDisplay.updateAirPurifierStateStandby(); */ + } \ No newline at end of file