mirror of
https://github.com/home-assistant/core.git
synced 2025-07-15 09:17:10 +00:00
Remove modbus duplicate strings (#48654)
* Reuse HA constants for serial configuration. Reusing HA consts reduces the need for translation. Sort/group constants in const. * Change const name ATTR_* to CONF_* * Correct wrong import * ATTR_* for service and CONF_* for schemas. * Revert change to service call. * Rename CONF_TEMPERATURE -> ATTR_TEMPERATURE Avoid possible division problem in set_temperature.
This commit is contained in:
parent
d75f825530
commit
2511e1f229
@ -16,10 +16,11 @@ from homeassistant.components.switch import (
|
||||
DEVICE_CLASSES_SCHEMA as SWITCH_DEVICE_CLASSES_SCHEMA,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
ATTR_STATE,
|
||||
CONF_ADDRESS,
|
||||
CONF_BINARY_SENSORS,
|
||||
CONF_COMMAND_OFF,
|
||||
CONF_COMMAND_ON,
|
||||
CONF_COUNT,
|
||||
CONF_COVERS,
|
||||
CONF_DELAY,
|
||||
CONF_DEVICE_CLASS,
|
||||
@ -29,8 +30,11 @@ from homeassistant.const import (
|
||||
CONF_OFFSET,
|
||||
CONF_PORT,
|
||||
CONF_SCAN_INTERVAL,
|
||||
CONF_SENSORS,
|
||||
CONF_SLAVE,
|
||||
CONF_STRUCTURE,
|
||||
CONF_SWITCHES,
|
||||
CONF_TEMPERATURE_UNIT,
|
||||
CONF_TIMEOUT,
|
||||
CONF_TYPE,
|
||||
CONF_UNIT_OF_MEASUREMENT,
|
||||
@ -40,6 +44,7 @@ import homeassistant.helpers.config_validation as cv
|
||||
from .const import (
|
||||
ATTR_ADDRESS,
|
||||
ATTR_HUB,
|
||||
ATTR_STATE,
|
||||
ATTR_UNIT,
|
||||
ATTR_VALUE,
|
||||
CALL_TYPE_COIL,
|
||||
@ -47,10 +52,8 @@ from .const import (
|
||||
CALL_TYPE_REGISTER_HOLDING,
|
||||
CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_BAUDRATE,
|
||||
CONF_BINARY_SENSORS,
|
||||
CONF_BYTESIZE,
|
||||
CONF_CLIMATES,
|
||||
CONF_COUNT,
|
||||
CONF_CURRENT_TEMP,
|
||||
CONF_CURRENT_TEMP_REGISTER_TYPE,
|
||||
CONF_DATA_COUNT,
|
||||
@ -63,7 +66,6 @@ from .const import (
|
||||
CONF_REGISTER,
|
||||
CONF_REVERSE_ORDER,
|
||||
CONF_SCALE,
|
||||
CONF_SENSORS,
|
||||
CONF_STATE_CLOSED,
|
||||
CONF_STATE_CLOSING,
|
||||
CONF_STATE_OFF,
|
||||
@ -74,9 +76,7 @@ from .const import (
|
||||
CONF_STATUS_REGISTER_TYPE,
|
||||
CONF_STEP,
|
||||
CONF_STOPBITS,
|
||||
CONF_SWITCHES,
|
||||
CONF_TARGET_TEMP,
|
||||
CONF_UNIT,
|
||||
CONF_VERIFY_REGISTER,
|
||||
CONF_VERIFY_STATE,
|
||||
DATA_TYPE_CUSTOM,
|
||||
@ -143,7 +143,7 @@ CLIMATE_SCHEMA = BASE_COMPONENT_SCHEMA.extend(
|
||||
vol.Optional(CONF_MIN_TEMP, default=5): cv.positive_int,
|
||||
vol.Optional(CONF_STEP, default=0.5): vol.Coerce(float),
|
||||
vol.Optional(CONF_STRUCTURE, default=DEFAULT_STRUCTURE_PREFIX): cv.string,
|
||||
vol.Optional(CONF_UNIT, default=DEFAULT_TEMP_UNIT): cv.string,
|
||||
vol.Optional(CONF_TEMPERATURE_UNIT, default=DEFAULT_TEMP_UNIT): cv.string,
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -15,6 +15,7 @@ from homeassistant.components.binary_sensor import (
|
||||
)
|
||||
from homeassistant.const import (
|
||||
CONF_ADDRESS,
|
||||
CONF_BINARY_SENSORS,
|
||||
CONF_DEVICE_CLASS,
|
||||
CONF_NAME,
|
||||
CONF_SCAN_INTERVAL,
|
||||
@ -31,7 +32,6 @@ from homeassistant.helpers.typing import (
|
||||
from .const import (
|
||||
CALL_TYPE_COIL,
|
||||
CALL_TYPE_DISCRETE,
|
||||
CONF_BINARY_SENSORS,
|
||||
CONF_COILS,
|
||||
CONF_HUB,
|
||||
CONF_INPUT_TYPE,
|
||||
|
@ -15,12 +15,12 @@ from homeassistant.components.climate.const import (
|
||||
SUPPORT_TARGET_TEMPERATURE,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
ATTR_TEMPERATURE,
|
||||
CONF_NAME,
|
||||
CONF_OFFSET,
|
||||
CONF_SCAN_INTERVAL,
|
||||
CONF_SLAVE,
|
||||
CONF_STRUCTURE,
|
||||
CONF_TEMPERATURE_UNIT,
|
||||
TEMP_CELSIUS,
|
||||
TEMP_FAHRENHEIT,
|
||||
)
|
||||
@ -32,6 +32,7 @@ from homeassistant.helpers.typing import (
|
||||
)
|
||||
|
||||
from .const import (
|
||||
ATTR_TEMPERATURE,
|
||||
CALL_TYPE_REGISTER_HOLDING,
|
||||
CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_CLIMATES,
|
||||
@ -45,7 +46,6 @@ from .const import (
|
||||
CONF_SCALE,
|
||||
CONF_STEP,
|
||||
CONF_TARGET_TEMP,
|
||||
CONF_UNIT,
|
||||
DATA_TYPE_CUSTOM,
|
||||
DEFAULT_STRUCT_FORMAT,
|
||||
MODBUS_DOMAIN,
|
||||
@ -130,7 +130,7 @@ class ModbusThermostat(ClimateEntity):
|
||||
self._scale = config[CONF_SCALE]
|
||||
self._scan_interval = timedelta(seconds=config[CONF_SCAN_INTERVAL])
|
||||
self._offset = config[CONF_OFFSET]
|
||||
self._unit = config[CONF_UNIT]
|
||||
self._unit = config[CONF_TEMPERATURE_UNIT]
|
||||
self._max_temp = config[CONF_MAX_TEMP]
|
||||
self._min_temp = config[CONF_MIN_TEMP]
|
||||
self._temp_step = config[CONF_STEP]
|
||||
@ -208,11 +208,11 @@ class ModbusThermostat(ClimateEntity):
|
||||
|
||||
def set_temperature(self, **kwargs):
|
||||
"""Set new target temperature."""
|
||||
if ATTR_TEMPERATURE not in kwargs:
|
||||
return
|
||||
target_temperature = int(
|
||||
(kwargs.get(ATTR_TEMPERATURE) - self._offset) / self._scale
|
||||
)
|
||||
if target_temperature is None:
|
||||
return
|
||||
byte_string = struct.pack(self._structure, target_temperature)
|
||||
register_value = struct.unpack(">h", byte_string[0:2])[0]
|
||||
self._write_register(self._target_temperature_register, register_value)
|
||||
|
@ -2,22 +2,51 @@
|
||||
|
||||
# configuration names
|
||||
CONF_BAUDRATE = "baudrate"
|
||||
CONF_BINARY_SENSOR = "binary_sensor"
|
||||
CONF_BYTESIZE = "bytesize"
|
||||
CONF_CLIMATE = "climate"
|
||||
CONF_CLIMATES = "climates"
|
||||
CONF_COILS = "coils"
|
||||
CONF_COVER = "cover"
|
||||
CONF_CURRENT_TEMP = "current_temp_register"
|
||||
CONF_CURRENT_TEMP_REGISTER_TYPE = "current_temp_register_type"
|
||||
CONF_DATA_COUNT = "data_count"
|
||||
CONF_DATA_TYPE = "data_type"
|
||||
CONF_HUB = "hub"
|
||||
CONF_INPUTS = "inputs"
|
||||
CONF_INPUT_TYPE = "input_type"
|
||||
CONF_MAX_TEMP = "max_temp"
|
||||
CONF_MIN_TEMP = "min_temp"
|
||||
CONF_PARITY = "parity"
|
||||
CONF_STOPBITS = "stopbits"
|
||||
CONF_REGISTER = "register"
|
||||
CONF_REGISTER_TYPE = "register_type"
|
||||
CONF_REGISTERS = "registers"
|
||||
CONF_REVERSE_ORDER = "reverse_order"
|
||||
CONF_SCALE = "scale"
|
||||
CONF_COUNT = "count"
|
||||
CONF_PRECISION = "precision"
|
||||
CONF_COILS = "coils"
|
||||
CONF_SCALE = "scale"
|
||||
CONF_SENSOR = "sensor"
|
||||
CONF_STATE_CLOSED = "state_closed"
|
||||
CONF_STATE_CLOSING = "state_closing"
|
||||
CONF_STATE_OFF = "state_off"
|
||||
CONF_STATE_ON = "state_on"
|
||||
CONF_STATE_OPEN = "state_open"
|
||||
CONF_STATE_OPENING = "state_opening"
|
||||
CONF_STATUS_REGISTER = "status_register"
|
||||
CONF_STATUS_REGISTER_TYPE = "status_register_type"
|
||||
CONF_STEP = "temp_step"
|
||||
CONF_STOPBITS = "stopbits"
|
||||
CONF_SWITCH = "switch"
|
||||
CONF_TARGET_TEMP = "target_temp_register"
|
||||
CONF_VERIFY_REGISTER = "verify_register"
|
||||
CONF_VERIFY_STATE = "verify_state"
|
||||
|
||||
# integration names
|
||||
DEFAULT_HUB = "modbus_hub"
|
||||
MODBUS_DOMAIN = "modbus"
|
||||
# service call attributes
|
||||
ATTR_ADDRESS = "address"
|
||||
ATTR_HUB = "hub"
|
||||
ATTR_UNIT = "unit"
|
||||
ATTR_VALUE = "value"
|
||||
ATTR_STATE = "state"
|
||||
ATTR_TEMPERATURE = "temperature"
|
||||
|
||||
# data types
|
||||
DATA_TYPE_CUSTOM = "custom"
|
||||
@ -32,66 +61,19 @@ CALL_TYPE_DISCRETE = "discrete_input"
|
||||
CALL_TYPE_REGISTER_HOLDING = "holding"
|
||||
CALL_TYPE_REGISTER_INPUT = "input"
|
||||
|
||||
# the following constants are TBD.
|
||||
# changing those in general causes a breaking change, because
|
||||
# the contents of configuration.yaml needs to be updated,
|
||||
# therefore they are left to a later date.
|
||||
# but kept here, with a reference to the file using them.
|
||||
|
||||
# __init.py
|
||||
ATTR_ADDRESS = "address"
|
||||
ATTR_HUB = "hub"
|
||||
ATTR_UNIT = "unit"
|
||||
ATTR_VALUE = "value"
|
||||
# service calls
|
||||
SERVICE_WRITE_COIL = "write_coil"
|
||||
SERVICE_WRITE_REGISTER = "write_register"
|
||||
|
||||
# integration names
|
||||
DEFAULT_HUB = "modbus_hub"
|
||||
DEFAULT_SCAN_INTERVAL = 15 # seconds
|
||||
|
||||
# binary_sensor.py
|
||||
CONF_INPUTS = "inputs"
|
||||
CONF_INPUT_TYPE = "input_type"
|
||||
CONF_BINARY_SENSORS = "binary_sensors"
|
||||
CONF_BINARY_SENSOR = "binary_sensor"
|
||||
|
||||
# sensor.py
|
||||
# CONF_DATA_TYPE = "data_type"
|
||||
DEFAULT_SLAVE = 1
|
||||
DEFAULT_STRUCTURE_PREFIX = ">f"
|
||||
DEFAULT_STRUCT_FORMAT = {
|
||||
DATA_TYPE_INT: {1: "h", 2: "i", 4: "q"},
|
||||
DATA_TYPE_UINT: {1: "H", 2: "I", 4: "Q"},
|
||||
DATA_TYPE_FLOAT: {1: "e", 2: "f", 4: "d"},
|
||||
}
|
||||
CONF_SENSOR = "sensor"
|
||||
CONF_SENSORS = "sensors"
|
||||
|
||||
# switch.py
|
||||
CONF_STATE_OFF = "state_off"
|
||||
CONF_STATE_ON = "state_on"
|
||||
CONF_VERIFY_REGISTER = "verify_register"
|
||||
CONF_VERIFY_STATE = "verify_state"
|
||||
CONF_SWITCH = "switch"
|
||||
CONF_SWITCHES = "switches"
|
||||
|
||||
# climate.py
|
||||
CONF_CLIMATES = "climates"
|
||||
CONF_CLIMATE = "climate"
|
||||
CONF_TARGET_TEMP = "target_temp_register"
|
||||
CONF_CURRENT_TEMP = "current_temp_register"
|
||||
CONF_CURRENT_TEMP_REGISTER_TYPE = "current_temp_register_type"
|
||||
CONF_DATA_TYPE = "data_type"
|
||||
CONF_DATA_COUNT = "data_count"
|
||||
CONF_UNIT = "temperature_unit"
|
||||
CONF_MAX_TEMP = "max_temp"
|
||||
CONF_MIN_TEMP = "min_temp"
|
||||
CONF_STEP = "temp_step"
|
||||
DEFAULT_STRUCTURE_PREFIX = ">f"
|
||||
DEFAULT_TEMP_UNIT = "C"
|
||||
|
||||
# cover.py
|
||||
CONF_COVER = "cover"
|
||||
CONF_STATE_OPEN = "state_open"
|
||||
CONF_STATE_CLOSED = "state_closed"
|
||||
CONF_STATE_OPENING = "state_opening"
|
||||
CONF_STATE_CLOSING = "state_closing"
|
||||
CONF_STATUS_REGISTER = "status_register"
|
||||
CONF_STATUS_REGISTER_TYPE = "status_register_type"
|
||||
DEFAULT_SLAVE = 1
|
||||
MODBUS_DOMAIN = "modbus"
|
||||
|
@ -6,13 +6,15 @@ from pymodbus.client.sync import ModbusSerialClient, ModbusTcpClient, ModbusUdpC
|
||||
from pymodbus.transaction import ModbusRtuFramer
|
||||
|
||||
from homeassistant.const import (
|
||||
ATTR_STATE,
|
||||
CONF_BINARY_SENSORS,
|
||||
CONF_COVERS,
|
||||
CONF_DELAY,
|
||||
CONF_HOST,
|
||||
CONF_METHOD,
|
||||
CONF_NAME,
|
||||
CONF_PORT,
|
||||
CONF_SENSORS,
|
||||
CONF_SWITCHES,
|
||||
CONF_TIMEOUT,
|
||||
CONF_TYPE,
|
||||
EVENT_HOMEASSISTANT_STOP,
|
||||
@ -22,21 +24,19 @@ from homeassistant.helpers.discovery import load_platform
|
||||
from .const import (
|
||||
ATTR_ADDRESS,
|
||||
ATTR_HUB,
|
||||
ATTR_STATE,
|
||||
ATTR_UNIT,
|
||||
ATTR_VALUE,
|
||||
CONF_BAUDRATE,
|
||||
CONF_BINARY_SENSOR,
|
||||
CONF_BINARY_SENSORS,
|
||||
CONF_BYTESIZE,
|
||||
CONF_CLIMATE,
|
||||
CONF_CLIMATES,
|
||||
CONF_COVER,
|
||||
CONF_PARITY,
|
||||
CONF_SENSOR,
|
||||
CONF_SENSORS,
|
||||
CONF_STOPBITS,
|
||||
CONF_SWITCH,
|
||||
CONF_SWITCHES,
|
||||
MODBUS_DOMAIN as DOMAIN,
|
||||
SERVICE_WRITE_COIL,
|
||||
SERVICE_WRITE_REGISTER,
|
||||
|
@ -17,10 +17,12 @@ from homeassistant.components.sensor import (
|
||||
)
|
||||
from homeassistant.const import (
|
||||
CONF_ADDRESS,
|
||||
CONF_COUNT,
|
||||
CONF_DEVICE_CLASS,
|
||||
CONF_NAME,
|
||||
CONF_OFFSET,
|
||||
CONF_SCAN_INTERVAL,
|
||||
CONF_SENSORS,
|
||||
CONF_SLAVE,
|
||||
CONF_STRUCTURE,
|
||||
CONF_UNIT_OF_MEASUREMENT,
|
||||
@ -37,7 +39,6 @@ from homeassistant.helpers.typing import (
|
||||
from .const import (
|
||||
CALL_TYPE_REGISTER_HOLDING,
|
||||
CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_COUNT,
|
||||
CONF_DATA_TYPE,
|
||||
CONF_HUB,
|
||||
CONF_INPUT_TYPE,
|
||||
@ -47,7 +48,6 @@ from .const import (
|
||||
CONF_REGISTERS,
|
||||
CONF_REVERSE_ORDER,
|
||||
CONF_SCALE,
|
||||
CONF_SENSORS,
|
||||
DATA_TYPE_CUSTOM,
|
||||
DATA_TYPE_FLOAT,
|
||||
DATA_TYPE_INT,
|
||||
|
@ -5,12 +5,12 @@ from homeassistant.components.binary_sensor import DOMAIN as SENSOR_DOMAIN
|
||||
from homeassistant.components.modbus.const import (
|
||||
CALL_TYPE_COIL,
|
||||
CALL_TYPE_DISCRETE,
|
||||
CONF_BINARY_SENSORS,
|
||||
CONF_INPUT_TYPE,
|
||||
CONF_INPUTS,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
CONF_ADDRESS,
|
||||
CONF_BINARY_SENSORS,
|
||||
CONF_DEVICE_CLASS,
|
||||
CONF_NAME,
|
||||
CONF_SLAVE,
|
||||
|
@ -4,7 +4,6 @@ import pytest
|
||||
from homeassistant.components.modbus.const import (
|
||||
CALL_TYPE_REGISTER_HOLDING,
|
||||
CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_COUNT,
|
||||
CONF_DATA_TYPE,
|
||||
CONF_INPUT_TYPE,
|
||||
CONF_PRECISION,
|
||||
@ -13,7 +12,6 @@ from homeassistant.components.modbus.const import (
|
||||
CONF_REGISTERS,
|
||||
CONF_REVERSE_ORDER,
|
||||
CONF_SCALE,
|
||||
CONF_SENSORS,
|
||||
DATA_TYPE_FLOAT,
|
||||
DATA_TYPE_INT,
|
||||
DATA_TYPE_STRING,
|
||||
@ -22,9 +20,11 @@ from homeassistant.components.modbus.const import (
|
||||
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
|
||||
from homeassistant.const import (
|
||||
CONF_ADDRESS,
|
||||
CONF_COUNT,
|
||||
CONF_DEVICE_CLASS,
|
||||
CONF_NAME,
|
||||
CONF_OFFSET,
|
||||
CONF_SENSORS,
|
||||
CONF_SLAVE,
|
||||
)
|
||||
|
||||
|
@ -12,7 +12,6 @@ from homeassistant.components.modbus.const import (
|
||||
CONF_REGISTERS,
|
||||
CONF_STATE_OFF,
|
||||
CONF_STATE_ON,
|
||||
CONF_SWITCHES,
|
||||
CONF_VERIFY_REGISTER,
|
||||
CONF_VERIFY_STATE,
|
||||
)
|
||||
@ -24,6 +23,7 @@ from homeassistant.const import (
|
||||
CONF_DEVICE_CLASS,
|
||||
CONF_NAME,
|
||||
CONF_SLAVE,
|
||||
CONF_SWITCHES,
|
||||
STATE_OFF,
|
||||
STATE_ON,
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user