* Add query and sync
* Update description of call_query
* Remove backup files accidentally committed to repo
* Update after pysqueezebox refactor
* Use entity service helper
* Implement suggested changes
* Fix linter error in services.yaml
* Fix long lines in services.yaml
Get rid of internal library code and use pulsectl library to communicate
with PulseAudio server.
This is a breaking change as the library uses the much more powerful
native interface instead of the CLI interface, requiring the need to
change the default port.
On the bright side, this also solves some issues with the existing
implementation:
- There was no test if the complete list of loaded modules was
already received. If not all data could be read at once, the
remaining modules not yet in the buffer were considered absent,
resulting in unreliable behavior when a lot of modules were loaded
on the server.
- A switch could be turned on before the list of loaded modules was
loaded, leading to a loopback module being loaded even though this
module was already active (#32016).
* Add support for Numato 32 port USB GPIO boards
Included are a binary_sensor, sensor and switch component
implementations. The binary_sensor interface pushes updates via
registered callback functions, so no need to poll here.
Unit tests are included to test against a Numato device mockup.
* Refactor numato configuration due to PR finding
* Resolve minor review findings
* Bump numato-gpio requirement
* Load numato platforms during domain setup
According to review finding
* Guard from platform setup without discovery_info
According to review finding
* Move numato API state into hass.data
According to review finding.
* Avoid side effects in numato entity constructors
According to review finding
* Keep only first line of numato module docstrings
Removed reference to the documentation. Requested by reviewer.
* Minor improvements inspired by review findings
* Fix async tests
Pytest fixture was returning from the yield too early executing teardown
code during test execution.
* Improve test coverage
* Configure GPIO ports early
Review finding
* Move read_gpio callback to outside the loop
Also continue on failed switch setup, resolve other minor review
findings and correct some error messages
* Bump numato-gpio requirement
This fixes a crash during cleanup. When any device had a communication
problem, its cleanup would raise an exception which was not handled,
fell through to the caller and prevented the remaining devices from
being cleaned up.
* Call services directly
Define local helper functions for better readability.
Resolves a review finding.
* Assert something in every test
So not only coverage is satisfied but things are actually tested
to be in the expected state.
Resolves a review finding.
* Clarify scope of notification tests
Make unit test for hass NumatoAPI independent of Home Assistant (very basic test of notifications).
Improve the regular operations test for notifications.
* Test for hass.states after operating switches
Resolves a review finding.
* Check for wrong port directions
* WIP: Split numato tests to multiple files
test_hass_binary_sensor_notification still fails.
* Remove pytest asyncio decorator
Apears to be redundant. Resolves a review finding.
* Call switch services directly.
Resolves a review finding.
* Remove obsolete inline pylint config
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Improve the numato_gpio module mockup
Resolves a review finding.
* Remove needless explicit conversions to str
Resolves review findings.
* Test setup of binary_sensor callbacks
* Fix test_hass_binary_sensor_notification
* Add forgotten await
Review finding.
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Bump arcam-fmj with better connection failed support
* Log unexpected exceptions in arcam client
* Consider undetected as 2ch to match OSD
* Ask for explicit update on start