Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions homeassistant/components/flexit/climate.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
SUPPORT_FAN_MODE,
SUPPORT_TARGET_TEMPERATURE,
)
from homeassistant.components.modbus.const import CONF_HUB, DEFAULT_HUB, MODBUS_DOMAIN
from homeassistant.components.modbus.const import CONF_HUB, MODBUS_DOMAIN
from homeassistant.const import (
ATTR_TEMPERATURE,
CONF_NAME,
Expand All @@ -23,7 +23,7 @@

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
{
vol.Optional(CONF_HUB, default=DEFAULT_HUB): cv.string,
vol.Required(CONF_HUB): cv.string,
vol.Required(CONF_SLAVE): vol.All(int, vol.Range(min=0, max=32)),
vol.Optional(CONF_NAME, default=DEVICE_DEFAULT_NAME): cv.string,
}
Expand Down
7 changes: 3 additions & 4 deletions homeassistant/components/modbus/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
CONF_BYTESIZE,
CONF_PARITY,
CONF_STOPBITS,
DEFAULT_HUB,
MODBUS_DOMAIN as DOMAIN,
SERVICE_WRITE_COIL,
SERVICE_WRITE_REGISTER,
Expand All @@ -37,7 +36,7 @@
_LOGGER = logging.getLogger(__name__)


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

SERIAL_SCHEMA = BASE_SCHEMA.extend(
{
Expand Down Expand Up @@ -69,7 +68,7 @@

SERVICE_WRITE_REGISTER_SCHEMA = vol.Schema(
{
vol.Optional(ATTR_HUB, default=DEFAULT_HUB): cv.string,
vol.Required(ATTR_HUB): cv.string,
vol.Required(ATTR_UNIT): cv.positive_int,
vol.Required(ATTR_ADDRESS): cv.positive_int,
vol.Required(ATTR_VALUE): vol.Any(
Expand All @@ -80,7 +79,7 @@

SERVICE_WRITE_COIL_SCHEMA = vol.Schema(
{
vol.Optional(ATTR_HUB, default=DEFAULT_HUB): cv.string,
vol.Required(ATTR_HUB): cv.string,
vol.Required(ATTR_UNIT): cv.positive_int,
vol.Required(ATTR_ADDRESS): cv.positive_int,
vol.Required(ATTR_STATE): cv.boolean,
Expand Down
3 changes: 1 addition & 2 deletions homeassistant/components/modbus/binary_sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
CONF_HUB,
CONF_INPUT_TYPE,
CONF_INPUTS,
DEFAULT_HUB,
MODBUS_DOMAIN,
)

Expand All @@ -38,9 +37,9 @@
vol.Schema(
{
vol.Required(CONF_ADDRESS): cv.positive_int,
vol.Required(CONF_HUB): cv.string,
vol.Required(CONF_NAME): cv.string,
vol.Optional(CONF_DEVICE_CLASS): DEVICE_CLASSES_SCHEMA,
vol.Optional(CONF_HUB, default=DEFAULT_HUB): cv.string,
vol.Optional(CONF_SLAVE): cv.positive_int,
vol.Optional(
CONF_INPUT_TYPE, default=CALL_TYPE_COIL
Expand Down
3 changes: 1 addition & 2 deletions homeassistant/components/modbus/climate.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
DATA_TYPE_FLOAT,
DATA_TYPE_INT,
DATA_TYPE_UINT,
DEFAULT_HUB,
MODBUS_DOMAIN,
)

Expand All @@ -50,6 +49,7 @@
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_CURRENT_TEMP): cv.positive_int,
vol.Required(CONF_HUB): cv.string,
vol.Required(CONF_NAME): cv.string,
vol.Required(CONF_SLAVE): cv.positive_int,
vol.Required(CONF_TARGET_TEMP): cv.positive_int,
Expand All @@ -60,7 +60,6 @@
vol.Optional(CONF_DATA_TYPE, default=DATA_TYPE_FLOAT): vol.In(
[DATA_TYPE_INT, DATA_TYPE_UINT, DATA_TYPE_FLOAT]
),
vol.Optional(CONF_HUB, default=DEFAULT_HUB): cv.string,
vol.Optional(CONF_PRECISION, default=1): cv.positive_int,
vol.Optional(CONF_SCALE, default=1): vol.Coerce(float),
vol.Optional(CONF_OFFSET, default=0): vol.Coerce(float),
Expand Down
1 change: 0 additions & 1 deletion homeassistant/components/modbus/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
CONF_COILS = "coils"

# integration names
DEFAULT_HUB = "default"
MODBUS_DOMAIN = "modbus"

# data types
Expand Down
3 changes: 1 addition & 2 deletions homeassistant/components/modbus/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
DATA_TYPE_INT,
DATA_TYPE_STRING,
DATA_TYPE_UINT,
DEFAULT_HUB,
MODBUS_DOMAIN,
)

Expand Down Expand Up @@ -66,6 +65,7 @@ def number(value: Any) -> Union[int, float]:
{
vol.Required(CONF_REGISTERS): [
{
vol.Required(CONF_HUB): cv.string,
vol.Required(CONF_NAME): cv.string,
vol.Required(CONF_REGISTER): cv.positive_int,
vol.Optional(CONF_COUNT, default=1): cv.positive_int,
Expand All @@ -79,7 +79,6 @@ def number(value: Any) -> Union[int, float]:
]
),
vol.Optional(CONF_DEVICE_CLASS): DEVICE_CLASSES_SCHEMA,
vol.Optional(CONF_HUB, default=DEFAULT_HUB): cv.string,
vol.Optional(CONF_OFFSET, default=0): number,
vol.Optional(CONF_PRECISION, default=0): cv.positive_int,
vol.Optional(
Expand Down
4 changes: 2 additions & 2 deletions homeassistant/components/modbus/services.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ write_coil:
description: Address of the modbus unit.
example: 21
hub:
description: Optional Modbus hub name. A hub with the name 'default' is used if not specified.
description: Modbus hub name.
example: "hub1"
write_register:
description: Write to a modbus holding register.
Expand All @@ -26,5 +26,5 @@ write_register:
description: Value (single value or array) to write.
example: "0 or [4,0]"
hub:
description: Optional Modbus hub name. A hub with the name 'default' is used if not specified.
description: Modbus hub name.
example: "hub1"
5 changes: 2 additions & 3 deletions homeassistant/components/modbus/switch.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
CONF_STATE_ON,
CONF_VERIFY_REGISTER,
CONF_VERIFY_STATE,
DEFAULT_HUB,
MODBUS_DOMAIN,
)

Expand All @@ -42,9 +41,9 @@
{
vol.Required(CONF_COMMAND_OFF): cv.positive_int,
vol.Required(CONF_COMMAND_ON): cv.positive_int,
vol.Required(CONF_HUB): cv.string,
vol.Required(CONF_NAME): cv.string,
vol.Required(CONF_REGISTER): cv.positive_int,
vol.Optional(CONF_HUB, default=DEFAULT_HUB): cv.string,
vol.Optional(CONF_REGISTER_TYPE, default=CALL_TYPE_REGISTER_HOLDING): vol.In(
[CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT]
),
Expand All @@ -59,9 +58,9 @@
COILS_SCHEMA = vol.Schema(
{
vol.Required(CALL_TYPE_COIL): cv.positive_int,
vol.Required(CONF_HUB): cv.string,
vol.Required(CONF_NAME): cv.string,
vol.Required(CONF_SLAVE): cv.positive_int,
vol.Optional(CONF_HUB, default=DEFAULT_HUB): cv.string,
}
)

Expand Down
4 changes: 2 additions & 2 deletions homeassistant/components/stiebel_eltron/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from pystiebeleltron import pystiebeleltron
import voluptuous as vol

from homeassistant.components.modbus.const import CONF_HUB, DEFAULT_HUB, MODBUS_DOMAIN
from homeassistant.components.modbus.const import CONF_HUB, MODBUS_DOMAIN
from homeassistant.const import CONF_NAME, DEVICE_DEFAULT_NAME
from homeassistant.helpers import discovery
import homeassistant.helpers.config_validation as cv
Expand All @@ -17,8 +17,8 @@
{
DOMAIN: vol.Schema(
{
vol.Required(CONF_HUB): cv.string,
vol.Optional(CONF_NAME, default=DEVICE_DEFAULT_NAME): cv.string,
vol.Optional(CONF_HUB, default=DEFAULT_HUB): cv.string,
}
)
},
Expand Down
7 changes: 4 additions & 3 deletions tests/components/modbus/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
CONF_REGISTER,
CONF_REGISTER_TYPE,
CONF_REGISTERS,
DEFAULT_HUB,
MODBUS_DOMAIN as DOMAIN,
)
from homeassistant.const import CONF_NAME, CONF_PLATFORM, CONF_SCAN_INTERVAL
Expand All @@ -19,6 +18,8 @@

from tests.common import MockModule, async_fire_time_changed, mock_integration

HUB_NAME = "hub"

_LOGGER = logging.getLogger(__name__)


Expand All @@ -27,8 +28,8 @@ def mock_hub(hass):
"""Mock hub."""
mock_integration(hass, MockModule(DOMAIN))
hub = mock.MagicMock()
hub.name = "hub"
hass.data[DOMAIN] = {DEFAULT_HUB: hub}
hub.name = HUB_NAME
hass.data[DOMAIN] = {HUB_NAME: hub}
return hub


Expand Down
25 changes: 23 additions & 2 deletions tests/components/modbus/test_modbus_sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
CALL_TYPE_REGISTER_INPUT,
CONF_COUNT,
CONF_DATA_TYPE,
CONF_HUB,
CONF_OFFSET,
CONF_PRECISION,
CONF_REGISTER_TYPE,
Expand All @@ -18,7 +19,7 @@
)
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN

from .conftest import run_test
from .conftest import HUB_NAME, run_test

_LOGGER = logging.getLogger(__name__)

Expand All @@ -31,6 +32,7 @@ async def test_simple_word_register(hass, mock_hub):
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -44,7 +46,9 @@ async def test_simple_word_register(hass, mock_hub):

async def test_optional_conf_keys(hass, mock_hub):
"""Test handling of optional configuration keys."""
register_config = {}
register_config = {
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
mock_hub,
Expand All @@ -63,6 +67,7 @@ async def test_offset(hass, mock_hub):
CONF_SCALE: 1,
CONF_OFFSET: 13,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -82,6 +87,7 @@ async def test_scale_and_offset(hass, mock_hub):
CONF_SCALE: 3,
CONF_OFFSET: 13,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -101,6 +107,7 @@ async def test_ints_can_have_precision(hass, mock_hub):
CONF_SCALE: 3,
CONF_OFFSET: 13,
CONF_PRECISION: 4,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -120,6 +127,7 @@ async def test_floats_get_rounded_correctly(hass, mock_hub):
CONF_SCALE: 1.5,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -139,6 +147,7 @@ async def test_parameters_as_strings(hass, mock_hub):
CONF_SCALE: "1.5",
CONF_OFFSET: "5",
CONF_PRECISION: "1",
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -158,6 +167,7 @@ async def test_floating_point_scale(hass, mock_hub):
CONF_SCALE: 2.4,
CONF_OFFSET: 0,
CONF_PRECISION: 2,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -177,6 +187,7 @@ async def test_floating_point_offset(hass, mock_hub):
CONF_SCALE: 1,
CONF_OFFSET: -10.3,
CONF_PRECISION: 1,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -196,6 +207,7 @@ async def test_signed_two_word_register(hass, mock_hub):
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -215,6 +227,7 @@ async def test_unsigned_two_word_register(hass, mock_hub):
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -232,6 +245,7 @@ async def test_reversed(hass, mock_hub):
CONF_COUNT: 2,
CONF_DATA_TYPE: DATA_TYPE_UINT,
CONF_REVERSE_ORDER: True,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -251,6 +265,7 @@ async def test_four_word_register(hass, mock_hub):
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -270,6 +285,7 @@ async def test_four_word_register_precision_is_intact_with_int_params(hass, mock
CONF_SCALE: 2,
CONF_OFFSET: 3,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -289,6 +305,7 @@ async def test_four_word_register_precision_is_lost_with_float_params(hass, mock
CONF_SCALE: 2.0,
CONF_OFFSET: 3.0,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -309,6 +326,7 @@ async def test_two_word_input_register(hass, mock_hub):
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -329,6 +347,7 @@ async def test_two_word_holding_register(hass, mock_hub):
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -349,6 +368,7 @@ async def test_float_data_type(hass, mock_hub):
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 5,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand All @@ -369,6 +389,7 @@ async def test_string_data_type(hass, mock_hub):
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
CONF_HUB: HUB_NAME,
}
await run_test(
hass,
Expand Down