* 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>
* Added support for white value in Template Light integration.
* Tests now working.
* Clean up
* Make template more robust
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add Islamic Prayer Times config_flow
* Add Islamic Prayer Times config_flow
* handle options update and fix tests
* fix sensor update handling
* fix pylint
* fix scheduled update and add test
* update test_init
* update flow options to show drop list
* clean up code
* async scheduling and revert state to timestamp
* fix update retry method
* update strings
* keep title as root key
* Move removal of sensor entities into a base class
* Fix martins comments on sensors
* Reflect sensor changes on device_tracker platform
* Reflect sensor changes on switch platform
* Improve layering
* Make sure to clean up entity and device registry when removing entities
* Fix martins comments
* 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>
* 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
* Fix emulated_hue brightness off by one
Hue uses a max brightness of 254, Home Assistant
uses a max brightness of 255. Values > 127 were
off by one.
* use constant
* fix test
* add debug
* Revert "add debug"
This reverts commit 242220a02e.
* added "allon" and "alloff" to the binary_sensor
Ref to the issue: https://github.com/home-assistant/core/issues/32399
* Cosmetic fix
* Fix format
* Update test
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* verify that the config in hass is not empty
* changed to use MockConfigEntry
* Update tests/components/ios/test_init.py
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/ios/test_init.py
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* changed the test per suggestions
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* 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.
* Allow disable wired bug work around
* Move small improvements from closed PR #34065
* Fix failing test
* Add new test
* Some extra logging
* Harmonize log outputs
* Add config flow string
* Fix Balloobs comments
* add config flow to nws and remove yaml
* Don't duplicate scan_time
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Use _abort_if_unique_id_configured
Co-Authored-By: J. Nick Koston <nick@koston.org>
* fix abort
* Add unavailable tests
* update and use better strings
* lint
Co-authored-by: J. Nick Koston <nick@koston.org>
* Prevent a single accessory setup failure from breaking all HomeKit accessories
Raise the max devices to 150 as the spec allows for this
many. Previously 100 made sense because of the event
storms when homekit started would sometimes break pairing,
as these have largely been fixed in 0.109 (still a few
to cleanup) using the HAP spec limit of 150 is now possible.
* Handle both failure states
* Convert homekit fans to use service callbacks
* Convert homekit fans to use service callbacks
Service callbacks allow us ensure that we call
fan services in the correct order.
* Avoid calling turn_on if a speed is sent and the device is on
* Fix test to not leave files behind
* Fix test
* Update homeassistant/components/homekit/type_fans.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Set homekit alarm/sensor/switch state as soon as possible
This change is part of a multi-part effort to fix the
HomeKit event storms on startup.
Previously we would set the states after HomeKit
had started up which meant that when the controller
client connected it would request the states and get
a list of default states so all the initial states
would always be wrong. The defaults states generally went
unnoticed because we set the state of each HomeKit device
soon after which would result in an event storm in the log
that looked like the following for every client and every
device:
Sending event to client: ('192.168.x.x', 58410)
Sending event to client: ('192.168.x.x', 53399)
Sending event to client: ('192.168.x.x', 53399)
To solve this, we now set the state right away when we
create the entity in HomeKit, so it is correct on
initial sync, which avoids the event storm. Additionally,
we now check all states values before sending an update
to HomeKit to ensure we do not send events when nothing
has changed.
* pylint
* Fix event storm in covers as well
* fix refactoring error in security system
* cover positions, now with constants
* Add NUT tests for an Eaton 5E650I UPS
* add a test to make sure multiple ups get setup
* Add a few more upses
* fix missing status key
* cover
* Force CI run
* fixed what seems to be a typo
* added load_mock_device in common.py so it loads all the required things into the mocks
so they don't throw exceptions for mocks not being able to convert to int
* reverted change in homeassistant/components/dyson/sensor.py
added both values to the mock device (volatil and volatile)
* Allow async_setup changes to config entry data be taken into account
* Fix tests
* Limit scope try…finally
* Update tests/test_config_entries.py
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Fix import
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Run scripts
* Improvement strings
* Fix FlowOptions update listener
* Update .ceveragerc
* Add tests
* Better strings
* Add test for OptionsFlow
* Run gen_requirements_all.py once again
* Fix pylint errors
* Log error when there is no bravia.conf file during import
* Improvement strings
* Use braviarc object from hass.data in options flow
* Use async_add_executor_job for IO
* Fix options flow test
* Fix tests
* Remove host_reachable method
* Remove dependencies
* Change setup_platform method to async
* Remove calling system_info
* Save mac in the config entry
* Fix get ignore sources
* Fix read config from file
* Remove the side effect from init
* Fix user_input for user step
* Switch OrderedDict to dict
* New config_entry instance for each test
* Revert change
* Patch async_setup_entry in test_import
* Change a way to create source list
* Consolidate repeated block of code
* Update tests
* Suggested change
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Suggested channge
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Suggested change
* Patch async_setup_entry
* Remove unnecesary if
* suggested change
* Suggested change
* Fix tests
* Fix pylint error
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Reduce loss of precision when setting light percent brightness
This part of an effort to fix all the round trip light
brightness percentages that cause errors with homekit
, alexa, and other devices that use percentage.
* fix demo light test
* Move consts to const, general cleanup
* Add unique id
* Add default icon
* Set supported features based on sound output
* Update homeassistant/components/webostv/media_player.py
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Set device class
* Add software_info to client mock
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Bump skybellpy to 0.4.0
* Bump skybellpy to 0.4.0 in requirements_all.txt
* Added extra states for STATE_ALARM_TRIGGERED to allow users to know if
it is a burglar or fire or carbon monoxide so automations can take
appropriate actions. Updated TotalConnect component to handle these new
states.
* Fix const import
* Fix const import
* Fix const imports
* Bump total-connect-client to 0.26.
* Catch details of alarm trigger in state attributes.
Also bumps total_connect_client to 0.27.
* Change state_attributes() to device_state_attributes()
* Move totalconnect component toward being a multi-platform integration. Bump total_connect_client to 0.28.
* add missing total-connect alarm state mappings
* Made recommended changes of MartinHjelmare at
https://github.com/home-assistant/home-assistant/pull/24427
* Update __init__.py
* Updates per MartinHjelmare comments
* flake8/pydocstyle fixes
* removed . at end of log message
* added blank line between logging and voluptuous
* more fixes
* Adding totalconnect zones as HA binary_sensors
* fix manifest.json
* flake8/pydocstyle fixes. Added codeowner.
* Update formatting per @springstan guidance.
* Fixed pylint
* Add zone ID to log message for easier troubleshooting
* Account for bypassed zones in update()
* More status handling fixes.
* Fixed flake8 error
* Another attempt at black/isort fixes.
* Bump total-connect-client to 0.50. Simplify code using new functions in
total-connect-client package instead of importing constants. Run black
and isort.
* Fix manifest file
* Another manifest fix
* one more manifest fix
* more manifest changes.
* sync up
* fix indent
* one more pylint fix
* Hopefully the last pylint fix
* make variable names understandable
* create and fill dict in one step
* Fix name and attributes
* rename to logical variable in alarm_control_panel
* Remove location_name from alarm_control_panel attributes since it is
already the name of the alarm.
* Multiple fixes to improve code per @springstan suggestions
* Update homeassistant/components/totalconnect/binary_sensor.py
Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>
* Multiple changes per @MartinHjelmare review
* simplify alarm adding
* Fix binary_sensor.py is_on
* Move DOMAIN to .const in line with examples.
* Move to async_setup
* Simplify code using new features of total-connect-client 0.51
* First crack at config flow for totalconnect
* bump totalconnect to 0.52
* use client.is_logged_in() to avoid total-connect-client details.
* updated generated/config_flow.py
* use is_logged_in()
* Hopefully final touches for config flow
* Add tests for config flow
* Updated requirements for test
* Fixes to test_config_flow
* Removed leftover comments and code
* fix const.py flake8 error
* Simplify text per @Kane610 https://github.com/home-assistant/home-assistant/pull/32126#pullrequestreview-364652949
* Remove .get() to speed things up since the required items should always
be available.
* Move CONF_USERNAME and CONF_PASSWORD into .const to eliminate extra I/O
to import from homeassistant.const
* Fix I/O async issues
* Fix flake8 and black errors
* Mock the I/O in tests.
* Fix isort error
* Empty commit to re-start azure pipelines (per discord)
* bump total-connect-client to 0.53
* Update homeassistant/components/totalconnect/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/totalconnect/config_flow.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Fixes per @balloob comments
* Fix imports
* fix isort error
* Fix async_unload_entry
It still referenced CONF_USERNAME instead of entry.entity_id
* Added async_setup so not breaking change. Fixed imports.
* Update tests/components/totalconnect/test_config_flow.py
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Remove TotalConnectSystem() per @MartinHjelmare suggestion
* Moved from is_logged_in() to is_valid_credentials()
The second is more accurate for what we are checking for, because is_logged_in() could return False due to connection error.
* Fix import in test
* remove commented code and decorator
* Update tests/components/totalconnect/test_config_flow.py
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* fix test_config_flow.py
* bump total-connect-client to 0.54
* remove un-needed import of mock_coro
* bump to total-connect-client 0.54.1
* re-add CONFIG_SCHEMA
* disable pylint on line 10 to avoid pylint bug
Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Convert homekit thermostats to use service callbacks
Service callbacks allow us to get all the temperature
changes in one request so we can avoid all the
need to store state and debounce.
* remove excess debug
* Fix lock and light tests
* Ensure all code for Thermostats has coverage
* I am answering all the homekit cases anyways so might as well be aware of regressions
* Make lock notifications reliable
* Update homeassistant/components/homekit/type_lights.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Handle all zero serial numbers in NUT
* Add additional nut tests
* Update homeassistant/components/nut/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* remove re
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* add test and fix tests for update logging.
* Fix update logging.
* Remove assert is True
* guard against platform config and use async_write_ha_state
* fix discovery info passing to platform
* Improve testing for entities in init
* Fix reversed door closing/opening states in HomeKit
When we closed the door we would set state 2 which
is "Opening" it should have been 3 which is
"Closing"
When we opened the door we would set state 3 which
is "Closing" it should have been 2 which is
"Opening"
Add constants to make this easier to catch
in the future.
* Remove debug
* Add note about target door state