mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	Require arduino in webserver for better validation (#2941)
This commit is contained in:
		| @@ -22,31 +22,38 @@ AUTO_LOAD = ["json", "web_server_base"] | ||||
| web_server_ns = cg.esphome_ns.namespace("web_server") | ||||
| WebServer = web_server_ns.class_("WebServer", cg.Component, cg.Controller) | ||||
|  | ||||
| CONFIG_SCHEMA = cv.Schema( | ||||
|     { | ||||
|         cv.GenerateID(): cv.declare_id(WebServer), | ||||
|         cv.Optional(CONF_PORT, default=80): cv.port, | ||||
|         cv.Optional( | ||||
|             CONF_CSS_URL, default="https://esphome.io/_static/webserver-v1.min.css" | ||||
|         ): cv.string, | ||||
|         cv.Optional(CONF_CSS_INCLUDE): cv.file_, | ||||
|         cv.Optional( | ||||
|             CONF_JS_URL, default="https://esphome.io/_static/webserver-v1.min.js" | ||||
|         ): cv.string, | ||||
|         cv.Optional(CONF_JS_INCLUDE): cv.file_, | ||||
|         cv.Optional(CONF_AUTH): cv.Schema( | ||||
|             { | ||||
|                 cv.Required(CONF_USERNAME): cv.All(cv.string_strict, cv.Length(min=1)), | ||||
|                 cv.Required(CONF_PASSWORD): cv.All(cv.string_strict, cv.Length(min=1)), | ||||
|             } | ||||
|         ), | ||||
|         cv.GenerateID(CONF_WEB_SERVER_BASE_ID): cv.use_id( | ||||
|             web_server_base.WebServerBase | ||||
|         ), | ||||
|         cv.Optional(CONF_INCLUDE_INTERNAL, default=False): cv.boolean, | ||||
|         cv.Optional(CONF_OTA, default=True): cv.boolean, | ||||
|     } | ||||
| ).extend(cv.COMPONENT_SCHEMA) | ||||
| CONFIG_SCHEMA = cv.All( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             cv.GenerateID(): cv.declare_id(WebServer), | ||||
|             cv.Optional(CONF_PORT, default=80): cv.port, | ||||
|             cv.Optional( | ||||
|                 CONF_CSS_URL, default="https://esphome.io/_static/webserver-v1.min.css" | ||||
|             ): cv.string, | ||||
|             cv.Optional(CONF_CSS_INCLUDE): cv.file_, | ||||
|             cv.Optional( | ||||
|                 CONF_JS_URL, default="https://esphome.io/_static/webserver-v1.min.js" | ||||
|             ): cv.string, | ||||
|             cv.Optional(CONF_JS_INCLUDE): cv.file_, | ||||
|             cv.Optional(CONF_AUTH): cv.Schema( | ||||
|                 { | ||||
|                     cv.Required(CONF_USERNAME): cv.All( | ||||
|                         cv.string_strict, cv.Length(min=1) | ||||
|                     ), | ||||
|                     cv.Required(CONF_PASSWORD): cv.All( | ||||
|                         cv.string_strict, cv.Length(min=1) | ||||
|                     ), | ||||
|                 } | ||||
|             ), | ||||
|             cv.GenerateID(CONF_WEB_SERVER_BASE_ID): cv.use_id( | ||||
|                 web_server_base.WebServerBase | ||||
|             ), | ||||
|             cv.Optional(CONF_INCLUDE_INTERNAL, default=False): cv.boolean, | ||||
|             cv.Optional(CONF_OTA, default=True): cv.boolean, | ||||
|         }, | ||||
|     ).extend(cv.COMPONENT_SCHEMA), | ||||
|     cv.only_with_arduino, | ||||
| ) | ||||
|  | ||||
|  | ||||
| @coroutine_with_priority(40.0) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user