* add reboot and shutdown service to synology_dsm
* apply suggestions
* make _async_setup_services() async
* add comment to make sure unique_id is serial
* Limit concurrency of async_get_integration to avoid creating extra threads
Since async_get_integration is waiting on the disk most of the time
it would end up creating many new threads because the disk could
not deliver the data in time.
* pylint
* Extend WS API result when enabling an entity
* Fix tests
* Fix tests
* Move updated registry entry to sub dict
* Address review comments
* Increase test coverage
* Initial switch-group/stretch with failing wk_lisa_battery test
* Adding switch tests, but TypeErrors, needs more investigation
* Fixes and tests aligned
* Review updates
* Use const
* Comments
* Add stretch hostname for testing part
* Remove unused consts
* Revert guardings in line with -beta
* Catchup with dev (mostly with ourselves from #41201)
* Update docstring
* Remove debug logging
* Fix for #42725 (incorrect entity namingi)
* Fix naming for gas interval
* Add missing CONF_USERNAME and use of it
* Change "dummy" to "class"
* Don't use "class"
* Fix CONF_USERNAME default, dummy and other consts
Co-authored-by: Bouwe Westerdijk <11290930+bouwew@users.noreply.github.com>
* check for false config in modbus tests.
add call to pytest.fail() if device cannot be defined.
* correct bit error in register read.
Only LSB is to be considered for checking ON/OFF
* Add register tests for modbus switch.
Copy the coil tests to work for register tests.
* allow test coverage to control switch.py
With both register and coil test the coverage is a log higher than 50%
* Correct minor bug in handling of register in modbus switch
* Add state_on/state_off test for modbus switch
* restore modbus switch exclusion from coverage
switch file coverage is only at 72%, ideally we want either 80%+ coverage on the file or 90%+ on the component itself which is only about 83% currently with this file included. this is so we keep the overall project coverage in 90%+.
Co-authored-by: Chris Talkington <chris@talkingtontech.com>