* add websocket commands to retrieve and set config parameters for a node
* move set_config_parameter into generic function and refactor service and WS API
* add payload to return to make service call behave the same way it did before
* create response class
* update error message to pass tests
* move things a bit to reduce LOC
* add tests
* handle logging errors better and make new response class more generic to prepare for lock user code work
* remove unused function parameter
* invert check
* add additional error checking
* refactor a bit to remove repeat code
* revert log msg change
* one more refactor to create generic get_config_parameters function
* change if logic for consistency
* fix test
* add support to provide bool value in set_config_parameter service call
* standardize parameter names on service call
* add test coverage
* fix tests and message sending
* remove unnecessary logging import
* fix one test to get missing coverage
* update per martin and kpines reviews
* remove false assertion
* string line length
* add support for Decimal config param, remove node instance ID as input, and move helper functions to node.py
* cast Decimal appropriately
* revert change to support Decimal for config params since they are not supported as a config param type
* revert to using error arguments to make next PR for WS lock commands easier
* switch to class method and add guard for list Value not being a number
* update logic to use new openzwavemqtt util methods
* add support for bitsets
* use parent exception class
* bump openzwavemqtt version, remove node.py from .coveragerc and put file references in the right place
* add comment
* improve config validation
* remove bitset support from config validation
* re-add bitset support with some additional tests
* move send_result out of try block
* Add ZwaveStringSensor to OZW integration
* Remove unnecessary new line
* Set enabled default to false for ZwaveStringSensor
* Add missing decorator for property
* Add a test for ZwaveStringSensor
* Also test state of ZWaveStringSensor
* Remove entity type check
* Add ozw refresh_node_info websocket api
* Remove extra unsubs definition
* Remove unused bits from refresh_node_info websocket
* Add tests
* Add unsubscribe test
* Wait for response in unsubscribe test
* Add missing Short type to set_config_param
* Forgot to fix the for loop
* Remove leftover return
* Guard the for loop
* Changed from if to else
* Fixed list iteration for validating input
* Adjusted per linter
* Add node neighbors to websocket api
* Update homeassistant/components/ozw/websocket_api.py
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
* Update tests/components/ozw/test_websocket_api.py
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
* Dimming duration fix
Fixes#38068 - allows dimming duration to 7620 (default of 7621)
* Forgot to commit my test updates
* Added backwards compatibility with pre-150+ builds
Added tests for backwards compatibility
* Upped the build number cut off
* Add check for major.minor version as well
* Fix major.minor detection
* Adjust variable name
* Adjust version checking logic
* Math is hard
* Rename files, adjust test names
* Update doc string
* Fix color temp math
* Ran black --fast
* Update test_light.py
* tweaking mireds
* updating comments
* fixing test_light to match standards
* fixing comments, need coffee
* Add support for set_config_parameter service
* Adjusted elif to if
* More if/else cleanup
* More if/else cleanup
* Less nesting
* End loop properly
* Added byte type
* Convert break to return
* fix presets and mode conversion
* fix mapping issues in ozw climate
* build mapping table in advance
* Copying a dict to a list copies the keys by default
* Add fan platform
* Add fan discovery schema
* Use constants for dispatcher signal
* Move fan platform to ozw
* Fix fan discovery schema
* Add previous speed to handle value 255
* Make fixture reading more robust
* Add fan tests
* Remove not needed fixture info
* Validate speed
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>