* Add WS command to help reset custom entity_id
* Calculate suggested object id from entity properties
* Fix logic and add additional tests
* Adjust test
* Update folder_watcher test
* Handle current entity id matches the automatic entity id
* Don't store calculated_object_id
* Update snapshots
* Update snapshots
* Update test
* Tweak logic for reusing current entity_id
* Improve test
* Don't assign same entity_id to several entities
* Prioritize custom entity name
* Update snapshots
* Update snapshots
* fix issues with checking mac address for panels added manually
* add test
* don't allow discovery to pick up a host twice
* make sure we validate tests without a mac address
* check entry is loaded
* Update config_flow.py
* apply changes from review
* assert unique id
* assert unique id
* Update door switch strings so they are more user friendly
* Update door switch strings so they are more user friendly
* Update door switch strings so they are more user friendly
* update strings
* update strings
* Add dhcp discovery
* Update homeassistant/components/bosch_alarm/config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* put mac address in entry instead of unique id
* Update host and mac via dhcp discovery
* add mac to connections
* Abort dhcp flow if there is already an ongoing flow
* apply changes from review
* apply change from review
* remove outdated test
* fix snapshots
* apply change from review
* clean definition for connections
* update quality scale
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add binary sensors to bosch_alarm
* make one device per sensor, remove device class guessing
* fix tests
* update tests
* Apply suggested changes
* add binary sensors
* make fault sensors diagnostic
* update tests
* update binary sensors to use base entity
* fix strings
* fix icons
* add state translations for area ready sensors
* use constants in tests
* apply changes from review
* remove fault prefix, use default translation for battery low
* update tests
* add switch platform to bosch alarm
* fix tests
* one device per output
* add switch for door
* add switch entities for door
* fix switch devices
* apply changes from review
* update identifiers
* add missing entity
* use base entity for switch
* rename var
* fix icons
* give user a nice error if they try to lock or secure a door that is in the process of being cycled
* fix test
* Update homeassistant/components/bosch_alarm/switch.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/bosch_alarm/switch.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use service constants
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* add sensor platform to bosch_alarm
* add icon translations for sensors
* translate entity names
* translate entity names
* translate entity names
* update snapshots
* translate ready to arm sensor
* translate ready to arm sensor
* update tests
* update translations
* remove history sensor, we will replace it with an events sensor later
* fix tests
* fix tests
* fix tests
* update tests
* fix sensor links
* only call async_add_entities once
* convert area alarms to sensors based on type
* add sensor for alarms
* add icons
* cleanup area sensor
* add available
* loop over dict
* use entity description
* use entity description
* clean up entity descriptions
* observe_alarms and observe_ready
* refactor alarm_control_panel to use base entity
* remove more old sensors
* add unit of measurement
* update test snapshots
* use correct observer