1 """Support for MQTT platform config setup."""
3 from __future__
import annotations
5 import voluptuous
as vol
24 CONF_DISCOVERY_PREFIX,
30 DEFAULT_TLS_PROTOCOL =
"auto"
32 CONFIG_SCHEMA_BASE = vol.Schema(
34 Platform.ALARM_CONTROL_PANEL.value: vol.All(cv.ensure_list, [dict]),
35 Platform.BINARY_SENSOR.value: vol.All(cv.ensure_list, [dict]),
36 Platform.BUTTON.value: vol.All(cv.ensure_list, [dict]),
37 Platform.CAMERA.value: vol.All(cv.ensure_list, [dict]),
38 Platform.CLIMATE.value: vol.All(cv.ensure_list, [dict]),
39 Platform.COVER.value: vol.All(cv.ensure_list, [dict]),
40 Platform.DEVICE_TRACKER.value: vol.All(cv.ensure_list, [dict]),
41 Platform.EVENT.value: vol.All(cv.ensure_list, [dict]),
42 Platform.FAN.value: vol.All(cv.ensure_list, [dict]),
43 Platform.HUMIDIFIER.value: vol.All(cv.ensure_list, [dict]),
44 Platform.IMAGE.value: vol.All(cv.ensure_list, [dict]),
45 Platform.LAWN_MOWER.value: vol.All(cv.ensure_list, [dict]),
46 Platform.LIGHT.value: vol.All(cv.ensure_list, [dict]),
47 Platform.LOCK.value: vol.All(cv.ensure_list, [dict]),
48 Platform.NOTIFY.value: vol.All(cv.ensure_list, [dict]),
49 Platform.NUMBER.value: vol.All(cv.ensure_list, [dict]),
50 Platform.SCENE.value: vol.All(cv.ensure_list, [dict]),
51 Platform.SELECT.value: vol.All(cv.ensure_list, [dict]),
52 Platform.SENSOR.value: vol.All(cv.ensure_list, [dict]),
53 Platform.SIREN.value: vol.All(cv.ensure_list, [dict]),
54 Platform.SWITCH.value: vol.All(cv.ensure_list, [dict]),
55 Platform.TEXT.value: vol.All(cv.ensure_list, [dict]),
56 Platform.UPDATE.value: vol.All(cv.ensure_list, [dict]),
57 Platform.VACUUM.value: vol.All(cv.ensure_list, [dict]),
58 Platform.VALVE.value: vol.All(cv.ensure_list, [dict]),
59 Platform.WATER_HEATER.value: vol.All(cv.ensure_list, [dict]),
64 CLIENT_KEY_AUTH_MSG = (
65 "client_key and client_cert must both be present in the MQTT broker configuration"
68 DEPRECATED_CONFIG_KEYS = [
73 CONF_DISCOVERY_PREFIX,
83 DEPRECATED_CERTIFICATE_CONFIG_KEYS = [