mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
parent
16cb50bddf
commit
bafbbc6563
@ -73,9 +73,7 @@ from .const import (
|
||||
CONF_RETRIES,
|
||||
CONF_RETRY_ON_EMPTY,
|
||||
CONF_REVERSE_ORDER,
|
||||
CONF_RTUOVERTCP,
|
||||
CONF_SCALE,
|
||||
CONF_SERIAL,
|
||||
CONF_STATE_CLOSED,
|
||||
CONF_STATE_CLOSING,
|
||||
CONF_STATE_OFF,
|
||||
@ -92,8 +90,6 @@ from .const import (
|
||||
CONF_SWAP_WORD,
|
||||
CONF_SWAP_WORD_BYTE,
|
||||
CONF_TARGET_TEMP,
|
||||
CONF_TCP,
|
||||
CONF_UDP,
|
||||
CONF_VERIFY,
|
||||
CONF_WRITE_TYPE,
|
||||
DATA_TYPE_CUSTOM,
|
||||
@ -114,6 +110,10 @@ from .const import (
|
||||
DEFAULT_SCAN_INTERVAL,
|
||||
DEFAULT_TEMP_UNIT,
|
||||
MODBUS_DOMAIN as DOMAIN,
|
||||
RTUOVERTCP,
|
||||
SERIAL,
|
||||
TCP,
|
||||
UDP,
|
||||
)
|
||||
from .modbus import ModbusHub, async_modbus_setup
|
||||
from .validators import number_validator, scan_interval_validator, struct_validator
|
||||
@ -304,7 +304,7 @@ MODBUS_SCHEMA = vol.Schema(
|
||||
|
||||
SERIAL_SCHEMA = MODBUS_SCHEMA.extend(
|
||||
{
|
||||
vol.Required(CONF_TYPE): CONF_SERIAL,
|
||||
vol.Required(CONF_TYPE): SERIAL,
|
||||
vol.Required(CONF_BAUDRATE): cv.positive_int,
|
||||
vol.Required(CONF_BYTESIZE): vol.Any(5, 6, 7, 8),
|
||||
vol.Required(CONF_METHOD): vol.Any("rtu", "ascii"),
|
||||
@ -318,7 +318,7 @@ ETHERNET_SCHEMA = MODBUS_SCHEMA.extend(
|
||||
{
|
||||
vol.Required(CONF_HOST): cv.string,
|
||||
vol.Required(CONF_PORT): cv.port,
|
||||
vol.Required(CONF_TYPE): vol.Any(CONF_TCP, CONF_UDP, CONF_RTUOVERTCP),
|
||||
vol.Required(CONF_TYPE): vol.Any(TCP, UDP, RTUOVERTCP),
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -39,9 +39,7 @@ CONF_RETRIES = "retries"
|
||||
CONF_RETRY_ON_EMPTY = "retry_on_empty"
|
||||
CONF_REVERSE_ORDER = "reverse_order"
|
||||
CONF_PRECISION = "precision"
|
||||
CONF_RTUOVERTCP = "rtuovertcp"
|
||||
CONF_SCALE = "scale"
|
||||
CONF_SERIAL = "serial"
|
||||
CONF_STATE_CLOSED = "state_closed"
|
||||
CONF_STATE_CLOSING = "state_closing"
|
||||
CONF_STATE_OFF = "state_off"
|
||||
@ -58,13 +56,16 @@ CONF_SWAP_NONE = "none"
|
||||
CONF_SWAP_WORD = "word"
|
||||
CONF_SWAP_WORD_BYTE = "word_byte"
|
||||
CONF_TARGET_TEMP = "target_temp_register"
|
||||
CONF_TCP = "tcp"
|
||||
CONF_UDP = "udp"
|
||||
CONF_VERIFY = "verify"
|
||||
CONF_VERIFY_REGISTER = "verify_register"
|
||||
CONF_VERIFY_STATE = "verify_state"
|
||||
CONF_WRITE_TYPE = "write_type"
|
||||
|
||||
RTUOVERTCP = "rtuovertcp"
|
||||
SERIAL = "serial"
|
||||
TCP = "tcp"
|
||||
UDP = "udp"
|
||||
|
||||
# service call attributes
|
||||
ATTR_ADDRESS = "address"
|
||||
ATTR_HUB = "hub"
|
||||
|
@ -45,16 +45,16 @@ from .const import (
|
||||
CONF_PARITY,
|
||||
CONF_RETRIES,
|
||||
CONF_RETRY_ON_EMPTY,
|
||||
CONF_RTUOVERTCP,
|
||||
CONF_SERIAL,
|
||||
CONF_STOPBITS,
|
||||
CONF_TCP,
|
||||
CONF_UDP,
|
||||
DEFAULT_HUB,
|
||||
MODBUS_DOMAIN as DOMAIN,
|
||||
PLATFORMS,
|
||||
RTUOVERTCP,
|
||||
SERIAL,
|
||||
SERVICE_WRITE_COIL,
|
||||
SERVICE_WRITE_REGISTER,
|
||||
TCP,
|
||||
UDP,
|
||||
)
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
@ -203,10 +203,10 @@ class ModbusHub:
|
||||
self._config_delay = client_config[CONF_DELAY]
|
||||
self._pb_call = {}
|
||||
self._pb_class = {
|
||||
CONF_SERIAL: ModbusSerialClient,
|
||||
CONF_TCP: ModbusTcpClient,
|
||||
CONF_UDP: ModbusUdpClient,
|
||||
CONF_RTUOVERTCP: ModbusTcpClient,
|
||||
SERIAL: ModbusSerialClient,
|
||||
TCP: ModbusTcpClient,
|
||||
UDP: ModbusUdpClient,
|
||||
RTUOVERTCP: ModbusTcpClient,
|
||||
}
|
||||
self._pb_params = {
|
||||
"port": client_config[CONF_PORT],
|
||||
@ -215,7 +215,7 @@ class ModbusHub:
|
||||
"retries": client_config[CONF_RETRIES],
|
||||
"retry_on_empty": client_config[CONF_RETRY_ON_EMPTY],
|
||||
}
|
||||
if self._config_type == CONF_SERIAL:
|
||||
if self._config_type == SERIAL:
|
||||
# serial configuration
|
||||
self._pb_params.update(
|
||||
{
|
||||
@ -229,13 +229,13 @@ class ModbusHub:
|
||||
else:
|
||||
# network configuration
|
||||
self._pb_params["host"] = client_config[CONF_HOST]
|
||||
if self._config_type == CONF_RTUOVERTCP:
|
||||
if self._config_type == RTUOVERTCP:
|
||||
self._pb_params["framer"] = ModbusRtuFramer
|
||||
|
||||
Defaults.Timeout = client_config[CONF_TIMEOUT]
|
||||
if CONF_MSG_WAIT in client_config:
|
||||
self._msg_wait = client_config[CONF_MSG_WAIT] / 1000
|
||||
elif self._config_type == CONF_SERIAL:
|
||||
elif self._config_type == SERIAL:
|
||||
self._msg_wait = 30 / 1000
|
||||
else:
|
||||
self._msg_wait = 0
|
||||
|
@ -8,9 +8,9 @@ from pymodbus.exceptions import ModbusException
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.modbus.const import (
|
||||
CONF_TCP,
|
||||
DEFAULT_HUB,
|
||||
MODBUS_DOMAIN as DOMAIN,
|
||||
TCP,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
CONF_HOST,
|
||||
@ -71,7 +71,7 @@ async def mock_modbus(hass, caplog, request, do_config):
|
||||
config = {
|
||||
DOMAIN: [
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_NAME: TEST_MODBUS_NAME,
|
||||
@ -131,7 +131,7 @@ async def base_test(
|
||||
config_modbus = {
|
||||
DOMAIN: {
|
||||
CONF_NAME: DEFAULT_HUB,
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
},
|
||||
|
@ -12,10 +12,10 @@ from homeassistant.components.modbus.const import (
|
||||
CONF_INPUT_TYPE,
|
||||
CONF_STATE_OFF,
|
||||
CONF_STATE_ON,
|
||||
CONF_TCP,
|
||||
CONF_VERIFY,
|
||||
CONF_WRITE_TYPE,
|
||||
MODBUS_DOMAIN,
|
||||
TCP,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
CONF_ADDRESS,
|
||||
@ -219,7 +219,7 @@ async def test_fan_service_turn(hass, caplog, mock_pymodbus):
|
||||
ENTITY_ID2 = f"{FAN_DOMAIN}.{TEST_ENTITY_NAME}2"
|
||||
config = {
|
||||
MODBUS_DOMAIN: {
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_FANS: [
|
||||
|
@ -42,21 +42,21 @@ from homeassistant.components.modbus.const import (
|
||||
CONF_INPUT_TYPE,
|
||||
CONF_MSG_WAIT,
|
||||
CONF_PARITY,
|
||||
CONF_RTUOVERTCP,
|
||||
CONF_SERIAL,
|
||||
CONF_STOPBITS,
|
||||
CONF_SWAP,
|
||||
CONF_SWAP_BYTE,
|
||||
CONF_SWAP_WORD,
|
||||
CONF_TCP,
|
||||
CONF_UDP,
|
||||
DATA_TYPE_CUSTOM,
|
||||
DATA_TYPE_INT,
|
||||
DATA_TYPE_STRING,
|
||||
DEFAULT_SCAN_INTERVAL,
|
||||
MODBUS_DOMAIN as DOMAIN,
|
||||
RTUOVERTCP,
|
||||
SERIAL,
|
||||
SERVICE_WRITE_COIL,
|
||||
SERVICE_WRITE_REGISTER,
|
||||
TCP,
|
||||
UDP,
|
||||
)
|
||||
from homeassistant.components.modbus.validators import (
|
||||
number_validator,
|
||||
@ -206,12 +206,12 @@ async def test_exception_struct_validator(do_config):
|
||||
"do_config",
|
||||
[
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
},
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_NAME: TEST_MODBUS_NAME,
|
||||
@ -219,12 +219,12 @@ async def test_exception_struct_validator(do_config):
|
||||
CONF_DELAY: 10,
|
||||
},
|
||||
{
|
||||
CONF_TYPE: CONF_UDP,
|
||||
CONF_TYPE: UDP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
},
|
||||
{
|
||||
CONF_TYPE: CONF_UDP,
|
||||
CONF_TYPE: UDP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_NAME: TEST_MODBUS_NAME,
|
||||
@ -232,12 +232,12 @@ async def test_exception_struct_validator(do_config):
|
||||
CONF_DELAY: 10,
|
||||
},
|
||||
{
|
||||
CONF_TYPE: CONF_RTUOVERTCP,
|
||||
CONF_TYPE: RTUOVERTCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
},
|
||||
{
|
||||
CONF_TYPE: CONF_RTUOVERTCP,
|
||||
CONF_TYPE: RTUOVERTCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_NAME: TEST_MODBUS_NAME,
|
||||
@ -245,7 +245,7 @@ async def test_exception_struct_validator(do_config):
|
||||
CONF_DELAY: 10,
|
||||
},
|
||||
{
|
||||
CONF_TYPE: CONF_SERIAL,
|
||||
CONF_TYPE: SERIAL,
|
||||
CONF_BAUDRATE: 9600,
|
||||
CONF_BYTESIZE: 8,
|
||||
CONF_METHOD: "rtu",
|
||||
@ -255,7 +255,7 @@ async def test_exception_struct_validator(do_config):
|
||||
CONF_MSG_WAIT: 100,
|
||||
},
|
||||
{
|
||||
CONF_TYPE: CONF_SERIAL,
|
||||
CONF_TYPE: SERIAL,
|
||||
CONF_BAUDRATE: 9600,
|
||||
CONF_BYTESIZE: 8,
|
||||
CONF_METHOD: "rtu",
|
||||
@ -267,26 +267,26 @@ async def test_exception_struct_validator(do_config):
|
||||
CONF_DELAY: 10,
|
||||
},
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_DELAY: 5,
|
||||
},
|
||||
[
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_NAME: TEST_MODBUS_NAME,
|
||||
},
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_NAME: f"{TEST_MODBUS_NAME}2",
|
||||
},
|
||||
{
|
||||
CONF_TYPE: CONF_SERIAL,
|
||||
CONF_TYPE: SERIAL,
|
||||
CONF_BAUDRATE: 9600,
|
||||
CONF_BYTESIZE: 8,
|
||||
CONF_METHOD: "rtu",
|
||||
@ -298,7 +298,7 @@ async def test_exception_struct_validator(do_config):
|
||||
],
|
||||
{
|
||||
# Special test for scan_interval validator with scan_interval: 0
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_SENSORS: [
|
||||
@ -326,7 +326,7 @@ SERVICE = "service"
|
||||
[
|
||||
{
|
||||
CONF_NAME: TEST_MODBUS_NAME,
|
||||
CONF_TYPE: CONF_SERIAL,
|
||||
CONF_TYPE: SERIAL,
|
||||
CONF_BAUDRATE: 9600,
|
||||
CONF_BYTESIZE: 8,
|
||||
CONF_METHOD: "rtu",
|
||||
@ -431,7 +431,7 @@ async def mock_modbus_read_pymodbus(
|
||||
config = {
|
||||
DOMAIN: [
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_NAME: TEST_MODBUS_NAME,
|
||||
@ -505,7 +505,7 @@ async def test_pymodbus_constructor_fail(hass, caplog):
|
||||
config = {
|
||||
DOMAIN: [
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
}
|
||||
@ -528,7 +528,7 @@ async def test_pymodbus_close_fail(hass, caplog, mock_pymodbus):
|
||||
config = {
|
||||
DOMAIN: [
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
}
|
||||
@ -553,7 +553,7 @@ async def test_delay(hass, mock_pymodbus):
|
||||
config = {
|
||||
DOMAIN: [
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_NAME: TEST_MODBUS_NAME,
|
||||
|
@ -11,10 +11,10 @@ from homeassistant.components.modbus.const import (
|
||||
CONF_INPUT_TYPE,
|
||||
CONF_STATE_OFF,
|
||||
CONF_STATE_ON,
|
||||
CONF_TCP,
|
||||
CONF_VERIFY,
|
||||
CONF_WRITE_TYPE,
|
||||
MODBUS_DOMAIN,
|
||||
TCP,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
CONF_ADDRESS,
|
||||
@ -219,7 +219,7 @@ async def test_light_service_turn(hass, caplog, mock_pymodbus):
|
||||
ENTITY_ID2 = f"{ENTITY_ID}2"
|
||||
config = {
|
||||
MODBUS_DOMAIN: {
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_LIGHTS: [
|
||||
|
@ -13,10 +13,10 @@ from homeassistant.components.modbus.const import (
|
||||
CONF_INPUT_TYPE,
|
||||
CONF_STATE_OFF,
|
||||
CONF_STATE_ON,
|
||||
CONF_TCP,
|
||||
CONF_VERIFY,
|
||||
CONF_WRITE_TYPE,
|
||||
MODBUS_DOMAIN,
|
||||
TCP,
|
||||
)
|
||||
from homeassistant.components.switch import DOMAIN as SWITCH_DOMAIN
|
||||
from homeassistant.const import (
|
||||
@ -233,7 +233,7 @@ async def test_switch_service_turn(hass, caplog, mock_pymodbus):
|
||||
ENTITY_ID2 = f"{SWITCH_DOMAIN}.{TEST_ENTITY_NAME}2"
|
||||
config = {
|
||||
MODBUS_DOMAIN: {
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_SWITCHES: [
|
||||
@ -330,7 +330,7 @@ async def test_delay_switch(hass, mock_pymodbus):
|
||||
config = {
|
||||
MODBUS_DOMAIN: [
|
||||
{
|
||||
CONF_TYPE: CONF_TCP,
|
||||
CONF_TYPE: TCP,
|
||||
CONF_HOST: TEST_MODBUS_HOST,
|
||||
CONF_PORT: TEST_PORT_TCP,
|
||||
CONF_SWITCHES: [
|
||||
|
Loading…
x
Reference in New Issue
Block a user