* Initial version.
* Tests.
* Refactored tests.
* Update requirements_all
* Increase test coverage. Catch exception.
* Update .coveragerc
* Fix lint msg.
* Tweak test (more to force CI build).
* Update based on PR comments.
* Change unique_id to use stable string.
* Add Universal Powerline Bus "link" support.
* Fix missed call.
* Revert botched merge.
* Update homeassistant/components/upb/light.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Three changes.
Update service schema to require one of brightness/brightness_pct.
Fix bug in setting brightness to zero.
Replace async_update_status and replace with async_update.
Co-authored-by: J. Nick Koston <nick@koston.org>
* Remove unnecessary pylint exceptions
* Move up some change to binary_sensors and switch. Fix program d.s.a's.
* ISY994 Basic support for PyISYv2
- Bare minimum changes to be able to support PyISYv2.
- Renaming imports and functions to new names.
- Use necessary constants from module.
- **BREAKING CHANGE** Remove ISY Climate Module support.
- Climate module was retired on 3/30/2020: [UDI Annoucement](https://www.universal-devices.com/byebyeclimatemodule/)
- **BREAKING CHANGE** Device State Attributes use NodeProperty
- Some attributes names and types will have changed as part of the changes to PyISY. If a user relied on a device state attribute for a given entity, they should check that it is still there and formatted the same. In general, *more* state attributes should be getting picked up now that the underlying changes have been made.
- **BREAKING CHANGE** `isy994_control` event changes (using NodeProperty)
- Control events now return an object with additional information. Control events are now parsed to the friendly names and will need to be updated in automations.
Remove cast
* PyISY v2.0.2, add extra UOMs, omit EMPTY_TIME attributes
* Fix typo in function doc string.
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
* Add config flow to songpal
* Add config flow to songpal
* Add songpal to migrated service in discovery
* Improve songpal/set_sound_setting service
* Remove songpal config flow from .coveragerc omit
* Bump python-songpal to 0.12 and fix exception handling
* Revert "Improve songpal/set_sound_setting service"
This reverts commit 9be076ab52e21f268322572c36709a17d41db771.
* Code style fix
* Add connections to device_info
* Fix pylint
* Ignore braava tv
* Fix test warning
* Add @shenxn as codeowner
* Remove model from configuration data
* Get name from device in user step
* Add unload entry support
* Delete translations as it will get generated as part of CI
* Code cleanup
* Fix typo
* Remove _show_setup_form
* Change configuration from media_player to songpal
Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com>
* Start gateway using new zigpy init.
Update config entry data import.
Use new zigpy startup.
Fix config entry import without zha config section.
Auto form Zigbee network.
* Migrate config entry.
* New ZHA config entry flow.
Use lightweight probe() method for ZHA config entry validation when
available. Failback to old behavior of setting up Zigpy app if radio lib
does not provide probing.
* Clean ZHA_GW_RADIO
* Don't import ZHA device settings.
* Update config flow tests.
* Filter out empty manufacturer.
* Replace port path with an by-id device name.
* Rebase cleanup
* Use correct mock.
* Make lint happy again
* Update tests/components/zha/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zha/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zha/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Use executor pool for IO
* Address comments.
Use AsyncMock from tests.
* Use core interface to test config flow.
* Use core interface to test config_flow.
* Address comments. Use core interface.
* Update ZHA dependencies.
* Schema guard
* Use async_update_entry for migration.
* Don't allow schema extra keys.
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* 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
* 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
* Updating the panasonic_viera component
* Updating .coveragerc
* Removing testplatform
* Updating strings.json
* Commit before rebase
* Commit before rebase
* Commit before rebase
* Commit before rebase
* Commit before rebase
* Adding tests and stuff
* Fixing permission issues
* Ignoring Pylint warnings
* Fixing one more Pylint warning
* Refactoring
* Commiting changes - part 1
* Commiting changes: part 2
* Turning unknown error logs into exception logs
* Update strings.json
* Rebasing
* Updating the panasonic_viera component
* Removing testplatform
* Updating strings.json
* Commit before rebase
* Commit before rebase
* Commit before rebase
* Commit before rebase
* Commit before rebase
* Adding tests and stuff
* Fixing permission issues
* Ignoring Pylint warnings
* Fixing one more Pylint warning
* Refactoring
* Commiting changes - part 1
* Commiting changes: part 2
* Turning unknown error logs into exception logs
* Adding pt-BR translation
* Removing Brazilian Portugues translations
* Modifying error handling
* Adding SOAPError to except handling
* Updating translation
* Refactoring async_step_import
* Fixing indentation
* Fixing requirements after rebase
* Fixing translations
* Fixing issues after rebase
* Routing import step to user step
* Adding myself as a codeowner
* Rollback modbus to version 0.107.7
Update manifest to not use async.
Rollback entities to sync version.
Keep newer modifications apart from async.
Rollback __init__ to sync version but keep the new functionality.
add async sub directory
Adding the current (not working) version in a sub directory,
to allow easy sharing with a few alfa testers.
The async version are to be updated to use the serial/tcp already
available instead of the flaky pymodbus version. pymodbus is still
needed to encode/decode the messagess.
Update test cases to reflect sync implementation, but
keep the new functionality like e.g. conftest.py.
* do not publish async version
The async version will be made available in a forked repo, until
it is ready to replace the production code.
* Add device tracker based on arris-tg2492lg
* Return name of device and update version of arris_tg2492lg
* Update CODEOWNERS, requirements_all.txt and .coveragerc
* Change default url to host
* Use f-strings
Co-Authored-By: Franck Nijhof <frenck@frenck.nl>
* Clean up
* Fix formatting
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* add pyserial to manifest
pymodbus is very developer oriented and assumes every developer
adapt the requierements.txt to his/hers needs.
Our requirements.txt is different it contains all posibilities allowing
user to later change configuration without having to install extra
packages.
As a consequence manifest.json needs to include the pyserial.
* modbus: make truly async client creation
Make hass call listen_once async.
Integrate content of start_modbus into async_setup.
Do not use the boiler plate create tcp client function from
pymodbus as it is sync, and also does not work well with asyncio,
instead call the init_<type> directly, since that is async.
* both component/modbus and component/serial uses pyserial-async
but with slighty different version requirements.
Combined the 2.
* Review 1
* Review 2
* Review
@staticmethod is no good, because the function uses class variables.
* Review
Pytest is sometimes a bit cryptic, lets hope this does it.
* Add config_flow for roomba
* Get options to connect
* Fix options in config flow
* Fix syntax in config_flow
* Remove name (not necessary)
* Add bin sensor
* Add Battery sensor
* Add async_connect
* Fix typo
* Add Model and Software version
* Update Roombapy 1.5.0
* Add validate_input
* Add connect and disconnect functions
* Remove test config flow
* Add variables after loop
* Fix translate
* Fix typo
* Fix state of bin
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Remove invalid auth
* Add call function reported_state
* Add options reload
* Fix tracelog
* Set entry_id for config_entry
* Fix DOMAIN unsed-import
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Add unique_id for entry
* Fix device info
* Add config_flow for roomba
* Get options to connect
* Fix options in config flow
* Fix syntax in config_flow
* Remove name (not necessary)
* Add bin sensor
* Add Battery sensor
* Add async_connect
* Fix typo
* Add Model and Software version
* Update Roombapy 1.5.0
* Add validate_input
* Add connect and disconnect functions
* Remove test config flow
* Add variables after loop
* Fix translate
* Fix typo
* Fix state of bin
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Remove invalid auth
* Add call function reported_state
* Add options reload
* Fix tracelog
* Set entry_id for config_entry
* Fix DOMAIN unsed-import
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/config_flow.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Add unique_id for entry
* Fix device info
* syntax for mac (pyupgrade)
* Change single key to BLID
* Resolve dict conflict
* Update homeassistant/components/roomba/binary_sensor.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/sensor.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/.translations/en.json
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/strings.json
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Add description
* Revert "Remove test config flow"
This reverts commit 26a89422e8.
* Add tests
* Remove check if user none
* Replace CONF_USERNAME to CONF_BLID (breaking change)
* Update test_config_flow.py
* Add code owners
* Remove CONF_USERNAME (unused)
* Add multiple vacuum
* Add multiple vacuum
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Fix syntax name
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Remove CONF_PREFIX (unused)
* Update homeassistant/components/roomba/sensor.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Add import UNIT_PERCENTAGE
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/roomba/__init__.py
Co-Authored-By: J. Nick Koston <nick@koston.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
* Rewrite parts of upnp component
* Linting
* Add SCAN_INTERVAL
* Get values simultaneously
* Move to time related constants, as per #32065
* Linting
* Move constant KIBIBYTE to homeassistant.const
* Simplify code
* Fix tests for #33344
* Changes after review
* Update homeassistant/components/upnp/sensor.py
* Changes after review
* Formatting
* Formatting
* Use ST from discovery info to avoid swapping device_types if device advertises multiple versions
* Linting
* Requirements for upnp + dlna_dmr components
* Linting
* Regen requirements
* Changes after review by @MartinHjelmare
* Changes after review by @MartinHjelmare
* Formatting
* Linting
* Changes after review by @MartinHjelmare
* Changes after review by @MartinHjelmare
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>