1 = MQTT_BASE_SCHEMA.extend(
3 vol.Optional(CONF_COMMAND_TOPIC): valid_publish_topic,
4 vol.Optional(CONF_COMMAND_TEMPLATE): cv.template,
5 vol.Optional(CONF_DEVICE_CLASS): vol.Any(DEVICE_CLASSES_SCHEMA,
None),
6 vol.Optional(CONF_NAME): vol.Any(cv.string,
None),
7 vol.Optional(CONF_OPTIMISTIC, default=DEFAULT_OPTIMISTIC): cv.boolean,
8 vol.Optional(CONF_PAYLOAD_CLOSE): vol.Any(cv.string,
None),
9 vol.Optional(CONF_PAYLOAD_OPEN): vol.Any(cv.string,
None),
10 vol.Optional(CONF_PAYLOAD_STOP): vol.Any(cv.string,
None),
11 vol.Optional(CONF_POSITION_CLOSED, default=DEFAULT_POSITION_CLOSED): int,
12 vol.Optional(CONF_POSITION_OPEN, default=DEFAULT_POSITION_OPEN): int,
13 vol.Optional(CONF_REPORTS_POSITION, default=
False): cv.boolean,
14 vol.Optional(CONF_RETAIN, default=DEFAULT_RETAIN): cv.boolean,
15 vol.Optional(CONF_STATE_CLOSED): cv.string,
16 vol.Optional(CONF_STATE_CLOSING, default=ValveState.CLOSING): cv.string,
17 vol.Optional(CONF_STATE_OPEN): cv.string,
18 vol.Optional(CONF_STATE_OPENING, default=ValveState.OPENING): cv.string,
19 vol.Optional(CONF_STATE_TOPIC): valid_subscribe_topic,
20 vol.Optional(CONF_VALUE_TEMPLATE): cv.template,
22 ).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)