Home Assistant Unofficial Reference 2024.12.1
common.py
Go to the documentation of this file.
1 """Common code for TCP component."""
2 
3 from __future__ import annotations
4 
5 from typing import Any, Final
6 
7 import voluptuous as vol
8 
9 from homeassistant.const import (
10  CONF_HOST,
11  CONF_NAME,
12  CONF_PAYLOAD,
13  CONF_PORT,
14  CONF_SSL,
15  CONF_TIMEOUT,
16  CONF_UNIT_OF_MEASUREMENT,
17  CONF_VALUE_TEMPLATE,
18  CONF_VERIFY_SSL,
19 )
21 
22 from .const import (
23  CONF_BUFFER_SIZE,
24  CONF_VALUE_ON,
25  DEFAULT_BUFFER_SIZE,
26  DEFAULT_NAME,
27  DEFAULT_SSL,
28  DEFAULT_TIMEOUT,
29  DEFAULT_VERIFY_SSL,
30 )
31 
32 TCP_PLATFORM_SCHEMA: Final[dict[vol.Marker, Any]] = {
33  vol.Required(CONF_HOST): cv.string,
34  vol.Required(CONF_PORT): cv.port,
35  vol.Required(CONF_PAYLOAD): cv.string,
36  vol.Optional(CONF_BUFFER_SIZE, default=DEFAULT_BUFFER_SIZE): cv.positive_int,
37  vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
38  vol.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int,
39  vol.Optional(CONF_UNIT_OF_MEASUREMENT): cv.string,
40  vol.Optional(CONF_VALUE_ON): cv.string,
41  vol.Optional(CONF_VALUE_TEMPLATE): cv.template,
42  vol.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean,
43  vol.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): cv.boolean,
44 }