Home Assistant Unofficial Reference 2024.12.1
homeassistant.components.modbus Namespace Reference

Namespaces

 binary_sensor
 
 climate
 
 const
 
 cover
 
 entity
 
 fan
 
 light
 
 modbus
 
 sensor
 
 switch
 
 validators
 

Functions

None async_reset_platform (HomeAssistant hass, str integration_name)
 
bool async_setup (HomeAssistant hass, ConfigType config)
 
ModbusHub get_hub (HomeAssistant hass, str name)
 

Variables

 _LOGGER = logging.getLogger(__name__)
 
 BASE_COMPONENT_SCHEMA
 
 BASE_SCHEMA = vol.Schema({vol.Optional(CONF_NAME, default=DEFAULT_HUB): cv.string})
 
 BASE_STRUCT_SCHEMA
 
 BASE_SWITCH_SCHEMA
 
 BINARY_SENSOR_SCHEMA
 
 CLIMATE_SCHEMA
 
 CONFIG_SCHEMA
 
 COVERS_SCHEMA
 
 ETHERNET_SCHEMA
 
 FAN_SCHEMA = BASE_SWITCH_SCHEMA.extend({})
 
 LIGHT_SCHEMA = BASE_SWITCH_SCHEMA.extend({})
 
 MODBUS_SCHEMA
 
 SENSOR_SCHEMA
 
 SERIAL_SCHEMA
 
 SWITCH_SCHEMA
 

Detailed Description

Support for Modbus.

Function Documentation

◆ async_reset_platform()

None homeassistant.components.modbus.async_reset_platform ( HomeAssistant  hass,
str  integration_name 
)
Release modbus resources.

Definition at line 460 of file __init__.py.

◆ async_setup()

bool homeassistant.components.modbus.async_setup ( HomeAssistant  hass,
ConfigType  config 
)
Set up Modbus component.

Definition at line 450 of file __init__.py.

◆ get_hub()

ModbusHub homeassistant.components.modbus.get_hub ( HomeAssistant  hass,
str  name 
)
Return modbus hub with name.

Definition at line 445 of file __init__.py.

Variable Documentation

◆ _LOGGER

homeassistant.components.modbus._LOGGER = logging.getLogger(__name__)
private

Definition at line 148 of file __init__.py.

◆ BASE_COMPONENT_SCHEMA

homeassistant.components.modbus.BASE_COMPONENT_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required(CONF_NAME): cv.string,
4  vol.Required(CONF_ADDRESS): cv.positive_int,
5  vol.Exclusive(CONF_DEVICE_ADDRESS, "slave_addr"): cv.positive_int,
6  vol.Exclusive(CONF_SLAVE, "slave_addr"): cv.positive_int,
7  vol.Optional(
8  CONF_SCAN_INTERVAL, default=DEFAULT_SCAN_INTERVAL
9  ): cv.positive_int,
10  vol.Optional(CONF_UNIQUE_ID): cv.string,
11  }
12 )

Definition at line 154 of file __init__.py.

◆ BASE_SCHEMA

homeassistant.components.modbus.BASE_SCHEMA = vol.Schema({vol.Optional(CONF_NAME, default=DEFAULT_HUB): cv.string})

Definition at line 151 of file __init__.py.

◆ BASE_STRUCT_SCHEMA

homeassistant.components.modbus.BASE_STRUCT_SCHEMA

Definition at line 168 of file __init__.py.

◆ BASE_SWITCH_SCHEMA

homeassistant.components.modbus.BASE_SWITCH_SCHEMA

Definition at line 209 of file __init__.py.

◆ BINARY_SENSOR_SCHEMA

homeassistant.components.modbus.BINARY_SENSOR_SCHEMA
Initial value:
1 = BASE_COMPONENT_SCHEMA.extend(
2  {
3  vol.Optional(CONF_DEVICE_CLASS): BINARY_SENSOR_DEVICE_CLASSES_SCHEMA,
4  vol.Optional(CONF_INPUT_TYPE, default=CALL_TYPE_COIL): vol.In(
5  [
6  CALL_TYPE_COIL,
7  CALL_TYPE_DISCRETE,
8  CALL_TYPE_REGISTER_HOLDING,
9  CALL_TYPE_REGISTER_INPUT,
10  ]
11  ),
12  vol.Exclusive(CONF_VIRTUAL_COUNT, "vir_bin_count"): cv.positive_int,
13  vol.Exclusive(CONF_SLAVE_COUNT, "vir_bin_count"): cv.positive_int,
14  }
15 )

Definition at line 374 of file __init__.py.

◆ CLIMATE_SCHEMA

homeassistant.components.modbus.CLIMATE_SCHEMA

Definition at line 245 of file __init__.py.

◆ CONFIG_SCHEMA

homeassistant.components.modbus.CONFIG_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  DOMAIN: vol.All(
4  cv.ensure_list,
5  [
6  vol.Any(SERIAL_SCHEMA, ETHERNET_SCHEMA),
7  ],
8  ),
9  },
10  extra=vol.ALLOW_EXTRA,
11 )

Definition at line 432 of file __init__.py.

◆ COVERS_SCHEMA

homeassistant.components.modbus.COVERS_SCHEMA
Initial value:
1 = BASE_COMPONENT_SCHEMA.extend(
2  {
3  vol.Optional(
4  CONF_INPUT_TYPE,
5  default=CALL_TYPE_REGISTER_HOLDING,
6  ): vol.In(
7  [
8  CALL_TYPE_REGISTER_HOLDING,
9  CALL_TYPE_COIL,
10  ]
11  ),
12  vol.Optional(CONF_DEVICE_CLASS): COVER_DEVICE_CLASSES_SCHEMA,
13  vol.Optional(CONF_STATE_CLOSED, default=0): cv.positive_int,
14  vol.Optional(CONF_STATE_CLOSING, default=3): cv.positive_int,
15  vol.Optional(CONF_STATE_OPEN, default=1): cv.positive_int,
16  vol.Optional(CONF_STATE_OPENING, default=2): cv.positive_int,
17  vol.Optional(CONF_STATUS_REGISTER): cv.positive_int,
18  vol.Optional(
19  CONF_STATUS_REGISTER_TYPE,
20  default=CALL_TYPE_REGISTER_HOLDING,
21  ): vol.In([CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT]),
22  }
23 )

Definition at line 324 of file __init__.py.

◆ ETHERNET_SCHEMA

homeassistant.components.modbus.ETHERNET_SCHEMA
Initial value:
1 = MODBUS_SCHEMA.extend(
2  {
3  vol.Required(CONF_HOST): cv.string,
4  vol.Required(CONF_PORT): cv.port,
5  vol.Required(CONF_TYPE): vol.Any(TCP, UDP, RTUOVERTCP),
6  }
7 )

Definition at line 424 of file __init__.py.

◆ FAN_SCHEMA

homeassistant.components.modbus.FAN_SCHEMA = BASE_SWITCH_SCHEMA.extend({})

Definition at line 356 of file __init__.py.

◆ LIGHT_SCHEMA

homeassistant.components.modbus.LIGHT_SCHEMA = BASE_SWITCH_SCHEMA.extend({})

Definition at line 354 of file __init__.py.

◆ MODBUS_SCHEMA

homeassistant.components.modbus.MODBUS_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Optional(CONF_NAME, default=DEFAULT_HUB): cv.string,
4  vol.Optional(CONF_TIMEOUT, default=3): cv.socket_timeout,
5  vol.Optional(CONF_DELAY, default=0): cv.positive_int,
6  vol.Optional(CONF_MSG_WAIT): cv.positive_int,
7  vol.Optional(CONF_BINARY_SENSORS): vol.All(
8  cv.ensure_list, [BINARY_SENSOR_SCHEMA]
9  ),
10  vol.Optional(CONF_CLIMATES): vol.All(
11  cv.ensure_list, [vol.All(CLIMATE_SCHEMA, struct_validator)]
12  ),
13  vol.Optional(CONF_COVERS): vol.All(cv.ensure_list, [COVERS_SCHEMA]),
14  vol.Optional(CONF_LIGHTS): vol.All(cv.ensure_list, [LIGHT_SCHEMA]),
15  vol.Optional(CONF_SENSORS): vol.All(
16  cv.ensure_list, [vol.All(SENSOR_SCHEMA, struct_validator)]
17  ),
18  vol.Optional(CONF_SWITCHES): vol.All(cv.ensure_list, [SWITCH_SCHEMA]),
19  vol.Optional(CONF_FANS): vol.All(cv.ensure_list, [FAN_SCHEMA]),
20  }
21 )

Definition at line 390 of file __init__.py.

◆ SENSOR_SCHEMA

homeassistant.components.modbus.SENSOR_SCHEMA
Initial value:
1 = vol.All(
2  BASE_STRUCT_SCHEMA.extend(
3  {
4  vol.Optional(CONF_DEVICE_CLASS): SENSOR_DEVICE_CLASSES_SCHEMA,
5  vol.Optional(CONF_STATE_CLASS): SENSOR_STATE_CLASSES_SCHEMA,
6  vol.Optional(CONF_UNIT_OF_MEASUREMENT): cv.string,
7  vol.Exclusive(CONF_VIRTUAL_COUNT, "vir_sen_count"): cv.positive_int,
8  vol.Exclusive(CONF_SLAVE_COUNT, "vir_sen_count"): cv.positive_int,
9  vol.Optional(CONF_MIN_VALUE): vol.Coerce(float),
10  vol.Optional(CONF_MAX_VALUE): vol.Coerce(float),
11  vol.Optional(CONF_NAN_VALUE): nan_validator,
12  vol.Optional(CONF_ZERO_SUPPRESS): cv.positive_float,
13  }
14  ),
15 )

Definition at line 358 of file __init__.py.

◆ SERIAL_SCHEMA

homeassistant.components.modbus.SERIAL_SCHEMA
Initial value:
1 = MODBUS_SCHEMA.extend(
2  {
3  vol.Required(CONF_TYPE): SERIAL,
4  vol.Required(CONF_BAUDRATE): cv.positive_int,
5  vol.Required(CONF_BYTESIZE): vol.Any(5, 6, 7, 8),
6  vol.Required(CONF_METHOD): vol.Any("rtu", "ascii"),
7  vol.Required(CONF_PORT): cv.string,
8  vol.Required(CONF_PARITY): vol.Any("E", "O", "N"),
9  vol.Required(CONF_STOPBITS): vol.Any(1, 2),
10  }
11 )

Definition at line 412 of file __init__.py.

◆ SWITCH_SCHEMA

homeassistant.components.modbus.SWITCH_SCHEMA
Initial value:
1 = BASE_SWITCH_SCHEMA.extend(
2  {
3  vol.Optional(CONF_DEVICE_CLASS): SWITCH_DEVICE_CLASSES_SCHEMA,
4  }
5 )

Definition at line 348 of file __init__.py.