* Add config flow to Freebox
* Add manufacturer in device_tracker info
* Add device_info to sensor + switch
* Add device_info: connections
* Add config_flow test + update .coveragerc
* Typing
* Add device_type icon
* Remove one error log
* Fix pylint
* Add myself as CODEOWNER
* Handle sync in one place
* Separate the Freebox[Router/Device/Sensor] from __init__.py
* Add link step to config flow
* Make temperature sensors auto-discovered
* Use device activity instead of reachablility for device_tracker
* Store token file in .storage
Depending on host if list of Freebox integration on the future without breaking change
* Remove IP sensors + add Freebox router as a device with attrs : IPs, conection type, uptime, version & serial
* Add sensor should_poll=False
* Test typing
* Handle devices with no name
* None is the default for data
* Fix comment
* Use config_entry.unique_id
* Add async_unload_entry with asyncio
* Add and use bunch of data size and rate related constants (#31781)
* Review
* Remove useless "already_configured" error string
* Review : merge 2 device & 2 sensor classes
* Entities from platforms
* Fix unload + add device after setup + clean loggers
* async_add_entities True
* Review
* Use pathlib + refactor get_api
* device_tracker set + tests with CoroutineMock()
* Removing active & reachable from tracker attrs
* Review
* Fix pipeline
* typing
* typing
* typing
* Raise ConfigEntryNotReady when HttpRequestError at setup
* Review
* Multiple Freebox s
* Review: store sensors in router
* Freebox: a sensor story
* Clean up use of get_characteristic_types
* Get rid of get_hk_char_value helper
* Get rid of _update_fn callbacks
* Call async_write_has_state directly as async_state_changed doesnt do anything any more
* cleanup timer handle when device is removed
* separate unavailable times for mains vs battery
* better name
* remove light refresh handle when removing light
* remove unused parallel updates
* don't steal HA const for different purpose
* don't flood network every hour for lights
* update test to test both intervals
* add test for light refresh interval
* fix tests
* update test
* put parallel updates back for now...
* fix async_schedule_update_ha_state usage
* review comment
* review comment
* update test - review conversation
* review comments
* await count not call count
* flip some state
* adkj
* reduce
* Convert august to async
Async io was added to py-august 0.24
* Fix lint
* Lock operation sensors for august
* Tracking lock operation method allows user presence detection at the lock
* revert lock changes
* fix activity count merge conflict reversion
* Fix revert that come back with the conflict
* Start webhook implementation
* Add webhook implementation
* Bump pyatmo 3.2.5
* Fire event after data evaluation
* Setup webhooks after components
* Fix logging
* Wrap non async call
* Wrap non async call
* Add smoke detector and door tag webhook support
* Catch when webhook registration fails
* Log to debug
* Fix persons lookup
* Add dependency
* Remove false requirements
* Fix requirements
* Replace netatmo events by a single one
* Slim down code
* Clean up code
* Address review vomments
* Undo attribute removal
* Bump pyatmo to v3.3.0
* Only create webhook id once and reuse
* Store and reuse cloudhook url
* Wait for hass core to be up and running
* Register webhook once HA is ready
* Delay webhook registration
* Use f-strings in integrations starting with "M"
* Format mqtt light init with black
* Fix lint error
* Fix pylint error
* Restore constants
* Update homeassistant/components/mqtt/discovery.py
* Update homeassistant/components/mqtt/discovery.py
* Update homeassistant/components/mqtt/discovery.py
* Update homeassistant/components/mqtt/discovery.py
* Format with Black
* input_datetime guard for unexpected state
If state is a time and has_date = true, or the other way around, restore state would error
* Update __init__.py
* Add test
* Fix for door_lock_state attribute error
* Updates based on review comments
* Remove update_time
* Remove update time in lock
* Remove update time in sensor
* Remove unused variable
* Change return for device_state_attributes
* Add griddy integration
* Griddy is a wholesale power provider in Texas
* Supports all four load zones in Texas
* Provides real time power price which is useful for automations to handle demand response
* Update homeassistant/components/griddy/sensor.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/griddy/config_flow.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Add ability request updated via entity update service.
* Improve error message about already configured
* Remove DEVICE_CLASS_POWER since we do not have a device class for cost
* remove setdefault that was left from previous refactor
* More detail on data naming
* Bump translation for testing
* git add the config flow tests
* s/PlatformNotReady/ConfigEntryNotReady/
* Review items
* git add the other missing file
* Patch griddypower
* reduce
* adjust target
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Fetch iCloud devices again if the status is pending
* Remove "No iCloud device found" double check
* fix default api_devices value
* Remove useless unitialisation declarations
* Add support for melcloud Air-to-Water devices
* Add water_heater entity for the water heater component.
* Add individual climate entities for 0-2 supported radiator zones.
* Add sensors for zone room temperatures, outdoor temperature and tank
temperature.
* Update .coveragerc
* Use device_state_attributes
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Apply suggestions from code review
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Complete state_attributes -> device_state_attributes migration
* Move constants to top of file
* Remove async_turn_on/off
* Drop mac from ATW unique_ids
* Add MAC to device_info connections
* Remove redundant ABC inheritance
* Update homeassistant/components/melcloud/water_heater.py
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>