1 """Constants for the Z-Wave JS integration."""
3 from __future__
import annotations
7 from awesomeversion
import AwesomeVersion
8 from zwave_js_server.const.command_class.window_covering
import (
9 WindowCoveringPropertyKey,
14 LR_ADDON_VERSION = AwesomeVersion(
"0.5.0")
16 USER_AGENT = {APPLICATION_NAME: HA_VERSION}
18 CONF_ADDON_DEVICE =
"device"
19 CONF_ADDON_EMULATE_HARDWARE =
"emulate_hardware"
20 CONF_ADDON_LOG_LEVEL =
"log_level"
21 CONF_ADDON_NETWORK_KEY =
"network_key"
22 CONF_ADDON_S0_LEGACY_KEY =
"s0_legacy_key"
23 CONF_ADDON_S2_ACCESS_CONTROL_KEY =
"s2_access_control_key"
24 CONF_ADDON_S2_AUTHENTICATED_KEY =
"s2_authenticated_key"
25 CONF_ADDON_S2_UNAUTHENTICATED_KEY =
"s2_unauthenticated_key"
26 CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY =
"lr_s2_access_control_key"
27 CONF_ADDON_LR_S2_AUTHENTICATED_KEY =
"lr_s2_authenticated_key"
28 CONF_INSTALLER_MODE =
"installer_mode"
29 CONF_INTEGRATION_CREATED_ADDON =
"integration_created_addon"
30 CONF_NETWORK_KEY =
"network_key"
31 CONF_S0_LEGACY_KEY =
"s0_legacy_key"
32 CONF_S2_ACCESS_CONTROL_KEY =
"s2_access_control_key"
33 CONF_S2_AUTHENTICATED_KEY =
"s2_authenticated_key"
34 CONF_S2_UNAUTHENTICATED_KEY =
"s2_unauthenticated_key"
35 CONF_LR_S2_ACCESS_CONTROL_KEY =
"lr_s2_access_control_key"
36 CONF_LR_S2_AUTHENTICATED_KEY =
"lr_s2_authenticated_key"
37 CONF_USB_PATH =
"usb_path"
38 CONF_USE_ADDON =
"use_addon"
39 CONF_DATA_COLLECTION_OPTED_IN =
"data_collection_opted_in"
42 DATA_CLIENT =
"client"
43 DATA_OLD_SERVER_LOG_LEVEL =
"old_server_log_level"
45 EVENT_DEVICE_ADDED_TO_REGISTRY = f
"{DOMAIN}_device_added_to_registry"
46 EVENT_VALUE_UPDATED =
"value updated"
48 LOGGER = logging.getLogger(__package__)
49 LIB_LOGGER = logging.getLogger(
"zwave_js_server")
52 ATTR_RESERVED_VALUES =
"reserved_values"
55 ZWAVE_JS_VALUE_NOTIFICATION_EVENT = f
"{DOMAIN}_value_notification"
56 ZWAVE_JS_NOTIFICATION_EVENT = f
"{DOMAIN}_notification"
57 ZWAVE_JS_VALUE_UPDATED_EVENT = f
"{DOMAIN}_value_updated"
58 ATTR_NODE_ID =
"node_id"
59 ATTR_HOME_ID =
"home_id"
60 ATTR_ENDPOINT =
"endpoint"
63 ATTR_VALUE_RAW =
"value_raw"
64 ATTR_COMMAND_CLASS =
"command_class"
65 ATTR_COMMAND_CLASS_NAME =
"command_class_name"
67 ATTR_PROPERTY_NAME =
"property_name"
68 ATTR_PROPERTY_KEY_NAME =
"property_key_name"
69 ATTR_PROPERTY =
"property"
70 ATTR_PROPERTY_KEY =
"property_key"
71 ATTR_PARAMETERS =
"parameters"
72 ATTR_DIRECTION =
"direction"
74 ATTR_EVENT_LABEL =
"event_label"
75 ATTR_EVENT_TYPE =
"event_type"
76 ATTR_EVENT_DATA =
"event_data"
77 ATTR_DATA_TYPE =
"data_type"
78 ATTR_WAIT_FOR_RESULT =
"wait_for_result"
79 ATTR_OPTIONS =
"options"
80 ATTR_TEST_NODE_ID =
"test_node_id"
81 ATTR_STATUS =
"status"
82 ATTR_ACKNOWLEDGED_FRAMES =
"acknowledged_frames"
83 ATTR_EVENT_TYPE_LABEL =
"event_type_label"
84 ATTR_DATA_TYPE_LABEL =
"data_type_label"
85 ATTR_NOTIFICATION_TYPE =
"notification_type"
86 ATTR_NOTIFICATION_EVENT =
"notification_event"
89 ATTR_ZWAVE_VALUE =
"zwave_value"
92 ATTR_PREVIOUS_VALUE =
"previous_value"
93 ATTR_PREVIOUS_VALUE_RAW =
"previous_value_raw"
94 ATTR_CURRENT_VALUE =
"current_value"
95 ATTR_CURRENT_VALUE_RAW =
"current_value_raw"
96 ATTR_DESCRIPTION =
"description"
97 ATTR_EVENT_SOURCE =
"event_source"
98 ATTR_CONFIG_ENTRY_ID =
"config_entry_id"
99 ATTR_PARTIAL_DICT_MATCH =
"partial_dict_match"
102 SERVICE_BULK_SET_PARTIAL_CONFIG_PARAMETERS =
"bulk_set_partial_config_parameters"
103 SERVICE_CLEAR_LOCK_USERCODE =
"clear_lock_usercode"
104 SERVICE_INVOKE_CC_API =
"invoke_cc_api"
105 SERVICE_MULTICAST_SET_VALUE =
"multicast_set_value"
106 SERVICE_PING =
"ping"
107 SERVICE_REFRESH_NOTIFICATIONS =
"refresh_notifications"
108 SERVICE_REFRESH_VALUE =
"refresh_value"
109 SERVICE_RESET_METER =
"reset_meter"
110 SERVICE_SET_CONFIG_PARAMETER =
"set_config_parameter"
111 SERVICE_SET_LOCK_USERCODE =
"set_lock_usercode"
112 SERVICE_SET_LOCK_CONFIGURATION =
"set_lock_configuration"
113 SERVICE_SET_VALUE =
"set_value"
117 ATTR_CONFIG_PARAMETER =
"parameter"
118 ATTR_CONFIG_PARAMETER_BITMASK =
"bitmask"
119 ATTR_CONFIG_VALUE =
"value"
120 ATTR_VALUE_SIZE =
"value_size"
121 ATTR_VALUE_FORMAT =
"value_format"
123 ATTR_REFRESH_ALL_VALUES =
"refresh_all_values"
125 ATTR_BROADCAST =
"broadcast"
127 ATTR_METER_TYPE =
"meter_type"
128 ATTR_METER_TYPE_NAME =
"meter_type_name"
130 ATTR_METHOD_NAME =
"method_name"
131 ATTR_PARAMETERS =
"parameters"
133 ATTR_AUTO_RELOCK_TIME =
"auto_relock_time"
134 ATTR_BLOCK_TO_BLOCK =
"block_to_block"
135 ATTR_HOLD_AND_RELEASE_TIME =
"hold_and_release_time"
136 ATTR_LOCK_TIMEOUT =
"lock_timeout"
137 ATTR_OPERATION_TYPE =
"operation_type"
138 ATTR_TWIST_ASSIST =
"twist_assist"
140 ADDON_SLUG =
"core_zwave_js"
143 ENTITY_DESC_KEY_BATTERY =
"battery"
144 ENTITY_DESC_KEY_CURRENT =
"current"
145 ENTITY_DESC_KEY_VOLTAGE =
"voltage"
146 ENTITY_DESC_KEY_ENERGY_MEASUREMENT =
"energy_measurement"
147 ENTITY_DESC_KEY_ENERGY_TOTAL_INCREASING =
"energy_total_increasing"
148 ENTITY_DESC_KEY_POWER =
"power"
149 ENTITY_DESC_KEY_POWER_FACTOR =
"power_factor"
150 ENTITY_DESC_KEY_CO =
"co"
151 ENTITY_DESC_KEY_CO2 =
"co2"
152 ENTITY_DESC_KEY_HUMIDITY =
"humidity"
153 ENTITY_DESC_KEY_ILLUMINANCE =
"illuminance"
154 ENTITY_DESC_KEY_PRESSURE =
"pressure"
155 ENTITY_DESC_KEY_SIGNAL_STRENGTH =
"signal_strength"
156 ENTITY_DESC_KEY_TEMPERATURE =
"temperature"
157 ENTITY_DESC_KEY_TARGET_TEMPERATURE =
"target_temperature"
158 ENTITY_DESC_KEY_UV_INDEX =
"uv_index"
159 ENTITY_DESC_KEY_MEASUREMENT =
"measurement"
160 ENTITY_DESC_KEY_TOTAL_INCREASING =
"total_increasing"
162 ENTITY_DESC_KEY_ENERGY_PRODUCTION_POWER =
"energy_production_power"
163 ENTITY_DESC_KEY_ENERGY_PRODUCTION_TIME =
"energy_production_time"
164 ENTITY_DESC_KEY_ENERGY_PRODUCTION_TOTAL =
"energy_production_total"
165 ENTITY_DESC_KEY_ENERGY_PRODUCTION_TODAY =
"energy_production_today"
169 API_KEY_FIRMWARE_UPDATE_SERVICE = (
170 "2e39d98fc56386389fbb35e5a98fa1b44b9fdd8f971460303587cff408430d4cfcde6134"
175 COVER_POSITION_PROPERTY_KEYS: set[str | int |
None] = {
176 WindowCoveringPropertyKey.INBOUND_BOTTOM,
177 WindowCoveringPropertyKey.INBOUND_BOTTOM_NO_POSITION,
178 WindowCoveringPropertyKey.INBOUND_LEFT,
179 WindowCoveringPropertyKey.INBOUND_LEFT_NO_POSITION,
180 WindowCoveringPropertyKey.INBOUND_LEFT_RIGHT,
181 WindowCoveringPropertyKey.INBOUND_LEFT_RIGHT_NO_POSITION,
182 WindowCoveringPropertyKey.INBOUND_RIGHT,
183 WindowCoveringPropertyKey.INBOUND_RIGHT_NO_POSITION,
184 WindowCoveringPropertyKey.INBOUND_TOP,
185 WindowCoveringPropertyKey.INBOUND_TOP_NO_POSITION,
186 WindowCoveringPropertyKey.INBOUND_TOP_BOTTOM,
187 WindowCoveringPropertyKey.INBOUND_TOP_BOTTOM_NO_POSITION,
188 WindowCoveringPropertyKey.OUTBOUND_BOTTOM,
189 WindowCoveringPropertyKey.OUTBOUND_BOTTOM_NO_POSITION,
190 WindowCoveringPropertyKey.OUTBOUND_LEFT,
191 WindowCoveringPropertyKey.OUTBOUND_LEFT_NO_POSITION,
192 WindowCoveringPropertyKey.OUTBOUND_RIGHT,
193 WindowCoveringPropertyKey.OUTBOUND_RIGHT_NO_POSITION,
194 WindowCoveringPropertyKey.OUTBOUND_TOP,
195 WindowCoveringPropertyKey.OUTBOUND_TOP_NO_POSITION,
198 COVER_TILT_PROPERTY_KEYS: set[str | int |
None] = {
199 WindowCoveringPropertyKey.HORIZONTAL_SLATS_ANGLE,
200 WindowCoveringPropertyKey.HORIZONTAL_SLATS_ANGLE_NO_POSITION,
201 WindowCoveringPropertyKey.VERTICAL_SLATS_ANGLE,
202 WindowCoveringPropertyKey.VERTICAL_SLATS_ANGLE_NO_POSITION,