mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	Fix Template Switch restore_mode support (#4280)
fixes https://github.com/esphome/issues/issues/4020
This commit is contained in:
		| @@ -43,15 +43,16 @@ void TemplateSwitch::setup() { | ||||
|   if (!this->restore_state_) | ||||
|     return; | ||||
|  | ||||
|   auto restored = this->get_initial_state(); | ||||
|   if (!restored.has_value()) | ||||
|     return; | ||||
|   optional<bool> initial_state = this->get_initial_state_with_restore_mode(); | ||||
|  | ||||
|   ESP_LOGD(TAG, "  Restored state %s", ONOFF(*restored)); | ||||
|   if (*restored) { | ||||
|     this->turn_on(); | ||||
|   } else { | ||||
|     this->turn_off(); | ||||
|   if (initial_state.has_value()) { | ||||
|     ESP_LOGD(TAG, "  Restored state %s", ONOFF(initial_state.value())); | ||||
|     // if it has a value, restore_mode is not "DISABLED", therefore act on the switch: | ||||
|     if (initial_state.value()) { | ||||
|       this->turn_on(); | ||||
|     } else { | ||||
|       this->turn_off(); | ||||
|     } | ||||
|   } | ||||
| } | ||||
| void TemplateSwitch::dump_config() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user