Skip to content

Commit

Permalink
Use own validation
Browse files Browse the repository at this point in the history
  • Loading branch information
SukramJ committed Sep 2, 2024
1 parent cb527aa commit 8e698bd
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 16 deletions.
2 changes: 1 addition & 1 deletion changelog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Version 1.66.0 (2024-09-01)

- Bump hahomematic to 2024.9.2
- Bump hahomematic to 2024.9.3
- Add check for link paramsets
- Add getLinkPeers XmlRPC method
- Add paramset_key to entity_key
Expand Down
2 changes: 1 addition & 1 deletion custom_components/homematicip_local/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"iot_class": "local_push",
"issue_tracker": "https://github.com/danielperna84/hahomematic/issues",
"loggers": ["hahomematic"],
"requirements": ["hahomematic==2024.9.2"],
"requirements": ["hahomematic==2024.9.3"],
"ssdp": [
{
"manufacturer": "EQ3",
Expand Down
27 changes: 14 additions & 13 deletions custom_components/homematicip_local/services.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from hahomematic.exceptions import ClientException
from hahomematic.platforms.device import HmDevice
from hahomematic.support import get_device_address, to_bool
import hahomematic.validator as hmval
import voluptuous as vol

from homeassistant.config_entries import ConfigEntryState
Expand Down Expand Up @@ -75,7 +76,7 @@
BASE_SCHEMA_DEVICE = vol.Schema(
{
vol.Optional(CONF_DEVICE_ID): cv.string,
vol.Optional(CONF_DEVICE_ADDRESS): cv.string,
vol.Optional(CONF_DEVICE_ADDRESS): hmval.device_address,
}
)

Expand Down Expand Up @@ -109,7 +110,7 @@
cv.has_at_most_one_key(CONF_DEVICE_ID, CONF_DEVICE_ADDRESS),
BASE_SCHEMA_DEVICE.extend(
{
vol.Required(CONF_CHANNEL, default=DEFAULT_CHANNEL): vol.Coerce(int),
vol.Required(CONF_CHANNEL, default=DEFAULT_CHANNEL): hmval.channel_no,
vol.Required(CONF_PARAMETER): vol.All(cv.string, vol.Upper),
}
),
Expand All @@ -120,15 +121,15 @@
cv.has_at_most_one_key(CONF_DEVICE_ID, CONF_DEVICE_ADDRESS),
BASE_SCHEMA_DEVICE.extend(
{
vol.Optional(CONF_CHANNEL): vol.Coerce(int),
vol.Optional(CONF_CHANNEL): hmval.channel_no,
}
),
)

SCHEMA_SERVICE_GET_LINK_PARAMSET = vol.All(
{
vol.Optional(CONF_CHANNEL_ADDRESS): cv.string,
vol.Optional(CONF_SENDER_CHANNEL_ADDRESS): cv.string,
vol.Optional(CONF_CHANNEL_ADDRESS): hmval.channel_address,
vol.Optional(CONF_SENDER_CHANNEL_ADDRESS): hmval.channel_address,
}
)

Expand All @@ -137,7 +138,7 @@
cv.has_at_most_one_key(CONF_DEVICE_ID, CONF_DEVICE_ADDRESS),
BASE_SCHEMA_DEVICE.extend(
{
vol.Optional(CONF_CHANNEL): vol.Coerce(int),
vol.Optional(CONF_CHANNEL): hmval.channel_no,
vol.Required(CONF_PARAMSET_KEY): vol.In(["MASTER", "VALUES"]),
}
),
Expand All @@ -156,7 +157,7 @@
vol.Required(CONF_INTERFACE_ID): cv.string,
vol.Optional(CONF_TIME, default=60): cv.positive_int,
vol.Optional(CONF_MODE, default=1): vol.All(vol.Coerce(int), vol.In([1, 2])),
vol.Optional(CONF_ADDRESS): vol.All(cv.string, vol.Upper),
vol.Optional(CONF_ADDRESS): hmval.device_address,
}
)

Expand All @@ -165,10 +166,10 @@
cv.has_at_most_one_key(CONF_DEVICE_ID, CONF_DEVICE_ADDRESS),
BASE_SCHEMA_DEVICE.extend(
{
vol.Required(CONF_CHANNEL, default=DEFAULT_CHANNEL): vol.Coerce(int),
vol.Required(CONF_CHANNEL, default=DEFAULT_CHANNEL): hmval.channel_no,
vol.Required(CONF_PARAMETER): vol.All(cv.string, vol.Upper),
vol.Required(CONF_VALUE): cv.match_all,
vol.Optional(CONF_WAIT_FOR_CALLBACK): cv.positive_int,
vol.Optional(CONF_WAIT_FOR_CALLBACK): hmval.wait_for,
vol.Optional(CONF_VALUE_TYPE): vol.In(
["boolean", "dateTime.iso8601", "double", "int", "string"]
),
Expand All @@ -179,8 +180,8 @@

SCHEMA_SERVICE_PUT_LINK_PARAMSET = vol.All(
{
vol.Optional(CONF_CHANNEL_ADDRESS): cv.string,
vol.Optional(CONF_SENDER_CHANNEL_ADDRESS): cv.string,
vol.Optional(CONF_CHANNEL_ADDRESS): hmval.channel_address,
vol.Optional(CONF_SENDER_CHANNEL_ADDRESS): hmval.channel_address,
vol.Required(CONF_PARAMSET): dict,
vol.Optional(CONF_RX_MODE): vol.All(cv.string, vol.Upper),
}
Expand All @@ -191,10 +192,10 @@
cv.has_at_most_one_key(CONF_DEVICE_ID, CONF_DEVICE_ADDRESS),
BASE_SCHEMA_DEVICE.extend(
{
vol.Optional(CONF_CHANNEL): vol.Coerce(int),
vol.Optional(CONF_CHANNEL): hmval.channel_no,
vol.Required(CONF_PARAMSET_KEY): vol.In(["MASTER", "VALUES"]),
vol.Required(CONF_PARAMSET): dict,
vol.Optional(CONF_WAIT_FOR_CALLBACK): cv.positive_int,
vol.Optional(CONF_WAIT_FOR_CALLBACK): hmval.wait_for,
vol.Optional(CONF_RX_MODE): vol.All(cv.string, vol.Upper),
}
),
Expand Down
2 changes: 1 addition & 1 deletion requirements_test.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
-r requirements_test_pre_commit.txt

async-upnp-client==0.40.0
hahomematic==2024.9.2
hahomematic==2024.9.3
homeassistant==2024.9.0b2
mypy==1.11.2
mypy-dev==1.11.0a9
Expand Down

0 comments on commit 8e698bd

Please sign in to comment.