zwave-js-server-python 0.31.0__tar.gz → 0.32.0__tar.gz

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.
Files changed (65) hide show
  1. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/PKG-INFO +2 -1
  2. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/setup.py +2 -1
  3. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/test/test_main.py +1 -1
  4. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/client.py +2 -0
  5. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/__init__.py +23 -2
  6. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/barrier_operator.py +2 -0
  7. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/lock.py +4 -0
  8. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/meter.py +27 -0
  9. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/multilevel_sensor.py +509 -349
  10. zwave-js-server-python-0.32.0/zwave_js_server/const/command_class/notification.py +3 -0
  11. zwave-js-server-python-0.32.0/zwave_js_server/const/command_class/protection.py +4 -0
  12. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/sound_switch.py +4 -0
  13. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/dump.py +1 -1
  14. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/controller.py +263 -34
  15. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/log_config.py +1 -1
  16. zwave-js-server-python-0.32.0/zwave_js_server/model/log_message.py +179 -0
  17. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/node.py +8 -0
  18. zwave-js-server-python-0.32.0/zwave_js_server/model/utils.py +13 -0
  19. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server_python.egg-info/PKG-INFO +2 -1
  20. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server_python.egg-info/SOURCES.txt +3 -0
  21. zwave-js-server-python-0.31.0/zwave_js_server/model/log_message.py +0 -88
  22. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/LICENSE +0 -0
  23. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/README.md +0 -0
  24. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/setup.cfg +0 -0
  25. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/test/test_client.py +0 -0
  26. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/test/test_dump.py +0 -0
  27. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/test/test_event.py +0 -0
  28. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/test/test_firmware.py +0 -0
  29. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/test/test_version.py +0 -0
  30. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/__init__.py +0 -0
  31. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/__main__.py +0 -0
  32. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/__init__.py +0 -0
  33. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/color_switch.py +0 -0
  34. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/entry_control.py +0 -0
  35. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/multilevel_switch.py +0 -0
  36. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/thermostat.py +0 -0
  37. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/const/command_class/wake_up.py +0 -0
  38. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/event.py +0 -0
  39. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/exceptions.py +0 -0
  40. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/firmware.py +0 -0
  41. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/__init__.py +0 -0
  42. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/association.py +0 -0
  43. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/command_class.py +0 -0
  44. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/device_class.py +0 -0
  45. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/device_config.py +0 -0
  46. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/driver.py +0 -0
  47. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/endpoint.py +0 -0
  48. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/firmware.py +0 -0
  49. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/notification.py +0 -0
  50. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/value.py +0 -0
  51. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/model/version.py +0 -0
  52. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/util/__init__.py +0 -0
  53. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/util/command_class/__init__.py +0 -0
  54. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/util/command_class/meter.py +0 -0
  55. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/util/command_class/multilevel_sensor.py +0 -0
  56. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/util/helpers.py +0 -0
  57. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/util/lock.py +0 -0
  58. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/util/multicast.py +0 -0
  59. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/util/node.py +0 -0
  60. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server/version.py +0 -0
  61. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server_python.egg-info/dependency_links.txt +0 -0
  62. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server_python.egg-info/entry_points.txt +0 -0
  63. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server_python.egg-info/not-zip-safe +0 -0
  64. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server_python.egg-info/requires.txt +0 -0
  65. {zwave-js-server-python-0.31.0 → zwave-js-server-python-0.32.0}/zwave_js_server_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zwave-js-server-python
3
- Version: 0.31.0
3
+ Version: 0.32.0
4
4
  Summary: Python wrapper for zwave-js-server
5
5
  Home-page: https://github.com/home-assistant-libs/zwave-js-server-python
6
6
  Author: Home Assistant Team
@@ -45,6 +45,7 @@ Classifier: Natural Language :: English
45
45
  Classifier: Programming Language :: Python :: 3
46
46
  Classifier: Programming Language :: Python :: 3.8
47
47
  Classifier: Programming Language :: Python :: 3.9
48
+ Classifier: Programming Language :: Python :: 3.10
48
49
  Classifier: Topic :: Home Automation
49
50
  Requires-Python: >=3.8
50
51
  Description-Content-Type: text/markdown
@@ -5,7 +5,7 @@ from setuptools import find_packages, setup
5
5
 
6
6
  PROJECT_DIR = Path(__file__).parent.resolve()
7
7
  README_FILE = PROJECT_DIR / "README.md"
8
- VERSION = "0.31.0"
8
+ VERSION = "0.32.0"
9
9
 
10
10
 
11
11
  setup(
@@ -33,6 +33,7 @@ setup(
33
33
  "Programming Language :: Python :: 3",
34
34
  "Programming Language :: Python :: 3.8",
35
35
  "Programming Language :: Python :: 3.9",
36
+ "Programming Language :: Python :: 3.10",
36
37
  "Topic :: Home Automation",
37
38
  ],
38
39
  )
@@ -64,7 +64,7 @@ def test_dump_state(
64
64
  assert captured.out == (
65
65
  "{'type': 'version', 'driverVersion': 'test_driver_version', "
66
66
  "'serverVersion': 'test_server_version', 'homeId': 'test_home_id', "
67
- "'minSchemaVersion': 0, 'maxSchemaVersion': 9}\n"
67
+ "'minSchemaVersion': 0, 'maxSchemaVersion': 11}\n"
68
68
  "{'type': 'result', 'success': True, 'result': {}, 'messageId': 'api-schema-id'}\n"
69
69
  "test_result\n"
70
70
  )
@@ -102,6 +102,8 @@ class Client:
102
102
  self._client = await self.aiohttp_session.ws_connect(
103
103
  self.ws_server_url,
104
104
  heartbeat=55,
105
+ compress=15,
106
+ max_msg_size=0,
105
107
  )
106
108
  except (
107
109
  client_exceptions.WSServerHandshakeError,
@@ -2,18 +2,23 @@
2
2
  from enum import Enum, IntEnum
3
3
 
4
4
  # minimal server schema version we can handle
5
- MIN_SERVER_SCHEMA_VERSION = 9
5
+ MIN_SERVER_SCHEMA_VERSION = 11
6
6
  # max server schema version we can handle (and our code is compatible with)
7
- MAX_SERVER_SCHEMA_VERSION = 9
7
+ MAX_SERVER_SCHEMA_VERSION = 11
8
8
 
9
9
  VALUE_UNKNOWN = "unknown"
10
10
 
11
11
  INTERVIEW_FAILED = "Failed"
12
12
 
13
+ CURRENT_STATE_PROPERTY = "currentState"
13
14
  TARGET_STATE_PROPERTY = "targetState"
15
+ CURRENT_VALUE_PROPERTY = "currentValue"
14
16
  TARGET_VALUE_PROPERTY = "targetValue"
15
17
  DURATION_PROPERTY = "duration"
16
18
 
19
+ TRANSITION_DURATION_OPTION = "transitionDuration"
20
+ VOLUME_OPTION = "volume"
21
+
17
22
 
18
23
  class CommandStatus(str, Enum):
19
24
  """Status of a command sent to zwave-js-server."""
@@ -216,3 +221,19 @@ class SecurityClass(IntEnum):
216
221
  S2_AUTHENTICATED = 1
217
222
  S2_ACCESS_CONTROL = 2
218
223
  S0_LEGACY = 7
224
+
225
+
226
+ class QRCodeVersion(IntEnum):
227
+ """Enum for all known QR Code versions."""
228
+
229
+ # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/security/QR.ts#L43-L46
230
+ S2 = 0
231
+ SMART_START = 1
232
+
233
+
234
+ class Protocols(IntEnum):
235
+ """Enum for all known protocols."""
236
+
237
+ # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/capabilities/Protocols.ts#L1-L4
238
+ ZWAVE = 0
239
+ ZWAVE_LONG_RANGE = 1
@@ -1,6 +1,8 @@
1
1
  """Constants for the Barrier Operator CC."""
2
2
  from enum import IntEnum
3
3
 
4
+ SIGNALING_STATE_PROPERTY = "signalingState"
5
+
4
6
 
5
7
  class BarrierEventSignalingSubsystemState(IntEnum):
6
8
  """Enum with all (known/used) Z-Wave Barrier Event Signaling Subsystem States."""
@@ -46,6 +46,10 @@ LOCK_CMD_CLASS_TO_PROPERTY_MAP = {
46
46
 
47
47
  LOCK_USERCODE_PROPERTY = "userCode"
48
48
  LOCK_USERCODE_STATUS_PROPERTY = "userIdStatus"
49
+ DOOR_STATUS_PROPERTY = "doorStatus"
50
+ CURRENT_MODE_PROPERTY = "currentMode"
51
+ LOCKED_PROPERTY = "locked"
52
+
49
53
  ATTR_CODE_SLOT = "code_slot"
50
54
  ATTR_IN_USE = "in_use"
51
55
  ATTR_NAME = "name"
@@ -2,6 +2,8 @@
2
2
  from enum import IntEnum
3
3
  from typing import Dict, Set, Type, Union
4
4
 
5
+ VALUE_PROPERTY = "value"
6
+
5
7
  CC_SPECIFIC_SCALE = "scale"
6
8
  CC_SPECIFIC_METER_TYPE = "meterType"
7
9
  CC_SPECIFIC_RATE_TYPE = "rateType"
@@ -100,3 +102,28 @@ WATER_METER_TYPES: Set[MeterScaleType] = {
100
102
  WaterScale.US_GALLON,
101
103
  WaterScale.PULSE_COUNT,
102
104
  }
105
+
106
+ UNIT_KILOWATT_HOUR: Set[MeterScaleType] = {
107
+ ElectricScale.KILOWATT_HOUR,
108
+ HeatingScale.KILOWATT_HOUR,
109
+ CoolingScale.KILOWATT_HOUR,
110
+ }
111
+ UNIT_KILOVOLT_AMPERE_HOUR: Set[MeterScaleType] = {ElectricScale.KILOVOLT_AMPERE_HOUR}
112
+ UNIT_WATT: Set[MeterScaleType] = {ElectricScale.WATT}
113
+ UNIT_PULSE_COUNT: Set[MeterScaleType] = {
114
+ ElectricScale.PULSE_COUNT,
115
+ GasScale.PULSE_COUNT,
116
+ WaterScale.PULSE_COUNT,
117
+ }
118
+ UNIT_VOLT: Set[MeterScaleType] = {ElectricScale.VOLT}
119
+ UNIT_AMPERE: Set[MeterScaleType] = {ElectricScale.AMPERE}
120
+ UNIT_POWER_FACTOR: Set[MeterScaleType] = {ElectricScale.POWER_FACTOR}
121
+ UNIT_KILOVOLT_AMPERE_REACTIVE: Set[MeterScaleType] = {
122
+ ElectricScale.KILOVOLT_AMPERE_REACTIVE
123
+ }
124
+ UNIT_KILOVOLT_AMPERE_REACTIVE_HOUR: Set[MeterScaleType] = {
125
+ ElectricScale.KILOVOLT_AMPERE_REACTIVE_HOUR
126
+ }
127
+ UNIT_CUBIC_METER: Set[MeterScaleType] = {GasScale.CUBIC_METER, WaterScale.CUBIC_METER}
128
+ UNIT_CUBIC_FEET: Set[MeterScaleType] = {GasScale.CUBIC_FEET, WaterScale.CUBIC_FEET}
129
+ UNIT_US_GALLON: Set[MeterScaleType] = {WaterScale.US_GALLON}