* Add play/pause functionality to vizio integration
Leverages existing pyvizio functionality. My impression is that it also
works for soundbars based on https://github.com/exiva/Vizio_SmartCast_API/issues/19.
* Set vizio assumed_state to True
The Vizio API is only capable of indicating whether the device is on
or off and not whether it's playing/paused/idle. Setting assumed_state
to True gives us separate Play and Pause buttons versus the (useless)
merged Play/Pause button we would get otherwise.
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
* Significantly speed up single entity/response service calls
Since the majority of service calls are single entity, we can
avoid creating tasks in this case. Since the multi-entity
service calls always check the result and raise, we can switch
the asyncio.wait to asyncio.gather
* Significantly speed up single entity/response service calls
Since the majority of service calls are single entity, we can
avoid creating tasks in this case. Since the multi-entity
service calls always check the result and raise, we can switch
the asyncio.wait to asyncio.gather
* revert
* cannot be inside pytest.raises
* one more
* Update homeassistant/helpers/service.py
* Defer creating tasks we know are going to wait on the entity platform semaphore
When looking at whats going on with aiomonitor-ng, I noticed
we end up creating a lot of tasks that block waiting for the
executor because of the entity platform parallel_updates semaphore.
When we know the tasks are going to block we now await them
in sequence to avoid feeding the loop a herd of tasks that
will block on the semaphore
* change during iteration fix
* change during iteration fix
* cleanup
* cleanup
* fix vizio test
* Use new enums in vizio tests
* Code review: revert wrong conftest changes
* Code review: Revert incorrect removal of vizio const
* Reinstate wrongly reverted files
* Fix double line
* Fix new test after rebase
* Mark entities as unavailable when they are removed but are still registered
* Add sync_entity_lifecycle to collection helper
* Remove debug print
* Lint
* Fix tests
* Fix tests
* Update zha
* Update zone
* Fix tests
* Update hyperion
* Update rfxtrx
* Fix tests
* Pass force_remove=True from integrations
Co-authored-by: Erik <erik@montnemery.com>
* track all settings and add service to update a setting
* sort setting types
* reduce frequency of updates due to the increase in API calls per update
* change dict call to a get in case audio settings aren't available
unlikely to occur but less error prone
* Update if statement to be more consistent
* revert changes to track all settings and store in state machine
* revert one more change
* force setting_type and setting_name to lowercase to make it easier to understand how to make service call
* make service calls even simpler by attempting to transform certain parameters as much as possible
* make ip check hostname aware
* add executor job for sync function doing IO and remove errant comma
* revert change to update new_data explicitly for options keys since it is already done later
* empty commit to retrigger CI