mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
[Zwave] Add type and genre to value filter
This commit is contained in:
parent
5b4fc4f346
commit
5565e418f8
@ -27,10 +27,21 @@ COMMAND_CLASS_SENSOR_BINARY = 48
|
|||||||
COMMAND_CLASS_SENSOR_MULTILEVEL = 49
|
COMMAND_CLASS_SENSOR_MULTILEVEL = 49
|
||||||
COMMAND_CLASS_BATTERY = 128
|
COMMAND_CLASS_BATTERY = 128
|
||||||
|
|
||||||
# list of tuple (DOMAIN, discovered service, supported command classes)
|
GENRE_WHATEVER = None
|
||||||
|
GENRE_USER = "User"
|
||||||
|
|
||||||
|
TYPE_WHATEVER = None
|
||||||
|
TYPE_BYTE = "Byte"
|
||||||
|
TYPE_BOOL = "Bool"
|
||||||
|
|
||||||
|
# list of tuple (DOMAIN, discovered service, supported command
|
||||||
|
# classes, value type)
|
||||||
DISCOVERY_COMPONENTS = [
|
DISCOVERY_COMPONENTS = [
|
||||||
('sensor', DISCOVER_SENSORS,
|
('sensor',
|
||||||
[COMMAND_CLASS_SENSOR_BINARY, COMMAND_CLASS_SENSOR_MULTILEVEL]),
|
DISCOVER_SENSORS,
|
||||||
|
[COMMAND_CLASS_SENSOR_BINARY, COMMAND_CLASS_SENSOR_MULTILEVEL],
|
||||||
|
TYPE_WHATEVER,
|
||||||
|
GENRE_WHATEVER),
|
||||||
]
|
]
|
||||||
|
|
||||||
ATTR_NODE_ID = "node_id"
|
ATTR_NODE_ID = "node_id"
|
||||||
@ -110,8 +121,20 @@ def setup(hass, config):
|
|||||||
|
|
||||||
def value_added(node, value):
|
def value_added(node, value):
|
||||||
""" Called when a value is added to a node on the network. """
|
""" Called when a value is added to a node on the network. """
|
||||||
for component, discovery_service, command_ids in DISCOVERY_COMPONENTS:
|
|
||||||
if value.command_class in command_ids:
|
for (component,
|
||||||
|
discovery_service,
|
||||||
|
command_ids,
|
||||||
|
value_type,
|
||||||
|
value_genre) in DISCOVERY_COMPONENTS:
|
||||||
|
|
||||||
|
if value.command_class not in command_ids:
|
||||||
|
continue
|
||||||
|
if value_type is not None and value_type != value.type:
|
||||||
|
continue
|
||||||
|
if value_genre is not None and value_genre != value.genre:
|
||||||
|
continue
|
||||||
|
|
||||||
# Ensure component is loaded
|
# Ensure component is loaded
|
||||||
bootstrap.setup_component(hass, component, config)
|
bootstrap.setup_component(hass, component, config)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user