Metadata-Version: 2.1 Name: zwave-me-ws Version: 0.4.3 Summary: Library, implementing websocket connection to ZWave-Me Home-page: https://github.com/Z-Wave-Me/zwave-me-ws License: MIT Author: Dmitry Vlasov Author-email: kerbalspacema@gmail.com Requires-Python: >=3.8,<4.0 Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Requires-Dist: requests (>=2.28.1,<3.0.0) Requires-Dist: websocket-client (>=1.2.1,<2.0.0) Project-URL: Repository, https://github.com/Z-Wave-Me/zwave-me-ws Description-Content-Type: text/markdown ZWave-Me-WS is a websocket connection library for [Z-Wave.Me Z-Way](https://z-wave.me/z-way/) controllers **Installing** To install this package use: `pip install zwave-me-ws` **Usage** To use the connector initialize the API using: ``` from zwave_me_ws import ZWaveMe, ZWaveMeData zwave_api = ZWaveMe( on_device_create=on_device_func on_device_update=on_device_update_func, on_new_device=on_device_add_func, token="....", # Z-Way access token in the form .../... (remote) of /... (local) url="...", # wss://find.z-wave.me or ws://IP:8083 platforms=[...] ) def on_device_add_func(self, device: ZWaveMeData) def on_device_create_func(self, devices: list[ZWaveMeData]) def on_device_update_func(self, new_info: ZWaveMeData) ``` Here `platforms` is the list of deviceType fields to handle. Used to filter only types supported by your application. For example, `["sensorBinary", "lightMultilevel", "toggleButton", "thermostat", "motor", "fan", "doorlock", "switchMultilevel", "switchBinary", "sensorMultilevel", "siren", "switchRGBW", "switchRGB"]`. Available functions: ``` devices = zwave_api.get_devices() zwave_api.send_command(device_id, command) # command can be "on", "off", "exact?level=..", "open", "close" is_connected = zwave_api.get_connection() zwave_api.close_ws() ``` Device (ZWaveMeData) has the following fields: ``` id: str deviceType: str title: str level: Union[str, int, float] deviceIdentifier: str probeType: str scaleTitle: str min: str max: str color: dict isFailed: bool locationName: str manufacturer: str firmware: str tags: list[str] nodeId: str creatorId: str ```