* 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
* Display a QR code for homekit pairing
This will reduce the failure rate with HomeKit
pairing because there is less chance of entry
error.
* Add coverage
* Test that the qr code is created
* I cannot spell
* Update homeassistant/components/homekit/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/homekit/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* bravia-tv version bump
* Fix Auth Cookies
- Fix authentication cookie expiration.
- Remove obsolete error handling (since bravia-tv==1.0.2)
- Remove obsolete mac address references. (since bravia-tv==1.0.2)
- Update tests.
* fix async_refresh_playing_info
* Improve code format
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Config_entry needs mac address for HA restart
This was mistakenly taken out. Home-Assistant needs to store mac address in
case restarted. TV needs to be on to acquire mac address. This is neccesary
to allow TV to be turned on by Home-Assistant after Home-Assistant is
restarted.
* Skip update() during state changes
It is best for performance to skip updates during state change because
bravia.turn_on() will commonly push async_update() beyond it's update
interval.
* update tests
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* 0.2.0 of the btsmarthub_devicelist package makes it compatable with BT's home hub 2.
The API has changed in the new version so this change also makes the component code compatible with the changes to the library.
* Update homeassistant/components/bt_smarthub/device_tracker.py
Co-Authored-By: Franck Nijhof <frenck@frenck.nl>
* Update homeassistant/components/bt_smarthub/device_tracker.py
Co-Authored-By: Franck Nijhof <frenck@frenck.nl>
* Remove dep on config in BTSmartHubScanner
This should make BTSmartHubScanner easier to test as you can pass in a mock smarthub_client
* Black format bt_smarthub
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* HomeKit: Store generated aid against unique_id where possible
* Fix conflict
* Fix max accessories check
* homekit counts the bridge as an accessory
* Add coverage for aidmanager
* prepare for merge
Co-authored-by: J. Nick Koston <nick@koston.org>
nad_receiver received a few fixes in 0.0.12, which enables the integration
for me. I assume it may depend on the receiver model, but my receiver only reports
mute state and volume when it's on, while the library used to assume to always
get a reply. With 0.0.11 the nad integration simply excepts on startup,
after bumping the version up it works.
Fixes this:
2020-04-18 22:59:38 ERROR (MainThread) [homeassistant.components.media_player] nad: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 324, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 476, in async_device_update
await self.hass.async_add_executor_job(self.update)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/nad/media_player.py", line 195, in update
if self._nad_receiver.main_mute("?") == "Off":
File "/usr/local/lib/python3.7/site-packages/nad_receiver/__init__.py", line 71, in main_mute
return self.exec_command('main', 'mute', operator, value)
File "/usr/local/lib/python3.7/site-packages/nad_receiver/__init__.py", line 62, in exec_command
return msg.decode().strip().split('=')[1]
IndexError: list index out of range
* Fix signal collision in tado with multiple accounts
Tado signals were not unique enough to prevent collisions
between accounts with the same zone ids.
* Bump upstream to fix multiple tado accounts
* switch signal undo to async_on_remove
* Bump version now that upstream is released
* bump python-tado
* While its only the dep that changed since the last run, best to force another CI to be sure
* Add Braava support to iRobot Roomba component
* Replace async_add_job with async_add_executor_job in roomba
* Improve readability in roomba
* Improve error handling in roomba
* Cleanup async_update in roomba
* Split into multiple files in roomba
* Hide protocal details in braava
* Switch to push in braava
* Bump roombapy version to 1.5.1
* Add roomba files to .coveragerc
* Fix typo
* Remove side effects from init in roomba
* Implement StateVacuumDevice in Roomba
* Add IRobotEntity base class to braava
* Fix state in roomba
* Add @shenxn as a codeowner of braava