mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	Validate wifi power save mode
This commit is contained in:
		| @@ -1,13 +1,27 @@ | |||||||
| import esphome.codegen as cg | import esphome.codegen as cg | ||||||
| from esphome.components import uart | from esphome.components import uart | ||||||
| import esphome.config_validation as cv | import esphome.config_validation as cv | ||||||
| from esphome.const import CONF_ID | from esphome.const import CONF_ID, CONF_POWER_SAVE_MODE, CONF_WIFI | ||||||
|  | import esphome.final_validate as fv | ||||||
|  |  | ||||||
| DEPENDENCIES = ["api", "uart"] | DEPENDENCIES = ["api", "uart"] | ||||||
|  |  | ||||||
| zwave_proxy_ns = cg.esphome_ns.namespace("zwave_proxy") | zwave_proxy_ns = cg.esphome_ns.namespace("zwave_proxy") | ||||||
| ZWaveProxy = zwave_proxy_ns.class_("ZWaveProxy", cg.Component, uart.UARTDevice) | ZWaveProxy = zwave_proxy_ns.class_("ZWaveProxy", cg.Component, uart.UARTDevice) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | def final_validate(config): | ||||||
|  |     full_config = fv.full_config.get() | ||||||
|  |     if (wifi_conf := full_config.get(CONF_WIFI)) and ( | ||||||
|  |         wifi_conf.get(CONF_POWER_SAVE_MODE).lower() != "none" | ||||||
|  |     ): | ||||||
|  |         raise cv.Invalid( | ||||||
|  |             f"{CONF_WIFI} {CONF_POWER_SAVE_MODE} must be set to 'none' when using Z-Wave proxy" | ||||||
|  |         ) | ||||||
|  |  | ||||||
|  |     return config | ||||||
|  |  | ||||||
|  |  | ||||||
| CONFIG_SCHEMA = ( | CONFIG_SCHEMA = ( | ||||||
|     cv.Schema( |     cv.Schema( | ||||||
|         { |         { | ||||||
| @@ -18,6 +32,8 @@ CONFIG_SCHEMA = ( | |||||||
|     .extend(uart.UART_DEVICE_SCHEMA) |     .extend(uart.UART_DEVICE_SCHEMA) | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | FINAL_VALIDATE_SCHEMA = final_validate | ||||||
|  |  | ||||||
|  |  | ||||||
| async def to_code(config): | async def to_code(config): | ||||||
|     var = cg.new_Pvariable(config[CONF_ID]) |     var = cg.new_Pvariable(config[CONF_ID]) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user