1

update light logic

This commit is contained in:
2025-07-02 19:34:24 -04:00
parent 02b6ee04cc
commit 6b139cdc9b
+15 -10
View File
@@ -94,23 +94,24 @@ void Hauslane::loop() {
button_press(pin_down, true); button_press(pin_down, true);
} }
} else if (this->light_cur != this->light_target) { } else if (this->light_cur != this->light_target) {
if (this->power) { if (this->speed==0 && !this->light_target) {
// press light button // request light turn off and fan is off, so simply hit power button
button_press(pin_light, true);
} else {
// power on hood first
button_press(pin_power, true); button_press(pin_power, true);
} else if (!this->power && this->light_target) {
// request light on and fan off, so power on hood first
button_press(pin_power, true);
} else if (this->power) {
// press light button to toggle
button_press(pin_light, true);
} }
} else { } else {
// target already met, so reset flag // target already met, so reset flag
this->meet_target=false; this->meet_target=false;
} }
} else if (this->speed==0 && !this->light_cur) { } else if (this->speed==0 && !this->light_cur && this->power) {
// reset power flag // reset power flag
if(this->power) { this->power=false;
this->power=false; ESP_LOGD(TAG, "Hood power: %d", this->power);
ESP_LOGD(TAG, "Hood power: %d", this->power);
}
} }
} }
} }
@@ -240,6 +241,10 @@ void Hauslane::set_state(bool set_light, uint8_t set_speed) {
this->send_fan_speed(set_speed); this->send_fan_speed(set_speed);
} }
} }
if (!this->power && (set_speed > 0 || set_light)) {
// set power to on if light or fan are on
this->power = true;
}
} }
// custom component API commands // custom component API commands