* Update binary_sensor.py to included OUTDOOR_ALARM_SECURITY_BELL_BOX device type
Add support for DeviceTypes.OUTDOOR_ALARM_SECURITY_BELL_BOX
This is an external siren device in Simplisafe which is not currently discovered with the HA integration
* Fixed formatting error
---------
Co-authored-by: Franck Nijhof <git@frenck.dev>
Make the field descriptions of `source_ieee` and `install_code` UI-friendly by cross-referencing them using their friendly names to allow matching translations.
Better explain the alternative of using the `qr_code` field by adding that this contains both the IEEE address and the Install code of the joining device.
* Improve `media_content_type` in `media_extractor.play_media` action
In the UI the `media_content_type` field of the `media_extractor.play_media` action already presents a selector with the choices MUSIC, TVSHOW, VIDEO, EPISODE, CHANNEL or PLAYLIST MUSIC.
Therefore these can be removed from the field description to avoid any over-translation that will create an unnecessary mismatch in the UI.
* Fix casing of `media_extractor.play_media` action name
* Improve description of `door` field in `subaru.unlock_specific_door` action
In the UI the `door` field of the `subaru.unlock_specific_door` action presents three radio buttons for the three possible choices 'all', 'driver' and 'tailgate'.
Therefore the field description should no longer repeat those options to avoid over-translation that will not match the actual choices.
In addition proper sentence-casing is applied to several title keys.
* Fix sentence-casing in two title keys
fix sync date for multiple devices
do not use handler for explicit update devices as internal communication lib do not provide which device is updated
use ha update loop
copy data object to prevent rewrite data from internal lib
allow more time to process response before log warning about long wait for response and make log message more clear
Previously, when the source sensor's state remains constant, the derivative
sensor repeats its latest value indefinitely.
This patch fixes this bug by consuming the state_reported event and updating
the sensor's output even when the source sensor doesn't change its state.
This reverts #116200
We changed the polling logic to avoid polling if all chars are marked as watchable
to avoid crashing the firmware on a very limited set of devices as it was
more in line with what iOS does. In the end, the user ended up replacing
the device in #116143 because it turned out to be unreliable in other
ways. The vendor has since issued a firmware update that may resolve
the problem with all of these devices.
In practice it turns out many more devices
report that chars are evented and never send events. After a few months
of data and reports the trade-off does not seem worth it since
users are having to set up manual polling on a wide range of
devices. The amount of devices with evented chars that do not
actually send state vastly exceeds the number of devices that
might crash if they are polled too often so restore the previous
behavior
fixes#138561fixes#100331fixes#124529fixes#123456fixes#130763fixes#124099fixes#124916fixes#135434fixes#125273fixes#124099fixes#119617
* fix(alert): check can_ack prior to acking
* fix(alert): add test for when can_acknowledge=False
* fix(alert): warn on can_ack blocking an ack
* Raise error when trying to acknowledge alert with can_acknowledge set to False
* Rewrite can_ack check as guard
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Make can_ack service error msg human readable because it will show up in the UI
* format with ruff
* Make pytest aware of service error when acking an unackable alert
---------
Co-authored-by: Franck Nijhof <frenck@frenck.nl>