* add addon_update service, use config flow to set up config entry, create disabled sensors
* move most of entity logic to common entity class, improve device info, get rid of config_flow user step
* fix setup logic
* additional refactor
* fix refactored logic
* fix config flow tests
* add test for addon_update service and get_addons_info
* add entry setup and unload test and fix update coordinator
* handle if entry setup calls unload
* return nothing for coordinator if entry is being reloaded because coordinator will get recreated anyway
* remove entry when HA instance is no longer hassio and add corresponding test
* handle adding and removing device registry entries
* better config entry reload logic
* fix comment
* bugfix
* fix flake error
* switch pass to return
* use repository attribute for model and fallback to url
* use custom 'system' source since hassio source is misleading
* Update homeassistant/components/hassio/entity.py
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* update remove addons function name
* Update homeassistant/components/hassio/__init__.py
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* fix import
* pop coordinator after unload
* additional fixes
* always pass in sensor name when creating entity
* prefix one more function with async and fix tests
* use supervisor info for addons since list is already filtered on what's installed
* remove unused service
* update sensor names
* remove added handler function
* use walrus
* add OS device and sensors
* fix
* re-add addon_update service schema
* add more test coverage and exclude entities from tests
* check if instance is using hass OS in order to create OS entities
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
If an entity changes between restart the iOS/controller
device may have cached the old chars for the accessory.
To force the iOS/controller to reload the chars, we
increment the config version when Home Assistant restarts
* Handle stream failures in recorder
Fail gracefully with an error message when the recorder is invoked with no segments due to a stream failure.
* Update homeassistant/components/stream/recorder.py
Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>
Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>
* Add zeroconf discovery to Freebox
- remove deprecated discovery
- tried with SSDP too but the presentation URL is not the same (*.fbxos.fr for zeroconf, http://mafreebox.freebox.fr/ for SSDP)
- so config entry unique_id should be the MAC (included into SSDP, but not zeroconf, can be retrieve from `fbx.system.get_config()`)
- DHCP discovery might be added in the future too
* host and port are required on zeroconf
* cleanup in other PR
* Support value_template in MQTT triggers
* Rename value_template to payload_template
* Revert "Rename value_template to payload_template"
This reverts commit 902094eefc.
* add number platform to zwave_js integration
* add discovery scheme for thermostat valve control, using number platform
Co-authored-by: kpine <keith.pine@gmail.com>
* migrate zwave_js entities to use new unique ID format
* remove extra param from helper
* add comment to remove migration logic in the future
* update comment
* use instance attribute instead of calling functino on every state update
When we set up HomeKit, we asked users if they wanted
to create an entry in bridge or accessory mode.
This approach required the user to understand how HomeKit works and
choose which type to create.
When the user includes the media player or camera domains,
we exclude them from the bridge and create the additional entries
for each entity in accessory mode.
* add poll_value service
* switch vol.All to vol.Schema
* more relevant log message
* switch service name to refresh_value, add parameter to refresh all watched values, fix tests
* rename parameter and create task for polling command so we don't wait for a response
* raise ValueError for unknown entity
* better error message
* fix test
* create zwave_js.set_config_value service
* update docstring
* PR comments
* make proposed changes
* handle providing a label for the new value
* fix docstring
* use new library function
* config param endpoint is always 0
* corresponding changes from upstream PR
* bug fixes and add tests
* create zwave_js.set_config_value service
* update docstring
* PR comments
* make proposed changes
* handle providing a label for the new value
* fix docstring
* use new library function
* config param endpoint is always 0
* corresponding changes from upstream PR
* bug fixes and add tests
* use lambda to avoid extra function
* add services description file
* bring back the missing selector
* move helper functions to helper file for reuse
* allow target selector for automation editor
* formatting
* fix service schema
* update docstrings
* raise error in service if call to set value is unsuccessful
* Update homeassistant/components/zwave_js/services.yaml
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Update homeassistant/components/zwave_js/services.yaml
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Update homeassistant/components/zwave_js/services.yaml
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Update homeassistant/components/zwave_js/services.yaml
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Update homeassistant/components/zwave_js/services.yaml
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Update homeassistant/components/zwave_js/services.yaml
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* remove extra param to vol.Optional
* switch to set over list for nodes
* switch to set over list for nodes
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Add discontinuity support to stream recorder
* Use same container options for both StreamOutputs
* Fix pts adjuster
* Remove redundant/incorrect duplicate hls segment check
* Use same StreamBuffer across outputs
* Remove keepalive check for recorder
* Set output video timescale explicitly
* Disable avoid_negative_ts
* Add zwave_js.update_log_config service
* fix comment
* reduce lines
* move update_log_config from service to ws API call
* fix docstring
* Add zwave_js/get_log_config WS API command
* resolve stale comments
* remove transports since it will be removed from upstream PR
* add support to update all log config parameters since they could be useful outside of the UI for advanced users
* fix comment
* switch to lambda instead of single line validator
* fix rebase
* re-add ATTR_DOMAIN
* Add test for invalid usercode
* Add usercodes to totalconnect.
* Update existing tests for usercodes
* Fix tests
* Add test for invalid usercode
* Add usercodes to totalconnect.
* Update existing tests for usercodes
* Fix tests
* Remove YAML support
* Fix conflict
* Bump to total_connect_client 0.56
* Change Exception to HomeAssistantError
* Fix config_flow.py
* Simplify async_setup since no yaml
* Remove import from config flow and tests
* Add reauth and test for it. Various other fixes.
* Fix pylint in __init__
* Show config yaml as deprecated
* separate config_flow and init tests
* Assert ENTRY_STATE_SETUP_ERROR in init test
* Add test for reauth flow
* Fix reauth and tests
* Fix strings
* Restore username and usercode with new passord
* Correct the integration name
* Update tests/components/totalconnect/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/totalconnect/test_init.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update .coveragerc
* Add test for invalid auth during reauth
* Bump total-connect-client to 0.57
* Fix .coveragerc
* More tests for usercodes
* Fix usercode test
* Reload config entry on reauth
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove unused "fibaro_fgs222" discovery hint
* Simplify multilevel switch current value discovery schema
* Force iBlinds v2.0 devices to be discovered as cover entities
* Rename discovery test file
* Simplify homekit runs and service calls
Now that the homekit server is async, call_service
and run are running in the Home Assistant event loop
* remove comment
* remove another comment
* add thermostat fan mode and fan state support
* return when fan mode is not supported
* use get just in case
* validate state key is in states so we dont have to use get
* pylint
* Support HLS stream discontinuity.
* Clarify discontinuity comments
* Signal a stream discontinuity on restart due to stream error
* Apply suggestions from code review
Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>
* Simplify stream discontinuity logic
SSDP scans no longer runs in the executor
This is an interim step that converts the async_upnp_client
response to netdisco's object to ensure fully backwards
compatibility
* Fix exception in stream idle callback
Fix bug where idle timeout callback fails if the stream previously exited.
* Add a test for stream idle timeout after stream is stopped.
* Add clarifying comment to idle timer clear method
* Clear hls timer only on stop
Separate the HLS stream view logic out of StreamOutput since the hls
stream view is about to get more complex to track discontinuities. This
makes the idle timeout, shutdown, and coupling between hls and record
more explicit.
HomeKit pairings and accessory ids from versions 0.109 and earlier are no longer
migrated on upgrade. Users upgrading directly to 2021.3 from 0.109
and older should upgrade to 2021.2 first if they wish to preserve
HomeKit configuration and avoid re-pairing the bridge.
This change does not affect upgrades from 0.110 and later.
* Remove stream_worker dependencies on Stream
Removee stream_worker dependencies on Stream and split out the logic
for writing segments to a stream buffer.
* Stop calling internal stream methods
* Update homeassistant/components/stream/worker.py
Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>
* Reuse self._outputs when creating new streams
Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>
* Update test harness to allow discovery_info testing.
This is a needed update, before the whole config is converted
to the new structure, because it allows test of both the old
and new configuration style.
The following changes have been made:
- Combine test functions into a single base_test.
- Prepare for new mock by combining the 2 common test functions into one.
- Change mock to be only modbusHub
- Do not replace whole modbus class, but only the class that
connects to pymodbus (modbusHub). This allows test of modbus
configurations and not only component configurations, and is needed
when testing discovery activated platform.
- Add test of climate.
Warning this is merely test of discovery,
the real cover tests still needs to be added.
- Add test of cover.
Warning this is merely test of discovery,
the real cover tests still needs to be added.
* Update comment for old config
* Do not use hass.data, but instead patch pymodbus library.
* Add test of configuration (old/new way as available).
* Move assert to test function.
Make assert more understandable by removing it from the helper.
add base_config_test (check just calls base_test) to make it clear if
test is wanted or just controlling the config.
* use setup_component to load Modbus since it is an integration.
* Optimized flow in test helper.