zwave-js-server-python 0.35.0__py3-none-any.whl → 0.40.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zwave_js_server/client.py +11 -5
- zwave_js_server/const/__init__.py +31 -2
- zwave_js_server/const/command_class/meter.py +9 -7
- zwave_js_server/const/command_class/multilevel_sensor.py +61 -115
- zwave_js_server/const/command_class/multilevel_switch.py +8 -0
- zwave_js_server/const/command_class/thermostat.py +3 -3
- zwave_js_server/event.py +1 -1
- zwave_js_server/exceptions.py +23 -14
- zwave_js_server/firmware.py +10 -1
- zwave_js_server/model/association.py +1 -1
- zwave_js_server/model/controller/__init__.py +191 -79
- zwave_js_server/model/controller/data_model.py +2 -2
- zwave_js_server/model/controller/event_model.py +15 -0
- zwave_js_server/model/controller/inclusion_and_provisioning.py +37 -4
- zwave_js_server/model/controller/statistics.py +40 -1
- zwave_js_server/model/device_config.py +2 -2
- zwave_js_server/model/driver.py +5 -0
- zwave_js_server/model/endpoint.py +24 -2
- zwave_js_server/model/firmware.py +115 -2
- zwave_js_server/model/log_message.py +2 -2
- zwave_js_server/model/node/__init__.py +79 -14
- zwave_js_server/model/node/data_model.py +2 -2
- zwave_js_server/model/node/statistics.py +56 -4
- zwave_js_server/model/notification.py +65 -0
- zwave_js_server/model/statistics.py +106 -0
- zwave_js_server/model/value.py +1 -1
- zwave_js_server/py.typed +0 -0
- zwave_js_server/util/multicast.py +7 -1
- {zwave_js_server_python-0.35.0.dist-info → zwave_js_server_python-0.40.0.dist-info}/METADATA +1 -1
- {zwave_js_server_python-0.35.0.dist-info → zwave_js_server_python-0.40.0.dist-info}/RECORD +34 -35
- {zwave_js_server_python-0.35.0.dist-info → zwave_js_server_python-0.40.0.dist-info}/top_level.txt +0 -1
- scripts/__init__.py +0 -1
- scripts/generate_multilevel_sensor_constants.py +0 -245
- scripts/run_mock_server.py +0 -385
- {zwave_js_server_python-0.35.0.dist-info → zwave_js_server_python-0.40.0.dist-info}/LICENSE +0 -0
- {zwave_js_server_python-0.35.0.dist-info → zwave_js_server_python-0.40.0.dist-info}/WHEEL +0 -0
- {zwave_js_server_python-0.35.0.dist-info → zwave_js_server_python-0.40.0.dist-info}/entry_points.txt +0 -0
zwave_js_server/client.py
CHANGED
|
@@ -139,7 +139,7 @@ class Client:
|
|
|
139
139
|
cast(VersionInfoDataType, await self._receive_json_or_raise())
|
|
140
140
|
)
|
|
141
141
|
|
|
142
|
-
# basic check for server schema version
|
|
142
|
+
# basic check for server schema version compatibility
|
|
143
143
|
if (
|
|
144
144
|
self.version.min_schema_version > MIN_SERVER_SCHEMA_VERSION
|
|
145
145
|
or self.version.max_schema_version < MIN_SERVER_SCHEMA_VERSION
|
|
@@ -238,10 +238,7 @@ class Client:
|
|
|
238
238
|
"Z-Wave JS initialized. %s nodes", len(self.driver.controller.nodes)
|
|
239
239
|
)
|
|
240
240
|
|
|
241
|
-
|
|
242
|
-
data = await self._receive_json_or_raise()
|
|
243
|
-
|
|
244
|
-
self._handle_incoming_message(data)
|
|
241
|
+
await self.receive_until_closed()
|
|
245
242
|
except ConnectionClosed:
|
|
246
243
|
pass
|
|
247
244
|
|
|
@@ -302,6 +299,15 @@ class Client:
|
|
|
302
299
|
|
|
303
300
|
return list(data)
|
|
304
301
|
|
|
302
|
+
async def receive_until_closed(self) -> None:
|
|
303
|
+
"""Receive messages until client is closed."""
|
|
304
|
+
assert self._client
|
|
305
|
+
|
|
306
|
+
while not self._client.closed:
|
|
307
|
+
data = await self._receive_json_or_raise()
|
|
308
|
+
|
|
309
|
+
self._handle_incoming_message(data)
|
|
310
|
+
|
|
305
311
|
async def _receive_json_or_raise(self) -> dict:
|
|
306
312
|
"""Receive json or raise."""
|
|
307
313
|
assert self._client
|
|
@@ -3,14 +3,15 @@ import sys
|
|
|
3
3
|
from enum import Enum, IntEnum
|
|
4
4
|
|
|
5
5
|
# minimal server schema version we can handle
|
|
6
|
-
MIN_SERVER_SCHEMA_VERSION =
|
|
6
|
+
MIN_SERVER_SCHEMA_VERSION = 21
|
|
7
7
|
# max server schema version we can handle (and our code is compatible with)
|
|
8
|
-
MAX_SERVER_SCHEMA_VERSION =
|
|
8
|
+
MAX_SERVER_SCHEMA_VERSION = 21
|
|
9
9
|
|
|
10
10
|
TYPING_EXTENSION_FOR_TYPEDDICT_REQUIRED = sys.version_info < (3, 9, 2)
|
|
11
11
|
|
|
12
12
|
VALUE_UNKNOWN = "unknown"
|
|
13
13
|
|
|
14
|
+
NOT_INTERVIEWED = "None"
|
|
14
15
|
INTERVIEW_FAILED = "Failed"
|
|
15
16
|
|
|
16
17
|
CURRENT_STATE_PROPERTY = "currentState"
|
|
@@ -297,3 +298,31 @@ class RFRegion(IntEnum):
|
|
|
297
298
|
KOREA = 33
|
|
298
299
|
UNKNOWN = 254
|
|
299
300
|
DEFAULT_EU = 255
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
class ProtocolDataRate(IntEnum):
|
|
304
|
+
"""Enum for all known protocol data rates."""
|
|
305
|
+
|
|
306
|
+
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/capabilities/Protocols.ts#L6
|
|
307
|
+
|
|
308
|
+
ZWAVE_9K6 = 1
|
|
309
|
+
ZWAVE_40K = 2
|
|
310
|
+
ZWAVE_100K = 3
|
|
311
|
+
LONG_RANGE_100K = 4
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
class RssiError(IntEnum):
|
|
315
|
+
"""Enum for all known RSSI errors."""
|
|
316
|
+
|
|
317
|
+
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/zwave-js/src/lib/controller/SendDataShared.ts#L79
|
|
318
|
+
NOT_AVAILABLE = 127
|
|
319
|
+
RECEIVER_SATURATED = 126
|
|
320
|
+
NO_SIGNAL_DETECTED = 125
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
class ProvisioningEntryStatus(IntEnum):
|
|
324
|
+
"""Enum for all known provisioning entry statuses."""
|
|
325
|
+
|
|
326
|
+
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/zwave-js/src/lib/controller/Inclusion.ts#L136
|
|
327
|
+
ACTIVE = 0
|
|
328
|
+
INACTIVE = 1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Constants for Meter CC."""
|
|
2
2
|
from enum import IntEnum
|
|
3
|
-
from typing import Dict, Set, Type
|
|
3
|
+
from typing import Dict, Set, Type
|
|
4
4
|
|
|
5
5
|
VALUE_PROPERTY = "value"
|
|
6
6
|
|
|
@@ -27,7 +27,11 @@ class MeterType(IntEnum):
|
|
|
27
27
|
COOLING = 5
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
class
|
|
30
|
+
class MeterScaleType(IntEnum):
|
|
31
|
+
"""Common base class for meter scale enums."""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class ElectricScale(MeterScaleType):
|
|
31
35
|
"""Enum with all known electric meter scale values."""
|
|
32
36
|
|
|
33
37
|
KILOWATT_HOUR = 0
|
|
@@ -41,7 +45,7 @@ class ElectricScale(IntEnum):
|
|
|
41
45
|
KILOVOLT_AMPERE_REACTIVE_HOUR = 8
|
|
42
46
|
|
|
43
47
|
|
|
44
|
-
class GasScale(
|
|
48
|
+
class GasScale(MeterScaleType):
|
|
45
49
|
"""Enum with all known gas meter scale values."""
|
|
46
50
|
|
|
47
51
|
CUBIC_METER = 0
|
|
@@ -49,7 +53,7 @@ class GasScale(IntEnum):
|
|
|
49
53
|
PULSE_COUNT = 3
|
|
50
54
|
|
|
51
55
|
|
|
52
|
-
class WaterScale(
|
|
56
|
+
class WaterScale(MeterScaleType):
|
|
53
57
|
"""Enum with all known water meter scale values."""
|
|
54
58
|
|
|
55
59
|
CUBIC_METER = 0
|
|
@@ -58,7 +62,7 @@ class WaterScale(IntEnum):
|
|
|
58
62
|
PULSE_COUNT = 3
|
|
59
63
|
|
|
60
64
|
|
|
61
|
-
class HeatingScale(
|
|
65
|
+
class HeatingScale(MeterScaleType):
|
|
62
66
|
"""Enum with all known heating meter scale values."""
|
|
63
67
|
|
|
64
68
|
KILOWATT_HOUR = 0
|
|
@@ -66,8 +70,6 @@ class HeatingScale(IntEnum):
|
|
|
66
70
|
|
|
67
71
|
CoolingScale = HeatingScale
|
|
68
72
|
|
|
69
|
-
MeterScaleType = Union[CoolingScale, ElectricScale, GasScale, HeatingScale, WaterScale]
|
|
70
|
-
|
|
71
73
|
METER_TYPE_TO_SCALE_ENUM_MAP: Dict[MeterType, Type[MeterScaleType]] = {
|
|
72
74
|
MeterType.ELECTRIC: ElectricScale,
|
|
73
75
|
MeterType.GAS: GasScale,
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# ----------------------------------------------------------------------------------- #
|
|
7
7
|
|
|
8
8
|
from enum import IntEnum
|
|
9
|
-
from typing import Dict, Set, Type
|
|
9
|
+
from typing import Dict, Set, Type
|
|
10
10
|
|
|
11
11
|
CC_SPECIFIC_SCALE = "scale"
|
|
12
12
|
CC_SPECIFIC_SENSOR_TYPE = "sensorType"
|
|
@@ -106,7 +106,11 @@ class MultilevelSensorType(IntEnum):
|
|
|
106
106
|
WEIGHT = 14
|
|
107
107
|
|
|
108
108
|
|
|
109
|
-
class
|
|
109
|
+
class MultilevelSensorScaleType(IntEnum):
|
|
110
|
+
"""Common base class for multilevel sensor scale enums."""
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
class AirFlowScale(MultilevelSensorScaleType):
|
|
110
114
|
"""Enum for known scales for AIR_FLOW multilevel sensor types."""
|
|
111
115
|
|
|
112
116
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -114,7 +118,7 @@ class AirFlowScale(IntEnum):
|
|
|
114
118
|
CUBIC_METER_PER_HOUR = 0
|
|
115
119
|
|
|
116
120
|
|
|
117
|
-
class AnglePositionScale(
|
|
121
|
+
class AnglePositionScale(MultilevelSensorScaleType):
|
|
118
122
|
"""Enum for known scales for ANGLE_POSITION multilevel sensor types."""
|
|
119
123
|
|
|
120
124
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -123,28 +127,28 @@ class AnglePositionScale(IntEnum):
|
|
|
123
127
|
PERCENTAGE_VALUE = 0
|
|
124
128
|
|
|
125
129
|
|
|
126
|
-
class AppliedForceOnTheSensorScale(
|
|
130
|
+
class AppliedForceOnTheSensorScale(MultilevelSensorScaleType):
|
|
127
131
|
"""Enum for known scales for APPLIED_FORCE_ON_THE_SENSOR multilevel sensor types."""
|
|
128
132
|
|
|
129
133
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
130
134
|
NEWTON = 0
|
|
131
135
|
|
|
132
136
|
|
|
133
|
-
class AccelerationScale(
|
|
137
|
+
class AccelerationScale(MultilevelSensorScaleType):
|
|
134
138
|
"""Enum for known scales for Acceleration multilevel sensor types."""
|
|
135
139
|
|
|
136
140
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
137
141
|
METER_PER_SQUARE_SECOND = 0
|
|
138
142
|
|
|
139
143
|
|
|
140
|
-
class AcidityScale(
|
|
144
|
+
class AcidityScale(MultilevelSensorScaleType):
|
|
141
145
|
"""Enum for known scales for Acidity multilevel sensor types."""
|
|
142
146
|
|
|
143
147
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
144
148
|
ACIDITY = 0
|
|
145
149
|
|
|
146
150
|
|
|
147
|
-
class AirPressureScale(
|
|
151
|
+
class AirPressureScale(MultilevelSensorScaleType):
|
|
148
152
|
"""Enum for known scales for Air Pressure multilevel sensor types."""
|
|
149
153
|
|
|
150
154
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -152,14 +156,14 @@ class AirPressureScale(IntEnum):
|
|
|
152
156
|
KILOPASCAL = 0
|
|
153
157
|
|
|
154
158
|
|
|
155
|
-
class BasisMetabolicRateScale(
|
|
159
|
+
class BasisMetabolicRateScale(MultilevelSensorScaleType):
|
|
156
160
|
"""Enum for known scales for BASIS_METABOLIC_RATE multilevel sensor types."""
|
|
157
161
|
|
|
158
162
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
159
163
|
JOULE = 0
|
|
160
164
|
|
|
161
165
|
|
|
162
|
-
class BloodPressureScale(
|
|
166
|
+
class BloodPressureScale(MultilevelSensorScaleType):
|
|
163
167
|
"""Enum for known scales for BLOOD_PRESSURE multilevel sensor types."""
|
|
164
168
|
|
|
165
169
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -167,21 +171,21 @@ class BloodPressureScale(IntEnum):
|
|
|
167
171
|
SYSTOLIC = 0
|
|
168
172
|
|
|
169
173
|
|
|
170
|
-
class BodyMassIndexScale(
|
|
174
|
+
class BodyMassIndexScale(MultilevelSensorScaleType):
|
|
171
175
|
"""Enum for known scales for BODY_MASS_INDEX multilevel sensor types."""
|
|
172
176
|
|
|
173
177
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
174
178
|
BODY_MASS_INDEX = 0
|
|
175
179
|
|
|
176
180
|
|
|
177
|
-
class CarbonDioxideLevelScale(
|
|
181
|
+
class CarbonDioxideLevelScale(MultilevelSensorScaleType):
|
|
178
182
|
"""Enum for known scales for CARBON_DIOXIDE_LEVEL multilevel sensor types."""
|
|
179
183
|
|
|
180
184
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
181
185
|
PARTS_MILLION = 0
|
|
182
186
|
|
|
183
187
|
|
|
184
|
-
class CarbonMonoxideLevelScale(
|
|
188
|
+
class CarbonMonoxideLevelScale(MultilevelSensorScaleType):
|
|
185
189
|
"""Enum for known scales for CARBON_MONOXIDE_LEVEL multilevel sensor types."""
|
|
186
190
|
|
|
187
191
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -189,7 +193,7 @@ class CarbonMonoxideLevelScale(IntEnum):
|
|
|
189
193
|
PARTS_MILLION = 1
|
|
190
194
|
|
|
191
195
|
|
|
192
|
-
class CurrentScale(
|
|
196
|
+
class CurrentScale(MultilevelSensorScaleType):
|
|
193
197
|
"""Enum for known scales for CURRENT multilevel sensor types."""
|
|
194
198
|
|
|
195
199
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -197,7 +201,7 @@ class CurrentScale(IntEnum):
|
|
|
197
201
|
MILLIAMPERE = 1
|
|
198
202
|
|
|
199
203
|
|
|
200
|
-
class DistanceScale(
|
|
204
|
+
class DistanceScale(MultilevelSensorScaleType):
|
|
201
205
|
"""Enum for known scales for DISTANCE multilevel sensor types."""
|
|
202
206
|
|
|
203
207
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -206,42 +210,42 @@ class DistanceScale(IntEnum):
|
|
|
206
210
|
METER = 0
|
|
207
211
|
|
|
208
212
|
|
|
209
|
-
class DensityScale(
|
|
213
|
+
class DensityScale(MultilevelSensorScaleType):
|
|
210
214
|
"""Enum for known scales for Density multilevel sensor types."""
|
|
211
215
|
|
|
212
216
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
213
217
|
DENSITY = 0
|
|
214
218
|
|
|
215
219
|
|
|
216
|
-
class DirectionScale(
|
|
220
|
+
class DirectionScale(MultilevelSensorScaleType):
|
|
217
221
|
"""Enum for known scales for Direction multilevel sensor types."""
|
|
218
222
|
|
|
219
223
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
220
224
|
DEGREES = 0
|
|
221
225
|
|
|
222
226
|
|
|
223
|
-
class ElectricalConductivityScale(
|
|
227
|
+
class ElectricalConductivityScale(MultilevelSensorScaleType):
|
|
224
228
|
"""Enum for known scales for ELECTRICAL_CONDUCTIVITY multilevel sensor types."""
|
|
225
229
|
|
|
226
230
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
227
231
|
SIEMENS_PER_METER = 0
|
|
228
232
|
|
|
229
233
|
|
|
230
|
-
class ElectricalResistivityScale(
|
|
234
|
+
class ElectricalResistivityScale(MultilevelSensorScaleType):
|
|
231
235
|
"""Enum for known scales for ELECTRICAL_RESISTIVITY multilevel sensor types."""
|
|
232
236
|
|
|
233
237
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
234
238
|
OHM_METER = 0
|
|
235
239
|
|
|
236
240
|
|
|
237
|
-
class FormaldehydeLevelScale(
|
|
241
|
+
class FormaldehydeLevelScale(MultilevelSensorScaleType):
|
|
238
242
|
"""Enum for known scales for FORMALDEHYDE_LEVEL multilevel sensor types."""
|
|
239
243
|
|
|
240
244
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
241
245
|
MOLE_PER_CUBIC_METER = 0
|
|
242
246
|
|
|
243
247
|
|
|
244
|
-
class FrequencyScale(
|
|
248
|
+
class FrequencyScale(MultilevelSensorScaleType):
|
|
245
249
|
"""Enum for known scales for FREQUENCY multilevel sensor types."""
|
|
246
250
|
|
|
247
251
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -249,7 +253,7 @@ class FrequencyScale(IntEnum):
|
|
|
249
253
|
KILOHERTZ = 1
|
|
250
254
|
|
|
251
255
|
|
|
252
|
-
class GeneralPurposeScale(
|
|
256
|
+
class GeneralPurposeScale(MultilevelSensorScaleType):
|
|
253
257
|
"""Enum for known scales for GENERAL_PURPOSE multilevel sensor types."""
|
|
254
258
|
|
|
255
259
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -257,22 +261,22 @@ class GeneralPurposeScale(IntEnum):
|
|
|
257
261
|
PERCENTAGE_VALUE = 0
|
|
258
262
|
|
|
259
263
|
|
|
260
|
-
class HeartRateScale(
|
|
264
|
+
class HeartRateScale(MultilevelSensorScaleType):
|
|
261
265
|
"""Enum for known scales for HEART_RATE multilevel sensor types."""
|
|
262
266
|
|
|
263
267
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
264
268
|
BEATS_PER_MINUTE = 0
|
|
265
269
|
|
|
266
270
|
|
|
267
|
-
class HumidityScale(
|
|
268
|
-
"""Enum for known scales for
|
|
271
|
+
class HumidityScale(MultilevelSensorScaleType):
|
|
272
|
+
"""Enum for known scales for Humidity multilevel sensor types."""
|
|
269
273
|
|
|
270
274
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
271
275
|
ABSOLUTE_HUMIDITY = 1
|
|
272
276
|
PERCENTAGE_VALUE = 0
|
|
273
277
|
|
|
274
278
|
|
|
275
|
-
class IlluminanceScale(
|
|
279
|
+
class IlluminanceScale(MultilevelSensorScaleType):
|
|
276
280
|
"""Enum for known scales for ILLUMINANCE multilevel sensor types."""
|
|
277
281
|
|
|
278
282
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -280,7 +284,7 @@ class IlluminanceScale(IntEnum):
|
|
|
280
284
|
PERCENTAGE_VALUE = 0
|
|
281
285
|
|
|
282
286
|
|
|
283
|
-
class LoudnessScale(
|
|
287
|
+
class LoudnessScale(MultilevelSensorScaleType):
|
|
284
288
|
"""Enum for known scales for LOUDNESS multilevel sensor types."""
|
|
285
289
|
|
|
286
290
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -288,14 +292,14 @@ class LoudnessScale(IntEnum):
|
|
|
288
292
|
DECIBEL = 0
|
|
289
293
|
|
|
290
294
|
|
|
291
|
-
class MethaneDensityScale(
|
|
295
|
+
class MethaneDensityScale(MultilevelSensorScaleType):
|
|
292
296
|
"""Enum for known scales for METHANE_DENSITY multilevel sensor types."""
|
|
293
297
|
|
|
294
298
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
295
299
|
MOLE_PER_CUBIC_METER = 0
|
|
296
300
|
|
|
297
301
|
|
|
298
|
-
class MoistureScale(
|
|
302
|
+
class MoistureScale(MultilevelSensorScaleType):
|
|
299
303
|
"""Enum for known scales for MOISTURE multilevel sensor types."""
|
|
300
304
|
|
|
301
305
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -305,14 +309,14 @@ class MoistureScale(IntEnum):
|
|
|
305
309
|
WATER_ACTIVITY = 3
|
|
306
310
|
|
|
307
311
|
|
|
308
|
-
class MassScale(
|
|
312
|
+
class MassScale(MultilevelSensorScaleType):
|
|
309
313
|
"""Enum for known scales for Mass multilevel sensor types."""
|
|
310
314
|
|
|
311
315
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
312
316
|
KILOGRAM = 0
|
|
313
317
|
|
|
314
318
|
|
|
315
|
-
class ParticulateMatter10Scale(
|
|
319
|
+
class ParticulateMatter10Scale(MultilevelSensorScaleType):
|
|
316
320
|
"""Enum for known scales for PARTICULATE_MATTER_10 multilevel sensor types."""
|
|
317
321
|
|
|
318
322
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -320,7 +324,7 @@ class ParticulateMatter10Scale(IntEnum):
|
|
|
320
324
|
MOLE_PER_CUBIC_METER = 0
|
|
321
325
|
|
|
322
326
|
|
|
323
|
-
class ParticulateMatter25Scale(
|
|
327
|
+
class ParticulateMatter25Scale(MultilevelSensorScaleType):
|
|
324
328
|
"""Enum for known scales for PARTICULATE_MATTER_2_5 multilevel sensor types."""
|
|
325
329
|
|
|
326
330
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -328,7 +332,7 @@ class ParticulateMatter25Scale(IntEnum):
|
|
|
328
332
|
MOLE_PER_CUBIC_METER = 0
|
|
329
333
|
|
|
330
334
|
|
|
331
|
-
class PowerScale(
|
|
335
|
+
class PowerScale(MultilevelSensorScaleType):
|
|
332
336
|
"""Enum for known scales for POWER multilevel sensor types."""
|
|
333
337
|
|
|
334
338
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -336,14 +340,14 @@ class PowerScale(IntEnum):
|
|
|
336
340
|
WATT = 0
|
|
337
341
|
|
|
338
342
|
|
|
339
|
-
class PercentageScale(
|
|
343
|
+
class PercentageScale(MultilevelSensorScaleType):
|
|
340
344
|
"""Enum for known scales for Percentage multilevel sensor types."""
|
|
341
345
|
|
|
342
346
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
343
347
|
PERCENTAGE_VALUE = 0
|
|
344
348
|
|
|
345
349
|
|
|
346
|
-
class PressureScale(
|
|
350
|
+
class PressureScale(MultilevelSensorScaleType):
|
|
347
351
|
"""Enum for known scales for Pressure multilevel sensor types."""
|
|
348
352
|
|
|
349
353
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -351,7 +355,7 @@ class PressureScale(IntEnum):
|
|
|
351
355
|
POUND_PER_SQUARE_INCH = 1
|
|
352
356
|
|
|
353
357
|
|
|
354
|
-
class RadonConcentrationScale(
|
|
358
|
+
class RadonConcentrationScale(MultilevelSensorScaleType):
|
|
355
359
|
"""Enum for known scales for RADON_CONCENTRATION multilevel sensor types."""
|
|
356
360
|
|
|
357
361
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -359,7 +363,7 @@ class RadonConcentrationScale(IntEnum):
|
|
|
359
363
|
PICOCURIES_PER_LITER = 1
|
|
360
364
|
|
|
361
365
|
|
|
362
|
-
class RainRateScale(
|
|
366
|
+
class RainRateScale(MultilevelSensorScaleType):
|
|
363
367
|
"""Enum for known scales for RAIN_RATE multilevel sensor types."""
|
|
364
368
|
|
|
365
369
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -367,14 +371,14 @@ class RainRateScale(IntEnum):
|
|
|
367
371
|
MILLIMETER_HOUR = 0
|
|
368
372
|
|
|
369
373
|
|
|
370
|
-
class RespiratoryRateScale(
|
|
374
|
+
class RespiratoryRateScale(MultilevelSensorScaleType):
|
|
371
375
|
"""Enum for known scales for RESPIRATORY_RATE multilevel sensor types."""
|
|
372
376
|
|
|
373
377
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
374
378
|
BREATHS_PER_MINUTE = 0
|
|
375
379
|
|
|
376
380
|
|
|
377
|
-
class RfSignalStrengthScale(
|
|
381
|
+
class RfSignalStrengthScale(MultilevelSensorScaleType):
|
|
378
382
|
"""Enum for known scales for RF_SIGNAL_STRENGTH multilevel sensor types."""
|
|
379
383
|
|
|
380
384
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -382,7 +386,7 @@ class RfSignalStrengthScale(IntEnum):
|
|
|
382
386
|
RSSI = 0
|
|
383
387
|
|
|
384
388
|
|
|
385
|
-
class RotationScale(
|
|
389
|
+
class RotationScale(MultilevelSensorScaleType):
|
|
386
390
|
"""Enum for known scales for ROTATION multilevel sensor types."""
|
|
387
391
|
|
|
388
392
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -390,7 +394,7 @@ class RotationScale(IntEnum):
|
|
|
390
394
|
REVOLUTIONS_PER_MINUTE = 0
|
|
391
395
|
|
|
392
396
|
|
|
393
|
-
class SeismicIntensityScale(
|
|
397
|
+
class SeismicIntensityScale(MultilevelSensorScaleType):
|
|
394
398
|
"""Enum for known scales for SEISMIC_INTENSITY multilevel sensor types."""
|
|
395
399
|
|
|
396
400
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -400,7 +404,7 @@ class SeismicIntensityScale(IntEnum):
|
|
|
400
404
|
SHINDO = 3
|
|
401
405
|
|
|
402
406
|
|
|
403
|
-
class SeismicMagnitudeScale(
|
|
407
|
+
class SeismicMagnitudeScale(MultilevelSensorScaleType):
|
|
404
408
|
"""Enum for known scales for SEISMIC_MAGNITUDE multilevel sensor types."""
|
|
405
409
|
|
|
406
410
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -410,21 +414,21 @@ class SeismicMagnitudeScale(IntEnum):
|
|
|
410
414
|
SURFACE_WAVE = 2
|
|
411
415
|
|
|
412
416
|
|
|
413
|
-
class SoilSalinityScale(
|
|
417
|
+
class SoilSalinityScale(MultilevelSensorScaleType):
|
|
414
418
|
"""Enum for known scales for SOIL_SALINITY multilevel sensor types."""
|
|
415
419
|
|
|
416
420
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
417
421
|
MOLE_PER_CUBIC_METER = 0
|
|
418
422
|
|
|
419
423
|
|
|
420
|
-
class SolarRadiationScale(
|
|
424
|
+
class SolarRadiationScale(MultilevelSensorScaleType):
|
|
421
425
|
"""Enum for known scales for SOLAR_RADIATION multilevel sensor types."""
|
|
422
426
|
|
|
423
427
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
424
428
|
WATT_PER_SQUARE_METER = 0
|
|
425
429
|
|
|
426
430
|
|
|
427
|
-
class TankCapacityScale(
|
|
431
|
+
class TankCapacityScale(MultilevelSensorScaleType):
|
|
428
432
|
"""Enum for known scales for TANK_CAPACITY multilevel sensor types."""
|
|
429
433
|
|
|
430
434
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -433,7 +437,7 @@ class TankCapacityScale(IntEnum):
|
|
|
433
437
|
LITER = 0
|
|
434
438
|
|
|
435
439
|
|
|
436
|
-
class TideLevelScale(
|
|
440
|
+
class TideLevelScale(MultilevelSensorScaleType):
|
|
437
441
|
"""Enum for known scales for TIDE_LEVEL multilevel sensor types."""
|
|
438
442
|
|
|
439
443
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -441,14 +445,14 @@ class TideLevelScale(IntEnum):
|
|
|
441
445
|
METER = 0
|
|
442
446
|
|
|
443
447
|
|
|
444
|
-
class TimeScale(
|
|
448
|
+
class TimeScale(MultilevelSensorScaleType):
|
|
445
449
|
"""Enum for known scales for TIME multilevel sensor types."""
|
|
446
450
|
|
|
447
451
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
448
452
|
SECOND = 0
|
|
449
453
|
|
|
450
454
|
|
|
451
|
-
class TemperatureScale(
|
|
455
|
+
class TemperatureScale(MultilevelSensorScaleType):
|
|
452
456
|
"""Enum for known scales for Temperature multilevel sensor types."""
|
|
453
457
|
|
|
454
458
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -456,21 +460,21 @@ class TemperatureScale(IntEnum):
|
|
|
456
460
|
FAHRENHEIT = 1
|
|
457
461
|
|
|
458
462
|
|
|
459
|
-
class UltravioletScale(
|
|
463
|
+
class UltravioletScale(MultilevelSensorScaleType):
|
|
460
464
|
"""Enum for known scales for ULTRAVIOLET multilevel sensor types."""
|
|
461
465
|
|
|
462
466
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
463
467
|
UV_INDEX = 0
|
|
464
468
|
|
|
465
469
|
|
|
466
|
-
class UnitlessScale(
|
|
470
|
+
class UnitlessScale(MultilevelSensorScaleType):
|
|
467
471
|
"""Enum for known scales for Unitless multilevel sensor types."""
|
|
468
472
|
|
|
469
473
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
470
474
|
UNITLESS = 0
|
|
471
475
|
|
|
472
476
|
|
|
473
|
-
class VelocityScale(
|
|
477
|
+
class VelocityScale(MultilevelSensorScaleType):
|
|
474
478
|
"""Enum for known scales for VELOCITY multilevel sensor types."""
|
|
475
479
|
|
|
476
480
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -478,7 +482,7 @@ class VelocityScale(IntEnum):
|
|
|
478
482
|
M_S = 0
|
|
479
483
|
|
|
480
484
|
|
|
481
|
-
class VolatileOrganicCompoundLevelScale(
|
|
485
|
+
class VolatileOrganicCompoundLevelScale(MultilevelSensorScaleType):
|
|
482
486
|
"""Enum for known scales for VOLATILE_ORGANIC_COMPOUND_LEVEL multilevel sensor types."""
|
|
483
487
|
|
|
484
488
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -486,7 +490,7 @@ class VolatileOrganicCompoundLevelScale(IntEnum):
|
|
|
486
490
|
PARTS_MILLION = 1
|
|
487
491
|
|
|
488
492
|
|
|
489
|
-
class VoltageScale(
|
|
493
|
+
class VoltageScale(MultilevelSensorScaleType):
|
|
490
494
|
"""Enum for known scales for VOLTAGE multilevel sensor types."""
|
|
491
495
|
|
|
492
496
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -494,35 +498,35 @@ class VoltageScale(IntEnum):
|
|
|
494
498
|
VOLT = 0
|
|
495
499
|
|
|
496
500
|
|
|
497
|
-
class WaterChlorineLevelScale(
|
|
501
|
+
class WaterChlorineLevelScale(MultilevelSensorScaleType):
|
|
498
502
|
"""Enum for known scales for WATER_CHLORINE_LEVEL multilevel sensor types."""
|
|
499
503
|
|
|
500
504
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
501
505
|
MILLIGRAM_PER_LITER = 0
|
|
502
506
|
|
|
503
507
|
|
|
504
|
-
class WaterFlowScale(
|
|
508
|
+
class WaterFlowScale(MultilevelSensorScaleType):
|
|
505
509
|
"""Enum for known scales for WATER_FLOW multilevel sensor types."""
|
|
506
510
|
|
|
507
511
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
508
512
|
LITER_PER_HOUR = 0
|
|
509
513
|
|
|
510
514
|
|
|
511
|
-
class WaterOxidationReductionPotentialScale(
|
|
515
|
+
class WaterOxidationReductionPotentialScale(MultilevelSensorScaleType):
|
|
512
516
|
"""Enum for known scales for WATER_OXIDATION_REDUCTION_POTENTIAL multilevel sensor types."""
|
|
513
517
|
|
|
514
518
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
515
519
|
MILLIVOLT = 0
|
|
516
520
|
|
|
517
521
|
|
|
518
|
-
class WaterPressureScale(
|
|
522
|
+
class WaterPressureScale(MultilevelSensorScaleType):
|
|
519
523
|
"""Enum for known scales for WATER_PRESSURE multilevel sensor types."""
|
|
520
524
|
|
|
521
525
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
522
526
|
KILOPASCAL = 0
|
|
523
527
|
|
|
524
528
|
|
|
525
|
-
class WeightScale(
|
|
529
|
+
class WeightScale(MultilevelSensorScaleType):
|
|
526
530
|
"""Enum for known scales for WEIGHT multilevel sensor types."""
|
|
527
531
|
|
|
528
532
|
# https://github.com/zwave-js/node-zwave-js/blob/master/packages/config/config/sensorTypes.json
|
|
@@ -530,64 +534,6 @@ class WeightScale(IntEnum):
|
|
|
530
534
|
POUNDS = 1
|
|
531
535
|
|
|
532
536
|
|
|
533
|
-
MultilevelSensorScaleType = Union[
|
|
534
|
-
AccelerationScale,
|
|
535
|
-
AcidityScale,
|
|
536
|
-
AirFlowScale,
|
|
537
|
-
AirPressureScale,
|
|
538
|
-
AnglePositionScale,
|
|
539
|
-
AppliedForceOnTheSensorScale,
|
|
540
|
-
BasisMetabolicRateScale,
|
|
541
|
-
BloodPressureScale,
|
|
542
|
-
BodyMassIndexScale,
|
|
543
|
-
CarbonDioxideLevelScale,
|
|
544
|
-
CarbonMonoxideLevelScale,
|
|
545
|
-
CurrentScale,
|
|
546
|
-
DensityScale,
|
|
547
|
-
DirectionScale,
|
|
548
|
-
DistanceScale,
|
|
549
|
-
ElectricalConductivityScale,
|
|
550
|
-
ElectricalResistivityScale,
|
|
551
|
-
FormaldehydeLevelScale,
|
|
552
|
-
FrequencyScale,
|
|
553
|
-
GeneralPurposeScale,
|
|
554
|
-
HeartRateScale,
|
|
555
|
-
HumidityScale,
|
|
556
|
-
IlluminanceScale,
|
|
557
|
-
LoudnessScale,
|
|
558
|
-
MassScale,
|
|
559
|
-
MethaneDensityScale,
|
|
560
|
-
MoistureScale,
|
|
561
|
-
ParticulateMatter10Scale,
|
|
562
|
-
ParticulateMatter25Scale,
|
|
563
|
-
PercentageScale,
|
|
564
|
-
PowerScale,
|
|
565
|
-
PressureScale,
|
|
566
|
-
RadonConcentrationScale,
|
|
567
|
-
RainRateScale,
|
|
568
|
-
RespiratoryRateScale,
|
|
569
|
-
RfSignalStrengthScale,
|
|
570
|
-
RotationScale,
|
|
571
|
-
SeismicIntensityScale,
|
|
572
|
-
SeismicMagnitudeScale,
|
|
573
|
-
SoilSalinityScale,
|
|
574
|
-
SolarRadiationScale,
|
|
575
|
-
TankCapacityScale,
|
|
576
|
-
TemperatureScale,
|
|
577
|
-
TideLevelScale,
|
|
578
|
-
TimeScale,
|
|
579
|
-
UltravioletScale,
|
|
580
|
-
UnitlessScale,
|
|
581
|
-
VelocityScale,
|
|
582
|
-
VolatileOrganicCompoundLevelScale,
|
|
583
|
-
VoltageScale,
|
|
584
|
-
WaterChlorineLevelScale,
|
|
585
|
-
WaterFlowScale,
|
|
586
|
-
WaterOxidationReductionPotentialScale,
|
|
587
|
-
WaterPressureScale,
|
|
588
|
-
WeightScale,
|
|
589
|
-
]
|
|
590
|
-
|
|
591
537
|
MULTILEVEL_SENSOR_TYPE_TO_SCALE_MAP: Dict[
|
|
592
538
|
MultilevelSensorType, Type[MultilevelSensorScaleType]
|
|
593
539
|
] = {
|