Commit Graph

43071 Commits (a954443795766624a888062b851e33f2d8a61bae)

Author SHA1 Message Date
J. Nick Koston 53c1c2eb56
Fix homekit bridge iid allocations (#81613)
fixes undefined
2022-11-08 11:15:16 +01:00
J. Nick Koston 11034f56dc
Ensure HomeKit temperature controls appear before fan controls on thermostat accessories (#81586) 2022-11-08 11:04:24 +01:00
J. Nick Koston 462e2a8ea1
Fix HomeKit reset accessory procedure (#81573)
fixes https://github.com/home-assistant/core/issues/81571
2022-11-08 11:03:37 +01:00
Steven Looman 274049cc8e
Fix ignored upnp discoveries not being matched when device changes its unique identifier (#81240)
Fixes https://github.com/home-assistant/core/issues/78454
fixes undefined
2022-11-08 11:02:53 +01:00
Joakim Plate fc0e0bf099
Support for direct modbus connection to nibe pumps (#80557)
* Initial support for modbus

* Complete test coverage of config flow

* Bump to 1.1.0 with corrected numbers

* Handle missing mapping for reset-alarm

* Fixup type checks after library bump

* Adjust coil number

* Move word_swap to nibegw

* Adjust to 1.1.2 with fixes

* Add series property

* Add S series models

* Correct test for invalid host

* Apply suggestions from code review

Co-authored-by: J. Nick Koston <nick@koston.org>

* Move some things into library

* Adjust strings somewhat

* Correct black

* Correct test after validation change

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-11-08 10:49:47 +01:00
epenet 318122fe53
Fix coordinator TypeVar definition (#81298)
* Adjust coordinator TypeVar definition

* Adjust again
2022-11-08 10:38:29 +01:00
Jan Bouwhuis d66d079330
Use `_attr_` for MQTT light (#81465)
* Schema basic

* Schema json

* Schema template

* add color_mode - follow up comments

* Fix regression

* Follow up comments 2

* Fix mypy errors

* Update homeassistant/components/mqtt/light/schema_template.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-11-08 10:16:05 +01:00
Jan Bouwhuis 8c0a7b9d7f
Add type hints for MQTT tag (#81495)
* Improve typing tag

* Additional type hints for tag platform

* Follow up comment tag

* Folow up comments

* Revert comment removal
2022-11-08 09:24:16 +01:00
Jan Bouwhuis 88faf33cb8
Improve type hints for MQTT climate (#81396)
* Improve typing climate

* Move climate type hints to class level

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* remove stale command after applying suggestions

* cleanup

* Update homeassistant/components/mqtt/climate.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-11-08 09:17:03 +01:00
Robert Svensson 23bed25e52
Remove old UniFi POE client implementation (#81749)
Remove all references to POE client implementation
2022-11-08 07:48:54 +01:00
Robert Svensson 3444d2af1a
UniFi switch entity description (#81680)
* Consolidate switch entities to one class

* Move turn on/off into UnifiSwitchEntity

* Add event subscription
Remove storing entity for everything but legacy poe switch

* Only one entity class

* Improve generics naming

* Rename loader to description

* Improve control_fn naming

* Move wrongfully placed method that should only react to dpi apps being emptied

* Improve different methods

* Minor renaming and sorting

* Mark callbacks properly
2022-11-08 07:38:31 +01:00
Erik Montnemery c3d4a9cd99
Create repairs issue if an outdated currency code is configured (#81717)
* Create repairs issue if an outdated currency code is configured

* Add script for updating list of currencies

* Use black for formatting

* Move currency codes to a separate file

* Address review comments
2022-11-08 07:21:09 +01:00
Jon Gilmore 0ce301ae7b
Remove JonGilmore from lutron codeowners (#81727) 2022-11-07 21:22:03 -06:00
J. Nick Koston c2c26e2608
Fix check for duplicate config entry reauth when context is passed or augmented (#81753)
fixes https://github.com/home-assistant/core/issues/77578
2022-11-07 21:19:57 -06:00
GitHub Action 785cf0e29c [ci skip] Translation update 2022-11-08 00:26:39 +00:00
Thibaut 55cad465b2
Add support for AEH with adjustable temperature in Overkiz integration (#72790)
* Import and clean from ha-tahoma

* Fix wrong search and replace

* Clean code

* Use elif

* Sort import

* Fix imports

* Update homeassistant/components/overkiz/climate_entities/atlantic_electrical_heater_with_adjustable_temperature_setpoint.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Fix import

* Remove cast

* Remove useless constructor

* Use constant

* Remove now useless conditions

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
2022-11-08 00:07:02 +01:00
J. Nick Koston 5c38321c4f
Ignore unspecified addresses from zeroconf (#81620) 2022-11-07 15:50:45 -06:00
Raman Gupta 7f23ab9d86
Add measurement state class to eight_sleep sensors (#81589)
* Add measurement state class to eight_sleep sensors

* tweaks
2022-11-07 21:46:41 +01:00
Robert Hillis bc146a09db
Add integration_type for some integrations (#81499) 2022-11-07 19:39:29 +01:00
Joakim Sørensen e7a616b8ff
Use location info helper for IP in Cloudflare DNS (#81714)
* Use location info helper for IP in Cloudflare DNS

* simplify

* Blow up

* coverage
2022-11-07 19:31:47 +01:00
Christopher Bailey 1b9c2dfb68
Bump pyunifiprotect to 4.4.1 (#81732) 2022-11-07 19:10:42 +02:00
Jan Bouwhuis b9c47ed3c3
Align MQTT config entry setup strings with option flow (#81616) 2022-11-07 10:45:27 -06:00
puddly 74357bef15
Use a unique ID for the Yellow ZHA hardware discovery (#81523)
* Set unique ID for hardware discovery

* Use the provided `name` for discovered hardware
2022-11-07 11:28:28 -05:00
puddly 604cd46ec9
Enable SkyConnect config flow and use correct case in USB matching (#81522)
* Ensure `USBCallbackMatcher` uses the appropriate case for each field

* Enable the config flow for the SkyConnect integration

* Update unit test
2022-11-07 17:26:16 +01:00
puddly 3788a950e6
Validate matcher field case in `usb.async_is_plugged_in` (#81514)
* Support case-insensitive matching

* Revert "Support case-insensitive matching"

This reverts commit 0fdb2aa6bc.

* Explicitly check the case of matcher fields in `async_is_plugged_in`
2022-11-07 17:14:57 +01:00
Mick Vleeshouwer ff18cece7b
Add Brandt, Hexaom, SIMU & Ubiwizz as virtuals integrations of Overkiz (#79566)
* Match supported brands with Overkiz libs

* Add missing files for mypy
2022-11-07 16:17:56 +01:00
TheJulianJES 523c3089f7
Add TI router transmit power config entity to ZHA (#81520)
Make TI Router Transmit Power configurable in ZHA
2022-11-07 08:54:43 -05:00
StefanIacobLivisi 902e075d58
Add livisi integration (#76863) 2022-11-07 14:40:23 +01:00
epenet f479b2385e
Add type hints to rest switch (#81307) 2022-11-07 14:02:49 +01:00
epenet 9b2a8901b1
Adjust payload sentinel in mqtt (#81553)
* Adjust payload sentinel in mqtt

* Add type hints

* Update sensor.py

* Adjust vacuum

* Add type hints

* Adjust schema basic

* Remove invalid hint
2022-11-07 12:31:11 +01:00
David F. Mulcahey d1fd141e8c
Bump ZHA quirks and associated changes (#81587) 2022-11-07 12:28:59 +01:00
Robert Hillis 9860b06913
Bump aiopyarr to 22.11.0 (#81694) 2022-11-07 12:23:49 +01:00
Christopher Bailey 190840cd33
Bump pyunifiprotect to 4.4.0 (#81696) 2022-11-07 12:12:41 +01:00
J. Nick Koston 2bea77549d
Fix creating multiple ElkM1 systems with TLS 1.2 (#81627)
fixes https://github.com/home-assistant/core/issues/81516
2022-11-07 12:09:36 +01:00
J. Nick Koston 3184c8a526
Fix use of deprecated device.rssi in bluetooth scanner (#81690) 2022-11-07 12:06:38 +01:00
Benjamin Salchow 1d633ac484
Accept input register in Modbus binary sensor (#81352)
Adds input register as valid option for modbus binary_sensor

Co-authored-by: jan iversen <jancasacondor@gmail.com>
2022-11-07 10:14:12 +01:00
epenet 5e05739019
Add type hints to template helper (#81308)
* Add type hints to template helper

* Update homeassistant/helpers/template.py

* Adjust use of ensure_compiled
2022-11-07 09:41:53 +01:00
Malte Franken efd60de1ac
Add integration_type to geonetnz_volcano (#81607)
define integration type
2022-11-07 09:01:07 +01:00
Jan Bouwhuis ff4456cb29
Improve MQTT type hints part 4 (#80971)
* Improve typing humidifier

* Improve typing lock

* Improve typing number

* Set humidifier type hints at class level

* Set lock type hints at class level

* Set number type hints at class level

* Some small updates

* Follow up comment

* Remove assert
2022-11-07 08:24:49 +01:00
tstabrawa 499839c596
Fix nuheat temporary hold time (#81635)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-11-06 19:16:22 -06:00
J. Nick Koston 9c3bd22e77
Bump bleak to 0.19.2 (#81688) 2022-11-06 19:07:21 -06:00
GitHub Action e2788f8321 [ci skip] Translation update 2022-11-07 00:26:17 +00:00
Simone Chemelli 2a42a58ec4
Restore negative values for shelly power factors (#81689)
fixes undefined
2022-11-06 18:16:58 -06:00
J. Nick Koston 3cfcb93d70
Bump aiohomekit to 2.2.18 (#81693) 2022-11-06 18:04:45 -06:00
J. Nick Koston c3946159d8
Bump bleak-retry-connector to 2.8.3 (#81675)
Improves chances of making a BLE connection with the ESP32s

changelog: https://github.com/Bluetooth-Devices/bleak-retry-connector/compare/v2.8.2...v2.8.3
2022-11-07 00:45:53 +01:00
J. Nick Koston e7b5aaec47
Bump aioesphomeapi to 11.4.3 (#81676) 2022-11-06 17:13:14 -06:00
Artem Draft 04d01cefb2
Fix Bravia TV options flow when device is off (#81644)
* Fix options flow when tv is off

* abort with message
2022-11-06 20:26:40 +00:00
Maciej Bieniek df7000f96d
Always use Celsius in Shelly integration, part 2 (#81602)
* Always use Celsius in Shelly integration

* Update homeassistant/components/shelly/sensor.py

Co-authored-by: Aarni Koskela <akx@iki.fi>

* Restore unit from the registry during HA startup

Co-authored-by: Aarni Koskela <akx@iki.fi>
2022-11-06 20:23:48 +00:00
Aaron Bach d62bac9c59
Fix missing RainMachine restrictions switches (#81673) 2022-11-06 13:38:55 -06:00
J. Nick Koston d3529cb346
Add missing h2 dep to iaqualink (#81630)
fixes https://github.com/home-assistant/core/issues/81439
2022-11-06 12:59:32 -06:00
J. Nick Koston 3630de909c
Bump aiohomekit to 2.2.17 (#81657)
Improve BLE pairing reliability, especially with esp32 proxies

changelog: https://github.com/Jc2k/aiohomekit/compare/2.2.16...2.2.17
2022-11-06 09:47:07 -06:00
Christopher Bailey 6c659c0d68
Add repair warning about UniFi Protect Early Access (#81658) 2022-11-06 09:11:49 -06:00
J. Nick Koston b18a1e6d7c
Bump dbus-fast to 1.72.0 (#81574) 2022-11-06 08:12:58 -06:00
Klaas Schoute 4056f673b8
Fix watermeter issue for old P1 Monitor versions (#81570)
* Bump the python package version

* Add exception to check if user has a water meter
2022-11-06 14:51:19 +01:00
Sebastian Muszynski 4c65a2f455
Bump PyXiaomiGateway to 0.14.3 (#81603)
Fixes: #80249
2022-11-06 13:02:59 +01:00
J. Nick Koston cdec4fe110
Bump oralb-ble to 0.13.0 (#81622)
* Bump oralb-ble to 0.11.1

adds some more missing pressure mappings

changelog: https://github.com/Bluetooth-Devices/oralb-ble/compare/v0.10.2...v0.11.1

* bump again to update for additional reports

* bump again for more data from issue reports
2022-11-06 12:38:01 +01:00
Tobias Sauerwein 8e965eb56f
Bump pyatmo to 7.4.0 (#81636) 2022-11-06 10:21:48 +01:00
GitHub Action fc472eb040 [ci skip] Translation update 2022-11-06 00:27:15 +00:00
Allen Porter 2ad1d31119
Bump gcal_sync to 4.0.0 (#81562)
* Bump gcal_sync to 2.2.4

* Bump gcal sync to 4.0.0

* Add Calendar accessRole fields which are now required
2022-11-05 17:06:34 -07:00
Steven Looman a635e9c9d2
Fix repeating SSDP errors by checking address scope_ids and proper hostname (#81611) 2022-11-05 17:11:59 -05:00
Avi Miller f66009c77d
Fix lifx.set_state so it works with kelvin and color_temp_kelvin and color names (#81515) 2022-11-05 16:46:00 -05:00
J. Nick Koston 64a29fddb4
Bump aiohomekit to 2.2.16 (#81621) 2022-11-05 15:58:11 -05:00
Tim Rightnour 89ebca7594
Bump venstarcolortouch to 0.19 to fix API rev 3 devices (#81614) 2022-11-05 15:29:20 -05:00
J. Nick Koston 6495c65d10
Align esphome ble client notify behavior to match BlueZ (#81463) 2022-11-05 15:28:47 -05:00
Bouwe Westerdijk 5f9f956023
Bump plugwise to v0.25.7 (#81612) 2022-11-05 15:26:19 -05:00
Robert Svensson 3a33d36466
Fix situation where deCONZ sensor platform setup would fail (#81629)
* Fix situation where deCONZ sensor platform setup would fail

* Don't use try
2022-11-05 21:23:36 +01:00
Aaron Bach 5884f50a82
Bump pyairvisual to 2022.11.1 (#81556) 2022-11-05 12:58:47 -05:00
Nathan Spencer 24f218c46b
Bump pylitterbot to 2022.11.0 (#81572) 2022-11-05 15:57:57 +01:00
J. Nick Koston b313f37946
Bump nexia to 2.0.6 (#81474)
* Bump nexia to 2.0.6

- Marks thermostat unavailable when it is offline

* is property
2022-11-05 15:55:43 +01:00
David F. Mulcahey 83c6a7e18b
Fix invalid min and max color temp in bad ZHA light devices (#81604)
* Fix ZHA default color temps

* update test
2022-11-05 08:40:28 -04:00
Malte Franken 64a508be7b
Add integration_type to geonetnz_quakes (#81548)
define integration type
2022-11-05 11:05:19 +01:00
J. Nick Koston 089c4a7da2
Bump bluetooth-adapters to 0.7.0 (#81576)
changelog: https://github.com/Bluetooth-Devices/bluetooth-adapters/releases/tag/v0.7.0
2022-11-05 10:44:05 +01:00
Raman Gupta 9a747bafa3
Use enums instead of deprecated constants (#81591) 2022-11-05 10:33:56 +01:00
GitHub Action 0311063c44 [ci skip] Translation update 2022-11-05 00:28:23 +00:00
Shay Levy 59ec52a079
Fix Shelly Plus HT missing battery entity (#81564) 2022-11-04 18:29:00 +02:00
J. Nick Koston ca905a8c05
Bump dbus-fast to 1.71.0 (#81541)
performance improvements

changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v1.67.0...v1.71.0
2022-11-04 15:29:15 +01:00
javicalle 52c80b7c5b
Add Tuya Backlight mode configuration (#81218)
* Tuya backlight configuration

* fix codespell
2022-11-04 09:54:19 -04:00
J. Nick Koston 2e92a0d1c2
Bump oralb-ble to 0.10.2 (#81537)
Fixes some more missing pressure mappings

changelog: https://github.com/Bluetooth-Devices/oralb-ble/compare/v0.10.1...v0.10.2
2022-11-04 14:42:37 +01:00
Nyro ddbfed354e
Add Overkiz AtlanticPassAPCDHW (#78665)
* Add Overkiz AtlanticPassAPCDHW

* Remove unnecessary line

* Improve atlantic pass_apcdhw for operation and target temprature

* Remove async_execute_commands

* Fix small code issues for Overkiz AtlanticPassAPCDHW

* Update homeassistant/components/overkiz/const.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_pass_apc_dhw.py

Co-authored-by: Quentame <polletquentin74@me.com>

* Update homeassistant/components/overkiz/water_heater_entities/atlantic_pass_apc_dhw.py

Co-authored-by: Quentame <polletquentin74@me.com>

* Fix small issues

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
Co-authored-by: Quentame <polletquentin74@me.com>
2022-11-04 10:42:58 +01:00
Nyro 1a5eeb2db1
Add Overkiz AtlanticPassAPCHeatingAndCoolingZone (#78659)
* Add Overkiz AtlanticPassAPCHeatingAndCoolingZone

* Fix commands instanciations to be simpler

* Update AtlanticPassAPCHeatingAndCoolingZone to show temperature and fix HA threads

* Simplify async_execute_commands in order to receive simpler list

* Fix get and set temperature in derogation or auto mode

* Remove hvac_action from AtlanticPassAPCHeatingAndCoolingZone

* Remove unused lines

* Update async_execute_commands to work like async_execute_command
Implement cancel for multiple commands

* Improve to use preset_home for internal scheduling

* Remove async_execute_commands

* Improvement for AtlanticPassAPCHeatingAndCoolingZone

* Update homeassistant/components/overkiz/climate_entities/__init__.py

Co-authored-by: Quentame <polletquentin74@me.com>

* Update homeassistant/components/overkiz/climate_entities/atlantic_pass_apc_heating_and_cooling_zone.py

Co-authored-by: Quentame <polletquentin74@me.com>

* Update homeassistant/components/overkiz/climate_entities/atlantic_pass_apc_heating_and_cooling_zone.py

Co-authored-by: Quentame <polletquentin74@me.com>

* Update homeassistant/components/overkiz/const.py

Co-authored-by: Quentame <polletquentin74@me.com>

Co-authored-by: Quentame <polletquentin74@me.com>
2022-11-04 10:21:30 +01:00
J. Nick Koston 93072d8ac5
Bump dbus-fast to 1.67.0 (#81517)
Bump dbus to 1.67.0

The bleak BlueZ clients use the negotiate_unix_fd path
which was not optimized but is now.  (The scanners already
used a fast path)

changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v1.64.0...v1.67.0
2022-11-04 06:34:23 +01:00
GitHub Action c7fc51cfa5 [ci skip] Translation update 2022-11-04 00:29:52 +00:00
krazos 71c18ec527
Fix errant reference to "Solar.Forecast" in "Forecast.Solar" config options (#81252)
Fix errant reference to Solar.Forecast

Config options string referred to "Solar.Forecast".  That reference has been corrected to "Forecast.Solar".
2022-11-03 23:23:42 +01:00
Renat Sibgatulin dd5baa6e48
Add air-Q integration (air quality sensors) (#76999)
* Added initial files for air-Q integration

* Allow FIXME comments in pylint (temporary)

Also reintroduce --ignore-missing-annotations=y

* Set up air-q entry to connect to aioairq's API (initial attempt)

Also add necessary constants

* Implement a class for sensors and its update logic

Very early stage, WIP

* Zeroconf and authentication are working

* Complete the bare-bone minimal working version

Specifically, make AirQSensor update its values.

* Handle invalid authentication gracefully

* Handle ClientConnectionError gracefully

* Add field hint for the login form

The key in the schema, which defines the form in
`ConfigFlow.async_show_form` is looked up in both `airq/strings/json`
and `airq/translations/en.json`. I am still not 100% sure how this
lookup is performed. WIP

* Minor cleanups

* Extend sensor list to all supported by SensorDeviceClass

Also manage warming up sensors

* aioairq is published to PyPI and mentioned in requirements

* Reordered constants and list content alphabetically

As required by style guides. Also turned SENSOR_TYPES to a list

* Updated file docstrings for a dev unfamiliar w/homeassistant like myself

* Adding a bit of logging for the integration setup process

* Expose scan interval & smoothing flag

Also streamline test_authentication in config_flow.

* Fix a type annotation mistake

* Use as many constants from homeassistant.const as possible

My only concern is using CONST_IP_ADDRESS = "ip_address" for smth which
stands for both IP address and mDNS...

* Temporarily rollback ConfigFlow.async_step_configure and use defaults

TODO: implement OptionFlowHandler instead

* Define custom Coordinator, w subset of airq config

The latter is then accessed from entity / sensor constructors to define
correct DeviceInfo

* Provide translations to de & fr + minor changes to en

* Provide translations to ru + a minor en changes

* Make translation a little more helpful and polite

* Fix devicename and entry title

* Remove stale commented out code

* Test config_flow

At this point two helper functions which interact with the external
library are not tested

* Clean up unrelated and meant as temporary changes

* Clean up unnecessary comments meant for internal use

* Move fetching config to a dedicated async coordinator method

As opposed to it being a potentially poorly justified step in
async_setup_entry

* Remove zeroconf support since it is not yet ready

* Remove translations other than en

* Remove unnecessary comments, manifest.json entries, and constants

* Improve exception handling

- `_LOGGER` uses `debug` and not `error` levels.
- Drop `ClientConnect` and catch `aiohttop.ClientConnectError` directly
- Drop `Exception` as it is not expected from `aioairq` (remove the
  corresponding test too)

* Drop strings for obsolete errors and steps

Specifically, `unknown` error isn't caught any more. `configure` step
has also been removed.

* Refactor en.json to be consistent with strings.json

* Move target_route from a coordinator argument to a constant

At this point a user cannot configure the target_route route, thus it
does not make sense to expose it half-heartedly in
`AirQCoordinator.__init__`, since it cannot be accessed.

* Fix an async call in `AirQCoordinator.async_setup_entry`

* Refactor underlying aioairq API

- Use `homeassistant.helpers.aiohttp.async_get_clientsession` and pass a
  single persistent session to `aioariq.AirQ.__init__`
- `aioairq.AirQ.fetch_device_info` now returns a `DeviceInfo` object heavily
  inspired and almost compatible with `homeassistant.helpers.entity.DeviceInfo`.
  Make heavier use of this object and define a single `DeviceInfo` in the
  `AirQCoordinator` (instead of recreating the same object for each sensor
  of the device in `sensor.AirQSensor`)
- Drop two helper functions in `config_flow.py` and operate on `aioariq.AirQ`
  methods directly

* Fix the version of aioairq

* Add 15 more sensors + icons

* Remove cnt* & TypPS, change units of health & performance

* Add 12 more sensors

* Add a missing icon

* Gracefully handle device not being available on setup

If the device and the host are not on the same WiFi,
ServerTimeoutError is raised, which is caught by
ClientConnectionError.
If the device is powered off, ClientConnectionError is expected.
In both cases, ConfigEntryNotReady is raised, as prescribed by the docs.
Newer version of aioairq times-out far quicker than the default 5 mins.

* Rename two sensors

* Validate provided IP address / mDNS

aioairq now raises InvalidInput if provided IP / mDNS does not seem
valid. Handle this exception correctly

* Apply suggestions from code review

Clean up the comments and rename the logger

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Artem Draft <Drafteed@users.noreply.github.com>

* Only fetch device info during the first refresh

- Fetched info is stored in AirQCoordinator.device_info.
- In `AirQSensor.native_value` only multiply by the factor if
  the sensor reading is not None
- Fix the tests for ConfigFlow for aioairq==0.2.3. Specifically
  make the dummy data pass the new validation step upstream
  + add a test which fails it

* Drop custom device classes for now

* Apply suggestions from code review

Co-authored-by: Artem Draft <Drafteed@users.noreply.github.com>

* Only fetch device info during ConfigFlow.async_step_user

Store the result obtained by `airq.fetch_device_info` it in
`config_entry.data`. Pass the entire config entry to `AirQCoordinator`
and build the entire `homeassistant.helpers.entity.DeviceInfo` in the
`AirQCoordinator.__init__`. This makes
`AirQCoordinator._async_fetch_device_info` and overloaded
`AirQCoordinator._async_config_entry_first_refresh` obsolete.

Bump aioairq version.

Turn update_interval from `AirQCoordinator.__init__` argument into a
contestant.

* Custom entity description exposing a hook to modify sensor value

Use a `AirQEntityDescription` with a callable `value_fn` which allows to
change the sensor value retrieved from the device. Note that the
callable does not handle data retrieval itself (even from
`coordinator.data`). Instead it is purely a hook to transform obtained
value.

* Avoid duplicated use of unique_id

Device info is fetched  during the `ConfigFlow.async_user_step`.
`unique_id` is taken from the device info and is **not** stored
in `config_entry.data`. Subsequently `config_entry.unique_id` is
used instead.

* Drop unnecessary try-except

Co-authored-by: Artem Draft <Drafteed@users.noreply.github.com>

* Clarify the use of value_transform_fn

* Refactor the use of lambdas in AirQEntityDescription

Now it is the job of the callable under `value` to get the sensor
reading from the coordinator's data. Factoring this functionality into a
callback decouples  the key of the description from the key of dict,
returned by the API, so `AirQEntityDescription` no longer requires its key
to be set to smth clearly internal (e.g. `nh3_MR100`).

* Use a callback to update native_value

Since all `native_value`s are updated synchronously, it can as well be
done in a callback for better state consistency (right?)

* Revert the description keys to match data keys

Must match given the current way of identifying available sensors. On a
broader scale, they must match to be able to relate the descriptions to
sensors, unless a separate lookup table is maintained.

* Reduce number of loops when adding sensors

Filtering warming up sensors and non-sensor keys can be combined with
adding entities.

* Remove obsolete imports

* Update integrations.json

* Add integration_type

Integration supports multiple devices => hub

Co-authored-by: dl2080 <daniel.lehmann@runbox.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Artem Draft <Drafteed@users.noreply.github.com>
Co-authored-by: Daniel Lehmann <43613560+dl2080@users.noreply.github.com>
Co-authored-by: Martin Selbmann <job@martin-selbmann.de>
2022-11-03 23:13:57 +01:00
J. Nick Koston 08936e4041
Bump oralb-ble to 0.10.1 (#81491)
fixes #81489

changelog: https://github.com/Bluetooth-Devices/oralb-ble/compare/v0.10.0...v0.10.1
2022-11-03 20:35:05 +01:00
mkmer 9c85d22bab
Bump AIOAladdinConnect to 0.1.47 (#81479) 2022-11-03 15:39:02 +01:00
J. Nick Koston cd5901e0d0
Fix HomeKit thermostat to take priority over fans (#81473) 2022-11-03 14:49:12 +01:00
Jan Bouwhuis b3403d7fca
Improve MQTT type hints part 3 (#80542)
* Improve typing debug_info

* Improve typing device_automation

* Improve typing device_trigger

* Improve typing fan

* Additional type hints device_trigger

* Set fan type hints to class level

* Cleanup and mypy

* Follow up and missed hint

* Follow up comment
2022-11-03 13:06:53 +01:00
Dennis Schroer dcd1ab7ec3
Update energyflip-client dependency to 0.2.2 (#81426) 2022-11-03 12:53:58 +01:00
J. Nick Koston 905005e1e8
Bump dbus-fast 1.64.0 (#81462)
- Performance improvements

changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v1.61.1...v1.64.0
2022-11-03 12:51:38 +01:00
hahn-th 918940a0c6
Add HmIP-WGC to homematicip_cloud integration (#75733)
* Add HmIP-WGC

* remove unused code

* removed test test_manually_configured_platform
2022-11-03 12:03:49 +01:00
Franck Nijhof 7556f2b84e
Update cryptography to 38.0.3 (#81455) 2022-11-03 11:18:25 +01:00
J. Nick Koston 454f328a36
Bump aiohomekit to 2.2.14 (#81454) 2022-11-03 11:14:01 +01:00
Franck Nijhof 08772004b3
Fix SSDP failure to start on missing URLs (#81453) 2022-11-03 11:13:23 +01:00
Jan Bouwhuis 203c83b6f0
Use _attr_ in MQTT climate (#81406)
* Use _attr_ in MQTT climate

* Follow up comment

* Do not change code
2022-11-03 10:58:37 +01:00
Rami Mosleh 328eda044a
Use DataUpdateCoordinator for glances (#72748)
* use DataUpdateCoordinator for glances

add tests to increase coverage

fix test_config_flow.py

fix codecov/patch

remove unused const, minor tweaks

remove invalid_auth test as it is not implemented

fix type hints

* change to async_forward_entry_setups

* Use Dataupdatecoordinator for glances

* minor fixex

* minor fixes

* minor fix

* remove support_versions const

* coe cleanup

* address comments

* fix sensor native_value

* Rename entry to entry_data in `get_api`

* Remove whitespace in sensor name
2022-11-03 10:02:25 +01:00
Raman Gupta 739ed6a6c8
Fix eight sleep client creation (#81440)
Fix eight sleep bug
2022-11-03 09:43:48 +01:00
Malte Franken ee4d28000d
Add integration_type to gdacs (#81451) 2022-11-03 09:32:40 +01:00
J. Nick Koston adf35e5ec2
Skip flume devices with location missing (#81441)
fixes #81438
2022-11-03 08:51:08 +01:00
Jan 6bd8cf0072
Use 'kWh' as unit for 'IEC_ENERGY_COUNTER' (#81427)
The standard unit for the 'IEC_ENERGY_COUNTER' type is 'kWh' instead of 'Wh'
2022-11-03 08:27:46 +01:00