Compare commits

...

4495 Commits

Author SHA1 Message Date
Franck Nijhof 0c765a40ae Bumped version to 2021.10.0b0 2021-09-30 18:48:14 +02:00
Daniel Hjelseth Høyer 4a2ed97e0d Add locking state to surepetcare locks (#56830) 2021-09-30 08:16:35 -07:00
Erik Montnemery 6af1a835e6 Optimize statistics generation (#56821)
* Optimize statistics generation

* pylint
2021-09-30 17:14:36 +02:00
Daniel Hjelseth Høyer d5bda3ac14 Surepetcare reauthorize (#56402)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-30 10:11:45 -05:00
Daniel Hjelseth Høyer 08719af794 Bump Mill library (#56833) 2021-09-30 16:59:00 +02:00
Erik Montnemery 6954614e62 Warn if total_increasing sensor has negative states (#56564) 2021-09-30 07:49:16 -07:00
Niels Mündler 3a56e3a823 Correctly handle offline and unsupported printers during setup (#55894) 2021-09-30 16:29:51 +02:00
Bram Kragten 8196a84538 Update frontend to 20210930.0 (#56827) 2021-09-30 16:22:36 +02:00
Robert Svensson d61a9e8b72 Service to remove clients from UniFi Controller (#56717) 2021-09-30 14:38:29 +02:00
Daniel Hjelseth Høyer e729339538 Bump surepy to 0.7.2 (#56828) 2021-09-30 14:33:21 +02:00
Daniel Hjelseth Høyer 53e130d9a8 Deprecated open garage yaml config (#56829) 2021-09-30 14:19:46 +02:00
Erik Montnemery 55328d2c6f Adjust state class of growatt_server lifetime energy sensors (#56826) 2021-09-30 13:48:01 +02:00
Erik Montnemery 942db3fcbc Adjust state class of solaredge lifetime energy sensor (#56825) 2021-09-30 13:38:33 +02:00
Sean Vig f18e4bab60 Add resolution to Amcrest camera unique id (#56207)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-09-30 13:38:18 +02:00
Kevin Stillhammer dd52ec78c7 Add Kraken delay after first update to avoid limit (#55736)
* Add delay after first update to avoid limit

* Apply suggestions
2021-09-30 13:23:46 +02:00
Fabrizio Tarizzo ef4b6d7bdf Update viaggiatreno component due to API changes (#56463) 2021-09-30 13:22:43 +02:00
Marko Korhonen c9e1a03fe2 Remove webostv service description github link (#53502)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-09-30 13:03:38 +02:00
deosrc d4ed0f9637 Fix OVO Energy reporting consumption as cost (#55856) 2021-09-30 12:31:06 +02:00
logan893 cf6398a949 Fix hue turning on eWeLink switch (#56318) 2021-09-30 12:22:42 +02:00
Simone Chemelli ee28dd57c1 Rename var to compliant name in August integration (#56812) 2021-09-30 12:15:17 +02:00
Oxan van Leeuwen c6f48056fd Remove dead code from ESPHome light entity (#55519) 2021-09-30 12:12:37 +02:00
Oliver Ou d3b1ccb668 Tuya v2 Integration Release (#56820)
Co-authored-by: 乾启 <18442047+tsutsuku@users.noreply.github.com>
Co-authored-by: dengweijun <dengweijunben@gmail.com>
Co-authored-by: dengweijun <mengzi.deng@tuya.com>
Co-authored-by: erchuan <jie.zheng@tuya.com>
Co-authored-by: erchuan <erchuan365@outlook.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-30 12:02:56 +02:00
Julian Löhr 26042bdad7 Add Fritz!DECT 440 humidity sensor (#54597)
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2021-09-30 11:56:38 +02:00
acshef 4ae887ad34 Correct unit of measurement for qbittorrent data rate sensors (#55758) 2021-09-30 11:52:21 +02:00
Mas2112 1f5720199c Add DC voltage and current to Kostal inverter (#54878) 2021-09-30 11:41:55 +02:00
Tim Niemueller 0c1c1f7845 Fix Onvif PTZ for Imou cameras (#56592) 2021-09-30 11:36:49 +02:00
Greg 6a266ae3c0 Change state_class so older Envoys can use Energy Dashboard (#55383) 2021-09-30 11:34:41 +02:00
Ville Skyttä 4c854a06d9 Add some huawei_lte sensor state classifications (#55601) 2021-09-30 11:27:52 +02:00
Chris Talkington a035615016 Use entity descriptions for sonarr (#55818) 2021-09-30 11:25:42 +02:00
Aaron Bach 4b68700763 Add long-term statistics for Ambient PWS sensors (#55412) 2021-09-30 11:20:14 +02:00
Simone Chemelli 8993ff0377 Fritz new binary sensor for link and firmware status + code cleanup (#55446) 2021-09-30 11:18:04 +02:00
ehendrix23 a6a3745413 Handle UpnpError exceptions when getting WAN status and external IP address (#56744) 2021-09-30 10:41:28 +02:00
Ian Foster 2e02945833 Add keyboard event type to keyboard_remote (#56668)
* added keyboard event type to keyboard_remote

* fix emulated hold event

* Update homeassistant/components/keyboard_remote/__init__.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* removed event value

* set key_hold to use string constant

* don't use dict.get() for keyboard event type

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-09-30 09:17:57 +02:00
Marc Mueller 54abd80462 Use EntityDescription - smappee (#56747) 2021-09-30 09:15:09 +02:00
Rami Mosleh 51addfc164 Add device_info to Speedtestdotnet and some code cleanup (#56612)
* Apply code cleanup suggestions from previous PRs

* Update homeassistant/components/speedtestdotnet/const.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* fix native_value, and ping value in test

* use self._state instead of _attr_native_value

* update identifiers and add more tests

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-09-30 08:28:04 +02:00
J. Nick Koston 2ed35debdc Fix dhcp discovery matching due to deferred imports (#56814) 2021-09-29 23:50:21 -05:00
David F. Mulcahey a7f554e6da Bump ZHA quirks module to 0.0.62 (#56809) 2021-09-29 22:47:15 -04:00
Raman Gupta e9d25974b8 Switch to using constants wherever possible in zwave_js (#56518) 2021-09-30 02:21:53 +02:00
jjlawren 2ff1fc83bc Add latest added media as Plex library sensor attribute (#56235) 2021-09-29 17:11:53 -07:00
João Pedro Hickmann a967a1d1df Get the currency from the api (#56806) 2021-09-29 16:25:07 -07:00
Martin Hjelmare 12b2076351 Fix zwave_js config flow import step (#56808) 2021-09-30 01:15:05 +02:00
Simone Chemelli b9d81c3a7e Handle Fritz portmapping with same name (#56398) 2021-09-29 15:11:22 -07:00
Martin Hjelmare fa716d92ad Manage s2 keys in zwave_js (#56783) 2021-09-29 15:04:24 -07:00
Erik Montnemery 8c3fc95fb8 Fallback to state machine in statistics (#56785) 2021-09-29 14:57:16 -07:00
Martin Hjelmare 7dfcccd43e Bump holidays to 0.11.3.1 (#56804) 2021-09-29 23:57:07 +02:00
RDFurman f8903e11e0 Fix honeywell connection error (#56757)
* Catch ConnectionError and retry

* Add unload and reload functionality

* Update listener on retry

* Call reload directly and await

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-29 16:10:22 -05:00
Raman Gupta 18340b2fd9 Bump zwave-js-server-python to 0.31.1 (#56517) 2021-09-29 22:33:35 +02:00
Robert Svensson f224ab6d67 Use isinstance to verify class in deCONZ integration (#56794)
* Don't enable any variants of the daylight sensor entities by default

* Use isinstance rather than doing ZHATYPE compare

* Accidentally removed an import
2021-09-29 21:19:21 +02:00
Maciej Bieniek 0463007050 Add switch platform to Tractive integration (#55517) 2021-09-29 21:06:11 +02:00
J. Nick Koston 23cbd9075a Wait for yeelight internal state to change before update after on/off (#56795) 2021-09-29 13:49:33 -05:00
Franck Nijhof 25ce7f951a Merge branch 'master' into dev 2021-09-29 20:47:34 +02:00
Erik Montnemery a966714032 Minor cleanup of recorder statistics code (#55339) 2021-09-29 11:42:39 -07:00
jjlawren 8f4ba564d4 Plex media browser improvements (#56312) 2021-09-29 11:17:55 -07:00
Erik Montnemery ef13e473cf Warn if template functions fail and no default is specified (#56453)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-29 20:16:02 +02:00
Aaron Bach ae00c221e0 Add long-term statistics for Guardian sensors (#55413)
* Add long-term statistics for Guardian sensors

* Code review
2021-09-29 12:06:48 -06:00
J. Nick Koston f7ef973c68 Bump aiodiscover to 1.4.4 to fix mac matching with leading 0s (#56791) 2021-09-29 13:18:13 -04:00
Alexei Chetroi dbba2c4afe Add "Summation Delivered" Sensor for SmartEnergy metering ZHA channel (#56666) 2021-09-29 09:35:20 -07:00
Daniel Hjelseth Høyer 60eb426451 Add Surepetcare locks (#56396)
* Surepetcare, add lock

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Fix tests

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Surepetcare, lock name

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* surepetcare_id

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* typing

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Fix review comment

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Fix review comment

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Fix review comment

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* add more tests

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Fix review comment

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-29 09:17:12 -07:00
Martin Hjelmare 50fffe48f8 Add zwave to zwave_js migration (#56159)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-29 08:55:27 -07:00
Daniel Hjelseth Høyer d5c3d234ec Open garage, add config flow (#55290) 2021-09-29 09:43:51 -06:00
Erik Montnemery 40ecf22bac Remove automatic splitting of net meters from statistics (#56772) 2021-09-29 17:20:17 +02:00
Andre Richter d13c3e3917 Migrate Vallox to new fan entity model (#56663)
* Migrate Vallox to new fan entity model

* Review comments 1

* Minor corrections

* Review comments 2
2021-09-29 17:14:41 +02:00
Erik Montnemery 00651a4055 Optimize _get_states_with_session (#56734)
* Optimize _get_states_with_session

* Move custom filters to derived table

* Remove useless derived table

* Filter old states after grouping

* Split query

* Add comments

* Simplify state update period criteria

* Only apply custom filters if we didn't get an include list of entities

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-29 17:08:27 +02:00
avee87 daebc34f4d Add code_format to template alarm (#56700)
* Added code_format to template alarm

* review comment

* review comment

* use constant

* back to enum

* none -> no_code
2021-09-29 16:59:46 +02:00
Marc Mueller 77ee72cbb9 Import Callable from collections.abc (1) (#56775) 2021-09-29 16:32:11 +02:00
Marc Mueller d51487f82a Import Callable from collections.abc (3) (#56777) 2021-09-29 16:19:06 +02:00
Marc Mueller 364767ff22 Import Callable from collections.abc (4) (#56778) 2021-09-29 16:15:36 +02:00
jan iversen 19685ecff0 Set strict typing for modbus. (#56779) 2021-09-29 16:15:55 +03:00
Marc Mueller 565a9fea6b Import Callable from collections.abc (2) (#56776) 2021-09-29 14:06:51 +02:00
Franck Nijhof 41e5f05d99 Fix energy validation when not tracking costs (#56768) 2021-09-29 13:24:34 +02:00
Maciej Bieniek d3df6f26f9 Add missing voltage sensor in Shelly integration (#56773)
* Disable voltage sensor by default

* Add voltage sensor for Shelly 2/2.5

* Enable emeter voltage by default
2021-09-29 14:22:42 +03:00
Erik Montnemery 52e9f76f94 Tweak DB migration to schema version 21 (#56767) 2021-09-29 11:25:50 +02:00
Fabian Affolter be34a2ddea Upgrade beautifulsoup4 to 4.10.0 (#56764) 2021-09-29 11:25:29 +02:00
Fabian Affolter deb0cc4116 Upgrade holidays to 0.11.3 (#56762) 2021-09-29 11:25:06 +02:00
Joakim Sørensen 6a9b484f2d Remove timeout for backup services (#56763) 2021-09-29 09:46:05 +02:00
Regev Brody 115bb39c10 Fix cover group to handle unknown state properly (#56739)
* fix cover group unknown state

* fix cover grup state

* fix cover group issue
2021-09-29 08:37:16 +02:00
Simone Chemelli 34ef47db55 Fritz honor sys option pref_disable_new_entities (#56740) 2021-09-28 20:59:03 -07:00
João Pedro Hickmann 4513a46248 Add zeroconf support for yeelight (#56758) 2021-09-28 20:53:43 -05:00
Myles Eftos 8e91e6e97e Adding price spike binary sensor to the Amber electric integration (#56736) 2021-09-28 18:01:35 -07:00
J. Nick Koston cf36d0966d Add coverage to verify tplink unique ids (#56746) 2021-09-28 17:57:22 -07:00
Michael Chisholm f7d95588f8 Provide most media metadata in DlnaDmrEntity (#56728)
Co-authored-by: Steven Looman <steven.looman@gmail.com>
2021-09-28 19:37:23 -05:00
Marc Mueller 718f8d8bf7 Use NamedTuple for xbox media type details (#56753) 2021-09-28 17:00:19 -07:00
Marc Mueller 15aafc8db6 Use NamedTuple for discovery service details (#56751) 2021-09-28 16:59:40 -07:00
Marc Mueller a91fbec198 Use NamedTuple for esphome service metadata (#56754) 2021-09-28 16:58:36 -07:00
Marc Mueller 160571888c Use NamedTuple for intesishome swing settings (#56752) 2021-09-28 16:56:58 -07:00
Raman Gupta e76ddb4b27 Add proper S2 support for adding zwave_js nodes (#56516)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-28 15:37:45 -07:00
Milan Meulemans db30c27455 Clean up Nanoleaf (#56732) 2021-09-28 15:39:54 -05:00
J. Nick Koston bc59387437 Explictly close the TPLink SmartDevice protocol on unload (#56743)
* Explictly close the TPLink SmartDevice protocol on unload

- There is a destructor that will eventually do this when
  the object gets gc. Its better to explictly do it at
  unload.

* fix coro mock
2021-09-28 18:36:45 +02:00
J. Nick Koston c95f7a5ba6 Add network support to tplink for discovery across subnets (#56721) 2021-09-28 09:58:25 -05:00
Maciej Bieniek 0044fa9fb9 Add support for pedestal MIOT fans to Xiaomi Miio integration (#56555)
* Add initial support for Xiaomi Fan ZA5

* Add sensor, number and switch platform

* Addionizer switch

* Improve ionizer icon

* Fix parent of XiaomiFanMiot class

* Add another MIOT models

* Fix consts

* Add powersupply attached binary sensor

* Simplify async_create_miio_device_and_coordinator

* Simplify XiaomiGenericFan

* Fix XiaomiFanZA5 parent

* Remove pass

* Remove unused _available variable

* 1C doesn't support direction

* Suggested change

* Use elif

* Clean up oscillation angle

* Fix typo
2021-09-28 10:21:14 +02:00
Joakim Sørensen b179301152 Adjust lock configuration (#56731) 2021-09-28 10:15:45 +02:00
Adrian Huber b64b926e13 Add raid monitoring to glances (#56623) 2021-09-28 10:04:08 +02:00
gjong 495e5cb1c0 Update YouLess library for support for PVOutput firmware (#55784) 2021-09-28 09:59:40 +02:00
Maciej Bieniek 2581a3a735 Add binary sensor platform to Tractive integration (#56635)
* Add binary sensor platform

* Update .coveragerc file

* Create battery charging sensor only if tracker supports it

* Improve async_setup_entry

* Add TRAXL1 model
2021-09-28 09:56:06 +02:00
jjlawren 0d6aa89fd4 Refactor Sonos alarms and favorites updating (#55529) 2021-09-28 09:49:32 +02:00
Diogo Gomes 922d4c42a3 Inherit Filter sensor state_class from source sensor (#56407) 2021-09-28 09:30:21 +02:00
Regev Brody 9d89e1ae00 Bump WazeRouteCalculator to 0.13 (#56718) 2021-09-28 09:25:34 +02:00
dependabot[bot] 8dc4824aac Bump dessant/lock-threads from 2.1.2 to 3 (#56727)
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 2.1.2 to 3.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dessant/lock-threads/compare/v2.1.2...v3)

---
updated-dependencies:
- dependency-name: dessant/lock-threads
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-28 10:19:57 +03:00
Raman Gupta e690d4b006 Add support for zwave_js device actions (#53038)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-28 09:06:02 +02:00
Erik Montnemery 552485bb05 Tweak list_statistic_ids (#55845)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-28 00:05:26 -07:00
Oscar Calvo c48527858d Activate fault handler (#56550) 2021-09-28 00:05:06 -07:00
Myles Eftos 412ecacca3 Amberelectric (#56448)
* Add Amber Electric integration

* Linting

* Fixing some type hinting

* Adding docstrings

* Removing files that shouldn't have been changed

* Splitting out test helpers

* Testing the price sensor

* Testing Controlled load and feed in channels

* Refactoring mocks

* switching state for native_value and unit_of_measurement for native_unit_of_measurement

* Fixing docstrings

* Fixing requiremennts_all.txt

* isort fixes

* Fixing pylint errors

* Omitting __init__.py from test coverage

* Add missing config_flow tests

* Adding more sensor tests

* Applying suggested changes to __init.py__

* Refactor coordinator to return the data object with all of the relevent data already setup

* Another coordinator refactor - Better use the dictionary for when we build the sensors

* Removing first function

* Refactoring sensor files to use entity descriptions, remove factory

* Rounding renewable percentage, return icons correctly

* Cleaning up translation strings

* Fixing relative path, removing TODO

* Coordintator tests now accept new (more accurate) fixtures

* Using a description placeholder

* Putting missing translations strings back in

* tighten up the no site error logic - self._site_id should never be None at the point of loading async_step_site

* Removing DEVICE_CLASS, replacing the units with AUD/kWh

* Settings _attr_unique_id

* Removing icon function (it's already the default)

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Adding strings.json

* Tighter wrapping for try/except

* Generating translations

* Removing update_method - not needed as it's being overriden

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Fixing tests

* Add missing description placeholder

* Fix warning

* changing name from update to update_data to match async_update_data

* renaming [async_]update_data => [async_]update_price_data to avoid confusion

* Creating too man renewable sensors

* Override update method

* Coordinator tests use _async_update_data

* Using $/kWh as the units

* Using isinstance instead of __class__ test. Removing a zero len check

* Asserting self._sites in second step

* Linting

* Remove useless tests

Co-authored-by: jan iversen <jancasacondor@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-09-28 00:03:51 -07:00
J. Nick Koston f93539ef4c Add api to the network integration to get ipv4 broadcast addresses (#56722) 2021-09-27 21:43:39 -07:00
J. Nick Koston aea754df5d Add dhcp support for TPLink KL60 and EP40 (#56726) 2021-09-27 22:45:53 -05:00
Erik Montnemery 8ef123259e Add WS API for updating unit_of_measurement in statistics metadata (#56184)
* Add WS API for updating statistics metadata

* Update homeassistant/components/recorder/websocket_api.py

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Update homeassistant/components/recorder/websocket_api.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* Fix typo

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-28 00:43:29 +02:00
Diogo Gomes ec9fc0052d Define unit_of_measurement of all utility_meter sensors on HA start (#56112)
* define unit_of_measurement on hass start

* delay utility_meter state

* check state

* store siblings

* don't check unit_of_measurement
2021-09-28 00:42:27 +02:00
Erik Montnemery 5976f898da Add WS API for removing statistics for a list of statistic_ids (#55078)
* Add WS API for removing statistics for a list of statistic_ids

* Refactor according to code review, enable foreign keys support for sqlite

* Adjust tests

* Move clear_statistics WS API to recorder

* Adjust tests after rebase

* Update docstring

* Update homeassistant/components/recorder/websocket_api.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Adjust tests after rebase

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-09-27 23:30:13 +02:00
tube0013 0653693dff Add usb discovery for tubeszb ch340B serial devices (#56719) 2021-09-27 16:19:42 -05:00
Michael Chisholm a28fd7d61b Config-flow for DLNA-DMR integration (#55267)
* Modernize dlna_dmr component: configflow, test, types

* Support config-flow with ssdp discovery
* Add unit tests
* Enforce strict typing
* Gracefully handle network devices (dis)appearing

* Fix Aiohttp mock response headers type to match actual response class

* Fixes from code review

* Fixes from code review

* Import device config in flow if unavailable at hass start

* Support SSDP advertisements

* Ignore bad BOOTID, fix ssdp:byebye handling

* Only listen for events on interface connected to device

* Release all listeners when entities are removed

* Warn about deprecated dlna_dmr configuration

* Use sublogger for dlna_dmr.config_flow for easier filtering

* Tests for dlna_dmr.data module

* Rewrite DMR tests for HA style

* Fix DMR strings: "Digital Media *Renderer*"

* Update DMR entity state and device info when changed

* Replace deprecated async_upnp_client State with TransportState

* supported_features are dynamic, based on current device state

* Cleanup fully when subscription fails

* Log warnings when device connection fails unexpectedly

* Set PARALLEL_UPDATES to unlimited

* Fix spelling

* Fixes from code review

* Simplify has & can checks to just can, which includes has

* Treat transitioning state as playing (not idle) to reduce UI jerking

* Test if device is usable

* Handle ssdp:update messages properly

* Fix _remove_ssdp_callbacks being shared by all DlnaDmrEntity instances

* Fix tests for transitioning state

* Mock DmrDevice.is_profile_device (added to support embedded devices)

* Use ST & NT SSDP headers to find DMR devices, not deviceType

The deviceType is extracted from the device's description XML, and will not
be what we want when dealing with embedded devices.

* Use UDN from SSDP headers, not device description, as unique_id

The SSDP headers have the UDN of the embedded device that we're interested
in, whereas the device description (`ATTR_UPNP_UDN`) field will always be
for the root device.

* Fix DMR string English localization

* Test config flow with UDN from SSDP headers

* Bump async-upnp-client==0.22.1, fix flake8 error

* fix test for remapping

* DMR HA Device connections based on root and embedded UDN

* DmrDevice's UpnpDevice is now named profile_device

* Use device type from SSDP headers, not device description

* Mark dlna_dmr constants as Final

* Use embedded device UDN and type for unique ID when connected via URL

* More informative connection error messages

* Also match SSDP messages on NT headers

The NT header is to ssdp:alive messages what ST is to M-SEARCH responses.

* Bump async-upnp-client==0.22.2

* fix merge

* Bump async-upnp-client==0.22.3

Co-authored-by: Steven Looman <steven.looman@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-27 15:47:01 -05:00
RenierM26 b15f11f46a Discover Switchbot MAC in config flow (#56616)
* Update config_flow.py

* Switchbot Config_flow discover mac instead of needing to type it.

* Do not show already configured devices in config flow, abort if no unconfigured devices.

* Apply suggestions from code review

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

* Move MAC to top of config flow form dict.

* Update homeassistant/components/switchbot/config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-27 15:12:40 -05:00
Teemu R b40d229369 Rework TPLink integration to use python-kasa (#56701)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Teemu R. <tpr@iki.fi>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-27 14:11:55 -05:00
Hung Nguyen 7a2bc130b7 Bump elkm1-lib to 1.0.0 (#56703) 2021-09-27 14:10:09 -05:00
Bastien Gautier 806fdc0095 Patch coinbase (#56426)
* Add Clover Finance coin to coinbase

* Add Fetch.ai coin to coinbase

* Fix typo
2021-09-27 20:39:43 +02:00
Marc Mueller 2f4e992662 Use EntityDescription - daikin (#55929) 2021-09-27 20:26:10 +02:00
Raman Gupta f0e0b41f77 Use entity attributes for vizio integration (#56093) 2021-09-27 20:20:15 +02:00
Marc Mueller 0dcd8b32ab Use EntityDescription - meteo_france (#55677) 2021-09-27 19:40:55 +02:00
Marc Mueller 71ce858378 Use EntityDescription - toon (#55035) 2021-09-27 19:37:12 +02:00
Erik Montnemery fe66d6295c Improve migration to recorder schema version 21 (#56204) 2021-09-27 19:31:40 +02:00
Steffen Zimmermann e5642a8648 Add state_class measurements in wiffi integration (#54279)
* add support for state_class measurements in wiffi integration

* use new STATE_CLASS_TOTAL_INCREASING for metered entities

like
- amount of rainfall per hour/day
- rainfall hours per day
- sunshine hours per day

* Update homeassistant/components/wiffi/sensor.py

Co-authored-by: Greg <greg.diehl.gtd@gmail.com>

Co-authored-by: Greg <greg.diehl.gtd@gmail.com>
2021-09-27 18:28:20 +02:00
Erik Montnemery 4d7e3cde5a Minor cleanup and test coverage improvement for MQTT (#55265) 2021-09-27 17:45:52 +02:00
Franck Nijhof eae828a15a Upgrade lupupy to 0.0.21 (#56636) 2021-09-27 17:42:13 +02:00
Michael Chisholm 805e73f78c Add UPNP device connection for Sonos (#56702) 2021-09-27 17:36:47 +02:00
Marc Mueller 70cc6295b5 Use EntityDescription - hydrawise (#55924) 2021-09-27 17:35:09 +02:00
Fredrik Oterholt 4d433e18ac Add more sensor types for airthings devices (#56706)
* add additional sensor types for airthings devices

* remove "out of ten" unit

* change unit on rssi

* remove device class for light

* disable by default
2021-09-27 13:27:02 +02:00
Marius 4ce7166afd Add node sensor status icons (#56137)
Co-authored-by: kpine <keith.pine@gmail.com>
Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com>
2021-09-27 12:50:14 +02:00
Marc Mueller 83b1b3e92c Use EntityDescription - tellduslive (#55928) 2021-09-27 12:28:58 +02:00
Michael f2debf5c01 Remove unnecessary extra attribute from Pi-hole sensors (#56076) 2021-09-27 12:27:03 +02:00
jan iversen 6da548b56a Strictly type modbus cover.py (#56381) 2021-09-27 12:26:25 +02:00
jan iversen 50f97b26eb Strictly type modbus climate.py (#56380) 2021-09-27 12:25:05 +02:00
Simone Chemelli b612e16120 Add current and latest firmware info to Synology_dsm (#56460) 2021-09-27 12:23:26 +02:00
Erik Montnemery 58f465f271 Don't reset meter when last_reset is set to None (#56609) 2021-09-27 12:17:09 +02:00
jjlawren 931cf4eaab Improve Sonos handling of TuneIn stations (#56479) 2021-09-27 12:07:14 +02:00
Robert Svensson ca6b53c16d Remove UniFi config entry reference from device when removing last entity of said device (#56501) 2021-09-27 12:04:29 +02:00
Erik Montnemery efe467217a Don't round in energy cost sensor (#56258) 2021-09-27 12:01:17 +02:00
Aaron Bach 56b94d6809 Simplify native value property for WattTime (#56664) 2021-09-27 11:58:51 +02:00
Franck Nijhof 4f5d6b8ba1 Upgrade sentry-sdk to 1.4.1 (#56707) 2021-09-27 11:20:43 +02:00
Erik Montnemery 14a1bb423c Add is_number template filter and function (#56705) 2021-09-27 10:47:57 +02:00
Fabian Affolter e4dc646237 Upgrade praw to 7.4.0 (#56682) 2021-09-27 08:48:21 +02:00
Michael Chisholm 6c2674734a SSDP starts config flow only for alive devices (#56551)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-27 08:39:22 +02:00
dependabot[bot] 0f313ec73c Bump home-assistant/builder from 2021.07.0 to 2021.09.0 (#56704)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-27 08:37:54 +02:00
J. Nick Koston 0fce9f39b3 Avoid checking if a package is installed if it already failed (#56698) 2021-09-26 22:32:25 -07:00
Fabian Affolter 01bd3ff138 Upgrade sendgrid to 6.8.2 (#56688) 2021-09-27 07:03:29 +02:00
Fabian Affolter 8884e9691e Upgrade TwitterAPI to 2.7.5 (#56687) 2021-09-27 07:03:09 +02:00
Fabian Affolter 55c9abc58d Upgrade discord.py to 1.7.3 (#56686) 2021-09-27 07:02:46 +02:00
Fabian Affolter 44a4507b51 Upgrade requests to 2.26.0 (#56683)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-26 21:44:28 -05:00
Fabian Affolter 115d34f55a Set certifi to >=2021.5.30 (#56679)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-26 21:19:30 -05:00
J. Nick Koston 7ab6c82ad2 Drop defusedxml dep from ssdp manifest (#56699) 2021-09-26 19:49:43 -05:00
J. Nick Koston 26e031984b Ensure sonos always gets ssdp callbacks from searches (#56591) 2021-09-26 17:16:03 -05:00
J. Nick Koston 6399730d2f Optimize SSDP matching (#56622)
* Optimize SSDP matching

* tweak

* remove

* remove dupe
2021-09-26 16:30:39 -05:00
J. Nick Koston f268227d64 Implement retry and backoff strategy for requirements install (#56580)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-09-26 14:47:03 -05:00
Raman Gupta 8716aa011a Add support for multilevel switch CC select entities (#56656)
* Add support for multilevel switch CC select entities

* Use state names from docs and include more device identifiers from device DB

* black

* pylint

* type fix

* Add failure scenario test

* Update homeassistant/components/zwave_js/select.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-26 14:22:41 -04:00
Fabian Affolter 2326e3ed94 Upgrade voluptuous to 0.12.2 (#56680) 2021-09-26 18:59:00 +02:00
J. Nick Koston 52410ff0d7 Ensure yeelight can be unloaded when device is offline (#56464) 2021-09-26 09:54:43 -07:00
J. Nick Koston 26f73779cc Avoid enabling ipv6 dual stack for zeroconf on unsupported platforms (#56584) 2021-09-26 09:51:34 -07:00
J. Nick Koston f74291ccb6 Expose the ability to move an entity/device between config entries (#56661) 2021-09-26 09:50:57 -07:00
Marc Mueller e35e584b60 Use EntityDescription - sht31 (#56435)
* Use EntityDescription - sht31

* Add device_class for humidity

* Fix monitored conditions

* Add pylint disable
2021-09-26 18:19:36 +02:00
Fabian Affolter 65bce33a63 Upgrade emoji to 1.5.0 (#56684) 2021-09-26 15:09:13 +02:00
Franck Nijhof bfefe82605 Upgrade pre-commit to 2.15.0 (#56677) 2021-09-26 14:47:47 +02:00
Fabian Affolter a0a359e2ef Upgrade ciso8601 to 2.2.0 (#56678) 2021-09-26 14:47:29 +02:00
Daniel Hjelseth Høyer d8387744ec Correct the device name for Airthings (#56655) 2021-09-26 12:48:27 +02:00
Aaron Bach 01e03a223b Simplify native value and attributes properties for Flu Near You (#56665) 2021-09-26 11:12:54 +02:00
Aaron Bach aeba3a703f Revert "Simplify state update for Flu Near You (#56650)" (#56662)
This reverts commit d4ebcf2ba5.
2021-09-25 17:19:17 -06:00
Robert Svensson 8db0bd3c0e Fix state_class for deCONZ power sensors (#56586)
* Fix state_class for power sensors
Rewrite entity descriptions for binary sensor and sensor platforms

* Remove icon if device_class is specified
2021-09-25 20:54:55 +02:00
Aaron Bach d4ebcf2ba5 Simplify state update for Flu Near You (#56650) 2021-09-25 20:22:51 +02:00
Franck Nijhof fabf5204be Ignore config directory symlink in development (#56639) 2021-09-25 12:53:41 +02:00
Franck Nijhof 83f1116432 Upgrade numpy to 1.21.2 (#56640) 2021-09-25 12:39:21 +02:00
Franck Nijhof 23e1c663d4 Upgrade pytest-xdist to 2.4.0 (#56606) 2021-09-25 12:07:29 +02:00
Matt Zimmerman 754ff7e3cb Update python-smarttub to 0.0.27 (#56626) 2021-09-25 12:06:41 +02:00
MatthewFlamm 8bc8081e81 Add state_class_measurement to nws (#56629) 2021-09-25 11:58:07 +02:00
Franck Nijhof 917254e956 Upgrade pyupgrade to v2.27.0 (#56638) 2021-09-25 11:48:47 +02:00
Franck Nijhof 57aaf55678 Upgrade pipdeptree to 2.1.0 (#56637) 2021-09-25 11:48:31 +02:00
Daniel Hjelseth Høyer f0de6dc21a Use SurePetcareEntity for surepetcare binary sensor (#56601)
* Use SurePetcareEntity for surepetcare binary sensor

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* tests

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-25 11:17:55 +02:00
Joakim Plate 5c1f55ffa4 Bump fjäråskupan to 1.0.1 (#56628) 2021-09-25 11:17:26 +02:00
Raman Gupta b1f4ccfd6b Reuse zwave_js device when replacing removed node with same node (#56599)
* Reuse zwave_js device when a removed node is replaced with the same node

* Ensure change is backwards compatible with servers that don't include replaced

* Remove lambda

* Add assertions to remove type ignores

* fix tests by always copying state and setting manufacturer/label attributes
2021-09-25 10:43:37 +02:00
Michaël Arnauts 5d3d6fa1cd Add state_class and use SensorEntityDescription for comfoconnect (#54066)
* Add state_class=measurement and use SensorEntityDescriptions

* Use attributes from entity_description

* Improvements

* Adress remarks

* Revert changes to fan

* move method

* Fix tests

* Revert fan/__init__.py

* Revert key change

* Set default percentage in turn_on
2021-09-24 22:26:56 +02:00
Aaron Bach 0ea5f25594 Add ability to re-auth Notion (#55616) 2021-09-24 11:23:19 -07:00
Robert Hillis a7d56d1c3f Bump goalzero to 0.2.0 (#56613)
* Bump goalzero to 0.1.8

* bump

* recheck

* bump
2021-09-24 12:18:14 -06:00
Eduard van Valkenburg ac576a2bc6 update SIA package (#56615) 2021-09-24 12:15:21 -06:00
RenierM26 3c80e05100 Set Switchbot _attr_is_closed on init (#56611)
* self._attr_is_closed needs to be set initially.

* Set _attr_is_closed on init.
2021-09-24 12:13:45 -06:00
Maikel Punie 8aff51042b Bump velbus-aio to 2021.9.4 (#56478)
* Bump version, move the cache-dir to the home-assistant config

* Moved the cahce into the storage dir

* Bump version, 2021.9.3 will use pathlib

* Bump version to 2021.9.4

* Clean config path

* Remove leading slash

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-24 20:09:44 +02:00
Robert Hillis e078f4ce14 Move efergy api to pyefergy (#56594)
* Move efergy api to pyefergy

* fix permissions

* tweak

* tweak
2021-09-24 12:54:15 +02:00
Franck Nijhof d7e121f3e8 Upgrade pytest to 6.2.5 (#56603) 2021-09-24 10:11:36 +02:00
Daniel Hjelseth Høyer aca00667df Add device info to Surepetcare (#56600) 2021-09-24 09:21:47 +02:00
Erik Montnemery 64393b462d Add migration for 5-minute statistics (#56585)
* Add migration for 5-minute statistics

* Tweaks
2021-09-24 09:19:22 +02:00
Erik Montnemery 7452998081 Convert last_reset timestamps to UTC (#56561)
* Convert last_reset timestamps to UTC

* Add test

* Apply suggestion from code review
2021-09-24 09:16:50 +02:00
Maciej Bieniek e62c9d338e Rework Tractive integration init (#55741)
* Rework integration init

* Suggested chancge

* Use Trackables class

* Use try..except for trackable_objects

* Check that the pet has tracker linked
2021-09-24 08:45:03 +02:00
Jan Bouwhuis e73ca9bd18 Alexa fix Fan support and cleanup (#56053)
* del PowerLevelController, ena fan PowerController

* Use AlexaRangeContoller for speed or default

* Update tests

* no-else-return

* Avoid cases with only one preset_mode

* Only report ghost_mode to Alexa - fix bug

* Add some tests for patched code

* pylint

* pylint and tests with one preset_mode

* correct ghost preset mode check in test

* add tests for RangeController

* ghost preset_mode locale agnostic

* isort

* Update homeassistant/components/alexa/capabilities.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/alexa/entities.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/alexa/entities.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/alexa/entities.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/alexa/entities.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update entities.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-09-24 08:14:45 +02:00
J. Nick Koston 0363c22dd8 Fix Sonos going offline with 13.3 firmware (#56590) 2021-09-23 20:39:20 -07:00
RenierM26 915afedcfc Add binary_sensor to switchbot (#56415)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-23 17:10:34 -05:00
Milan Meulemans 0b53f73fe2 Convert Nanoleaf integration to use Async library aionanoleaf (#56548) 2021-09-23 15:37:37 -05:00
Michael 7ece35cd6f Assume Fritz!Smarthome device as unavailable (#56542) 2021-09-23 13:29:12 -07:00
RenierM26 972db29c88 Add sensor to switchbot platform (#56416)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-23 15:27:34 -05:00
Daniel Hjelseth Høyer 6e7bc65e2e Airthings (#56578) 2021-09-23 13:20:30 -07:00
Daniel Hjelseth Høyer a94514b00d Add Surepetcare entity class (#56430) 2021-09-23 13:19:46 -07:00
Rami Mosleh 4c40d1767a Remove config for Speedtest.net (#55642) 2021-09-23 20:44:59 +02:00
Franck Nijhof 7fc0717ab1 Upgrade debugpy to 1.4.3 (#56576) 2021-09-23 11:12:19 -07:00
Franck Nijhof 750a1b84ad Add date device_class to Twente Milieu sensors (#56579) 2021-09-23 11:09:00 -07:00
Marc Mueller fed5f5e3b9 Use EntityDescription - fitbit (#55925) 2021-09-23 20:08:47 +02:00
Franck Nijhof 60bb3121b6 Upgrade apprise to 0.9.5.1 (#56577) 2021-09-23 11:00:45 -07:00
Kevin Worrel b43d377b53 Create but disable-by-default RPM and GPM sensors (#56549) 2021-09-23 11:00:33 -07:00
Andre Richter a5c6a65161 Activate mypy for Vallox (#55874) 2021-09-23 10:59:28 -07:00
Franck Nijhof 2fe8c78811 Fix Toon push updates (#56583) 2021-09-23 19:50:30 +02:00
jan iversen 1cc850877f strictly type: fan.py, light.py, switch.py. (#56379) 2021-09-23 18:35:50 +01:00
Brian O'Connor cce906f968 Fix OpenWeatherMap dewpoint conversion (#56303) 2021-09-23 10:14:15 -07:00
Marc Mueller 70f10338cc Use EntityDescription - solaredge_local (#56434) 2021-09-23 18:29:58 +02:00
Joakim Sørensen 98d0c84468 Enable strict typing for the tautulli integration (#55448) 2021-09-23 16:56:21 +02:00
Aaron Bach 1a47fcc4e3 Add long-term statistics for OpenUV sensors (#55417) 2021-09-23 16:54:06 +02:00
Marc Mueller b634bd26d0 Use EntityDescription - kraken (#56436) 2021-09-23 16:42:55 +02:00
Franck Nijhof c1df49e9fc Upgrade black to 21.9b0 (#56575) 2021-09-23 16:33:24 +02:00
Jc2k 442d850fc9 Bump aiohomekit to 0.6.3 (#56574) 2021-09-23 16:30:15 +02:00
Franck Nijhof 237efcf6b1 Upgrade colorlog to 6.4.1 (#56573) 2021-09-23 16:12:13 +02:00
Franck Nijhof bdef131294 Upgrade watchdog to 2.1.5 (#56572) 2021-09-23 16:11:47 +02:00
Franck Nijhof 71ab24f350 Upgrade pre-commit to 2.14.1 (#56569) 2021-09-23 16:11:29 +02:00
Franck Nijhof 655dc890e4 Upgrade PyTurboJPEG to 1.6.1 (#56571) 2021-09-23 15:34:34 +02:00
J. Nick Koston a6ccb1821e Update zeroconf to 0.36.7 (#56553) 2021-09-23 08:00:17 -05:00
Erik Montnemery f0a4a89d21 Add comments to recorder statistics code (#56545)
* Add comments to recorder statistics code

* Revert accidental change of list_statistic_ids
2021-09-23 13:14:45 +02:00
Ricardo Steijn 63610eadc9 Address Crownstone review comments (#56485) 2021-09-23 09:23:45 +02:00
Oscar Calvo ea8f624f28 Fix an issue where core process crashes when an SMS is received (#56552) 2021-09-22 21:49:08 -07:00
Erik Montnemery 83156fb9ec Energy validation: Require last_reset attribute to be set for state_class measurement energy and cost sensors (#56254)
* Require last_reset attribute to be set for measurement state_class

* Tweak

* Improve tests

* Lint

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-22 21:48:37 -07:00
Paulus Schoutsen 974376a8de Bump frontend to 20210922.0 (#56546) 2021-09-22 16:20:58 -07:00
Paulus Schoutsen 677abcd484 Allow confirming local push notifications (#54947)
* Allow confirming local push notifications

* Fix from Zac

* Add tests
2021-09-22 23:17:04 +02:00
Erik Montnemery f77e93ceeb Fix validation of cost entities for energy dashboard (#56219) 2021-09-22 13:57:58 -07:00
Sian 351ef0ab44 Register Google assistant energy storage trait (#56520) 2021-09-22 13:36:03 -07:00
Erik Montnemery 92253f5192 Minor refactoring of periodic statistics (#56492) 2021-09-22 13:31:33 -07:00
Ville Skyttä d8d34fdd3b Prefer HTTPStatus over int in HA view JSON functions (#56504)
* Prefer HTTPStatus over int in HA view JSON functions

* Update zwave tests to not expect a fixed typo
2021-09-22 21:59:52 +03:00
Paulus Schoutsen 39aaa383b3 Fix flaky srp energy test (#56536) 2021-09-22 17:41:10 +02:00
Alexei Chetroi a5d405700c ZHA channel ZCL attributes initialization (#56476)
* Add dict of attributes to initialize

* Refactor get_attributes() method

Read 5 attributes at the time.

* Add ZCL_INIT_ATTRS attribute to base Zigbee channel

* Update tests and general clusters

* Update channels to use ZCL_INIT_ATTRS

* Update channels to use ZCL_INIT_ATTRS

* Fix tests

* Refactor async_initialize() to be a retryable request

* Maky pylint happy again
2021-09-22 11:34:30 -04:00
Tobias Sauerwein 2478ec887a Allow camera usage with HA cloud (#56533) 2021-09-22 16:54:12 +02:00
Paulus Schoutsen e34c985534 Simplify cloud request connection handling (#56243)
Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2021-09-22 07:51:31 -07:00
Erik Montnemery ac053388b4 Convert image_processing tests to pytest (#56451)
* Convert image_processing tests to pytest

* Use existing fixtures and test helpers

* Remove useless code
2021-09-22 15:00:28 +02:00
Tobias Sauerwein 26d310fc8a Split Netatmo camera persons by home (#55598)
* Split persons by home
* Bump pyatmo to 6.0.0
* Check is person exists
* Extract method for fetching person ids
2021-09-22 14:32:30 +02:00
Roel van der Ark aab4b5ec06 Add extra power meter for YouLess (#56528)
* #55535 added extra power meter

* Update sensor.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-09-22 14:08:23 +02:00
Niklas Åström 783cc1eacd Optimise requests to the tado servers (#56261)
This avoids calling the tado servers unnecessarily many times, especially for bigger homes. This is done by calling aggregating endpoints instead of iterating over the zones and devices and calling endpoints over and over.
2021-09-22 14:01:30 +02:00
Robert Hillis a653da137c Use EntityDescription - efergy (#54210) 2021-09-21 16:53:35 -05:00
Bas Nijholt b7a758bd0c raise PlatformNotReady when speakers unreachable (#56508)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-09-21 14:35:51 -07:00
J. Nick Koston 9831ff0487 Avoid deadlock on shutdown when a task is shielded from cancelation (#56499) 2021-09-21 14:35:14 -07:00
Erik Montnemery d494b3539d Prevent 3rd party lib from opening sockets in google_assistant tests (#56346) 2021-09-21 11:27:10 -07:00
Ville Skyttä 1aa7c87151 Remove redundant aiohttp response status=200 kwargs (#56417)
* Remove redundant aiohttp response status=200 kwargs

* Remove some more in h.c.auth

* Restore explicit status=HTTP_OK for auth and webhook per review request
2021-09-21 10:51:12 -07:00
RenierM26 26e9590927 Add cover platform to switchbot (#56414)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-21 12:35:47 -05:00
jan iversen 34de74d869 Strictly type tradfri config_flow.py (#56391)
* Strictly type config_flow.py.

* Review comments.
2021-09-21 16:23:10 +02:00
Justin Goette 56b66d5124 typo (#56477) 2021-09-21 15:09:21 +01:00
jan iversen c7c789f618 Strictly type modbus __init__.py, validator.py (#56378)
* strictly type: __init__.py, validator.py
2021-09-21 13:43:41 +02:00
jan iversen 518c99c8b7 Strictly type tradfri cover.py (#56390)
* Strictly type cover.py.

* Review comments from other PR.

* Update homeassistant/components/tradfri/cover.py

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>

* Update homeassistant/components/tradfri/cover.py

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>

* Update homeassistant/components/tradfri/cover.py

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>

* Update homeassistant/components/tradfri/cover.py

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
2021-09-21 12:15:45 +01:00
Pascal Vizeli 7698c179ac Upgrade cryptography to 3.4.8 (#56481)
* Upgrade cryptography to 3.4.8

* Fix file
2021-09-21 11:06:52 +02:00
Oscar Calvo f9fde7f7a1 Support unicode in SMS messages (#56468) 2021-09-21 10:07:14 +02:00
Elliot Morales Solé 097fae0348 Correct Alexa scene activation (#56469)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-20 22:51:17 -07:00
Paulus Schoutsen d4864f5750 Deprecate passing template to notify (#56069) 2021-09-20 21:49:02 -07:00
Aaron Bach aabc8cd2d5 Add WattTime integration (#56149) 2021-09-20 21:10:24 -07:00
Paulus Schoutsen 9059ee6604 Merge pull request #56472 from home-assistant/shelly-gen2 2021-09-20 20:19:19 -07:00
Marcin Ciupak b9ffd74db5 Fix recorder Oracle DB models (#55564)
* Fix recorder models for Oracle DB

* Fix StatisticsRuns

* Update migration for Oracle Identity columns.

* Update migration logic

Migration to schema version 22 done only for engine dialect oracle

* Add missing table check in schema 22 migration
2021-09-21 00:38:42 +02:00
Marc Mueller 20ddd092f6 Remove xiaomi_aqara entity_description property (#56456) 2021-09-21 00:14:33 +02:00
Shay Levy 47340802b3 Add Shelly RPC device trigger and logbook platforms (#56428)
* Add RPC device trigger and logbook platforms

* Single input event for Block and RPC

* Add device generation to shelly.click
2021-09-21 00:09:44 +03:00
jan iversen df56953c98 Strictly type tradfri light.py (#56389)
* Strictly type light.py.
2021-09-20 21:54:50 +02:00
Shay Levy 542f637ac4 Improve Shelly light application/consumption type handling (#56461) 2021-09-20 11:12:18 -07:00
J. Nick Koston 9e2a29dc37 Improve yeelight stability by moving timeout handling to upstream library (#56432) 2021-09-20 12:32:01 -05:00
jan iversen f3ad4ca0cc Strictly type modbus.py. (#56375) 2021-09-20 18:47:05 +02:00
Marc Mueller 4c4bd740f3 Use EntityDescription - flume (#56433) 2021-09-20 11:13:09 -05:00
Erik Montnemery 6f36419c6f Improve statistics validation (#56457) 2021-09-20 17:54:25 +02:00
Erik Montnemery fc4bb40a63 Prevent opening sockets in panasonic_viera tests (#56441) 2021-09-20 15:01:49 +02:00
jan iversen a84e86ff13 Strictly type modbus base_platform.py (#56343) 2021-09-20 14:59:30 +02:00
Maciej Bieniek bb6f97c4d3 Rework Xiaomi Miio fan platform (#55846) 2021-09-20 14:49:39 +02:00
jan iversen 93e9a67d7d Make tradfri base_class.py strictly typed (#56341)
* Make base_class.py strictly typed.
2021-09-20 14:33:50 +02:00
Erik Montnemery 5c717cbb1d Prevent opening of sockets in onboarding tests (#56443) 2021-09-20 13:56:50 +02:00
Otto Winter a54854d129 ESPHome Noise Transport Encryption support (#56216) 2021-09-20 09:02:17 +02:00
mbo18 be19c676fa Add missing generic-x86-64 image (#56424) 2021-09-20 08:55:07 +02:00
jan iversen ddd31951bc Strictly type sensor.py. (#56377) 2021-09-20 07:35:11 +02:00
Diogo Gomes b05c1b516e restore float and not string (#56406) 2021-09-20 07:31:58 +02:00
J. Nick Koston b060c025ce Bump zeroconf to 0.36.6 (#56438)
- Performance improvements (faster HomeKit startup)

Changelog: https://github.com/jstasiak/python-zeroconf/compare/0.36.5...0.36.6
2021-09-20 07:00:46 +02:00
Daniel Hjelseth Høyer 00f7548fa0 Surepetcare, strict typing (#56425)
* Surepetcare, strict typing

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Surepetcare, strict typing

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-19 20:57:28 +02:00
Milan Meulemans d76163e5be Add tests for Rituals Perfume Genie number, select and binary_sensor platforms (#55224) 2021-09-19 08:51:57 -10:00
Maciej Bieniek ea189f930a Use attrs in Xiaomi Miio humidifier platform (#56371)
* Use attrs in humidifier platform

* Cleanup min/max humidity attrs
2021-09-19 17:04:33 +02:00
Joakim Sørensen 713d294627 Use _attr_* for the GitHub integration (#56419) 2021-09-19 15:10:51 +02:00
J. Nick Koston 88e42a540e Remove leftover debug prints in tests (#56409) 2021-09-19 12:43:02 +02:00
Erik Montnemery ec52763706 Prevent 3rd party lib from opening sockets in samsungtv tests (#56334) 2021-09-18 22:24:27 -10:00
Erik Montnemery 80a57f5118 Prevent 3rd party lib from opening sockets in smhi tests (#56335) 2021-09-19 10:18:45 +02:00
J. Nick Koston 75c029c56b Bump zeroconf to 0.36.5 (#56413) 2021-09-18 21:52:09 -10:00
Daniel Hjelseth Høyer a57d7717a8 Improve Surepetcare set_pet_location service (#56401)
* Surepetcare, improve set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Surepetcare, improve set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Surepetcare, improve set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Surepetcare, improve set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Surepetcare, improve set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-19 08:38:43 +02:00
Aidan Timson 53d4c0ce2d Increase Lyric update interval to 300 seconds (#56393) 2021-09-18 13:34:28 -10:00
Marc Mueller 7af67d34cf Use assignment expressions 01 (#56394) 2021-09-18 13:31:35 -10:00
Marc Mueller a4f6c3336f Use EntityDescription - august (#56395) 2021-09-18 13:10:15 -10:00
jan iversen 9b710cad5d Add strict typing to tradfri __init__ and switch (#56002)
* Add strict typing to __init__ and switch.

* Review comments.

* Review comments.

* Corrected switch.
2021-09-18 23:24:35 +02:00
Erik Montnemery f6526de7b6 Use hass_client_no_auth test fixture in nest tests (#56326) 2021-09-18 23:17:09 +02:00
Daniel Hjelseth Høyer 8b64cd7e7d Bump pyTibber to 0.19.1 (#56405)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-18 23:15:39 +02:00
Erik Montnemery 43b5dcff76 Use hass_client_no_auth test fixture in withings tests (#56337) 2021-09-18 23:12:02 +02:00
Robert Svensson bf7c2753d5 deCONZ use siren platform (#56397)
* Add siren.py

* Working siren platform with 100% test coverage

* Also add test file...

* Add test to verify that switch platform cleans up legacy entities now that sirens are their own platform

* Update homeassistant/components/deconz/siren.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2021-09-18 21:59:04 +02:00
jan iversen 6b6e26c96d Strictly type binary_sensor.py. (#56376) 2021-09-18 20:54:11 +01:00
jan iversen 5c19368ce3 Strictly type sensor.py (#56388) 2021-09-18 20:49:47 +01:00
RenierM26 3ce8109e5e Add config flow to Switchbot (#50653)
Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-18 09:25:05 -10:00
jjlawren f31b9eae61 Fix creating cert_expiry configs during runtime (#56298)
* Fix creating cert_expiry configs during runtime

* Address review feedback on tests

* Improve delayed startup test
2021-09-18 19:54:54 +02:00
Ashley 'DrToxic' Devine 312a9e5df2 Add Shiba Inu coin to coinbase (#56304)
Added SHIB coin
2021-09-18 18:49:29 +02:00
Daniel Hjelseth Høyer f97cce6f57 Surepetcare, service to set pet location (#56198)
* Surepetcare, add handle_set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Surepetcare, add handle_set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Surepetcare, add handle_set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-18 17:48:58 +02:00
Paulus Schoutsen 9ffdc2594f Merge pull request #56366 from home-assistant/rc 2021-09-18 08:29:25 -07:00
Maciej Bieniek 0a5948dc8b Fetch the data a second time when -9999 error occurs in Xiaomi Miio integration (#56288) 2021-09-18 07:39:28 -07:00
Marc Mueller 811feb69ba Fix dangerous brackets (#56384) 2021-09-18 16:08:22 +02:00
Simone Chemelli 0a5fdb2e68 Address late review of samsungtv (#56382) 2021-09-18 15:42:36 +02:00
Marc Mueller 48bada5a18 Update pylint to 2.11.1 (#56364) 2021-09-18 13:52:59 +02:00
jan iversen 476d04e2fb Activate mypy. (#55965) 2021-09-18 10:02:24 +01:00
Erik Montnemery 39bc127dd6 Prevent 3rd party lib from opening sockets in glances tests (#56345) 2021-09-17 22:22:44 -10:00
Erik Montnemery be0819b456 Mock out network.util.async_get_source_ip in tests (#56339) 2021-09-17 21:40:58 -10:00
J. Nick Koston 0830100df1 Do not reload the isy994 on ip change since there is already a reload listener (#54602) 2021-09-17 21:22:14 -10:00
Robert Svensson 539ef31046 Reflect changes to pydeconz v84 (#56361)
Mostly snake case conversions and typing
But also a change in retry mechanism
Added a more complete set_* call to most types to remove the direct relation to rest API of deCONZ
2021-09-18 09:05:08 +02:00
jan iversen 6947912fa9 Modbus entity update does not occur until after scan_interval (#56221)
* Secure update is called when integration is started.

* Review comments.

* Update homeassistant/components/modbus/base_platform.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Update homeassistant/components/modbus/base_platform.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-09-18 08:57:27 +02:00
Sean Vig 02ba3c6089 Update amcrest version to 1.9.3 (#56348)
This version fixes a bug that affects the current non-async Home Assistant integration
2021-09-18 08:34:51 +02:00
Paulus Schoutsen f8d62866e5 Bumped version to 2021.9.7 2021-09-17 22:48:16 -07:00
J. Nick Koston 3046adf3b2 Fix yeelight nightlight mode (#56363) 2021-09-17 22:48:09 -07:00
Shay Levy 22307066bb Bump aioswitcher to 2.0.6 (#56358) 2021-09-17 22:48:08 -07:00
Joakim Plate 8c936b320e Avoid sending Standby when already off (#56306) 2021-09-17 22:48:07 -07:00
Erik Montnemery 9c4d6afb3c Bump pychromecast to 9.2.1 (#56296) 2021-09-17 22:48:06 -07:00
Aaron Bach 0442ed54e8 Bump pyopenuv to 2.2.1 (#56270) 2021-09-17 22:48:06 -07:00
J. Nick Koston 3224fc8710 Fix HomeKit requests with hvac mode and temperature in the same call (#56239) 2021-09-17 22:48:05 -07:00
Joakim Sørensen 6f40759ed0 Update docker base image to 2021.09.0 (#56191) 2021-09-17 22:48:04 -07:00
jjlawren 07ba24ac5a Bump plexapi to 4.7.1 (#56163) 2021-09-17 22:48:03 -07:00
Martin Ilievski c0c85a6641 Bump pykodi to 0.2.6 (#56148) 2021-09-17 22:48:03 -07:00
J. Nick Koston 162fab91b2 Ensure rainmachine device name is a string (#56121) 2021-09-17 22:48:02 -07:00
muppet3000 6e80d27770 Bump growattServer to 1.1.0 (#56084) 2021-09-17 22:48:01 -07:00
Brian Egge 2b58a266cc Fix generic thermostat switch state initialization (#56073) 2021-09-17 22:48:00 -07:00
Oscar Calvo bd17da0524 Support incoming SMS messages via polling (#54237)
* Add support to incomming SMS via polling

* Update dependencies

* Only send notification for unread messages

* Only inform if callback is not getting used

* Update gateway.py

* Apply PR feedback

* Update homeassistant/components/sms/gateway.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Apply PR comments

* Make black happy

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-17 22:47:59 -07:00
J. Nick Koston 7524daad86 Fix HomeKit requests with hvac mode and temperature in the same call (#56239) 2021-09-17 22:47:06 -07:00
Shay Levy aaadd42539 Bump aioswitcher to 2.0.6 (#56358) 2021-09-17 22:42:58 -07:00
J. Nick Koston b6763c7245 Fix yeelight nightlight mode (#56363) 2021-09-17 22:26:25 -07:00
J. Nick Koston eb98ac9415 Allow IntegrationNotFound when checking config in safe mode (#56283)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-09-17 22:25:50 -07:00
J. Nick Koston bad6b2f7f5 Standardize yeelight exception handling (#56362) 2021-09-17 22:25:19 -07:00
Simone Chemelli 4160a5ee3b Strict typing for SamsungTV (#53585)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-17 18:51:07 -10:00
Alexei Chetroi f5dd71d1e0 Bump up ZHA dependencies (#56359) 2021-09-17 19:52:49 -04:00
jan iversen c4195c547c Update template/test_init.py to use pytest (#56336) 2021-09-17 15:13:17 -07:00
Milan Meulemans f64aa0f8df Fix netgear strings (#56351) 2021-09-17 22:43:23 +02:00
J. Nick Koston e880f1c8f9 Index config entries by domain (#56316) 2021-09-17 10:39:00 -10:00
Alexei Chetroi 5b0e00a74b Refactor ZHA HVAC thermostat channel (#56238)
* Refactor HVAC channel to use zigpy cached attributes

* Allow named attributes in ZHA test attribute reports

* Let attribute write to update cache

* WIP Update tests

* Cleanup
2021-09-17 15:17:34 -04:00
Daniel Hjelseth Høyer 16832bc35b AutomationTriggerInfo as type in rfxtrx (#56353)
* AutomationTriggerInfo as type in rfxtrx

* style

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-17 20:01:00 +02:00
Erik Montnemery 45046941c6 Avoid creating sockets in homekit port available tests (#56342) 2021-09-17 04:16:57 -10:00
Joakim Plate 9b00e0cb7a Rfxtrx device triggers and actions (#47909)
* Add helper

* Add device actions

* Add trigger

* Just make use of standard command

* Generalize code a bit

* Switch tests to currently existing features

* Add tests for capabilities

* Don't check schema asserted value

* Adjust strings somewhat

* Directly expose action subtypes

* Add a status event test

* Switch to modern typing

* Drop chime that is now part of command

* Adjust strings a bit

* Drop ability to set custom value

* Adjust changed base schema

* Validate triggers

* Try fix typing for 3.8
2021-09-17 15:28:43 +02:00
Erik Montnemery ecf4a7813a Prevent 3rd party lib from opening sockets in wilight tests (#56310) 2021-09-17 15:27:26 +02:00
Shay Levy 5249c89c3f Add Shelly RPC sensor and binary sensor platforms (#56253) 2021-09-17 15:53:39 +03:00
Erik Montnemery 797b68b42d Prevent 3rd party lib from opening sockets in rfxtrx tests (#56331) 2021-09-17 12:51:40 +02:00
Erik Montnemery 55a77b2ba2 Prevent 3rd party lib from opening sockets in ps4 tests (#56330) 2021-09-17 12:51:25 +02:00
Erik Montnemery 327bf24940 Prevent 3rd party lib from opening sockets in cloud tests (#56328) 2021-09-17 12:50:59 +02:00
Erik Montnemery e0a232aa36 Prevent 3rd party lib from opening sockets in wallbox tests (#56308) 2021-09-17 12:50:11 +02:00
Erik Montnemery a793fd4134 Prevent 3rd party lib from opening sockets in ping tests (#56329) 2021-09-16 23:41:19 -10:00
Erik Montnemery bce4c5eb11 Prevent 3rd party lib from opening sockets in zeroconf tests (#56324) 2021-09-16 23:19:32 -10:00
Erik Montnemery fce7f0873e Prevent 3rd party lib from opening sockets in sia tests (#56325) 2021-09-16 23:19:19 -10:00
J. Nick Koston 8814c53504 Bump zeroconf to 0.36.4 (#56314) 2021-09-16 21:04:54 -10:00
Sean Vig 6d99a7a730 Add unique id to amcrest sensors (#55243)
* Add unique id to amcrest sensors

* Change 'unique_id' to 'serial_number' on api wrapper

* Update unique id's with channel value that can be used in future changes and remove unrelated camera changes
2021-09-17 07:48:17 +02:00
Joakim Plate 175f207d28 Avoid sending Standby when already off (#56306) 2021-09-17 06:50:46 +02:00
Erik Montnemery 8341ae12d3 Mock out zeroconf in homekit_controller tests (#56307) 2021-09-16 11:29:41 -10:00
jan iversen 70eb519f76 Update template/test_light.py to use pytest (#56300) 2021-09-16 11:05:00 -07:00
jan iversen 94f06f86cf Activate mypy for gpmdp. (#55967) 2021-09-16 20:05:08 +03:00
Erik Montnemery 15a7fe219d Bump pychromecast to 9.2.1 (#56296) 2021-09-16 20:01:02 +03:00
Maciej Bieniek 41bf1eb610 Fetch the data a second time when -9999 error occurs in Xiaomi Miio integration (#56288) 2021-09-16 09:19:41 -07:00
Shay Levy 8418d4ade2 Address Switcher late review comments (#56264)
* Address Switcher late review comments

* Rename wrapper to coordinator
2021-09-16 17:06:58 +02:00
Chris Browet 1609d069bb Fix Meteoalarm expired alerts (#56255) 2021-09-16 16:07:53 +02:00
Paul Owen 28b4b5407b Fix return value of preset_mode in hive climate (#56247) 2021-09-16 13:57:42 +02:00
jjlawren 0438c9308c Delay startup for cert_expiry to allow for self checks (#56266)
* Delay startup of cert_expiry

* Update tests
2021-09-16 13:31:36 +02:00
Erik Montnemery c668dcb1ac Allow smaller step size for input number (#56211)
* Allow smaller step size for input number

* Tweak

* Tweak
2021-09-16 11:07:14 +02:00
Erik Montnemery 8c5efafdd8 Add 5-minute statistics for sensors (#56006)
* Add 5-minute statistics for sensors

* Address pylint issues

* Black

* Apply suggestion from code review

* Apply suggestions from code review

* Improve tests
2021-09-16 10:57:15 +02:00
Malachi Soord 0656407561 Upgrade pylast from 4.2.0 to 4.2.1 (#56015)
* Upgrade pylast from 4.2.0 to 4.2.1

* Fix test

* Use MockNetwork

* Tidy

* Fix lint
2021-09-16 07:00:25 +02:00
Sean Vig 69ff7a968a Bump amcrest version to 1.9.2 (#56281) 2021-09-16 06:53:40 +02:00
Daniel Hjelseth Høyer 4eb656d5d9 Fix Surepetcare string reference (#56262)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-15 22:18:35 +02:00
Aaron Bach ecd827722b Bump pyopenuv to 2.2.1 (#56270) 2021-09-15 21:05:12 +02:00
Daniel Hjelseth Høyer c5544550b4 Deprecate Surepetcare yaml config (#56209) 2021-09-15 10:43:39 +02:00
muppet3000 19054e1ffe Bump growattServer to 1.1.0 (#56084) 2021-09-15 10:08:15 +02:00
jjlawren 0619069ae6 Avoid a zeroconf race condition (#56240) 2021-09-14 22:07:31 -10:00
jan iversen 53d5a59257 Activate mypy for directv (#55963)
* Activate mypy for directv.

* Activate mypy for directv.
2021-09-15 07:58:04 +02:00
Shulyaka ddfe94187e generic_hygrostat: enable tests (#56193) 2021-09-15 07:55:43 +02:00
epenet 0d842a8f01 Adjust charging_power unit (#56167) 2021-09-15 07:54:56 +02:00
Steven Looman 30c25d4448 Clean up upnp YAML config (#56200)
* Put back local_ip option to config schema + deprecate config schema

* More cleanup

* Remove log

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-15 06:57:02 +02:00
Paulus Schoutsen 0a426b5686 Bump aiohue to 2.6.2 (#56234) 2021-09-15 06:23:19 +02:00
J. Nick Koston 98cf34c7c3 Bump zeroconf to 0.36.3 (#56233) 2021-09-14 13:02:37 -10:00
jan iversen 692f611109 Update template/test_fan.py to use pytest (#56215) 2021-09-14 13:51:46 -07:00
Aaron Bach bbc75b5c00 Add long-term statistics for Flu Near You sensors (#55416) 2021-09-14 22:09:45 +02:00
Aaron Bach 441e99b439 Add long-term statistics for AirVisual sensors (#55415) 2021-09-14 22:08:54 +02:00
jan iversen 96a9af8cc4 Update template/test_weather.py to use pytest (#56223) 2021-09-14 13:06:55 -07:00
Aaron Bach 2c348dd2d7 Add long-term statistics for RainMachine sensors (#55418)
* Add long-term statistics for RainMachine sensors

* Code review
2021-09-14 22:06:40 +02:00
jan iversen 4b2ff0a0ba Update template/alarm_control_panel.py to use pytest (#56229) 2021-09-14 13:06:29 -07:00
Marc Mueller 2b51896d7a Use EntityDescription - vicare (#55932)
* Use EntityDescription - vicare binary_sensor

* Use EntityDescription - vicare sensor

* Fix typing

* Remove default values

* Fix pylint
2021-09-14 22:06:06 +02:00
Aaron Bach 0364922d80 Add long-term statistics for AirNow sensors (#56230) 2021-09-14 22:04:55 +02:00
Ricardo Steijn 2a51bb5bba Add Crownstone integration (#50677) 2021-09-14 09:46:52 -10:00
Erik Montnemery bac55b78fe Enforce device class for gas and energy sensors used by energy dashboard (#56218)
* Enforce device class for gas and energy sensors used by energy dashboard

* Adjust tests
2021-09-14 16:56:36 +02:00
jan iversen aaa62dadec Add service to stop/restart modbus (#55599)
* Add service to stop/restart modbus.

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-14 09:42:50 +02:00
dependabot[bot] 31623368c8 Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#56210)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.3 to 2.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.3...v2.1.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-14 08:50:29 +02:00
Daniel Hjelseth Høyer dba2998e8c Clean up Surepetcare binary sensor (#56070) 2021-09-14 08:44:20 +02:00
Alexei Chetroi fe1311ba34 Bump up zha dependencies (#56206) 2021-09-13 21:27:29 -04:00
Robert Hillis 14aa9c91eb Add Config Flow to Modem Caller ID integration (#46677)
* Add phone_modem integration

* Use original domain

* Add init tests for Modem Caller ID

* Clean up tests

* Clean up tests

* apply suggestions

* Fix tests

* Make only one instance possible

* Allow more than 1 device and remove hangup service

* simplify already configured

* Update sensor.py

* Update config_flow.py

* Fix manifest

* More cleanup

* Fix tests

* Ue target

* Clean up sensor.py

* Minor tweaks

* Close modem on restart and unload

* Update requirements

* fix tests

* Bump phone_modem

* rework

* add typing

* use async_setup_platform

* typing

* tweak

* cleanup

* fix init

* preserve original name

* remove callback line

* use list of serial devices on host

* tweak

* rework

* Rework for usb dicsovery

* Update requirements_test_all.txt

* Update config_flow.py

* tweaks

* tweak

* move api out of try statement

* suggested tweaks

* clean up

* typing

* tweak

* tweak

* async name the service
2021-09-13 14:22:54 -10:00
tube0013 9bb9f0e070 Add description to match TubesZB Coordinators for USB Discovery (#56201) 2021-09-13 11:22:55 -10:00
Brian Egge 8d87f4148b Fix generic thermostat switch state initialization (#56073) 2021-09-13 22:27:06 +02:00
Abílio Costa c869b78ac1 Add Whirlpool integration (#48346)
* Add Whirlpool integration

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Apply suggestions from code review

* Fix lint

* Fix lint and tests

* Apply suggestions from code review

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

* Use dict lookups

* Lint

* Apply code changes from PR review

* Do real integration setup in tests

* Apply suggestions from review & fix test

* Replace get with array operator

* Add suggestions from code review

* Rename test var

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-13 10:02:34 -10:00
Martin Ilievski f023ec24d7 Bump pykodi to 0.2.6 (#56148) 2021-09-13 10:00:10 -10:00
Daniel Hjelseth Høyer f9de8fb49a Surepetcare config flow (#56127)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-13 09:57:06 -10:00
Michael d661a76462 Use entity description and set state class to all System Monitor sensors (#56140) 2021-09-13 09:55:33 -10:00
Joakim Sørensen 20d96ef4ef Update docker base image to 2021.09.0 (#56191) 2021-09-13 21:11:10 +02:00
Erik Montnemery 17efafb2ea Do not set assumed state for binary sensor groups (#56190) 2021-09-13 10:40:24 -07:00
Bram Kragten 86d24bec75 Update icons for MDI 6 (#56170) 2021-09-13 19:29:38 +02:00
starkillerOG 5f86388f1c Netgear config flow (#54479)
* Original work from Quentame

* Small adjustments

* Add properties and method_version

* fix unknown name

* add consider_home functionality

* fix typo

* fix key

* swao setup order

* use formatted mac

* add tracked_list option

* add options flow

* add config flow

* add config flow

* clean up registries

* only remove if no other integration has that device

* tracked_list formatting

* convert tracked list

* add import

* move imports

* use new tracked list on update

* use update_device instead of remove

* add strings

* initialize already known devices

* Update router.py

* Update router.py

* Update router.py

* small fixes

* styling

* fix typing

* fix spelling

* Update router.py

* get model of router

* add router device info

* fix api

* add listeners

* update router device info

* remove method version option

* Update __init__.py

* fix styling

* ignore typing

* remove typing

* fix mypy config

* Update mypy.ini

* add options flow tests

* Update .coveragerc

* fix styling

* Update homeassistant/components/netgear/__init__.py

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

* Update homeassistant/components/netgear/__init__.py

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

* Update homeassistant/components/netgear/__init__.py

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

* Update homeassistant/components/netgear/config_flow.py

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

* Update homeassistant/components/netgear/router.py

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

* add ConfigEntryNotReady

* Update router.py

* use entry.async_on_unload

* Update homeassistant/components/netgear/device_tracker.py

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

* use cv.ensure_list_csv

* add hostname property

* Update device_tracker.py

* fix typo

* fix isort

* add myself to codeowners

* clean config flow

* further clean config flow

* deprecate old netgear discovery

* split out _async_remove_untracked_registries

* Update homeassistant/components/netgear/config_flow.py

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

* Update homeassistant/components/netgear/config_flow.py

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

* cleanup

* fix rename

* fix typo

* remove URL option

* fixes

* add sensor platform

* fixes

* fix removing multiple entities

* remove extra attributes

* initialize sensors correctly

* extra sensors disabled by default

* fix styling and unused imports

* fix tests

* Update .coveragerc

* fix requirements

* remove tracked list

* remove tracked registry editing

* fix styling

* fix discovery test

* simplify unload

* Update homeassistant/components/netgear/router.py

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

* add typing

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

* add typing

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

* add typing

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

* condense NetgearSensorEntities

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

* Update homeassistant/components/netgear/router.py

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

* Update homeassistant/components/netgear/router.py

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

* Update homeassistant/components/netgear/router.py

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

* Update homeassistant/components/netgear/router.py

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

* add typing

* styling

* add typing

* use ForwardRefrence for typing

* Update homeassistant/components/netgear/device_tracker.py

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

* add typing

* Apply suggestions from code review

Thanks!

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* process review comments

* fix styling

* fix devicename not available on all models

* ensure DeviceName is not needed

* Update homeassistant/components/netgear/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/netgear/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update __init__.py

* fix styling

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-13 18:18:21 +02:00
jjlawren 37f263e2ac Bump plexapi to 4.7.1 (#56163) 2021-09-13 15:46:54 +02:00
Brian Egge e638e5bb42 Add component for binary sensor groups (#55365)
* Add component for binary sensor groups
https://github.com/home-assistant/home-assistant.io/pull/19239

* Accidental push over prior commit

* Add test for any case

* Add unavailable attribute and tests for unique_id

* Added tests for attributes

link to documentation: https://github.com/home-assistant/home-assistant.io/pull/19297
2021-09-13 15:28:37 +02:00
Vilppu Vuorinen ee616ed992 Support hvac mode in melcloud climate.set_temperature service (#56082)
Setting the HVAC_MODE via the set_temperature service has not been
possible before this change.
2021-09-13 14:14:47 +02:00
epenet 5ccc3c17d9 Use list comprehension in onewire entity descriptions (#56168)
* Use list comprehension in onewire binary sensors

* Use list comprehension in onewire switches
2021-09-13 13:46:21 +02:00
Erik Montnemery d899d15a1e Add statistics validation (#56020)
* Add statistics validation

* Remove redundant None-check

* Move validate_statistics WS API to recorder

* Apply suggestion from code review
2021-09-13 13:44:22 +02:00
Erik Montnemery d2a9f7904a Include end time of statistics data points in API response (#56063)
* Include end time of statistics data points in API response

* Correct typing

* Update tests
2021-09-13 10:02:24 +02:00
Shay Levy e9eb76c7db Add switch support for RPC device (#56153)
* Add switch support for RPC device

* Apply review comments

* Apply review comments
2021-09-13 09:31:35 +03:00
Maikel Punie 7472fb2049 Switch velbus from python-velbus to velbusaio (#54032)
* initial commit

* use new release

* Update for sensors

* big update

* pylint fixes, bump dependancy to 2021.8.2

* New version to try to fix the tests

* Fix a lot of errors, bump version

* more work

* Bump version

* Adde dimmer support

* Make sure the counters are useable in the energy dashboard

* bump version

* Fix testcases

* Update after review

* Bump version to be able to have some decent exception catches, add the temperature device class

* Readd the import of the platform from config file, but add a deprecation warning

* More comments updated

* Fix lefover index

* Fix unique id to be backwards compatible

* Fix small bug in covers

* Fix testcases

* Changes for theenery dashboard

* Fixed services

* Fix memo text

* Make the interface for a service the port string instead of the device selector

* Fix set_memo_text

* added an async scan task, more comments

* Accidently disabled some paltforms

* More comments, bump version

* Bump version, add extra attributes, enable mypy

* Removed new features

* More comments

* Bump version

* Update homeassistant/components/velbus/__init__.py

Co-authored-by: brefra <frank_van_breugel@hotmail.com>

* Readd the import step

Co-authored-by: brefra <frank_van_breugel@hotmail.com>
2021-09-13 08:22:46 +02:00
jan iversen 1f997fcd58 Update pymodbus fixtures to use autospec (#55686) 2021-09-12 21:16:48 -07:00
Sean Vig a180c3f813 Fix polling on online Amcrest binary sensor (#56106) 2021-09-12 20:45:52 -07:00
Paulus Schoutsen 32212651fe Add zeroconf discovery to Hue (#55358)
* Add zeroconf discovery to Hue

* Add coverage for already exists case

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-12 20:00:51 -07:00
joshs85 41b25a765c Changed wording of bond state belief feature from belief to tracked state (#56147)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-12 15:46:43 -10:00
jan iversen 990d474d02 use fixtures. (#56130) 2021-09-12 15:08:46 -07:00
J. Nick Koston 673519f6bf Prefer more targeted matchers in USB discovery (#56142)
- If there is a more targeted match it should win discovery
2021-09-12 15:07:40 -07:00
J. Nick Koston 0fc89780e9 Fix listener leak in HomeKit on reload (#56143)
* Fix listener leak in HomeKit on reload

* Fix mocking
2021-09-12 15:06:03 -07:00
Aaron Bach 4e8db7173a Use EntityDescription - iqvia (#55218) 2021-09-12 09:34:44 -06:00
Greg Thornton f1556ead6d Don't cache HomeKit camera stream source from entity (#56136) 2021-09-12 08:09:09 -07:00
Marc Mueller 2b019b0911 Use EntityDescription - xiaomi_aqara (#55931)
* Use EntityDescription - xiaomi_aqara

* Remove default values

* Add missing SENSOR_TYPES
2021-09-12 12:48:02 +02:00
cdheiser ec28f7eef2 Don't return a unique_id if Lutron doesn't have a UUID for the device. (#56113)
This is a workaround for https://github.com/thecynic/pylutron/issues/70

Co-authored-by: cdheiser <cdheiser@users.noreply.github.com>
2021-09-12 09:24:02 +02:00
Daniel Hjelseth Høyer 4a449902a5 Surepetcare, upgrade library (#56067)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-12 08:12:32 +02:00
J. Nick Koston 2b7cdb70a8 Ensure rainmachine device name is a string (#56121) 2021-09-11 21:38:34 -06:00
Greg Thornton 371aa03bca Add audio support option to HomeKit camera UI config flow (#56107) 2021-09-11 16:41:30 -10:00
J. Nick Koston eff59e8b00 Use the same server name for all HomeKit bridges (#55860) 2021-09-11 19:00:26 -07:00
J. Nick Koston 459bc55e32 Bump HAP-python to 4.2.1 (#55804) 2021-09-11 18:58:19 -07:00
Steven Looman 73260c5b88 Move parts of ssdp to async_upnp_client (#55540)
* Move parts of ssdp to async_upnp_client

* Fix test for environments with multiple sources

* Fix sonos tests

* More fixes/changes

* More fixes

* Use async_upnp_client==0.21.0

* Pylint/test fixes

* More changes after review

* Fix tests

* Improve testing

* Fix mypy

* Fix yamaha_musiccast tests?

* Changes after review

* Pylint

* Reduce calls to combined_headers

* Update to async_upnp_client==0.21.1

* Update to async_upnp_client==0.21.2

* use as_dict

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-11 13:38:16 -10:00
Shay Levy f1a88f0563 Add config flow support for RPC device (#56118) 2021-09-11 23:28:33 +03:00
Paulus Schoutsen ddb0a6092f Merge pull request #56116 from home-assistant/rc 2021-09-11 13:02:14 -07:00
Jaroslav Hanslík a4a6bf8a85 New icon names based on MDI 6.1.95 (#56085) 2021-09-11 12:34:31 -07:00
Joakim Sørensen bcb3c426f4 Blank out discovery info (#56097) 2021-09-11 12:34:19 -07:00
Paulus Schoutsen 64fd496932 Bump frontend to 20210911.0 (#56115) 2021-09-11 12:34:01 -07:00
Paulus Schoutsen 292c05ab9f Bumped version to 2021.9.6 2021-09-11 12:02:44 -07:00
ehendrix23 a900c02c10 Bump pymyq to 3.1.4 (#56089) 2021-09-11 12:02:39 -07:00
Paulus Schoutsen 0cfbff3ff9 Fix singleton not working with falsey values (#56072) 2021-09-11 12:02:38 -07:00
Sean Vig ee892beceb Bump amcrest version to 1.8.1 (#56058)
The current version of the `amcrest` package has a bug in exposing if
the video stream is enabled, which leads to the substream status being
used to set if the camera is on or off.  The updated version of
`amcrest` fixes this bug.

Fixes #55661
2021-09-11 12:02:37 -07:00
micha91 fe713b943f Fix UDP message handling by upgrading aiomusiccast to 0.9.2 (#56041) 2021-09-11 12:02:36 -07:00
Erik Montnemery 2079956350 Suppress last_reset deprecation warning for energy cost sensor (#56037) 2021-09-11 12:02:36 -07:00
Erik Montnemery c424f99aab Correct confusing log message in sensor statistics (#56016) 2021-09-11 12:02:35 -07:00
Paulus Schoutsen 8a611eb640 Fix singleton not working with falsey values (#56072) 2021-09-11 12:02:01 -07:00
Oxan van Leeuwen 6e7ce89c64 Fix attribute access on None on startup in ESPHome (#56105) 2021-09-11 20:53:29 +02:00
jan iversen cb8c0cb123 Update template/test_lock.py to use pytest (#56102) 2021-09-11 11:48:25 -07:00
Ruslan Sayfutdinov a9ed4fa405 Bump awesomeversion to 21.8.1 (#55817) 2021-09-11 11:40:46 -07:00
Aaron Bach ed9b271fd0 Enforce strict typing for IQVIA (#53408)
* Enforce strict typing for IQVIA

* Cleanup

* Code review

* Ignore untyped numpy function
2021-09-11 12:27:13 -06:00
Joakim Sørensen 1b46190a0c Add view to get installation type during onboarding (#56095) 2021-09-11 15:38:38 +02:00
Vilppu Vuorinen ec21c5f4a9 Update pymelcloud to 2.5.4 (#56096) 2021-09-11 12:51:04 +02:00
Brent Petit 97f28878bb Add state_class to Ecobee sensors (#55996) 2021-09-10 22:00:24 -07:00
Michael b11db0b1d7 Remove unnecessary extra attribute from NUT sensors (#56078) 2021-09-10 19:17:46 -07:00
ehendrix23 bd18bc9f3a Bump pymyq to 3.1.4 (#56089) 2021-09-10 19:09:54 -07:00
Raman Gupta c785983cce Handle entity creation on new added zwave_js value (#55987)
* Handle new entity creation when a new value is added

* spacing

* Update homeassistant/components/zwave_js/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* change variable name and use asyncio.gather

* Centralized where discovered value IDs gets managed

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-10 23:49:31 +02:00
Shay Levy 8c3c2ad8e3 Updated changes for aioshelly 1.0.0 (#56083) 2021-09-11 00:48:55 +03:00
jan iversen ac1251c52b Update template/test_trigger.py to use pytest (#55950) 2021-09-10 09:55:51 -07:00
Paulus Schoutsen dec7877671 Handle logout prefs update for Google/Alexa (#56045) 2021-09-10 09:08:43 -07:00
Erik Montnemery 443147e132 Wait for entities when updating energy preferences (#56057) 2021-09-10 09:07:52 -07:00
Joakim Sørensen c59540cfc7 Revert "Bump pillow to 8.3.2 (#55970)" (#56048)
This reverts commit ee7202d10a.
2021-09-10 17:01:51 +02:00
Daniel Hjelseth Høyer aa39e582c3 Surepetcare, fix late review (#56065)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-10 16:49:42 +02:00
Sean Vig 03df48af9c Bump amcrest version to 1.8.1 (#56058)
The current version of the `amcrest` package has a bug in exposing if
the video stream is enabled, which leads to the substream status being
used to set if the camera is on or off.  The updated version of
`amcrest` fixes this bug.

Fixes #55661
2021-09-10 15:38:01 +02:00
micha91 948a942a0d Fix UDP message handling by upgrading aiomusiccast to 0.9.2 (#56041) 2021-09-10 15:03:34 +02:00
Erik Montnemery d5a8f1af1d Revert "Suppress last_reset deprecation warning for energy cost sensor (#56037)" (#56042)
This reverts commit e990ef249d.
2021-09-10 11:27:47 +02:00
J. Nick Koston ff1b39cda6 Fix circular import of scapy in dhcp (#56040)
* Fix circular import of scapy in dhcp

* Tweak import, add comment

* Tweak import, add comment

* pylint
2021-09-10 10:04:54 +02:00
Oxan van Leeuwen 970a7f9662 Fix compounds in sensor device class comments (#55900) 2021-09-10 09:46:21 +02:00
Erik Montnemery 78909b5227 Add support for state class total to energy cost sensor (#55955)
* Add support for all state classes to energy cost sensor

* Fix bug, adjust tests

* Fix rebase mistake
2021-09-10 09:05:32 +02:00
Erik Montnemery e990ef249d Suppress last_reset deprecation warning for energy cost sensor (#56037) 2021-09-10 08:59:23 +02:00
Daniel Hjelseth Høyer c27ad3078a Surepetcare, use DataUpdateCoordinator (#55982)
* Surepetcare, use dataupdater

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Review comment

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Apply suggestions from code review

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

* style

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-10 08:37:00 +02:00
Erik Montnemery 89281a273c Correct confusing log message in sensor statistics (#56016) 2021-09-09 23:26:29 -07:00
wranglatang e3a7a253ea Add nut Watts datapoint (#55491)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-10 06:02:06 +02:00
J. Nick Koston 5709640453 Report integrations that block startup wrap up (#56003) 2021-09-09 20:39:22 -07:00
Erik Montnemery 2a8121bdcd Really change character set of statistics_meta table to utf8 (#56029) 2021-09-09 22:55:51 +02:00
Raman Gupta 1fd3faf766 Fix state class for zwave_js energy entities (#56026) 2021-09-09 16:19:28 -04:00
Erik Montnemery 3af4b2639b Exclude @overload from coverage (#56021) 2021-09-09 21:24:23 +02:00
popoviciri f79de2a5bc Bump pysma to 0.6.6 & Fix Unit Checks (#56018) 2021-09-09 20:19:49 +02:00
Raman Gupta 113288cb1f Fix zwave_js/node_state WS API command (#55979)
* Fix zwave_js/node_state WS API command

* Add negative assertion check to avoid regression

* Update tests/components/zwave_js/test_api.py

Co-authored-by: jan iversen <jancasacondor@gmail.com>

* use constant

Co-authored-by: jan iversen <jancasacondor@gmail.com>
2021-09-09 14:04:27 -04:00
Erik Montnemery 88dbc6373f Make sure character set of events, states tables is utf8 (#56012)
* Make sure character set of events, states tables is utf8

* Pylint

* Apply suggestions from code review
2021-09-09 19:26:28 +02:00
Oscar Calvo 1b0e014783 Support incoming SMS messages via polling (#54237)
* Add support to incomming SMS via polling

* Update dependencies

* Only send notification for unread messages

* Only inform if callback is not getting used

* Update gateway.py

* Apply PR feedback

* Update homeassistant/components/sms/gateway.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Apply PR comments

* Make black happy

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-09 18:29:11 +02:00
Erik Montnemery a47532c69b Change character set of statistics_meta table to utf8 (#56011) 2021-09-09 17:24:20 +02:00
uvjustin dd9bfe7aa0 Add package constraint anyio>=3.3.1 (#55997) 2021-09-09 15:33:09 +02:00
Jean-Yves Avenard 556dcf6abb Add iotawatt high-accuracy energy readout sensors (#55512) 2021-09-09 15:32:43 +02:00
joshs85 011817b122 Add state belief services to bond integration (#54735)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-09 15:32:32 +02:00
Adam Feldman cbbbc3c4f0 Add state class to Smart Meter Texas sensor (#55665) 2021-09-09 15:32:03 +02:00
jan iversen 9d2861afe3 Add mypy to elkm1. (#55964) 2021-09-09 13:14:28 +02:00
cnico 065e858a03 Address post merge review of flipr binary sensor (#55983) 2021-09-09 09:45:58 +02:00
Erik Montnemery 80fd330479 Add sum_decrease and sum_increase statistics (#55850) 2021-09-08 23:35:53 -07:00
Joakim Plate a8cbb949fa Rfxtrx drop yaml configuration (#54173) 2021-09-08 22:17:02 -07:00
Alan Tse 98ecf2888c Remove tesla integration (#55988)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-08 22:12:03 -07:00
GitHub Action 675426dc25 [ci skip] Translation update 2021-09-09 00:11:32 +00:00
Erik Montnemery a1aca20818 Address review comment from #55833 (#55985) 2021-09-08 13:48:31 -07:00
Paulus Schoutsen 5cc54618c5 Merge pull request #55969 from home-assistant/rc 2021-09-08 13:42:09 -07:00
Philip Allgaier 4d2432cffb Consistent lower-case spelling of "optional" (#55976) 2021-09-08 22:16:12 +02:00
Erik Montnemery 8f344252c4 Add significant change support to AQI type sensors (#55833) 2021-09-08 12:47:59 -07:00
Erik Montnemery 232943c93d Add significant change support to AQI type sensors (#55833) 2021-09-08 12:47:48 -07:00
Erik Montnemery cbe4b2dc1d Add support for state class measurement to energy cost sensor (#55962) 2021-09-08 12:46:43 -07:00
Erik Montnemery bb6c2093a2 Add support for state class measurement to energy cost sensor (#55962) 2021-09-08 12:46:28 -07:00
Paulus Schoutsen a17d2d7c71 Fix gas validation (#55886) 2021-09-08 12:45:41 -07:00
Paulus Schoutsen ee7202d10a Bump pillow to 8.3.2 (#55970) 2021-09-08 12:06:30 -07:00
Ruslan Sayfutdinov e3815c6c2e Pin setuptools<58 2021-09-08 12:04:32 -07:00
Paulus Schoutsen 5cba7932f3 Bumped version to 2021.9.5 2021-09-08 08:22:38 -07:00
Erik Montnemery 413430bdba Fix handling of imperial units in long term statistics (#55959) 2021-09-08 08:22:34 -07:00
Erik Montnemery 81462d8655 Do not allow inf or nan sensor states in statistics (#55943) 2021-09-08 08:22:33 -07:00
Erik Montnemery 8ee4b49aa9 Do not let one bad statistic spoil the bunch (#55942) 2021-09-08 08:22:32 -07:00
Shay Levy 19d7cb4439 Bump aioswitcher to 2.0.5 (#55934) 2021-09-08 08:22:31 -07:00
Raman Gupta 21ebf4f3e6 Allow multiple template.select platform entries (#55908) 2021-09-08 08:22:31 -07:00
Maciej Bieniek 980fcef36f Fix available property for Xiaomi Miio fan platform (#55889)
* Fix available

* Suggested change
2021-09-08 08:22:30 -07:00
Diogo Gomes e7fd24eade Integration Sensor Initial State (#55875)
* initial state is UNAVAILABLE

* update tests
2021-09-08 08:22:08 -07:00
Pascal Winters 9ecb75dc70 Edit unit of measurement for gas/electricity supplier prices (#55771)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-08 08:20:49 -07:00
RDFurman 7f3adce675 Try to avoid rate limiting in honeywell (#55304)
* Limit parallel update and sleep loop

* Use asyncio sleep instead

* Extract sleep to const for testing

* Make loop sleep 0 in test
2021-09-08 08:20:48 -07:00
Erik Montnemery 27764e9985 Fix handling of imperial units in long term statistics (#55959) 2021-09-08 08:08:48 -07:00
Erik Montnemery 9f1e503784 Do not allow inf or nan sensor states in statistics (#55943) 2021-09-08 08:05:16 -07:00
Erik Montnemery 22e6ddf8df Do not let one bad statistic spoil the bunch (#55942) 2021-09-08 07:55:40 -07:00
Shay Levy c514f72c70 Bump aioswitcher to 2.0.5 (#55934) 2021-09-08 07:54:44 -07:00
Diogo Gomes 84140a547b deprecated unit_of_measurement (#55876) 2021-09-08 16:33:53 +02:00
Marc Mueller 0b23ce658e Use EntityDescription - konnected (#55923) 2021-09-08 15:14:03 +02:00
Marc Mueller 32b8be5a6e Use EntityDescription - repetier (#55926) 2021-09-08 14:28:04 +02:00
Marc Mueller 69d6d5ffce Use EntityDescription - incomfort (#55930) 2021-09-08 08:51:17 +02:00
Marc Mueller 5429a67877 Use EntityDescription - zoneminder (#55922) 2021-09-08 08:48:55 +02:00
Ruslan Sayfutdinov 7195b8222b Bump PyJWT to 2.1.0 (#55911) 2021-09-07 20:59:02 -07:00
Pascal Winters a764c79b6f Edit unit of measurement for gas/electricity supplier prices (#55771)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-07 20:54:40 -07:00
Paulus Schoutsen ec337101dd Fix gas validation (#55886) 2021-09-07 20:53:43 -07:00
Fuzzy efafe82799 Remove Trackr integration (API removed) (#55917)
* Delete Trackr component directory

* Update .coverage.rc to remove Trackr

* Update requirements_all.txt
2021-09-08 05:01:58 +02:00
GitHub Action f9e6e616f4 [ci skip] Translation update 2021-09-08 00:10:52 +00:00
Raman Gupta 37d75e8a03 Allow multiple template.select platform entries (#55908) 2021-09-07 14:50:07 -07:00
Marc Mueller 42f586c585 Fix upnp add_entities (#55904)
* Fix upnp add_entities

* Remove nesting level
2021-09-07 22:27:03 +02:00
Diogo Gomes d705b35ea1 Address comment in integration Riemann sum PR #55875 (#55895)
* https://github.com/home-assistant/core/pull/55875\#discussion_r703334504

* missing test update
2021-09-07 19:40:20 +02:00
Ville Skyttä 0684f8bddf Add date device class (#55887)
* Add date device class

https://github.com/home-assistant/architecture/discussions/610

* Add date device class to sensors device classes list
2021-09-07 16:46:12 +02:00
RDFurman 3aed58f825 Try to avoid rate limiting in honeywell (#55304)
* Limit parallel update and sleep loop

* Use asyncio sleep instead

* Extract sleep to const for testing

* Make loop sleep 0 in test
2021-09-07 16:32:26 +02:00
Maciej Bieniek 86247c93fc Fix available property for Xiaomi Miio fan platform (#55889)
* Fix available

* Suggested change
2021-09-07 11:34:41 +02:00
cnico 53ea24ec15 Add Flipr binary sensor (#53525) 2021-09-07 09:52:42 +02:00
Michael 2f3a11f930 Rewrite re-auth mechanism in Synology DSM integration (#54298) 2021-09-07 09:10:50 +02:00
Erik Montnemery 0d1412ea17 Set state class to total for net utility_meter sensors (#55877)
* Set state class to total for net utility_meter sensors

* Update tests
2021-09-07 08:13:14 +02:00
Diogo Gomes 1ca9deb520 Integration Sensor Initial State (#55875)
* initial state is UNAVAILABLE

* update tests
2021-09-07 08:12:54 +02:00
Sean Vig 789f21c427 Fix assignment of amcrest camera model (#55266) 2021-09-07 04:52:45 +02:00
GitHub Action 9da3fa5d75 [ci skip] Translation update 2021-09-07 00:11:29 +00:00
Paulus Schoutsen 93083513b4 Bump hass-nabucasa 49 (#55823) 2021-09-06 16:05:33 -07:00
Paulus Schoutsen f0649855f9 Merge pull request #55870 from home-assistant/rc 2021-09-06 16:05:08 -07:00
Alexei Chetroi c6888e4faf Refactor ZHA tests (#55844)
* Replace ZHA tests FakeDevice

* Refactor ZHA tests to use zigpy devices and endpoints

* Use common consts for zigpy device mocks

Use the same dict key names for device signature mocks as zha quirks.

* Use const for test device list

* Update tests/components/zha/common.py
2021-09-06 19:00:06 -04:00
Erik Montnemery b1dbdec2ea Set state class to total for Integration sensors (#55872) 2021-09-07 00:27:31 +02:00
puddly 6895081595 Use async_update_entry in config unit test instead of modifying data (#55855) 2021-09-06 16:57:59 -04:00
Paulus Schoutsen 823c3735ce Bumped version to 2021.9.4 2021-09-06 13:41:39 -07:00
Diogo Gomes 68131a5c00 Integration Sensor unit of measurement overwrite (#55869) 2021-09-06 13:41:33 -07:00
J. Nick Koston be0f767c34 Fix exception during rediscovery of ignored zha config entries (#55859)
Fixes #55709
2021-09-06 13:41:33 -07:00
Maciej Bieniek 450652a501 Fix target humidity step for Xiaomi MJJSQ humidifiers (#55858) 2021-09-06 13:41:32 -07:00
Daniel Hjelseth Høyer 8523f569c0 Surepetcare, bug fix (#55842) 2021-09-06 13:41:31 -07:00
mrwhite31 5f289434d3 Fix typo in in rfxtrx Barometer sensor (#55839)
Fix typo in sensor.py to fix barometer unavailability
2021-09-06 13:41:31 -07:00
Maciej Bieniek 3df6dfecab Fix a lazy preset mode update for Xiaomi Miio fans (#55837) 2021-09-06 13:41:30 -07:00
Martin Hjelmare d6eda65302 Bump zwave-js-server-python to 0.30.0 (#55831) 2021-09-06 13:41:29 -07:00
Brandon Rothweiler 7a5bc2784a Upgrade pymazda to 0.2.1 (#55820) 2021-09-06 13:41:28 -07:00
David Bonnes 00878467cc Fix incomfort min/max temperatures (#55806) 2021-09-06 13:41:28 -07:00
Maciej Bieniek 899d8164b0 Fix xiaomi miio Air Quality Monitor initialization (#55773) 2021-09-06 13:41:27 -07:00
jan iversen 823fd60991 Allow same address different register types in modbus (#55767) 2021-09-06 13:41:26 -07:00
jan iversen a6bb0eadca Allow same IP if ports are different on modbus (#55766) 2021-09-06 13:41:25 -07:00
Tatham Oddie eb70354ee7 Fix logbook entity_matches_only query mode (#55761)
The string matching template needs to match the same compact JSON format
as the data is now written in.
2021-09-06 13:41:25 -07:00
Joshi bd53185bed Fix switch name attribute for thinkingcleaner (#55730) 2021-09-06 13:41:24 -07:00
Diogo Gomes 34d54511e8 Integration Sensor unit of measurement overwrite (#55869) 2021-09-06 13:41:01 -07:00
jan iversen 8d4aac618d Allow same IP if ports are different on modbus (#55766) 2021-09-06 13:40:15 -07:00
Tatham Oddie 4fa9871080 Fix logbook entity_matches_only query mode (#55761)
The string matching template needs to match the same compact JSON format
as the data is now written in.
2021-09-06 13:39:39 -07:00
Martin Hjelmare b088ce601c Bump zwave-js-server-python to 0.30.0 (#55831) 2021-09-06 13:37:12 -07:00
Daniel Hjelseth Høyer bcfedeb797 Surepetcare, bug fix (#55842) 2021-09-06 13:36:45 -07:00
Maciej Bieniek 9093819671 Fix target humidity step for Xiaomi MJJSQ humidifiers (#55858) 2021-09-06 13:36:18 -07:00
jan iversen cac3e1acfa Allow same address different register types in modbus (#55767) 2021-09-06 13:35:40 -07:00
J. Nick Koston eba9b61011 Fix exception during rediscovery of ignored zha config entries (#55859)
Fixes #55709
2021-09-06 13:35:24 -07:00
Joshi 0533a9c714 Fix switch name attribute for thinkingcleaner (#55730) 2021-09-06 14:03:46 -05:00
Brandon Rothweiler 12b1f87b35 Upgrade pymazda to 0.2.1 (#55820) 2021-09-06 13:53:03 -05:00
Simone Chemelli 8b6d0ca13f Replace util.get_local_ip in favor of components.network.async_get_source_ip() - part 2 (#53368)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-06 08:44:38 -10:00
Erik Montnemery dd7dea9a3f Make scapy imports in DHCP local (#55647) 2021-09-06 10:10:27 -07:00
Erik Montnemery b99a22cd4d Re-add state_class total to sensor (#55103)
* Re-add state_class total to sensor

* Make energy cost sensor enforce state_class total_increasing

* Bump deprecation of last_reset for state_class measurement

* Correct rebase mistakes
2021-09-06 18:28:58 +02:00
starkillerOG 2634949999 Add motion_blinds VerticalBlind and cleanup (#55774) 2021-09-06 16:19:02 +02:00
puddly e671ad41ec Replace zigpy-cc with zigpy-znp (#55828)
* Replace zigpy-cc with zigpy-znp in a ZHA config migration

* Fix failing unit tests
2021-09-06 09:50:54 -04:00
Maciej Bieniek 9ee0d8fefe Fix xiaomi miio Air Quality Monitor initialization (#55773) 2021-09-06 15:30:03 +02:00
mrwhite31 e6a29b6a2a Fix typo in in rfxtrx Barometer sensor (#55839)
Fix typo in sensor.py to fix barometer unavailability
2021-09-06 15:11:12 +02:00
Stefan Agner df928c80b8 Shutdown the container on abnormal signals (#55660)
So far the finish script exits whenever the service terminated by a
signal (indicated by 256 as first argument). This is the intended
behavior when SIGTERM is being sent: SIGTERM is used on regular shutdown
through the supervisor. We don't want the finish script to shutdown
itself while being taken down by the supervisor already.

However, every other signal which lead to a process exit likely means
trouble: SIGSEGV, SIGILL, etc. In those cases we want the container to
exit. The Supervisor (or restart policy of Docker in the container case)
will take care of restarting if appropriate.
2021-09-06 14:37:33 +02:00
Erik Montnemery 05abf1405d Migrate emulated_hue tests from unittest to pytest (#55794)
* Migrate emulated_hue tests from unittest to pytest

* Remove unused variables
2021-09-06 13:24:00 +02:00
Maciej Bieniek 753285eae7 Fix a lazy preset mode update for Xiaomi Miio fans (#55837) 2021-09-06 12:33:34 +02:00
David Bonnes 67b7144703 Fix incomfort min/max temperatures (#55806) 2021-09-06 12:26:20 +02:00
Andre Richter d50b700dc7 Refactor exception handling in Vallox (#55461) 2021-09-06 12:03:45 +02:00
Marc Mueller 4475cf24c8 Use EntityDescription - aqualogic (#55791) 2021-09-06 11:59:03 +02:00
Marc Mueller 3001df99cb Use EntityDescription - poolsense (#55743) 2021-09-06 11:58:47 +02:00
Philip Allgaier 364edbfd8a Add service descriptions for supervisor backup restore services (#52766)
* Add service descriptions for supervisor backup restore

* Add fields to restore services

* Update homeassistant/components/hassio/services.yaml

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-09-06 10:27:11 +02:00
Jan Bouwhuis 755835ee2e Alexa - Remove legacy speed support for fan platform (#55174)
* Remove legacy fan speed support

* remove fan range controller tests

* retrigger tests
2021-09-06 10:19:57 +02:00
Marc Mueller a4e4ffef0a Use EntityDescription - apcupsd (#55790) 2021-09-06 10:19:31 +02:00
Marc Mueller 655399eb7b Use EntityDescription - aemet (#55744) 2021-09-06 10:12:09 +02:00
Marc Mueller 77b60c712e Use EntityDescription - sabnzbd (#55788) 2021-09-06 09:54:07 +02:00
Marc Mueller a4dae0c1e1 Use EntityDescription - meteoclimatic (#55792) 2021-09-06 09:48:12 +02:00
Marc Mueller 96db04213b Use EntityDescription - vultr (#55789) 2021-09-06 09:44:33 +02:00
Marc Mueller cc6a0d2f8d Use EntityDescription - awair (#55747) 2021-09-06 09:40:41 +02:00
Marc Mueller 99ef2ae54d Use EntityDescription - vilfo (#55746) 2021-09-06 09:33:58 +02:00
jan iversen 0dd128af77 Change fix property to _attr for tradfri (#55691) 2021-09-06 08:49:00 +02:00
Greg 1b3530a3f8 Bump envoy_reader API to 0.20.0 (#55822) 2021-09-05 20:32:50 -10:00
Witold Sowa 8565821394 ZHA: Added support for ZigBee Simple Sensor device and Binary Input c… (#55819)
* ZHA: Added support for ZigBee Simple Sensor device and Binary Input cluster

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2021-09-06 01:41:57 -04:00
Paulus Schoutsen 523998f8a1 Drop logger service fields because keys are dynamic (#55750) 2021-09-05 20:53:12 -07:00
GitHub Action c2b89725be [ci skip] Translation update 2021-09-06 00:12:56 +00:00
Oliver 22961b30d2 Update to denonavr version 0.10.9 (#55805) 2021-09-05 13:28:48 -10:00
Alexei Chetroi aa6cb84b27 Optimize ZHA ZCL attribute reporting configuration (#55796)
* Refactor ZCL attribute reporting configuration

Configure up to 3 attributes in a single request.

* Use constant for attribute reporting configuration

* Update tests

* Cleanup

* Remove irrelevant for this PR section
2021-09-05 17:45:08 -04:00
Ville Skyttä 4e1e7a4a71 Protect Huawei LTE against None ltedl/ulfreq (#54411)
Refs https://github.com/home-assistant/core/issues/54400
2021-09-05 21:42:22 +03:00
Chris Browet 5a2bcd2763 ADD: generalize regex_findall (#54584) 2021-09-05 12:41:39 +02:00
GitHub Action f8ebc31576 [ci skip] Translation update 2021-09-05 00:11:36 +00:00
Paulus Schoutsen cce0ca5688 Tag Hue errors as format strings (#55751) 2021-09-04 15:38:14 -07:00
Paulus Schoutsen df9a899bbd Merge pull request #55753 from home-assistant/rc 2021-09-04 14:51:15 -07:00
Paulus Schoutsen 37cf295e20 Bumped version to 2021.9.3 2021-09-04 14:13:37 -07:00
Simone Chemelli 04816fe26d Fix SamsungTV sendkey when not connected (#55723) 2021-09-04 14:13:34 -07:00
Anders Melchiorsen eb48e75fc5 Fix LIFX firmware version information (#55713) 2021-09-04 14:13:33 -07:00
Simone Chemelli 9d5431fba1 Handle Fritz InternalError (#55711) 2021-09-04 14:13:32 -07:00
Erik Montnemery a4f2c5583d Handle negative numbers in sensor long term statistics (#55708)
* Handle negative numbers in sensor long term statistics

* Use negative states in tests
2021-09-04 14:13:32 -07:00
Paulus Schoutsen a37c3af2b4 better detect legacy eagly devices (#55706) 2021-09-04 14:13:31 -07:00
Simone Chemelli d39b861110 Fix SamsungTV sendkey when not connected (#55723) 2021-09-04 13:58:34 -07:00
Simone Chemelli 715ce3185b Handle Fritz InternalError (#55711) 2021-09-04 13:56:59 -07:00
Brian Egge c81a319346 Handle unknown preset mode in generic thermostat (#55588)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-09-04 13:17:57 -07:00
Marc Mueller f5a543b220 Remove deprecated device_state_attributes (#55734) 2021-09-04 13:16:01 -07:00
starkillerOG 58da58c008 Bump motion_blinds to 0.5.5 (#55710) 2021-09-04 22:06:50 +02:00
jan iversen 6348bf70ac Add caplog setup fixture. (#55714) 2021-09-04 07:09:55 -07:00
Marc Mueller 0700108278 Use NamedTuple for device_automation details (#55697) 2021-09-04 13:42:36 +02:00
Anders Melchiorsen d8b85b2067 Fix LIFX firmware version information (#55713) 2021-09-04 13:18:23 +02:00
Simone Chemelli b7e8348c30 Add bluez to the devcontainer (#55469)
* Fix fjaraskupan dependency for tests

* update package list

* Typo

* hadolint fixes

* hadolint fixes #2

* Cleanup

* Rewording
2021-09-04 12:16:06 +02:00
Erik Montnemery 38d42de2c0 Handle negative numbers in sensor long term statistics (#55708)
* Handle negative numbers in sensor long term statistics

* Use negative states in tests
2021-09-04 10:47:42 +02:00
Marc Mueller b3181a0ab2 Use NamedTuple for RGBColor (#55698) 2021-09-04 09:25:25 +02:00
Paulus Schoutsen 10317fba17 better detect legacy eagly devices (#55706) 2021-09-04 09:23:35 +02:00
jan iversen 7aa454231f Update template/test_sensor.py to use pytest (#55288) 2021-09-03 22:56:12 -07:00
Paulus Schoutsen 19c54b8cbf Drop unused ruamel (#55672) 2021-09-03 22:17:10 -07:00
J. Nick Koston 195ee2a188 Avoid creating sockets in homekit port available tests (#55668)
* Avoid creating sockets in homekit port available tests

* prevent new bridge from being setup -- its too fast now that the executor job is gone and it revealed an unpatched setup
2021-09-03 17:15:28 -10:00
Michael 0dc8fb497b Delay state update after switch is toggled for TP-Link HS210 device (#55671)
* delay state update for HS210

* Update workaround comment
2021-09-04 03:01:48 +02:00
Ville Skyttä b10fc89a6b Automation trigger info type hint improvements (#55402)
* Make automation trigger info a TypedDict

* zwave_js trigger type hint fixes

* Remove redundant automation trigger info field presence checks

* Use async_initialize_triggers in mqtt and tasmota device_trigger tests
2021-09-04 02:25:51 +02:00
epenet 0749e045bb Add reauth to Renault config flow (#55547)
* Add reauth flow to async_setup_entry

* Add reauth flow to config_flow

* Add reauth tests

* Split reauth/reauth_confirm

* unindent code

* Add entry_id and unique_id to reauth flow testing

* Use description_placeholders for username

* fix typo
2021-09-04 02:17:24 +02:00
GitHub Action 19dcb19d07 [ci skip] Translation update 2021-09-04 00:13:17 +00:00
Tomasz Wieczorek 501e7c84be Type scaffold PLATFORMS (#55699)
* Added template base type

Proposition to add typing, as pre-commit test on newly created integrations fails on it automatically:

```
homeassistant/components/<my_integration>/__init__.py:11: error: Need type annotation for "PLATFORMS" (hint: "PLATFORMS: List[<type>] = ...")  [var-annotated]
Found 1 error in 1 file (checked 4 source files)
```

I believe there shouldn't be other type than text, hence the proposition.

* Apply suggestions from code review

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-09-04 01:21:18 +02:00
Marc Mueller a54b9502ef Use NamedTuple for light color mode mapping (#55696) 2021-09-04 00:48:14 +02:00
Marc Mueller 617e8544c0 Use NamedTuple for touchline preset mode settings (#55695) 2021-09-04 00:44:16 +02:00
Marc Mueller edddeaf5ab Use NamedTuple for api endpoint settings (#55694) 2021-09-04 00:44:01 +02:00
jan iversen a756308e79 Update template/test_binary_sensor.py to use pytest (#55220) 2021-09-03 15:43:07 -07:00
Aidan Timson cd51d994b1 System Bridge - Set device class for binary sensor (#55688) 2021-09-03 23:48:11 +02:00
Marc Mueller 4eba2ccebc Use EntityDescription - synology_dsm (#55407) 2021-09-03 23:35:28 +02:00
Marc Mueller f5cd321185 Use EntityDescription - airnow (#55684) 2021-09-03 22:36:24 +02:00
Marc Mueller bbd9c6eb5b Use EntityDescription - discogs (#55683) 2021-09-03 22:36:17 +02:00
Marc Mueller ce6921d73c Use EntityDescription - picnic (#55682)
* Use EntityDescription - picnic

* Change _attr_extra_state_attributes to be static

* Fix tests
2021-09-03 22:35:59 +02:00
Brian Rogers 9db13a3e74 Fix Rachio service missing with 1st generation controllers (#55679) 2021-09-03 22:35:33 +02:00
Marc Mueller 1e4233fe20 Use EntityDescription - iperf3 (#55681) 2021-09-03 22:35:12 +02:00
Marc Mueller 76ce0f6ea7 Use EntityDescription - econet (#55680)
* Use EntityDescription - econet

* Resolve name constants
2021-09-03 22:34:51 +02:00
Marc Mueller 798f487ea4 Use EntityDescription - faa_delays (#55678)
* Use EntityDescription - faa_delays

* Update binary_sensor.py
2021-09-03 22:34:29 +02:00
Marc Mueller 3c0a34dd01 Use EntityDescription - luftdaten (#55676)
* Use EntityDescription - luftdaten

* Fix name attribute

* Remove default values

* Move SensorTypes back to __init__
2021-09-03 22:34:01 +02:00
Marc Mueller fbf812a845 Use EntityDescription - freebox (#55675)
* Use EntityDescription - freebox

* Remove default values
2021-09-03 22:33:26 +02:00
Paulus Schoutsen 33047d7260 Merge pull request #55673 from home-assistant/rc 2021-09-03 10:53:16 -07:00
Paulus Schoutsen e3405d226a Bumped version to 2021.9.2 2021-09-03 10:16:36 -07:00
Paulus Schoutsen 3008ff03b2 Guard for doRollover failing (#55669) 2021-09-03 10:16:31 -07:00
Joakim Sørensen 8592d94a3c Fix hdmi_cec switches (#55666) 2021-09-03 10:16:30 -07:00
Nikolay Vasilchuk b36e86d95c Fix Starline sensor state AttributeError (#55654)
* Fix starline sensors state

* Black
2021-09-03 10:16:29 -07:00
Paulus Schoutsen f61a1ecae7 Guard for unexpected exceptions in device automation (#55639)
* Guard for unexpected exceptions in device automation

* merge

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-03 10:16:28 -07:00
Paulus Schoutsen 80c074ca82 Better handle invalid trigger config (#55637) 2021-09-03 10:16:28 -07:00
Paulus Schoutsen ff91ff4cd2 Fix template sensor availability (#55635) 2021-09-03 10:16:27 -07:00
J. Nick Koston 93c2a7dd70 Narrow zwave_js USB discovery (#55613)
- Avoid triggering discovery when we can know in advance the
  device is not a Z-Wave stick
2021-09-03 10:16:26 -07:00
Michael da3ee9ed4b Fix CONFIG_SCHEMA validation in Speedtest.net (#55612) 2021-09-03 10:16:25 -07:00
Pascal Vizeli 2ef607651d Disable observer for USB on containers (#55570)
* Disable observer for USB on containers

* remove operating system test

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-03 10:16:24 -07:00
J. Nick Koston 88ca83a30b Ignore missing devices when in ssdp unsee (#55553) 2021-09-03 10:16:24 -07:00
Paulus Schoutsen 7111fc47c4 Better handle invalid trigger config (#55637) 2021-09-03 10:15:57 -07:00
Paulus Schoutsen e0f640c0f8 Guard for doRollover failing (#55669) 2021-09-03 09:53:47 -07:00
Joakim Sørensen 7caa985a59 Fix hdmi_cec switches (#55666) 2021-09-03 09:17:41 -07:00
J. Nick Koston 25b39b36e7 Ignore missing devices when in ssdp unsee (#55553) 2021-09-03 09:06:07 -07:00
Paulus Schoutsen 418d6a6a41 Guard for unexpected exceptions in device automation (#55639)
* Guard for unexpected exceptions in device automation

* merge

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-03 09:04:50 -07:00
Marc Mueller a234f2ab31 Remove dead fritzbox code (#55617)
* EntityInfo has been replaced by EntityDescription (#55104)
* Extra switch attributes have been replaced by dedicated sensors (#52562)
2021-09-03 17:48:48 +02:00
Marc Mueller 7461af68b9 Use NamedTuple for color temperature range (#55626) 2021-09-03 17:41:32 +02:00
Joakim Sørensen 2171922265 Always show state for the updater binary_sensor (#55584) 2021-09-03 17:40:07 +02:00
ehendrix23 4310a7d814 Add upnp sensor for IP, Status, and Uptime (#54780)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-09-03 17:15:28 +02:00
Michael ae9e3c237a Fix CONFIG_SCHEMA validation in Speedtest.net (#55612) 2021-09-03 14:11:19 +02:00
Nikolay Vasilchuk b4d4fe4ef8 Fix Starline sensor state AttributeError (#55654)
* Fix starline sensors state

* Black
2021-09-03 14:04:56 +02:00
Pascal Vizeli 70338da50e Remove wheels for alpine 3.13 (#55650) 2021-09-03 11:22:41 +02:00
Yuval Aboulafia 173b87e675 Clean holiday attributes code in Jewish calendar (#55080)
* Clean repetitive code in jewish calendar

* do not return none

* fix holiday
2021-09-03 12:07:53 +03:00
Yuval Aboulafia 91cd6951f3 Minor cleanup in Waze travel times (#55422)
* reduce imports and clean the attriburts

* add icons

* use entity class attributes

* fix icon

* add misc types

* fix update

* do not change icon yet

* address review
2021-09-03 11:54:32 +03:00
Erik Montnemery 4684ea2d14 Prevent 3rd party lib from opening sockets in broadlink tests (#55636) 2021-09-03 10:13:35 +02:00
Paulus Schoutsen 0c2772e0be Fix template sensor availability (#55635) 2021-09-03 09:02:45 +02:00
Pascal Vizeli 8319f232b8 Disable observer for USB on containers (#55570)
* Disable observer for USB on containers

* remove operating system test

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-03 08:05:37 +02:00
J. Nick Koston d8a81a54d8 Narrow zwave_js USB discovery (#55613)
- Avoid triggering discovery when we can know in advance the
  device is not a Z-Wave stick
2021-09-03 05:11:03 +02:00
GitHub Action 8af0cb9e65 [ci skip] Translation update 2021-09-03 00:16:18 +00:00
Paulus Schoutsen f883fa9eef Merge pull request #55608 from home-assistant/rc 2021-09-02 13:35:47 -07:00
Paulus Schoutsen 5b705dba36 Bumped version to 2021.9.1 2021-09-02 12:50:56 -07:00
Pascal Vizeli 1592408a4b Downgrade sqlite-libs on docker image (#55591) 2021-09-02 12:50:48 -07:00
jan iversen 89b7be52af Correct duplicate address. (#55578) 2021-09-02 12:50:47 -07:00
Alexei Chetroi 8f85472df3 Pick right coordinator (#55555) 2021-09-02 12:50:45 -07:00
Teemu R 6aa771e5e8 xiaomi_miio: bump python-miio dependency (#55549) 2021-09-02 12:50:44 -07:00
Joakim Sørensen 7193e82963 Bump pyuptimerobot to 21.9.0 (#55546) 2021-09-02 12:50:43 -07:00
bsmappee 02db4dbe5e Bump pysmappee to 0.2.27 (#55257)
* bump

* bump
2021-09-02 21:01:16 +02:00
Erik Montnemery 7dbe8070f7 Mock out network.util.async_get_source_ip in tests (#55592) 2021-09-02 20:44:50 +02:00
J. Nick Koston 363320eedb Mock sockets in the network integration tests (#55594) 2021-09-02 20:44:42 +02:00
Erik Montnemery 2e5c1236f9 Prevent 3rd party lib from opening sockets in freedompro tests (#55596) 2021-09-02 19:32:19 +02:00
Erik Montnemery 348bdca647 Prevent 3rd party lib from opening sockets in epson tests (#55595) 2021-09-02 19:30:53 +02:00
Joakim Sørensen 4f33679255 Fix url lookup in telegram_bot webhook (#55587) 2021-09-02 19:17:33 +02:00
Erik Montnemery cabb9c0ea4 Prevent 3rd party lib from opening sockets in broadlink tests (#55593) 2021-09-02 19:03:24 +02:00
Pascal Vizeli d4a2b36638 Downgrade sqlite-libs on docker image (#55591) 2021-09-02 18:09:30 +02:00
Erik Montnemery bfd799dc04 Use hass_client_no_auth test fixture in integrations s-x (#55585) 2021-09-02 14:50:10 +02:00
Erik Montnemery acdddabe1f Use hass_client_no_auth test fixture in integrations h-p (#55583) 2021-09-02 14:49:40 +02:00
Erik Montnemery d5b6dc4f26 Use hass_client_no_auth test fixture in integrations a-g (#55581) 2021-09-02 14:49:20 +02:00
jan iversen 69aba2a6a1 Correct duplicate address. (#55578) 2021-09-02 13:53:38 +02:00
Erik Montnemery cdaba62d2c Add test fixture for unauthenticated HTTP client (#55561)
* Add test fixture for unauthenticated HTTP client

* Remove things from the future
2021-09-02 13:09:16 +02:00
Joakim Sørensen b3b9fb0a7c Bump pyuptimerobot to 21.9.0 (#55546) 2021-09-02 11:40:32 +02:00
Alexei Chetroi cb1e0666c8 Pick right coordinator (#55555) 2021-09-01 22:54:35 -04:00
GitHub Action 6b4f2e6f8f [ci skip] Translation update 2021-09-02 00:20:52 +00:00
Teemu R aef4a69cd0 xiaomi_miio: bump python-miio dependency (#55549) 2021-09-02 00:18:12 +02:00
Raman Gupta 02eba22068 Add additional test coverage for zwave_js meter sensors (#55465) 2021-09-01 17:22:17 -04:00
Erik Montnemery 7dbd0e5274 Fix zeroconf mock and use it in CI group 1's tests (#55526)
* Fix zeroconf mock and use it in CI group 1's tests

* Mock HaAsyncServiceBrowser
2021-09-01 22:38:00 +02:00
Erik Montnemery e631671832 Use respx.mock in generic camera tests (#55521) 2021-09-01 20:45:29 +02:00
Paulus Schoutsen 245eec7041 Merge pull request #55532 from home-assistant/rc 2021-09-01 11:28:21 -07:00
Bram Kragten 493309daa7 Bumped version to 2021.9.0 2021-09-01 19:40:48 +02:00
Paulus Schoutsen af68802c17 Tweaks for the iotawatt integration (#55510) 2021-09-01 19:37:43 +02:00
Brian Egge 576cece7a9 Fix None support_color_modes TypeError (#55497)
* Fix None support_color_modes TypeError 

https://github.com/home-assistant/core/issues/55451

* Update __init__.py
2021-09-01 19:37:43 +02:00
Otto Winter 3b9859940f ESPHome light color mode use capabilities (#55206)
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
2021-09-01 19:37:41 +02:00
Paulus Schoutsen 27e29b714c Bump cloud to 0.47.1 (#55312)
* Bump cloud to 0.47.0

* Bump reqs

* Bump to 0.47.1

* Do not load hass_nabucasa during http startup

* fix some tests

* Fix test

Co-authored-by: Ludeeus <ludeeus@ludeeus.dev>
2021-09-01 09:54:54 -07:00
Daniel Hjelseth Høyer c68e87c40e OpenGarage, change to attributes (#55528)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-09-01 18:33:56 +02:00
Daniel Hjelseth Høyer 80af2f4279 Open garage, add closing and opening to state (#55372) 2021-09-01 08:16:10 -05:00
epenet f8ec85686a Add select platform to Renault integration (#55494)
* Add select platform to Renault integration

* Fix pylint
2021-09-01 14:44:10 +02:00
Joakim Sørensen 33fb080c1e Add remote server to cloud system health (#55506)
* Add sintun server to cloud system health

* Update name

* Adjust test
2021-09-01 13:23:50 +02:00
Paulus Schoutsen 9284f7b147 Tweaks for the iotawatt integration (#55510) 2021-09-01 13:18:50 +02:00
epenet bcf97cb308 Add device tracker platform to Renault integration (#54745) 2021-09-01 13:10:48 +02:00
Stefan 04a052a37d Fix moon phases (#55518) 2021-09-01 12:26:56 +02:00
Joakim Sørensen befcafbc49 Mock setup in spotify tests (#55515) 2021-09-01 11:27:21 +02:00
epenet 02b7356596 Add services to Renault integration (#54820)
* Add services

* Add tests

* Cleanup async

* Fix pylint

* Update services.yaml

* Add extra schema validation

* Rename constants

* Simplify code

* Move constants

* Fix pylint

* Cleanup constants

* Drop charge_set_mode as moved to select platform

* Only register the services if no config entry has registered them yet

* Replace VIN with device selector to select vehicle

* Update logging

* Adjust type checking

* Use a shared base SERVICE_VEHICLE_SCHEMA

* Add selectors for ac_start (temperature/when)

* Add object selector for charge_set_schedules service
2021-09-01 11:23:54 +02:00
Otto Winter 46159c3f18 ESPHome light color mode use capabilities (#55206)
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
2021-09-01 10:03:41 +02:00
mbo18 a28593f133 Add vacation mode to manual alarm_control_panel (#55340)
* Add vacation mode

* Add vacation to demo

* Deduplicate code in tests
2021-09-01 09:34:21 +02:00
Brian Egge 889aced3b6 Fix None support_color_modes TypeError (#55497)
* Fix None support_color_modes TypeError 

https://github.com/home-assistant/core/issues/55451

* Update __init__.py
2021-09-01 08:26:09 +02:00
Paulus Schoutsen a315fd059a Bumped version to 2021.9.0b7 2021-08-31 22:57:33 -07:00
Brett Adams ba9ef004c8 Add missing device class for temperature sensor in Advantage Air (#55508) 2021-08-31 22:57:13 -07:00
Felipe Martins Diel 22f745b17c Fix BroadlinkSwitch._attr_assumed_state (#55505) 2021-08-31 22:57:12 -07:00
muppet3000 05cf223146 Added trailing slash to US growatt URL (#55504) 2021-08-31 22:57:12 -07:00
Erik Montnemery d4aadd8af0 Improve log for sum statistics (#55502) 2021-08-31 22:56:28 -07:00
Erik Montnemery 4045eee2e5 Correct sum statistics when only last_reset has changed (#55498)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-08-31 22:53:58 -07:00
Joakim Sørensen 83a51f7f30 Add cache-control headers to supervisor entrypoint (#55493) 2021-08-31 22:52:05 -07:00
gjong 29110fe157 Remove Youless native unit of measurement (#55492) 2021-08-31 22:52:05 -07:00
gjong e87b7e24b4 Increase YouLess polling interval (#55490) 2021-08-31 22:52:04 -07:00
uvjustin d9056c01a6 Fix ArestSwitchBase missing is on attribute (#55483) 2021-08-31 22:52:03 -07:00
Matthew Garrett a724bc21b6 Assistant sensors (#55480) 2021-08-31 22:52:03 -07:00
Paulus Schoutsen ef00178339 Add Eagle 200 name back (#55477)
* Add Eagle 200 name back

* add comment

* update tests
2021-08-31 22:52:02 -07:00
Erik Montnemery b8770c3958 Make new cycles for sensor sum statistics start with 0 as zero-point (#55473) 2021-08-31 22:52:01 -07:00
Eric Severance f0c0cfcac0 Wemo Insight devices need polling when off (#55348) 2021-08-31 22:52:00 -07:00
Brett Adams 36b37b6db3 Add missing device class for temperature sensor in Advantage Air (#55508) 2021-08-31 22:50:32 -07:00
Felipe Martins Diel 3bc58f9750 Fix BroadlinkSwitch._attr_assumed_state (#55505) 2021-08-31 22:49:56 -07:00
muppet3000 343054494c Added trailing slash to US growatt URL (#55504) 2021-09-01 07:18:20 +02:00
Erik Montnemery 93c086d830 Correct sum statistics when only last_reset has changed (#55498)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-08-31 21:30:52 -07:00
GitHub Action 9e41a37284 [ci skip] Translation update 2021-09-01 00:19:48 +00:00
gjong ff229dd599 Increase YouLess polling interval (#55490) 2021-08-31 12:24:09 -07:00
gjong cc4b2fbcfa Remove Youless native unit of measurement (#55492) 2021-08-31 19:22:00 +02:00
Erik Montnemery 5d1a193eca Improve log for sum statistics (#55502) 2021-08-31 19:15:22 +02:00
uvjustin 71c6f99d31 Fix ArestSwitchBase missing is on attribute (#55483) 2021-08-31 17:30:05 +02:00
Ernst Klamer bd60a58765 Improvements to the solarlog integration (#55405) 2021-08-31 16:46:19 +02:00
Maciej Bieniek 08a0377dcb Add support for Xiaomi Miio Air Purifier 3C (#55484) 2021-08-31 16:44:13 +02:00
Raman Gupta 4d98a7e156 Allow device_id template function to use device name as input (#55474) 2021-08-31 14:56:47 +02:00
Joakim Sørensen 3e38dc0fd9 Add cache-control headers to supervisor entrypoint (#55493) 2021-08-31 14:45:28 +02:00
JasperPlant afc0a1f376 Add TLX daily power meter. for Growatt (#55445) 2021-08-31 11:55:23 +02:00
epenet 1849eae0ff Renault code quality improvements (#55454) 2021-08-31 11:06:54 +02:00
Erik Montnemery f9225bad5f Make new cycles for sensor sum statistics start with 0 as zero-point (#55473) 2021-08-31 10:45:17 +02:00
Eric Severance 88a08fdf57 Wemo Insight devices need polling when off (#55348) 2021-08-31 09:32:26 +02:00
Paulus Schoutsen d277e0fb03 Add Eagle 200 name back (#55477)
* Add Eagle 200 name back

* add comment

* update tests
2021-08-31 08:45:35 +02:00
Feliksas The Lion 13b001cd9b Fix Zone 2 and Zone 3 detection in onkyo (#55471) 2021-08-30 20:33:52 -07:00
Matthew Garrett dd21bf73fc Assistant sensors (#55480) 2021-08-30 20:33:06 -07:00
GitHub Action 368cac7e5d [ci skip] Translation update 2021-08-31 00:17:01 +00:00
Bram Kragten 4c48ad9108 Bumped version to Bumped version to 2021.9.0b6 2021-08-30 23:35:50 +02:00
Bram Kragten 92b0453749 Update frontend to 20210830.0 (#55472) 2021-08-30 23:33:47 +02:00
Raman Gupta 8ab801a7b4 Fix area_id and area_name template functions (#55470) 2021-08-30 23:33:46 +02:00
Aaron Bach f92c7b1aea Bump aioambient to 1.3.0 (#55468) 2021-08-30 23:33:45 +02:00
Aaron Bach 0d9fbf864f Bump pyiqvia to 1.1.0 (#55466) 2021-08-30 23:33:44 +02:00
Aaron Bach 275f9c8a28 Bump pyopenuv to 2.2.0 (#55464) 2021-08-30 23:33:43 +02:00
Erik Montnemery 84f3b1514f Fix race in MQTT sensor when last_reset_topic is configured (#55463) 2021-08-30 23:33:43 +02:00
Greg 802f5613c4 Add IoTaWatt integration (#55364)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-08-30 23:33:42 +02:00
Erik Montnemery 18c03e2f8d Fix race in MQTT sensor when last_reset_topic is configured (#55463) 2021-08-30 23:32:35 +02:00
Bram Kragten 9b3346bc80 Update frontend to 20210830.0 (#55472) 2021-08-30 23:32:19 +02:00
Aaron Bach 76f21452ee Bump aioambient to 1.3.0 (#55468) 2021-08-30 23:05:28 +02:00
ha0y 433775cf4b Add input_select and select domain support for HomeKit (#54760)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-30 15:28:26 -05:00
Aaron Bach 46f05ca279 Bump pyopenuv to 2.2.0 (#55464) 2021-08-30 13:12:27 -07:00
Aaron Bach 3d9d104482 Bump pyiqvia to 1.1.0 (#55466) 2021-08-30 13:12:09 -07:00
Raman Gupta 1d1b5ab345 Fix area_id and area_name template functions (#55470) 2021-08-30 13:09:41 -07:00
Marc Mueller 1c01ff401f Use EntityDescription - qnap (#55410)
* Use EntityDescription - qnap

* Remove default values
2021-08-30 21:59:50 +02:00
Greg 3bd9be2f6d Add IoTaWatt integration (#55364)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-08-30 12:52:29 -07:00
Aaron Bach daa9c8d856 Add -term statistics for Notion sensors (#55414) 2021-08-30 19:07:05 +02:00
Aaron Bach 1aa30ea87b Add long-term statistics for SimpliSafe sensors (#55419) 2021-08-30 19:04:21 +02:00
Paulus Schoutsen 8be40cbb00 Bumped version to 2021.9.0b5 2021-08-30 09:41:51 -07:00
Raman Gupta 46ce4e92f6 Bump zwave-js-server-python to 0.29.1 (#55460) 2021-08-30 09:41:42 -07:00
J. Nick Koston 39f11bb46d Bump zeroconf to 0.36.2 (#55459)
- Now sends NSEC records when requesting non-existent address types
  Implements RFC6762 sec 6.2 (http://datatracker.ietf.org/doc/html/rfc6762#section-6.2)

- This solves a case where a HomeKit bridge can take a while to update
  because it is waiting to see if an AAAA (IPv6) address is available
2021-08-30 09:41:42 -07:00
Erik Montnemery 3b0fe9adde Revert "Deprecate last_reset options in MQTT sensor" (#55457)
This reverts commit f9fa5fa804.
2021-08-30 09:41:41 -07:00
Simone Chemelli 707778229b Fix noise/attenuation units to UI display for Fritz (#55447) 2021-08-30 09:41:40 -07:00
Erik Montnemery a474534c08 Fix exception when shutting down DSMR (#55441)
* Fix exception when shutting down DSMR

* Update homeassistant/components/dsmr/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-30 09:41:39 -07:00
Erik Montnemery 65ad99d51c Fix crash in buienradar sensor due to self.hass not set (#55438) 2021-08-30 09:41:39 -07:00
Erik Montnemery 4052a0db89 Improve statistics error messages when sensor's unit is changing (#55436)
* Improve error messages when sensor's unit is changing

* Improve test coverage
2021-08-30 09:41:38 -07:00
Raman Gupta b546fc5067 Don't set zwave_js sensor device class to energy when unit is wrong (#55434) 2021-08-30 09:41:37 -07:00
Christopher Kochan 5dcc760755 Add Sense energy sensors (#54833)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-30 09:41:36 -07:00
Raman Gupta 331726ec2f Bump zwave-js-server-python to 0.29.1 (#55460) 2021-08-30 09:40:56 -07:00
J. Nick Koston 27ecd43da3 Bump zeroconf to 0.36.2 (#55459)
- Now sends NSEC records when requesting non-existent address types
  Implements RFC6762 sec 6.2 (http://datatracker.ietf.org/doc/html/rfc6762#section-6.2)

- This solves a case where a HomeKit bridge can take a while to update
  because it is waiting to see if an AAAA (IPv6) address is available
2021-08-30 08:59:41 -07:00
Raman Gupta d62a78ae61 Don't set zwave_js sensor device class to energy when unit is wrong (#55434) 2021-08-30 08:48:36 -07:00
Simone Chemelli fa7873dc6d Fix noise/attenuation units to UI display for Fritz (#55447) 2021-08-30 08:43:11 -07:00
Ian de5a22953d Whole-string match reqs in comment_requirement (#55192)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-30 08:20:02 -07:00
Andre Richter cbc68e45cd Refactor vallox constants (#55456) 2021-08-30 17:01:45 +02:00
Christopher Kochan c4235edc41 Add Sense energy sensors (#54833)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-30 08:01:26 -07:00
Erik Montnemery ed53bb1d91 Revert "Deprecate last_reset options in MQTT sensor" (#55457)
This reverts commit f9fa5fa804.
2021-08-30 16:58:48 +02:00
Joakim Sørensen a668300c2e Use AwesomeVersion for account link service check (#55449) 2021-08-30 14:11:07 +02:00
Erik Montnemery 722aa0895e Improve statistics error messages when sensor's unit is changing (#55436)
* Improve error messages when sensor's unit is changing

* Improve test coverage
2021-08-30 12:51:46 +02:00
Erik Montnemery 7e9f8de7e0 Fix exception when shutting down DSMR (#55441)
* Fix exception when shutting down DSMR

* Update homeassistant/components/dsmr/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-30 12:08:21 +02:00
Erik Montnemery 8faec3da8d Correct setup of system_bridge sensors (#55442) 2021-08-30 12:06:24 +02:00
Erik Montnemery 1060630bbd Fix crash in buienradar sensor due to self.hass not set (#55438) 2021-08-30 10:29:39 +02:00
Aidan Timson 25273c694a System Bridge 2.5.0 - Additional Sensors (#53892)
* Update package to 2.1.0

* Add version sensor

* Add graphics memory sensors

* Change graphics memory data from MB

* Add GPU usage sensor

* Add gpu clock speed sensors

* GPU sensors

* GPU power usage

* enumerate instead of range len

* Updates from rebase

* Add graphics

* Add Per CPU load sensor

* Cleanup

* Use super class attributes

* Suggested changes and fix

* User, System, Idle sensors

* Average, User, System and idle sensors instead of attrs

* Remove unused attrs

* Remove null/none sensor

* Sensor entity descriptions

* Fix index out of range error

* Set state class

* Use entity_registry_enabled_default

* Use built in entity_registry_enabled_default

* Use built in icon

* Fix

* Use binary sensor entity description

* Fix pylint

* Fix uom

* Add to coveragerc

* is_on

* Move entity descriptions to platforms

* Clearout default values

* Fix docstring

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Cleanup and catch

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-30 10:26:48 +02:00
uvjustin 071fcee9a9 Remove byte-range addressed parts in stream (#55396)
Add individually addressed parts
2021-08-30 13:20:19 +08:00
Paulus Schoutsen fb06acf39d Bumped version to 2021.9.0b4 2021-08-29 20:45:45 -07:00
Raman Gupta 948f191f16 Make zwave_js discovery log message more descriptive (#55432) 2021-08-29 20:45:33 -07:00
Klaas Schoute 2c0d9105ac Update entity names for P1 Monitor integration (#55430) 2021-08-29 20:45:32 -07:00
J. Nick Koston 10df9f3542 Bump zeroconf to 0.36.1 (#55425)
- Fixes duplicate records in the cache

- Changelog: https://github.com/jstasiak/python-zeroconf/compare/0.36.0...0.36.1
2021-08-29 20:45:32 -07:00
Aaron Bach 6cf799459b Ensure ReCollect Waste shows pickups for midnight on the actual day (#55424) 2021-08-29 20:44:57 -07:00
Marc Mueller 47e2d1caa5 Fix device_class - qnap drive_temp sensor (#55409) 2021-08-29 20:41:25 -07:00
J. Nick Koston 69d8f94e3b Show device_id in HomeKit when the device registry entry is missing a name (#55391)
- Reported at: https://community.home-assistant.io/t/homekit-unknown-error-occurred/333385
2021-08-29 20:41:24 -07:00
Aaron Bach 4b7803ed03 Bump simplisafe-python to 11.0.6 (#55385) 2021-08-29 20:41:24 -07:00
J. Nick Koston ff6015ff89 Implement import of consider_home in nmap_tracker to avoid breaking change (#55379) 2021-08-29 20:41:23 -07:00
Matt Krasowski fbd144de46 Handle incorrect values reported by some Shelly devices (#55042) 2021-08-29 20:41:22 -07:00
J. Nick Koston 5549a925b8 Implement import of consider_home in nmap_tracker to avoid breaking change (#55379) 2021-08-29 20:38:41 -07:00
Marc Mueller be04d7b92e Fix device_class - qnap drive_temp sensor (#55409) 2021-08-29 20:30:54 -07:00
J. Nick Koston f37c541a50 Bump zeroconf to 0.36.1 (#55425)
- Fixes duplicate records in the cache

- Changelog: https://github.com/jstasiak/python-zeroconf/compare/0.36.0...0.36.1
2021-08-29 20:29:46 -07:00
Klaas Schoute 6823b14d4c Update entity names for P1 Monitor integration (#55430) 2021-08-29 20:29:37 -07:00
Aaron Bach 94e0db8ec4 Ensure ReCollect Waste shows pickups for midnight on the actual day (#55424) 2021-08-29 20:27:34 -07:00
Raman Gupta ebc2a0103e Make zwave_js discovery log message more descriptive (#55432) 2021-08-29 20:25:47 -07:00
GitHub Action ea7f3c8bb3 [ci skip] Translation update 2021-08-30 00:11:40 +00:00
Aaron Bach 32df2f7d8b Deprecate YAML config for ReCollect Waste (#55426) 2021-08-29 14:03:44 -06:00
Aaron Bach b43c80ca21 Give ReCollect Waste sensor a friendlier label (#55427) 2021-08-29 14:03:09 -06:00
Andre Richter fa201b6c2b Add myself to Vallox codeowners (#55428) 2021-08-29 14:02:52 -06:00
Robert Svensson 76ce33dc24 Only return not return None (#55423) 2021-08-29 13:10:18 -06:00
Erik Montnemery 8b436c43f7 Enable basic type checking for cert_expiry (#55335) 2021-08-29 10:57:18 -06:00
Matt Krasowski fd66120d6d Handle incorrect values reported by some Shelly devices (#55042) 2021-08-29 14:52:12 +02:00
J. Nick Koston 43b8353566 Show device_id in HomeKit when the device registry entry is missing a name (#55391)
- Reported at: https://community.home-assistant.io/t/homekit-unknown-error-occurred/333385
2021-08-29 09:01:04 +02:00
Aaron Bach 4aed0b6ccf Use EntityDescription - ambient_station (#55366) 2021-08-28 21:31:18 -06:00
Aidan Timson 3647ada143 OVO Energy - Post #54952 Cleanup (#55393) 2021-08-28 22:31:07 -05:00
Aaron Bach 2dddd31d97 Simplify calcuation of Notion binary sensor state (#55387) 2021-08-28 21:30:44 -06:00
uvjustin 923158cfba Add ll hls to stream (#49608) 2021-08-29 09:53:41 +08:00
GitHub Action 291a2d6258 [ci skip] Translation update 2021-08-29 00:11:57 +00:00
J. Nick Koston 43288d3e1f Prevent storage loads from monopolizing the executor pool (#55389)
* Prevent storage loads from monopolizing the executor pool

- At startup there is an increasing demand to load data
  from storage. Similar to #49451 and #43085, we now prevent
  the thread pool from being monopolized by storage loads and
  allow other consumers that are doing network I/O to proceed
  without having to wait for a free executor thread.

* Only create Semaphore instance when one is not already there
2021-08-28 18:30:20 -05:00
J. Nick Koston d41fa66bca Remove legacy discovery after_dependencies from apple_tv (#55390)
- apple_tv devices are now discovered by zeroconf, and legacy discovery
  is no longer needed
2021-08-28 18:30:07 -05:00
Michael f1ba98927c Address late fritzbox comments (#55388)
* correct imports

* move platform specifics into platforms

* move descriptions into platforms
2021-08-28 23:07:06 +02:00
jan iversen f91cc21bbd Solve modbus shutdown racing condition (#55373) 2021-08-28 23:04:33 +02:00
Michael 13cc671844 Re-configuration possibilities for Synology DSM (#53285)
* add automated host/ip reconfig via SSDP

* add reconfig of existing entry

* adjust tests

* adjust tests again

* use self._async_current_entries()

* _async_get_existing_entry()

* apply suggestions
2021-08-28 14:11:51 -05:00
Matthieu 979797136a Add select entity to Logitech Harmony (#53943)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-28 14:10:19 -05:00
Aaron Bach 778fa2e3fe Bump simplisafe-python to 11.0.6 (#55385) 2021-08-28 12:57:02 -06:00
Paulus Schoutsen adaebdeea8 Bumped version to 2021.9.0b3 2021-08-28 08:59:25 -07:00
Maciej Bieniek 910cb5865a Address late review for Tractive integration (#55371) 2021-08-28 08:58:38 -07:00
Joakim Sørensen baf0d9b2d9 Pin regex to 2021.8.28 (#55368) 2021-08-28 08:58:37 -07:00
Jason Hunter c1bce68549 close connection on connection retry, bump onvif lib (#55363) 2021-08-28 08:58:36 -07:00
Nathan Spencer bde4c0e46f Bump pylitterbot to 2021.8.1 (#55360) 2021-08-28 08:58:35 -07:00
Paulus Schoutsen a275e7aa67 Fix wolflink super call (#55359) 2021-08-28 08:58:35 -07:00
Aaron Bach d96e416d26 Ensure ReCollect Waste starts up even if no future pickup is found (#55349) 2021-08-28 08:58:34 -07:00
Paulus Schoutsen efc3894303 Convert solarlog to coordinator (#55345) 2021-08-28 08:58:33 -07:00
Daniel Hjelseth Høyer 06b47ee2f5 Tractive name (#55342) 2021-08-28 08:58:33 -07:00
Raman Gupta 08ca43221f Listen to node events in the zwave_js node status sensor (#55341) 2021-08-28 08:58:32 -07:00
J. Nick Koston 8641740ed8 Ensure yeelights resync state if they are busy on first connect (#55333) 2021-08-28 08:58:31 -07:00
Daniel Hjelseth Høyer 6a93f5b7ad Tractive name (#55342) 2021-08-28 08:57:57 -07:00
Maciej Bieniek 19873e6547 Address late review for Tractive integration (#55371) 2021-08-28 17:49:34 +02:00
Joakim Sørensen 2fcd77098d Pin regex to 2021.8.28 (#55368) 2021-08-28 15:00:14 +02:00
jan iversen d1965eef8b Activate mypy for sonar (#55327)
* Please mypy.
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-28 12:05:48 +02:00
jan iversen 16351ef3c2 Add shutdown test. (#55357) 2021-08-28 08:11:58 +02:00
Nathan Spencer e2f257cb63 Bump pylitterbot to 2021.8.1 (#55360) 2021-08-27 20:58:21 -07:00
Maciej Bieniek ea8702b0df Address late review for Xiaomi Miio number platform (#55275) 2021-08-27 21:41:15 -05:00
Joakim Sørensen 470aa7e871 Add data update coordinator to the Tautulli integration (#54706)
* Add data update coordinator to the Tautulli integration

* update .coveragerc

* Add guard for UpdateFailed

* Apply suggestions from code review

Co-authored-by: Chris Talkington <chris@talkingtontech.com>

* ignore issues

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2021-08-27 20:39:12 -05:00
Jason Hunter 61a7ce173c close connection on connection retry, bump onvif lib (#55363) 2021-08-27 17:34:32 -07:00
GitHub Action b0c52220bc [ci skip] Translation update 2021-08-28 00:11:00 +00:00
Raman Gupta 714564eaa6 Listen to node events in the zwave_js node status sensor (#55341) 2021-08-27 15:01:20 -07:00
Aaron Bach 1f37c215f6 Ensure ReCollect Waste starts up even if no future pickup is found (#55349) 2021-08-27 15:00:17 -07:00
Paulus Schoutsen 46d0523f98 Convert solarlog to coordinator (#55345) 2021-08-27 14:59:55 -07:00
Paulus Schoutsen eb458fb1d5 Fix wolflink super call (#55359) 2021-08-27 14:59:28 -07:00
J. Nick Koston 10fa63775d Ensure yeelights resync state if they are busy on first connect (#55333) 2021-08-27 12:43:53 -05:00
Paulus Schoutsen d0ada6c6e2 Bumped version to 2021.9.0b2 2021-08-27 10:00:20 -07:00
Anders Melchiorsen 76bb036968 Upgrade aiolifx to 0.6.10 (#55344) 2021-08-27 10:00:00 -07:00
J. Nick Koston d8b64be41c Retrigger config flow when the ssdp location changes for a UDN (#55343)
Fixes #55229
2021-08-27 09:59:59 -07:00
jan iversen b3e0b7b86e Add modbus name to log_error (#55336) 2021-08-27 09:59:59 -07:00
Chris Talkington e097e4c1c2 Fix reauth for sonarr (#55329)
* fix reauth for sonarr

* Update config_flow.py

* Update config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py
2021-08-27 09:59:58 -07:00
Robert Hillis 34f0fecef8 Fix sonos alarm schema (#55318) 2021-08-27 09:59:57 -07:00
Erik Montnemery f53a10d39a Handle statistics for sensor with changing state class (#55316) 2021-08-27 09:59:56 -07:00
J. Nick Koston 5b993129d6 Fix lifx model to be a string (#55309)
Fixes #55307
2021-08-27 09:59:56 -07:00
J. Nick Koston 865656d436 Always send powerview move command in case shade is out of sync (#55308) 2021-08-27 09:59:55 -07:00
Aaron Bach fb25c6c115 Bump simplisafe-python to 11.0.5 (#55306) 2021-08-27 09:59:54 -07:00
Aaron Bach c963cf8743 Bump aiorecollect to 1.0.8 (#55300) 2021-08-27 09:59:54 -07:00
rikroe ddb28db21a Bump bimmer_connected to 0.7.20 (#55299) 2021-08-27 09:59:53 -07:00
J. Nick Koston bfc98b444f Fix creation of new nmap tracker entities (#55297) 2021-08-27 09:59:52 -07:00
realPy f9a0f44137 Correct flash light livarno when use hue (#55294)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-27 09:59:51 -07:00
J. Nick Koston 93750d71ce Gracefully handle pyudev failing to filter on WSL (#55286)
* Gracefully handle pyudev failing to filter on WSL

* add debug message

* add mocks so we reach the new check
2021-08-27 09:59:51 -07:00
Paulus Schoutsen 06e4003640 Bump ring to 0.7.1 (#55282) 2021-08-27 09:59:50 -07:00
J. Nick Koston 97ff5e2085 Set yeelight capabilities from external discovery (#55280) 2021-08-27 09:59:49 -07:00
J. Nick Koston 8a2c07ce19 Ensure yeelight model is set in the config entry (#55281)
* Ensure yeelight model is set in the config entry

- If the model was not set in the config entry the light could
  be sent commands it could not handle

* update tests

* fix test
2021-08-27 09:59:21 -07:00
J. Nick Koston 9f7398e0df Fix yeelight brightness when nightlight switch is disabled (#55278) 2021-08-27 09:57:07 -07:00
J. Nick Koston 7df84dadad Fix some yeelights showing wrong state after on/off (#55279) 2021-08-27 09:56:22 -07:00
Chris 2a1e943b18 Fix unique_id conflict in smarttthings (#55235) 2021-08-27 09:54:26 -07:00
prwood80 e6e72bfa82 Improve performance of ring camera still images (#53803)
Co-authored-by: Pat Wood <prwood80@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-27 09:54:25 -07:00
Anders Melchiorsen ed19fdd462 Upgrade aiolifx to 0.6.10 (#55344) 2021-08-27 09:53:42 -07:00
J. Nick Koston 2cc87cb7ab Retrigger config flow when the ssdp location changes for a UDN (#55343)
Fixes #55229
2021-08-27 09:53:29 -07:00
jan iversen 7ac72ebf38 Add modbus name to log_error (#55336) 2021-08-27 09:26:57 -07:00
Robert Hillis 98c8782c2b Fix sonos alarm schema (#55318) 2021-08-27 09:25:40 -07:00
realPy 7bd7d644a0 Correct flash light livarno when use hue (#55294)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-27 09:25:27 -07:00
prwood80 3f2fad1a27 Improve performance of ring camera still images (#53803)
Co-authored-by: Pat Wood <prwood80@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-27 09:22:49 -07:00
Chris Talkington 819fd811af Fix reauth for sonarr (#55329)
* fix reauth for sonarr

* Update config_flow.py

* Update config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py
2021-08-27 11:04:07 -05:00
Michael e2dac31471 Use EntityDescription - fritzbox (#55104)
* Use sensor entity description

* check if not none instead if callable

* List comprehension in switch and climate

* change state to native_value in description

* merge FritzBoxSensorEntity into FritzBoxEntity

* rename SENSOR_DESCRIPTIONS to SENSOR_TYPES

* use mixins for descriptions

* use comprehension in async_setup_entry()

* improve extra_state_attributes
2021-08-27 17:09:34 +02:00
Erik Montnemery 7e70252de5 Handle statistics for sensor with changing state class (#55316) 2021-08-27 16:18:49 +02:00
J. Nick Koston cc857abfd2 Adjust zha comment to be readable (#55330) 2021-08-27 16:01:26 +02:00
epenet adab367f0e Renault code quality improvements (#55313)
* Use constants

* Drop entity_class for binary_sensor

* Move data property from RenaultDataEntity to RenaultSensor

* Update function description
2021-08-27 12:12:09 +02:00
rikroe 259eeb3169 Bump bimmer_connected to 0.7.20 (#55299) 2021-08-27 12:03:25 +02:00
J. Nick Koston efb1fb9978 Always send powerview move command in case shade is out of sync (#55308) 2021-08-27 08:49:50 +02:00
Aaron Bach 5693f9ff9b Bump simplisafe-python to 11.0.5 (#55306) 2021-08-27 08:48:20 +02:00
epenet 9ba504cd78 Address late review for Renault integration (#55230)
* Add type hints

* Fix isort

* tweaks to state attributes

* Move lambdas to regular functions

* Split CHECK_ATTRIBUTES into DYNAMIC_ATTRIBUTES and FIXED_ATTRIBUTES

* Clarify tests

* Fix typo
2021-08-27 07:22:23 +02:00
J. Nick Koston 176fd39e0b Fix lifx model to be a string (#55309)
Fixes #55307
2021-08-27 06:37:28 +02:00
Matthias Alphart cd0ae66d58 Add CONF_STATE_CLASS to sensor/__init__.py (#54106)
* add CONF_STATE_CLASS to const.py

* move to `sensor/__init__.py`

* move to sensor/const.py

* Revert "move to sensor/const.py"

This reverts commit 604d0d066bfcb93f1a11e3d7732d430ab6de8d59.

* move it to `sensor/const.py` but import it from `sensor/__init__.py`

* add Modbus
2021-08-27 05:54:50 +02:00
GitHub Action 65d14909ee [ci skip] Translation update 2021-08-27 00:14:42 +00:00
J. Nick Koston 5393a16c44 Set yeelight capabilities from external discovery (#55280) 2021-08-26 19:04:12 -05:00
Aaron Bach cbd65efe52 Bump aiorecollect to 1.0.8 (#55300) 2021-08-26 16:59:27 -06:00
J. Nick Koston ef10773202 Fix creation of new nmap tracker entities (#55297) 2021-08-26 15:02:49 -07:00
J. Nick Koston dfc2556669 Gracefully handle pyudev failing to filter on WSL (#55286)
* Gracefully handle pyudev failing to filter on WSL

* add debug message

* add mocks so we reach the new check
2021-08-26 15:47:10 -05:00
Chris 14aa19b814 Fix unique_id conflict in smarttthings (#55235) 2021-08-26 13:43:26 -07:00
J. Nick Koston c3972b22fd Fix yeelight brightness when nightlight switch is disabled (#55278) 2021-08-26 15:18:36 -05:00
J. Nick Koston ae1d2926cf Fix some yeelights showing wrong state after on/off (#55279) 2021-08-26 13:25:26 -05:00
J. Nick Koston 089dfad78a Ensure yeelight model is set in the config entry (#55281)
* Ensure yeelight model is set in the config entry

- If the model was not set in the config entry the light could
  be sent commands it could not handle

* update tests

* fix test
2021-08-26 13:02:59 -05:00
Paulus Schoutsen f6bb5c77a0 Bump ring to 0.7.1 (#55282) 2021-08-26 10:37:53 -07:00
Maciej Bieniek eb9d242ade Move AirlySensorEntityDescription to sensor platform (#55277) 2021-08-26 18:40:42 +02:00
Paulus Schoutsen 219868b308 Bumped version to 2021.9.0b1 2021-08-26 09:37:25 -07:00
Maciej Bieniek 67dd861d8c Fix AttributeError for non-MIOT Xiaomi Miio purifiers (#55271) 2021-08-26 09:37:20 -07:00
Florian Gareis f2765ba320 Don't create DSL sensor for devices that don't support DSL (#55269) 2021-08-26 09:37:19 -07:00
Erik Montnemery aefd3df914 Warn if a sensor with state_class_total has a decreasing value twice (#55251) 2021-08-26 09:37:18 -07:00
Franck Nijhof 3658eeb8d1 Fix MQTT add-on discovery to be ignorable (#55250) 2021-08-26 09:37:07 -07:00
Erik Montnemery 080cb6b6e9 Fix double precision float for postgresql (#55249) 2021-08-26 09:37:06 -07:00
Joakim Sørensen 20796303da Only postfix image name for container (#55248) 2021-08-26 09:37:06 -07:00
J. Nick Koston dff6151ff4 Abort zha usb discovery if deconz is setup (#55245)
* Abort zha usb discovery if deconz is setup

* Update tests/components/zha/test_config_flow.py

* add deconz domain const

* Update homeassistant/components/zha/config_flow.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2021-08-26 09:37:05 -07:00
Alexei Chetroi 6f24f4e302 Bump up ZHA dependencies (#55242)
* Bump up ZHA dependencies

* Bump up zha-device-handlers
2021-08-26 09:37:04 -07:00
J. Nick Koston 175febe635 Defer zha auto configure probe until after clicking configure (#55239) 2021-08-26 09:37:03 -07:00
J. Nick Koston aa907f4d10 Only warn once per entity when the async_camera_image signature needs to be updated (#55238) 2021-08-26 09:37:02 -07:00
J. Nick Koston 3d09478aea Limit USB discovery to specific manufacturer/description/serial_number matches (#55236)
* Limit USB discovery to specific manufacturer/description/serial_number matches

* test for None case
2021-08-26 09:37:01 -07:00
Marc Mueller 05df9b4b8b Remove temperature conversion - tado (#55231) 2021-08-26 09:37:01 -07:00
jjlawren 1865a28083 Set up polling task with subscriptions in Sonos (#54355) 2021-08-26 09:37:00 -07:00
J. Nick Koston fbcf21412d Only warn once per entity when the async_camera_image signature needs to be updated (#55238) 2021-08-26 09:36:25 -07:00
jjlawren b3e84c6ee8 Set up polling task with subscriptions in Sonos (#54355) 2021-08-26 09:35:35 -07:00
Florian Gareis c3316df31d Don't create DSL sensor for devices that don't support DSL (#55269) 2021-08-26 09:33:41 -07:00
Maciej Bieniek f942cb03a4 Fix AttributeError for non-MIOT Xiaomi Miio purifiers (#55271) 2021-08-26 09:29:25 -07:00
Alexei Chetroi d3ac72d013 Bump up ZHA dependencies (#55242)
* Bump up ZHA dependencies

* Bump up zha-device-handlers
2021-08-26 11:38:35 -04:00
J. Nick Koston d59ea5329e Abort zha usb discovery if deconz is setup (#55245)
* Abort zha usb discovery if deconz is setup

* Update tests/components/zha/test_config_flow.py

* add deconz domain const

* Update homeassistant/components/zha/config_flow.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2021-08-26 10:00:32 -04:00
J. Nick Koston d4fa625a7f Defer zha auto configure probe until after clicking configure (#55239) 2021-08-26 09:59:41 -04:00
J. Nick Koston a89057ece5 Limit USB discovery to specific manufacturer/description/serial_number matches (#55236)
* Limit USB discovery to specific manufacturer/description/serial_number matches

* test for None case
2021-08-26 09:59:02 -04:00
jan iversen 2d5176eee9 Change entity_timers to be a local variable. (#55258)
Ensure outstanding pymodbus calls are handled before closing.
2021-08-26 15:23:00 +02:00
Erik Montnemery 0a07ff4d23 Warn if a sensor with state_class_total has a decreasing value twice (#55251) 2021-08-26 14:27:14 +02:00
Franck Nijhof 96303a1d80 Fix MQTT add-on discovery to be ignorable (#55250) 2021-08-26 11:14:42 +02:00
Joakim Sørensen 03d3bbfba1 Only postfix image name for container (#55248) 2021-08-26 10:54:42 +02:00
Eric Severance 56246056ce Be tolerant of Wemo insight_param keys that might not exist (#55232) 2021-08-26 10:27:06 +02:00
Erik Montnemery 6d4a47a53d Fix double precision float for postgresql (#55249) 2021-08-26 10:06:53 +02:00
Milan Meulemans e6d710c203 Remove option and range checks in Rituals integration (#55222)
* Fix number

* Fix select
2021-08-26 08:37:27 +02:00
Sean Vig b45c985d58 Remove un-needed asserts on hass in Amecrest (#55244) 2021-08-26 08:34:58 +02:00
GitHub Action 3d7bfa8357 [ci skip] Translation update 2021-08-26 00:13:27 +00:00
Marc Mueller b81c2806bb Remove temperature conversion - tado (#55231) 2021-08-26 00:37:18 +02:00
Franck Nijhof 06a30c882f Bump version to 2021.10.0dev0 (#55227) 2021-08-25 23:19:14 +02:00
epenet 9315f3bdd9 Use EntityDescription - renault (#55061)
* Cleanup sensor.py

* Add EntityDescription

* Add checks for state attributes

* Fix pylint

* Simplify checks

* Add icon checks

* Update data type

* Use mixin for required keys, and review class initialisation

* Add constraint to TypeVar("T")

* Enable lambda for icon handling

* Enable lambda for value handling

* Enable lambda for value handling
2021-08-25 23:15:49 +02:00
Franck Nijhof f78d57515a Bumped version to 2021.9.0b0 2021-08-25 22:11:21 +02:00
J. Nick Koston 35d943ba56 Add services to bond to start and stop increase/decrease brightness (#55006) 2021-08-25 22:07:31 +02:00
J. Nick Koston e6e8d7eded Convert color temperature to visible color in lights (#55219) 2021-08-25 21:56:36 +02:00
Milan Meulemans 59d401e7b7 Add Nanoleaf reauth flow (#55217)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-08-25 21:56:10 +02:00
Diogo Gomes fb28665cfa Add "cron patterns" to define utility_meter cycles (#46795)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-25 14:52:39 -05:00
Raman Gupta 2f7a7b0309 Add template functions to get area_id and area_name (#54248)
* Add template function to get area_id

* fix int bug

* Prefer area name lookup

* remove unnecessary checks

* fix import

* Add area_name function

* change behavior to fail in ambiguous scenarios

* Revert lotto winning exception checking

* review comments

* try except else
2021-08-25 15:16:51 -04:00
jan iversen d60f5e1721 Add missing convert to fan/light/switch modbus platform (#55203) 2021-08-25 21:02:06 +02:00
Paulus Schoutsen 7c5a0174ba Add an energy solar platform for solar forecasts (#54576)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-25 11:37:03 -07:00
Paulus Schoutsen 038121e87b Bump frontend to 20210825.0 (#55221) 2021-08-25 11:36:06 -07:00
Raman Gupta e9625e4b7a Add number platform to template integration (#54789) 2021-08-25 11:34:20 -07:00
Raman Gupta 8407ad01d4 Add select platform to template integration (#54835) 2021-08-25 11:21:24 -07:00
Aidan Timson e062d7aec0 Honeywell Lyric - Entity Descriptions (#54956)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-25 10:29:34 -07:00
Milan Meulemans d4b506e5e4 Add tests for Rituals init, sensor and switch (#52406) 2021-08-25 12:25:39 -05:00
Giuseppe Iannello ec3bfcea46 Support for EnergyStorageTrait for vacuum cleaners (#55134) 2021-08-25 10:12:31 -07:00
Maciej Bieniek b97d131fb3 Add support for Xiaomi Miio pedestal fans (#55114)
Co-authored-by: Teemu R. <tpr@iki.fi>
2021-08-25 12:09:01 -05:00
Ben Edmunds b167e05a56 Sonos add bass & treble EQ option (#53978) 2021-08-25 17:42:40 +02:00
Milan Meulemans 5c6451d11b Address review of Nanoleaf Config Flow (#55215) 2021-08-25 17:41:48 +02:00
Erik Montnemery 80cfd59939 Implement color_mode support for mysensors (#52068) 2021-08-25 17:41:33 +02:00
jan iversen 3a0a8da648 Change logging to do rollover() instead of rotate() (#55177)
* Change to rollover from rotate.

* Remove test log files.
2021-08-25 17:32:48 +02:00
Paulus Schoutsen d984e137b8 Merge remote-tracking branch 'origin/master' into dev 2021-08-25 08:00:17 -07:00
J. Nick Koston bd0af57ef2 Support device triggers in HomeKit (#53869) 2021-08-25 16:47:39 +02:00
Marc Mueller 72410044cd Remove temperature conversion - sht31 (#55213) 2021-08-25 16:44:27 +02:00
Aaron Bach 6bc5c1c9af Finish EntityDescription implementation for RainMachine (#55180) 2021-08-25 08:36:25 -06:00
Marc Mueller 53851cb1b4 Remove temperature conversion - synology_dsm (#55214) 2021-08-25 09:32:35 -05:00
Erik Montnemery 20d8c4da90 Report average of position and tilt_position for cover groups (#52713) 2021-08-25 16:12:29 +02:00
Denis Milanović 35ccad7904 Ignore unsupported MeasureType-s from Withings (#55205) 2021-08-25 15:57:07 +02:00
Erik Montnemery 7f80781f9b Prevent setting _attr_unit_of_measurement in subclasses of SensorEntity (#55211) 2021-08-25 15:44:35 +02:00
Erik Montnemery 856f4ad740 Fix Fjäråskupan RSSI sensor unit (#55210) 2021-08-25 15:39:49 +02:00
Otto Winter e633cc177e ESPHome sensor use total_increasing state class (#55208) 2021-08-25 15:33:26 +02:00
Maciej Bieniek 06604728c5 Remove should poll property from Xiaomi Miio fan platform (#55201) 2021-08-25 15:25:46 +02:00
Erik Montnemery 517fda1383 Fix last_reset in utility_meter (#55209) 2021-08-25 15:24:51 +02:00
Marc Mueller 1224d68d05 Remove redundant str cast - sensor value conversion (#55204) 2021-08-25 15:01:17 +02:00
jan iversen d4064e7044 Cancel entity timers. (#55141) 2021-08-25 14:49:37 +02:00
Aaron Bach 2271f3b5f9 Clean up usage of EntityDescription in OpenUV (#55127)
* Clean up usage of EntityDescription in OpenUV

* Remove redundant typing

* Code review

* Update homeassistant/components/openuv/__init__.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Black

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-08-25 14:18:53 +02:00
Daniel Hjelseth Høyer 7dd169b48e Utility meter, add STATE_CLASS_TOTAL_INCREASING (#54871)
* Utility meter, STATE_CLASS_TOTAL_INCREASING

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* update test

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* update test

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-25 14:03:30 +02:00
Jan Bouwhuis f4fbc083e6 Tasmota - Cleanup tests involving legacy fan speed (#55202) 2021-08-25 13:54:36 +02:00
Marc Mueller 7f203069a4 Use EntityDescription - mhz19 (#55187)
* Use EntityDescription - mhz19

* Fix tests
2021-08-25 13:52:59 +02:00
jan iversen 504d23ac72 Activate mypy for switchbot (#55196)
* Please mypy.

* Update homeassistant/components/switchbot/switch.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-08-25 13:37:08 +02:00
Sean Vig 6b4e3bca6f Add type annotations to amcrest integration (#54761)
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
2021-08-25 13:24:29 +02:00
Erik Montnemery bb42eb1176 Warn if a sensor with state_class_total has a decreasing value (#55197) 2021-08-25 13:01:55 +02:00
Erik Montnemery ffbd2d79c8 Generate statistics for all sensors with a supported state_class (#54882)
* Generate statistics for all sensors

* Fix bugs, add tests

* Address review comments

* Cleanup warnings

* Simplify tests

* Simplify selection of statistics

* Fix tests
2021-08-25 13:00:35 +02:00
Børge Nordli 0d654fa6b3 Extract attribute names out of vol.Optional when validating entity service schema (#55157) 2021-08-25 13:00:11 +02:00
Marc Mueller bd407f3ff4 Fix name - temper (#55189) 2021-08-25 12:59:31 +02:00
jan iversen 7df8d0c973 Check for duplicate host/port and integration name in modbus (#54664)
* Check for duplicate host/port and integration name.

* Change to use set().

* Please CI.

* Add basic tests.
2021-08-25 12:29:00 +02:00
Meow a23f4dac62 Add service to clear completed shoppinglist items (#55032) 2021-08-25 12:26:37 +02:00
Erik Montnemery 3432efddaa Remember state of MQTT availability topics when reconfiguring (#55199) 2021-08-25 12:23:42 +02:00
Yuval Aboulafia ebe48e78b7 Refactor Jewish Calendar to use EntityDescription (#54852) 2021-08-25 12:05:58 +02:00
Matthias Alphart 51361fbd2b Add configurable state_class to Modbus sensors (#54103)
* add configurable state_class

* Add test of new parameter.

Co-authored-by: jan Iversen <jancasacondor@gmail.com>
2021-08-25 11:50:54 +02:00
Paulus Schoutsen 186b8d4f4b Fix rainforest eagle incorrectly fetch conncted first try (#55193) 2021-08-25 11:43:08 +02:00
Marc Mueller bf1112bc10 Remove temperature conversion - temper (#55188) 2021-08-25 11:19:28 +02:00
Klaas Schoute 49041b1469 Add account type to Forecast.Solar integration (#55175) 2021-08-25 11:16:23 +02:00
András Rutkai db5e159b6d Updating IBM Watson SDK (#54914) 2021-08-25 10:55:46 +02:00
Aaron Bach e99761fd7f Use EntityDescription - flunearyou (#55126) 2021-08-25 10:52:37 +02:00
Aaron Bach c9e8d42405 Use EntityDescription - airvisual (#55125) 2021-08-25 10:51:02 +02:00
Aaron Bach f92ba18a6b Use EntityDescription - notion (#55120) 2021-08-25 10:42:57 +02:00
Marc Mueller 4a03d8dc47 Use EntityDescription - bme280 (#55184) 2021-08-25 10:39:59 +02:00
Marc Mueller 5e44498f1c Use EntityDescription - bme680 (#55185) 2021-08-25 10:36:41 +02:00
Marc Mueller 839b9563ad Use EntityDescription - htu21d (#55186) 2021-08-25 10:35:15 +02:00
Aaron Bach bf6d549910 Use EntityDescription - guardian (#55118) 2021-08-25 10:34:02 +02:00
jan iversen e2b1122eec Activate mypy in gtfs (followup on reverted #54328) (#55195) 2021-08-25 10:30:29 +02:00
Marc Mueller 4036ba82fe Remove temperature conversion - mhz19 (#55164) 2021-08-25 10:29:59 +02:00
Marc Mueller ed95bda781 Use EntityDescription - dht (#55183) 2021-08-25 10:28:43 +02:00
Luke Waite ab6be2890a Add statistics for emoncms power and energy feeds (#55109) 2021-08-25 10:02:53 +02:00
dependabot[bot] 703c8f56f3 Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#55194)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-25 09:46:28 +02:00
Paulus Schoutsen 1e05c81fe6 Fix recorder test (#55169)
Co-authored-by: Erik <erik@montnemery.com>
2021-08-25 08:48:13 +02:00
GitHub Action b4238443c8 [ci skip] Translation update 2021-08-25 00:14:22 +00:00
Aaron Bach b8d4e9806e Remove unreachable code in OpenUV (#55181) 2021-08-24 16:31:38 -05:00
Aaron Bach 24d017f974 Add ability to configure OpenUV "protection window" UV indices (#54562) 2021-08-24 15:37:50 -05:00
Alexei Chetroi 289734c748 Update ZHA config entry radio detection (#55128) 2021-08-24 15:25:31 -05:00
jjlawren 6cf312f3c8 Fix Sonos missing group member race condition on startup (#55158) 2021-08-24 14:13:18 -05:00
Richard Meyer 2932a3d6a7 Update version for smart-meter-texas to 0.4.7 (#54493)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-24 14:10:28 -05:00
Milan Meulemans 8570502681 Convert Nanoleaf yaml and discovery to config flow (#52199)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-24 14:09:36 -05:00
Milan Meulemans 9555a34691 Add missing baseclass for rituals perfume genie entities (#55166) 2021-08-24 14:08:48 -05:00
Marc Mueller 18f80c32d7 Remove temperature conversion - htu21d (#55165) 2021-08-24 20:00:16 +02:00
Marc Mueller f3ab174cd3 Remove temperature conversion - bme680 (#55163) 2021-08-24 19:58:43 +02:00
Marc Mueller cb556fe98e Remove temperature conversion - bme280 (#55162) 2021-08-24 19:57:43 +02:00
Marc Mueller 81a6bec818 Remove temperature conversion - dht (#55161) 2021-08-24 19:56:46 +02:00
Alexei Chetroi 2927dcd809 Use a debouncer when updating ZHA group state (#53263) 2021-08-24 10:09:36 -07:00
Joakim Sørensen 29f1fab7f7 Move to aiogithubapi any async for the GitHub integration (#55143) 2021-08-24 11:46:44 -05:00
Aaron David Schneider 39d5ae77a9 Address late review of Fritz switch (#54842) 2021-08-24 18:10:32 +02:00
Erik Montnemery 38f0020619 Improve Tasmota MQTT discovery flow (#55147) 2021-08-24 18:08:17 +02:00
Erik Montnemery 2c997586eb Deduplicate code in MQTT alarm_control_panel tests (#55149) 2021-08-24 18:06:39 +02:00
Niels Mündler abfba1f455 Handle missing mac address in syncthru (#55154)
* Fix access errors to mac address

printer.raw() is the only attribute accessed and will always be present.
However depending on the printer, the mac address might be missing.

* Update homeassistant/components/syncthru/__init__.py

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

* Update homeassistant/components/syncthru/__init__.py

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

* Update homeassistant/components/syncthru/__init__.py

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-24 10:56:36 -05:00
J. Nick Koston 2e62de5116 Adjust yeelight homekit model match (#55159) 2021-08-24 17:51:25 +02:00
Erik Montnemery fa9f91325c Allow small dip in total_increasing sensor without detecting a reset (#55153) 2021-08-24 17:23:55 +02:00
Erik Montnemery 8877f37da0 Fix statistics for sensors setting last_reset (#55136)
* Re-add state_class total to sensor

* Make energy cost sensor enforce state_class total_increasing

* Drop state_class total

* Only report energy sensor issues once
2021-08-24 17:02:34 +02:00
Maciej Bieniek 8d3ccad38e Convert number value to int in Xiaomi Miio (#55145) 2021-08-24 15:19:01 +02:00
Maciej Bieniek ca245f8e93 Fix min value for Xiaomi Miio volume entity (#55139) 2021-08-24 14:40:14 +02:00
jan iversen 98a3ad6fd4 Revert "Please mypy in gtfs and implement needed changes (#54328)" (#55148) 2021-08-24 14:29:03 +02:00
jan iversen de7352dbde Convert template/vacuum to pytest with fixtures (#54841) 2021-08-24 14:11:40 +02:00
Sean Vig 5cbb217318 Update amcrest to use binary sensor entity description (#55092) 2021-08-24 14:06:19 +02:00
Erik Montnemery 828d862339 Fix Tasmota MQTT discovery flow (#55140) 2021-08-24 13:23:26 +02:00
posixx 547ede1e91 Implementation of new Vacation mode for MQTT-based alarm panels (#53561)
* Impelentation of new Vacation Mode for MQTT-based alarm panels

* Fixed typo

* another typo fix

* Split integrations: remove manual_mqtt

* added newline

* Impelentation of new Vacation Mode for MQTT-based alarm panels

* Fixed typo

* another typo fix

* Split integrations: remove manual_mqtt

* added newline

* missing abbreviation

* Fix tests

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-08-24 13:22:49 +02:00
Aidan Timson a5e498207d OVO Energy - Sensor Entity Descriptions (#54952) 2021-08-24 12:53:32 +02:00
Matthias Alphart 17a7f7adeb Configurable default hvac_mode for KNX climate (#54289) 2021-08-24 12:53:11 +02:00
Andre Richter 0fdea8ec8f SMA: Add statistics support for power sensors (#54422) 2021-08-24 12:16:31 +02:00
jjlawren d5fe7e0e5a Fallback to try all known Plex servers if none marked present (#53643) 2021-08-24 12:05:24 +02:00
Matthias Alphart 19d81af4c1 Test KNX fan (#53621) 2021-08-24 12:00:37 +02:00
cdheiser ede916f42f Provide unique IDs for Lutron Entities (#51395)
Co-authored-by: cdheiser <cdheiser@users.noreply.github.com>
2021-08-24 11:50:32 +02:00
Jasper Smulders 5aa6f9dbb2 Add deCONZ support for Sonoff SNZB-01 switches (#54919) 2021-08-24 11:33:19 +02:00
jan iversen e2ce1d8b24 Please mypy in gtfs and implement needed changes (#54328) 2021-08-24 11:28:45 +02:00
jan iversen 336aa74317 Activate mypy for todoist (#55096) 2021-08-24 11:23:33 +02:00
jan iversen 0ab99fc8bf Activate mypy for surepetcare (#55079) 2021-08-24 11:21:57 +02:00
Jan Bouwhuis 5bb9aa8f3d Remove MQTT Fan legacy speeds (#54768)
* Remove MQTT Fan legacy speeds

* deprecated attibutes are not disruptive
2021-08-24 11:21:35 +02:00
Pascal Vizeli 6cace8d8a1 Update base image for Alpine 3.14 (#55137) 2021-08-24 11:20:45 +02:00
Erik Montnemery 0624859bf4 Set statistics columns to double precision (#55053) 2021-08-24 11:18:59 +02:00
Klaas Schoute 96056f3fce Fix bug removing API key on Forecast Solar (#55119) 2021-08-24 11:08:15 +02:00
Ernst Klamer d3f17de072 Change Solarlog Watt-peak to Watt (#55110) 2021-08-24 10:55:40 +02:00
J. Nick Koston dc851b9dd5 Ensure camera scaling always produces an image of at least the requested width and height (#55033) 2021-08-24 10:44:12 +02:00
epenet ccaf0d5c75 Use EntityDescription - onewire (#55003) 2021-08-24 10:37:59 +02:00
Marc Mueller 2796f65453 Use EntityDescription - broadlink (#55019) 2021-08-24 10:31:40 +02:00
Marc Mueller a527872a10 Use EntityDescription - comed_hourly_pricing (#55066) 2021-08-24 10:27:26 +02:00
Marc Mueller 8f2ea5f3cc Use EntityDescription - rtorrent (#55067) 2021-08-24 10:24:16 +02:00
Marc Mueller 9f4f38dbef Use switch instead of toggle entity (#55111) 2021-08-24 10:22:06 +02:00
Andre Richter a08f42e516 Use EntityDescription - Vallox (#54891)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-08-24 10:14:34 +02:00
Allen Porter 58f170ba45 Pin google-api-core to avoid new version of grpcio (#55115) 2021-08-24 09:43:29 +02:00
Klaas Schoute 5a58aa99b6 Bump Forecast Solar to v2.1.0 (#55121) 2021-08-24 09:15:57 +02:00
Paulus Schoutsen 9fc96818df Guard for unparsable date time (#55108) 2021-08-23 23:56:47 -07:00
Paulus Schoutsen c8f584f4ef Validate requirements format in hassfest (#55094)
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-08-24 08:51:07 +02:00
Paulus Schoutsen cac486440f Mark eagle entities as unavailable if connection with meter losts (#55102) 2021-08-23 22:35:26 -07:00
J. Nick Koston e92e206544 Fix race that allowed multiple config flows with the same unique id (#55131)
- If a config flow set a unique id and then did an await to
  return control to the event loop, another discovery with
  the same unique id could start and it would not see
  the first one because it was still uninitialized. We now
  check uninitialized flows when setting the unique id
2021-08-23 23:01:21 -05:00
Jesse Hills e06f3a5e95 Bump aioesphomeapi to 7.0.0 (#55129) 2021-08-23 22:40:01 -05:00
J. Nick Koston ce0a42a407 Fix updating device path from discovery in zha (#55124) 2021-08-23 22:36:24 -05:00
J. Nick Koston 6f75a853f8 Bump httpx to 0.19.0 (#55106)
* Bump httpx to 0.19.0

* regen constraints
2021-08-23 20:27:53 -07:00
Giuseppe Iannello 4d7de0fd4c Add support for Google Assistant's LocatorTrait for vacuum cleaners (#55015)
* Support for LocatorTrait for vacuum cleaners

* Handle Locator request with `silence: True`

* Update homeassistant/components/google_assistant/trait.py

Co-authored-by: Joakim Plate <elupus@ecce.se>

* Black

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Joakim Plate <elupus@ecce.se>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-08-23 20:16:50 -07:00
GitHub Action ff14a11254 [ci skip] Translation update 2021-08-24 01:55:24 +00:00
RDFurman 2aed7b94c5 Add multi device support back to honeywell (#54003)
* Add multi device support back to honeywell

* Fix device reference in honeywell climate

* Use deviceid for unique_id

* Add test for multiple thermostats

* Reduce recursive jobs

* Remove old filter

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-23 17:54:55 -05:00
Maciej Bieniek 09b872d51f Add sensor platform for Tractive integration (#54143)
* Add sensor platform

* Add extra_state_attributes

* Add more constants

* Add sensor.py to .coveragerc file

* Use native value

* Suggested change

* Move SENSOR_TYPES to sensor platform

* Add domain as prefix to the signal

* Use TractiveEntity class

* Add model.py to .coveragerc file

* Clean up files

* Add entity_class attribute to TractiveSensorEntityDescription class

* TractiveEntity inherits from Entity

* Suggested change

* Define _attr_icon as class attribute

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
2021-08-24 00:20:28 +02:00
jan iversen f91d214ba4 Break out mock of pymodbus return from mock_modbus to new fixture (#55063)
* Remove unused mock_modbus.

* Break out mock pymodbus return values.

* Review comments.
2021-08-23 23:55:57 +02:00
Marc Mueller 7314b1c8e1 Use EntityDescription - thinkingcleaner (#55068) 2021-08-23 23:04:17 +02:00
Marc Mueller 354dbe91b7 Use EntityDescription - ombi (#55086) 2021-08-23 23:00:14 +02:00
jan iversen dae40530bd Activate mypy for synology_srm (#55059) 2021-08-23 22:57:33 +02:00
Marc Mueller c2b2c8604f Use EntityDescription - volkszaehler (#55034) 2021-08-23 22:56:31 +02:00
jan iversen 9b472aee9a Activate mypy for wink (#55077) 2021-08-23 22:55:00 +02:00
jan iversen cada3d1819 Activate mypy for smarttub (#55070) 2021-08-23 22:52:34 +02:00
Maciej Bieniek 0c68a54dea Fix TypeError in Xiaomi Miio fan platform (#55091) 2021-08-23 22:51:29 +02:00
J. Nick Koston 52bbaa8277 Bump pymyq to 3.1.3 (#55099) 2021-08-23 22:50:44 +02:00
Marc Mueller 4d93f23feb Use EntityDescription - enocean (#55087) 2021-08-23 22:47:46 +02:00
Marc Mueller 9fe434ac36 Use EntityDescription - zamg (#54942) 2021-08-23 22:44:03 +02:00
Marc Mueller 1152330865 Use EntityDescription - dovado (#54945) 2021-08-23 22:41:02 +02:00
Marc Mueller a23f27a7a8 Use EntityDescription - magicseaweed (#54943) 2021-08-23 22:38:10 +02:00
Marc Mueller c7926e56b8 Use EntityDescription - sensehat (#54995) 2021-08-23 22:35:59 +02:00
Marc Mueller 4a1906a833 Use EntityDescription - startca (#55036) 2021-08-23 22:33:59 +02:00
Marc Mueller 1f6a70bafd Use EntityDescription - amcrest (#54998) 2021-08-23 22:32:01 +02:00
Marc Mueller e5a350e786 Use EntityDescription - miflora (#55020) 2021-08-23 22:30:01 +02:00
Marc Mueller 4b069b42f0 Use EntityDescription - radarr (#54997) 2021-08-23 22:27:42 +02:00
Marc Mueller a84f1284c0 Use EntityDescription - bbox (#55064) 2021-08-23 22:24:32 +02:00
gjong 90f7131328 Update YouLess integration for long time measurements (#54767) 2021-08-23 22:14:56 +02:00
Ernst Klamer 4a57392881 Add state_class and device_class to Solarlog platform (#53946)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-08-23 22:11:20 +02:00
Marc Mueller 3bd309299e Use EntityDescription - foobot (#54996) 2021-08-23 21:38:40 +02:00
jan iversen d5c26aece1 Activate mypy for tuya (#55057) 2021-08-23 21:30:04 +02:00
Marc Mueller 791ccca042 Use EntityDescription - openevse (#55084) 2021-08-23 21:29:22 +02:00
Marc Mueller 6637ed4868 Use EntityDescription - deluge (#55085) 2021-08-23 21:20:35 +02:00
Marc Mueller 20f94d7ad4 Use EntityDescription - pushbullet (#54999) 2021-08-23 21:05:57 +02:00
J. Nick Koston 99465f53c7 Bump HAP-python to 4.1.0 (#55005) 2021-08-23 21:00:26 +02:00
jan iversen a5c1fbcb1a Activate mypy for velbus (#55055) 2021-08-23 20:57:37 +02:00
Robert Svensson 6ad0e0220a Update alarm control panel and deconz alarm event to reflect the finalized implementation in deCONZ (#54936)
* Update alarm control panel and deconz alarm event to reflect the new implementation in deCONZ

* Bump dependency to v83
2021-08-23 20:56:45 +02:00
Marc Mueller 4d452dbccf Use EntityDescription - fido (#55037) 2021-08-23 20:56:15 +02:00
Marc Mueller 32ac1340d8 Use EntityDescription - travisci (#55038) 2021-08-23 20:52:05 +02:00
Jc2k 0065bbc56d Add volatile organic compounds to homekit_controller (#55093) 2021-08-23 20:47:09 +02:00
jan iversen 4ef376a971 Activate mypy for volumio (#55054)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2021-08-23 20:23:53 +02:00
jan iversen 9078824556 Activate mypy for timer (#55058) 2021-08-23 20:22:55 +02:00
Marc Mueller 45a32362af Use EntityDescription - wirelesstag (#55065) 2021-08-23 20:21:00 +02:00
Marc Mueller ce5c76869d Use EntityDescription - ecobee (#55088) 2021-08-23 20:19:19 +02:00
Franck Nijhof 2cdaf632a4 Restore last_triggered state in scripts (#55071) 2021-08-23 11:05:29 -07:00
Marc Mueller a3ff05f367 Update pylint to 2.10.2 (#55089) 2021-08-23 12:24:19 -05:00
Marc Mueller 8522538d8f Use EntityDescription - rainmachine (#55021) 2021-08-23 12:23:35 -05:00
Erik Montnemery ee3e27c82a Add support for white to light groups (#55082) 2021-08-23 18:29:44 +02:00
Klaas Schoute 21806115ee Pass session to forecast constructor (#55075) 2021-08-23 17:18:56 +02:00
Erik Montnemery 68f1c19049 Enable basic type checking for azure_event_hub (#55047)
* Enable basic type checking for azure_event_hub

* Update homeassistant/components/azure_event_hub/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Disable false pylint positive

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-23 17:04:42 +02:00
jan iversen b76e8c5722 Please mypy. (#55069) 2021-08-23 17:02:31 +03:00
Martin Hjelmare 716abaa9b1 Prefer discovered usb device over add-on config in zwave_js (#55056) 2021-08-23 13:50:08 +02:00
Erik Montnemery ee009cc332 Fix DSMR startup logic (#55051) 2021-08-23 12:32:57 +02:00
Jc2k 2dd4de060b Add device class for volatile organic compounds (#55050) 2021-08-23 11:14:43 +02:00
JasperPlant 4a2eeed1e8 Growatt server integration add TLX support (#54844) 2021-08-23 10:55:38 +02:00
Pascal Vizeli 5a7b894ba8 Alpine 3.14 (#55049) 2021-08-23 10:05:10 +02:00
Pawel f72bf2145b Remove deprecated YAML configuration from Epson (#55045) 2021-08-23 09:53:23 +02:00
Erik Montnemery 03bda6ed15 Enable basic type checking for almond (#54927)
* Enable basic type checking for almond

* Tweak

* Address review comments
2021-08-23 09:35:03 +02:00
Robert Hillis e5d6e18e30 Complete config flow tests for sense (#55040) 2021-08-23 07:58:42 +02:00
Robert Hillis 87d52cd2d1 Clean up unused ipp logger (#55039) 2021-08-22 19:44:23 -05:00
Raman Gupta 5f5c8ade41 Fix validation for zwave_js device trigger and condition (#54974) 2021-08-22 20:43:59 -04:00
GitHub Action 305475a635 [ci skip] Translation update 2021-08-23 00:12:20 +00:00
Eric Severance 2113368b85 Add zigbee connection for wemo bridge lights (#53813) 2021-08-22 23:12:02 +02:00
Marc Mueller e5338c3f89 Use EntityDescription - ring (#55023)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-08-22 22:26:24 +02:00
J. Nick Koston 562212bb5e Add support for bridge accessory unavailability (#52207)
Co-authored-by: Jc2k <john.carr@unrouted.co.uk>
2021-08-22 21:20:40 +02:00
Franck Nijhof 0680e9f833 Fix P1 Monitor requirement in manifest (#55027) 2021-08-22 20:33:09 +02:00
Ville Skyttä 0095c6baeb Improve device trigger type hinting (#54907) 2021-08-22 20:32:50 +02:00
Marc Mueller bfb6eaf6f3 Use EntityDescription - openuv (#55022) 2021-08-22 20:30:50 +02:00
Robert Hillis bba6a75934 Add silver quality scale to goalzero (#53299)
* Add platinum quality scale to goalzero

* adjust for quality scale

* Update manifest.json
2021-08-22 20:13:44 +02:00
Eric Severance e6ba3b41cb Add Binary Sensor for WeMo Insight & Maker (#55000)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-22 20:09:22 +02:00
Jonas Pedersen 2d34ebc506 Add state_class to relevant sensors in Danfoss Air (#54847)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-08-22 19:59:59 +02:00
jan iversen da20552cd8 Remove base_test from modbus test harness (#55018)
* Remove base_test.

* Review comments.
2021-08-22 19:59:38 +02:00
Niels Mündler 6d049c724c Add support for logger info in fronius integration (#54795)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-08-22 18:57:18 +02:00
J. Nick Koston b6a1153d42 Skip trying the pyudev observer when using standalone docker for usb (#54987) 2021-08-22 11:30:35 -05:00
Franck Nijhof 0efcd7888d Upgrade watchdog to 2.1.4 (#54993) 2021-08-22 14:23:09 +02:00
Franck Nijhof 9be5793ed7 Upgrade apprise to 0.9.4 (#55002) 2021-08-22 11:00:35 +02:00
Franck Nijhof afc95becd0 Fix incorrect power device class on energy sensors in Smappee (#54994) 2021-08-21 19:17:36 -07:00
Franck Nijhof 243c52e210 Add missing BYN currency (#55001) 2021-08-21 19:14:48 -07:00
Jørgen Rørvik b942454312 Fix manual setup when roomba is on different subnet (#54639)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-08-21 20:01:41 -05:00
GitHub Action 45baf88862 [ci skip] Translation update 2021-08-22 00:11:30 +00:00
J. Nick Koston 06fcf51754 Bump python-yeelight to 0.7.3 (#54982) 2021-08-21 17:55:10 -05:00
Franck Nijhof d8eedaf9fd Upgrade PyTurboJPEG to 1.5.2 (#54992) 2021-08-21 16:58:25 -05:00
J. Nick Koston 42f7f19be5 Switch periodic USB scanning to on-demand websocket when observer is not available (#54953) 2021-08-21 16:06:44 -05:00
Marc Mueller a931e35a14 Use EntityDescription - google_wifi (#54941) 2021-08-21 21:59:06 +02:00
J. Nick Koston 0403ea715e Add known devices to USB Vendor / Product IDs (#54986)
Co-authored-by: kpine <keith.pine@gmail.com>
2021-08-21 21:56:49 +02:00
Chris Talkington 5329dccd8b Remove ctalkington from directv codeowner (#54988) 2021-08-21 21:55:51 +02:00
Michael 9de24300d0 VSCode switch to terminal.integrated.profiles (#54301) 2021-08-21 21:46:24 +02:00
Simone Chemelli a5902fbe29 Synology sensor name clarification (#54262) 2021-08-21 21:40:18 +02:00
J. Nick Koston 8d69475d71 Fix recorder shutdown race and i/o in event loop (#54979) 2021-08-21 21:38:02 +02:00
J. Nick Koston ebb8ad308e Fix nmap_tracker typing (#54858)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-08-21 21:25:28 +02:00
Marc Mueller 4916016648 Use EntityDescription - envirophat (#54944) 2021-08-21 20:53:25 +02:00
Marc Mueller f9ebb29541 Use EntityDescription - starline (#54431) 2021-08-21 20:47:29 +02:00
Marc Mueller 05de7a78d1 Use EntityDescription - trafikverket_weatherstation (#54430) 2021-08-21 20:32:40 +02:00
Marc Mueller dce816ee96 Use EntityDescription - nzbget (#54427) 2021-08-21 20:30:42 +02:00
Marc Mueller 17902c3ffa Use EntityDescription - buienradar (#54317) 2021-08-21 20:28:31 +02:00
jan iversen f872594e26 Activate mypy for homematicip_cloud (#54950)
* Please mypy.

* Review comments.

* Review comments.
2021-08-21 20:19:56 +02:00
Eric Severance 67d04b6082 Use DataUpdateCoordinator for wemo (#54866)
* Use DataUpdateCoordinator for wemo

* Rename DeviceWrapper->DeviceCoordinator and make it a subclass of DataUpdateCoordinator

* Rename async_update_data->_async_update_data to override base class

* Rename: device -> coordinator
2021-08-21 20:14:55 +02:00
Brian Egge 6cefd558d8 Set unique id to amcrest serial number (#54675)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Sean Vig <sean.v.775@gmail.com>
2021-08-21 19:58:37 +02:00
Maciej Bieniek 4a6ca8a04e Add number platform for Xiaomi Miio fan (#54977) 2021-08-21 19:09:42 +02:00
J. Nick Koston aa7c72a8b5 Bump sqlalchemy to 1.4.23 (#54980)
- Changelog: https://docs.sqlalchemy.org/en/14/changelog/changelog_14.html#change-1.4.23
2021-08-21 13:00:39 -04:00
J. Nick Koston a7d8e2b817 Add support for USB discovery to zwave_js (#54938)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-21 09:30:45 -05:00
jan iversen 33f660118f Add lazy_error_count to modbus (#54412)
* Add lazy_error_count.

* Use -=

* Review comments.
2021-08-21 15:49:50 +02:00
J. Nick Koston 51434c5faa Gracefully handle udev not available via OSError when setting up usb (#54967) 2021-08-21 07:24:45 -05:00
J. Nick Koston c609236a63 Move get_serial_by_id and human_readable_device_name to usb (#54968) 2021-08-21 07:24:21 -05:00
carstenschroeder 2cfd78bc49 Minor refactoring of keba integration (#54976)
* minor refactoring

* fix type annotation
2021-08-21 14:17:19 +02:00
Ville Skyttä 59809503d1 Various type hint related improvements (#54971)
* Avoid some implicit generic Anys

* Fix hassio discovery view type hints

* Fix http view result type in assert message
2021-08-21 13:58:49 +02:00
Klaas Schoute de354f96fe Remove unused string in P1 Monitor (#54911) 2021-08-21 13:53:28 +02:00
Erik Montnemery fedd958dc0 Enable basic type checking for atag (#54933) 2021-08-21 13:39:56 +02:00
Erik Montnemery efd15344e9 Enable basic type checking for analytics (#54928) 2021-08-21 11:46:28 +02:00
Erik Montnemery 7e5ff825dd Enable basic type checking for adguard (#54924) 2021-08-21 11:46:00 +02:00
Joakim Plate 4bdeba8631 Add fjäråskupan sensor (#54921)
* Add fjäråskupan sensor

* Update homeassistant/components/fjaraskupan/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Type the return value of constructor

* Update __init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-21 11:09:23 +02:00
Marc Mueller 69e413ac1e Update pylint to 2.10.1 (#54963)
* Update pylint to 2.10.0

* useless-suppression

* Consider-using-tuple

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Use dict.items()

* Add pylint disable

* Use pylint 2.10.1

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-21 10:41:23 +02:00
Joakim Plate 5142ebfcc2 Add fjäråskupan light entity (#54918)
* Add fjäråskupan light

* Update homeassistant/components/fjaraskupan/light.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Check property

* Switch to default coordinator update

* Type check constructor

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-21 09:34:32 +02:00
Ville Skyttä de6e7ea016 Replace *args and **kwargs type hint collections with value types (#54955) 2021-08-21 10:20:09 +03:00
Raman Gupta 726acc38c6 Improve Command Class choices for zwave_js device triggers and conditions (#54970) 2021-08-21 02:57:20 -04:00
Raman Gupta 2be50eb5b4 Add zwave_js device triggers for any zwave value (#54958)
* Add zwave_js device triggers for any zwave value

* translations

* Validate value
2021-08-21 00:09:52 -04:00
Raman Gupta 1075a65bbd Remove Configuration CC as choice in zwave_js value device condition (#54962) 2021-08-21 00:09:27 -04:00
J. Nick Koston 8796eaec81 Add support for USB discovery to ZHA (#54935)
* Add USB discovery support to ZHA

* dry

* dry

* Update homeassistant/components/zha/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* black

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-20 20:42:23 -05:00
J. Nick Koston b71f2689d7 Make yeelight aware of the network integration (#54854) 2021-08-20 19:09:22 -05:00
J. Nick Koston 1325b38256 Handle case where location_name is set to "" for zeroconf (#54880) 2021-08-20 14:33:23 -07:00
J. Nick Koston 3cb7227040 Normalize the display name of yeelight devices (#54883)
Co-authored-by: Teemu R. <tpr@iki.fi>
2021-08-20 14:32:48 -07:00
Samuel Tardieu 71b8409c0d Use a static collection of forwarded attributes (#54870)
Not repeating each attribute name three times lowers the risk of a typo.
Also, only one lookup is done during the kwargs traversal instead of two.
2021-08-20 14:24:16 -07:00
bsmappee 152f799d0e Extract smappee switch energy attributes into sensors (#54329) 2021-08-20 14:20:45 -07:00
Guy Khmelnitsky 8f6281473e Fix Watson TTS to use correct API (#54916) 2021-08-20 22:41:30 +02:00
Raman Gupta 1f2134a31a Use entity descriptions for zwave_js sensors (#53744)
* Use entity descriptions for zwave_js sensors

* reorder

* use new type

* revert typing changes

* switch to using maps

* Get device and state class from discovery instead

* ues constants for keys

* Add meter type attribute and simplify platform data access

* comments

* second refactor

* Add None lookup value

* readability

* Switch base data template to type Any for more flexibility

* Additional changes based on feedback

* rewrite based on new upstream util functions

* Use new combo type

* Handle UnknownValueData in discovery

* bug fixes

* remove redundant comment

* re-add force_update

* fixes and tweaks

* pylint and feedback
2021-08-20 16:25:39 -04:00
Ville Skyttä debc6d632c Improve device condition type hinting (#54906) 2021-08-20 22:21:40 +02:00
Sebastian Lövdahl 9633b9fe6e Fix Google Calendar auth user code expire time comparison (#54893)
Fixes #51490.
2021-08-20 22:12:10 +02:00
Raman Gupta 63f6a3b46b Add zwave_js.value_updated automation trigger (#54897)
* Add zwave_js automation trigger

* Rename to align with zwave-js api

* Improve test coverage

* Add additional template variables

* Support states values in addition to keys when present

* remove entity ID from trigger payload

* comments and order

* Add init and dynamically define platform_type

* reduce mypy ignores

* pylint

* pylint

* review

* use module map
2021-08-20 15:21:55 -04:00
J. Nick Koston dc74a52f58 Add support for USB discovery (#54904)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-20 14:04:18 -05:00
Raman Gupta 11c6a33594 Bump zwave-js-server-python to 0.29.0 (#54931)
* Bump zwave-js-server-python to 0.29.0

* Cover secure flag true paths for add node WS commands
2021-08-20 14:55:58 -04:00
Joakim Plate dd8542e01f Add fjäråskupan binary_sensor (#54920)
* Add fjäråskupan binary_sensor

* Switch to entity description

* Type check constructor
2021-08-20 20:18:30 +02:00
Teemu R 3048923dc2 Remove deprecated async_setup_platforms() for xiaomi_miio (#54930) 2021-08-20 11:13:58 -07:00
Erik Montnemery dbc4470979 Enable basic type checking for aemet (#54925) 2021-08-20 19:10:19 +02:00
Erik Montnemery 09ee7fc021 Enable basic type checking for asuswrt (#54929) 2021-08-20 19:08:22 +02:00
Raman Gupta ef9ad89c23 Add support for area ID in zwave_js service calls (#54940) 2021-08-20 12:55:17 -04:00
jan iversen 1f6d18c517 Set quality level of modbus to gold (#54926)
* Prepare for gold.

* Upgrade to gold.
2021-08-20 17:59:31 +02:00
jan iversen 1e3452496a Make log rollover at startup (#54865)
* Secure log rollover at startup.

* Review comments.

* Please CI.
2021-08-20 17:59:10 +02:00
J. Nick Koston 725b316ec6 Add HomeKit and DHCP to DISCOVERY_SOURCES in config_entries (#54923) 2021-08-20 17:02:03 +02:00
Paulus Schoutsen 2ddeb0c013 Ask for host because EAGLE mdns doesn't work in HA OS (#54905) 2021-08-20 07:52:30 -07:00
Erik Montnemery 2fa07777cd Warn if unit_of_measurement is set on instances of SensorEntityDescription (#54867)
* Add class BaseEntityDescription without unit_of_measurement

* Refactor according to review comments

* Tweak

* Fix offending integrations

* Fix offending integrations
2021-08-20 15:54:57 +02:00
Erik Montnemery e134246cbd Improve DSMR shutdown (#54922) 2021-08-20 15:54:05 +02:00
Maciej Bieniek fe6c896754 Add switch platform for Xiaomi Miio fans (#54834) 2021-08-20 15:12:29 +02:00
Robert Hillis 5e8c873d5f Fix image_processing selectors (#54915) 2021-08-20 14:20:01 +02:00
JasperPlant 12ad6b8a2b Add growatt total state_class for storage (#54913) 2021-08-20 14:08:28 +02:00
Joakim Plate 1f4c12195e Fjäråskupan kitchen fan (#53140)
* Add fjäråskupan fan control

* Update tests/components/fjaraskupan/conftest.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/fjaraskupan/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/fjaraskupan/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Increase manual update to 2 minutes

* Address review comments

* Switch to discovery flow

* Address more review comments

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-20 13:41:36 +02:00
J. Nick Koston 6218cd648d Update nmap_tracker to use the network integration (#54877)
* Update nmap_tracker to use the network integration

* fix redefine variable inner scope
2021-08-20 13:01:55 +02:00
muchtall 2ac0aea765 Fix Lyric cool mode (#54856)
* fixing Cool mode in lyric

* Use climate integration constants

I believe this fixes this issue: https://github.com/home-assistant/core/pull/51760#discussion_r650372737

* Run through black

* Delint

Co-authored-by: Yadu Raghu <yraghu55@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-20 12:50:28 +02:00
ollo69 e5f914bbdb Clean up AsusWRT if check (#54896) 2021-08-20 12:20:39 +02:00
Raman Gupta 3a2afb8bde Support group entities in zwave_js service calls (#54903) 2021-08-20 11:18:19 +02:00
Geoffrey 017b8d3615 Add energy management support to Growatt server integration (#54174)
Co-authored-by: Chris Straffon <c.m.straffon@gmail.com>
2021-08-20 10:53:48 +02:00
Klaas Schoute 68fbc0792a Add P1 Monitor integration (#54738)
* Init integration P1 Monitor

* Fix build error

* Add quality scale

* Remove last_reset and icon

* Change list to tuple

* Close client on connection exception

* Change min value to 5 (seconds)

* the used python package will close it

* Remove the options flow

* Add session and close client

* Smash to a single DataUpdateCoordinator

* Make a custom update coordinator class

* await the coordinator close

* Add second await the coordinator close

* Close when exit scope

* Removed unused code

* Fix test_sensor on entity_id change

* Fix test on test_sensor

* Transfer SENSOR dict to sensor platform

* device class for cost entity update entity_name

* Revert name in unique id and update sensor test

* Update code based on suggestions

* Fix typing

* Change code to fix mypy errors

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-20 08:45:04 +02:00
Erik Montnemery 32e297f4a0 Compile missing statistics (#54690) 2021-08-19 22:10:45 -07:00
Raman Gupta 036e99e91e Allow integrations to define trigger platforms with a subtype (#54861) 2021-08-19 21:43:04 -07:00
Ville Skyttä 4bb2c6e00f Improve device action type hinting (#54850)
* Improve device action type hinting

* More precise _async_get_automations type hints

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-20 07:13:25 +03:00
GitHub Action fc6d45a63b [ci skip] Translation update 2021-08-20 00:16:03 +00:00
Paulus Schoutsen f1a4ba8bb0 Add Rainforest Eagle tests and price (#54887) 2021-08-19 13:19:31 -07:00
micha91 6eadc0c303 Yamaha Musiccast Media Browser feature (#54864) 2021-08-19 20:42:11 +02:00
Paulus Schoutsen 4ae2a26aa3 Add config flow to Rainforest EAGLE-200 (#54846)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-19 09:22:30 -07:00
J. Nick Koston 8103d9ae3c Add missing id to yeelights that were setup manually (#54855) 2021-08-19 08:46:14 -05:00
Erik Montnemery 4903c1fbfd Minor cleanup of SensorEntity (#54624) 2021-08-19 12:53:47 +02:00
Erik Montnemery 32a2c5d5db Add support for Swedish smart electricity meters to DSMR (#54630)
* Add support for Swedish smart electricity meters to DSMR

* Use Swedish protocol support from dsmr_parser

* Update tests

* Bump dsmr_parser to 0.30

* Remove last_reset attribute from Swedish energy sensors
2021-08-19 10:11:20 +02:00
jan iversen 0688aaa2b6 Check for duplicate entity name/address in modbus entities (#54669)
* Check for duplicate entity name/address.
2021-08-19 09:37:31 +02:00
epenet faec82ae8f Add binary sensor platform to Renault integration (#54750)
* Add binary sensor platform

* Add tests

* Simplify code

* Adjust descriptions

* Adjust tests

* Make "fuel" tests more explicit

* Updates for device registry checks
2021-08-19 09:27:43 +02:00
Eric Severance e7fa3e727b Bump pywemo to 0.6.7 (#54862) 2021-08-19 08:38:52 +02:00
Eric Severance 71b123845c Always mock SubscriptionRegistry & DiscoveryResponder for wemo tests (#53967)
* Always mock SubscriptionRegistry & DiscoveryResponder for wemo tests

* Use autospec=True for patch
2021-08-19 07:17:16 +02:00
Robert Hillis e11ffbcdaf Rework goalzero for EntityDescription (#54786)
* Rework goalzero for EntityDescription

* changes

* fix

* lint
2021-08-19 04:24:44 +02:00
ehendrix23 d3f7312834 Improve MyQ code quality through creation of MyQ entity (#54728) 2021-08-18 20:50:46 -05:00
Robin Wohlers-Reichel 4f9c788216 Update PULL_REQUEST_TEMPLATE.md (#54762)
* Update PULL_REQUEST_TEMPLATE.md

* Update PULL_REQUEST_TEMPLATE.md

Address review comments by moving changes into 'Checklist' section

* Update PULL_REQUEST_TEMPLATE.md

* Update .github/PULL_REQUEST_TEMPLATE.md

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update .github/PULL_REQUEST_TEMPLATE.md

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-19 03:50:28 +02:00
GitHub Action 4a9a6cd538 [ci skip] Translation update 2021-08-19 00:13:56 +00:00
J. Nick Koston 799a97789d Drop tado codeowner (#54849)
- I no longer have any tado devices
2021-08-18 14:40:45 -07:00
Paulus Schoutsen 14b74fbf71 Merge pull request #54853 from home-assistant/rc 2021-08-18 14:28:51 -07:00
Paulus Schoutsen c75c4aeea5 Bump frontend to 20210818.0 (#54851) 2021-08-18 13:56:43 -07:00
Paulus Schoutsen a46b39d3c1 Bumped version to 2021.8.8 2021-08-18 13:53:12 -07:00
J. Nick Koston cfc2c40bd8 Fix HomeKit cover creation with tilt position, open/close, no set position (#54727) 2021-08-18 13:53:05 -07:00
rikroe be69191110 Fix BMW remote services in rest_of_world & north_america (#54726)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2021-08-18 13:53:04 -07:00
Dylan Gore 99a9173d49 Update PyMetEireann to 2021.8.0 (#54693) 2021-08-18 13:53:03 -07:00
Marc Mueller e783b8ce99 Fix 'in' comparisons vesync light (#54614) 2021-08-18 13:53:02 -07:00
Teemu R 01082fb5ab Fix tplink doing I/O in event loop and optimize (#54570)
* Optimize tplink i/o

* Cache has_emeter reduceing the number of i/o requests on hs300 by 5
* Use the state from the sysinfo dict for non-strips reducing required requests by one

* Remove I/O from __init__, read has_emeter from sysinfo

* Cleanup __init__ to avoid I/O
* Re-use the sysinfo response for has_emeter
* Use async_add_executor_job() to execute the synchronous I/O ops.

* use the device alias instead of host for coordinator, use executor for unavailable_devices

* Remove unnecessary self.hass assignment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-18 13:53:01 -07:00
Tom Brien d0b1caa8b0 Fix TPLink emeter reset not updating (#54848) 2021-08-18 12:51:48 -07:00
Erik Montnemery c74f9a8313 Remove stale references to last_reset (#54838)
* Remove stale references to last_reset

* Update tests
2021-08-18 21:47:57 +02:00
Daniel Hjelseth Høyer 98e8e89364 Mill data coordinator (#53603)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-08-18 12:30:37 -07:00
Erik Montnemery f9fa5fa804 Deprecate last_reset options in MQTT sensor (#54840) 2021-08-18 20:22:01 +02:00
Paulus Schoutsen 2f77b5025c Add energy validation (#54567) 2021-08-18 11:21:51 -07:00
J. Nick Koston 6d0ce814e7 Add new network apis to reduce code duplication (#54832) 2021-08-18 12:33:26 -05:00
J. Nick Koston 30564d59b6 Bump yeelight quality scale to platinum with switch to async local push (#54589) 2021-08-18 12:32:52 -05:00
Raman Gupta 08193169d0 Remove unnecessary signal during zwave_js.reset_meter service call (#54837) 2021-08-18 19:27:41 +02:00
J. Nick Koston e7a0604a40 Make yeelight discovery async (#54711) 2021-08-18 09:36:13 -07:00
Erik Montnemery bca9360d52 Remove last_reset attribute from tasmota energy sensors (#54836) 2021-08-18 09:25:33 -07:00
J. Nick Koston 5d19575a84 Exclude global scope IPv6 when setting up zeroconf interfaces (#54632) 2021-08-18 09:00:09 -07:00
Thomas Lovén 8d37fd08c7 Fix integration sensors sometimes not getting device_class or unit_of_measurement (#54802) 2021-08-18 08:59:31 -07:00
Erik Montnemery bce7c73925 Remove last_reset attribute from and set state class to total_increasing for enphase_envoy energy sensors (#54831) 2021-08-18 08:58:32 -07:00
rikroe 041ba2ec3a Fix BMW remote services in rest_of_world & north_america (#54726)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2021-08-18 08:58:07 -07:00
Raman Gupta c1595d5ceb Only show zwave_js command classes that are on the node (#54794) 2021-08-18 17:53:00 +02:00
Erik Montnemery a6ac55390a Remove last_reset attribute and set state class to total_increasing for smartthings energy sensors (#54824)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-08-18 17:14:02 +02:00
Erik Montnemery e98d50f6d1 Remove last_reset attribute and set state class to total_increasing for mysensors energy sensors (#54827) 2021-08-18 16:58:13 +02:00
Erik Montnemery 9c7ea786a7 Remove last_reset attribute and set state class to total_increasing for saj energy sensors (#54813)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-08-18 16:57:38 +02:00
Erik Montnemery 6aca3b326f Remove last_reset attribute and set state class to total_increasing for fronius energy sensors (#54830) 2021-08-18 16:57:19 +02:00
Erik Montnemery 09fbc38baa Remove last_reset attribute from keba energy sensors (#54828) 2021-08-18 16:45:30 +02:00
Erik Montnemery 6eba04c454 Remove last_reset attribute from wemo energy sensors (#54821) 2021-08-18 16:45:16 +02:00
Erik Montnemery 4892f6b094 Remove last_reset attribute and set state class to total_increasing for sense energy sensors (#54825) 2021-08-18 16:31:10 +02:00
Ville Skyttä 9947795068 Treat Huawei LTE error code 100006 as unsupported functionality (#54253)
Internet says 100006 could mean "parameter error", B2368-F20 is
reported to respond with that to lan/HostInfo requests.

While at it, handle the special case error codes and the "real" not
supported exception in the same block.

Closes https://github.com/home-assistant/core/issues/53280
2021-08-18 17:26:54 +03:00
Erik Montnemery 28e421dc53 Remove last_reset attribute and set state class to total_increasing for spider energy sensors (#54822) 2021-08-18 15:54:22 +02:00
Daniel Hjelseth Høyer 27849426fe Remove last_reset attribute and set state class to total_increasing for Integration sensors (#54815) 2021-08-18 15:54:11 +02:00
SmaginPV 07c0fc9eba Remove deprecated Xiaomi Miio fan speeds (#54182) 2021-08-18 15:53:17 +02:00
jan iversen 20b7125620 Activate mypy for Panasonic_viera (#54547) 2021-08-18 15:34:50 +02:00
Erik Montnemery 5536e24dec Remove last_reset attribute and set state class to total_increasing for zwave_js energy sensors (#54818) 2021-08-18 15:11:10 +02:00
Erik Montnemery aef8ec968b Remove last_reset attribute from kostal_plenticore energy sensors (#54817) 2021-08-18 14:59:22 +02:00
Erik Montnemery 0329d0f246 Remove last_reset attribute and set state class to total_increasing for tibber energy sensors (#54799)
* Remove last_reset attribute from tibber energy sensors

* Remove reset_type, fix merge

* Update homeassistant/components/tibber/sensor.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-08-18 14:18:51 +02:00
Erik Montnemery 60f8e24bde Remove last_reset attribute from sma energy sensors (#54814) 2021-08-18 13:58:08 +02:00
Erik Montnemery 0b7b4152f1 Remove last_reset attribute from devolo energy sensors (#54803) 2021-08-18 13:55:21 +02:00
Erik Montnemery d9bfb8fc58 Remove last_reset attribute and set state class to total_increasing for rainforest energy sensors (#54810) 2021-08-18 13:44:08 +02:00
Erik Montnemery 3c5ba1fcc3 Remove last_reset attribute and set state class to total_increasing for PVOutput energy sensors (#54809) 2021-08-18 13:41:57 +02:00
Erik Montnemery 7812b50572 Remove last_reset attribute and set state class to total_increasing for powerwall energy sensors (#54808) 2021-08-18 13:37:43 +02:00
Erik Montnemery 3e235f6e70 Remove last_reset attribute and set state class to total_increasing for Ovo cost and energy sensors (#54807) 2021-08-18 13:36:35 +02:00
Ville Skyttä 939fde0a50 ConfigType and async_setup/setup type hint improvements (#54739) 2021-08-18 13:22:05 +02:00
Erik Montnemery dcb2a211e5 Remove last_reset attribute and set state class to total_increasing for Shelly energy sensors (#54800) 2021-08-18 13:13:35 +02:00
Erik Montnemery 1280a38e0f Remove last_reset attribute from fritz sensors (#54806) 2021-08-18 13:12:37 +02:00
jan iversen bafbbc6563 Adjust modbus constants names (#54792)
* Follow up.
2021-08-18 12:56:54 +02:00
epenet 16cb50bddf Ensure device entry in Renault integration (#54797)
* Ensure device registry is set even when there are no entities

* Fix isort

* Use async_get for accessing registry
2021-08-18 12:44:35 +02:00
Joakim Sørensen bf494b5697 Remove distro from updater requirements (#54804) 2021-08-18 12:31:43 +02:00
Erik Montnemery d1057a7004 Remove last_reset and update state class for Atome energy (#54801) 2021-08-18 12:17:25 +02:00
Erik Montnemery cbff6a603d Remove unused last_reset from Toon (#54798) 2021-08-18 12:15:01 +02:00
J. Nick Koston 62015f5495 Bump async-upnp-client to 0.20.0, adapt to breaking changes (#54782) 2021-08-18 12:13:59 +02:00
Maciej Bieniek c937a235e1 Add select platform for Xiaomi Miio fans (#54702)
* Add select platform for Xiaomi Miio purifiers

* Add missing condition for AirFresh

* Suggested change

* Remove fan_set_led_brightness from services.yaml

* Remove zhimi.airpurifier.v3
2021-08-18 11:24:15 +02:00
Daniel Hjelseth Høyer 102af02d8a Tibber data coordinator (#53619)
* Tibber data coordinator

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Fix comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Fix comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Fix comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Remove whitespace

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-18 11:21:39 +02:00
Franck Nijhof 73d03bdf1d Add Gas device class to DSMR Reader (#54748) 2021-08-18 10:14:03 +02:00
Erik Montnemery e1926caeb9 Remove STATE_CLASS_TOTAL and last_reset from sensor (#54755)
* Remove STATE_CLASS_TOTAL

* Update mill sensor

* Update tests

* Kill last_reset

* Return ATTR_LAST_RESET to utility_meter

* Update energy cost sensor

* Restore last_reset for backwards compatibility

* Re-add and update deprecation warning

* Update tests

* Fix utility_meter

* Update EnergyCostSensor

* Tweak

* Fix rebase mistake

* Fix test
2021-08-18 10:03:27 +02:00
dependabot[bot] 85d9890447 Bump dessant/lock-threads from 2.1.1 to 2.1.2 (#54791)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-18 08:59:13 +02:00
Christopher Kochan c65f769130 Update sense_energy to version 0.9.2 (#54787) 2021-08-18 08:29:02 +02:00
J. Nick Koston 87496ae75c Fix HomeKit cover creation with tilt position, open/close, no set position (#54727) 2021-08-17 22:41:22 -05:00
J. Nick Koston d7c1e7c7dc Adjust yeelight homekit model (#54783) 2021-08-17 22:41:01 -05:00
Maciej Bieniek 10058ea3f0 Use new device classes in GIOS integration (#54743)
* Use new device classes

* Clean up
2021-08-17 22:35:05 -05:00
Maciej Bieniek bd550c4559 Use AQI, PM1, PM25, PM10 device classes in Airly (#54742) 2021-08-18 02:40:06 +02:00
GitHub Action 0100ffcb8c [ci skip] Translation update 2021-08-18 00:13:44 +00:00
Franck Nijhof b981e69f95 Update SolarEdge to use new state classes (#54731) 2021-08-18 02:00:10 +02:00
Teemu R 3bc45eacfc Fix tplink doing I/O in event loop and optimize (#54570)
* Optimize tplink i/o

* Cache has_emeter reduceing the number of i/o requests on hs300 by 5
* Use the state from the sysinfo dict for non-strips reducing required requests by one

* Remove I/O from __init__, read has_emeter from sysinfo

* Cleanup __init__ to avoid I/O
* Re-use the sysinfo response for has_emeter
* Use async_add_executor_job() to execute the synchronous I/O ops.

* use the device alias instead of host for coordinator, use executor for unavailable_devices

* Remove unnecessary self.hass assignment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-18 01:29:40 +02:00
ehendrix23 67e9035e4e Improve myq error handling for opening/closing cover (#54724) 2021-08-17 17:56:33 -05:00
Daniel Hjelseth Høyer 6da83b90f7 Rfxtrx,STATE_CLASS_TOTAL_INCREASING (#54776)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-18 00:46:48 +02:00
Erik Montnemery 3a78f1fce6 Force STATE_CLASS_TOTAL_INCREASING to reset to 0 (#54751)
* Force STATE_CLASS_TOTAL_INCREASING to reset to 0

* Tweak

* Correct detection of new cycle

* Fix typing
2021-08-17 23:05:31 +02:00
gjong 8eec949835 Fix connectivity issue in the Youless integration (#54764) 2021-08-17 22:45:14 +02:00
Robert Hillis 4ef04898e9 Fix goalzero sensor not using SensorEntity class (#54773) 2021-08-17 22:38:20 +02:00
Daniel Hjelseth Høyer 909af30c7c Tractive, update library (#54775)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-17 22:04:05 +02:00
jan iversen 71b0f6d095 set common test entity name. (#54697) 2021-08-17 20:43:27 +02:00
ehendrix23 8bf79d61ee Add upnp binary sensor for connectivity status (#54489)
* New binary sensor for connectivity

* Add binary_sensor

* New binary sensor for connectivity

* Add binary_sensor

* Handle values returned as None

* Small text update for Uptime

* Update homeassistant/components/upnp/binary_sensor.py

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

* Update homeassistant/components/upnp/binary_sensor.py

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

* Update homeassistant/components/upnp/binary_sensor.py

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

* Update homeassistant/components/upnp/binary_sensor.py

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

* Update homeassistant/components/upnp/binary_sensor.py

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

* Update homeassistant/components/upnp/binary_sensor.py

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

* Update homeassistant/components/upnp/binary_sensor.py

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

* Update homeassistant/components/upnp/binary_sensor.py

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

* Updates based on review

* Update homeassistant/components/upnp/binary_sensor.py

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

* Further updates based on review

* Set device_class as a class atribute

* Create 1 combined data coordinator
and UpnpEntity class

* Updates on coordinator

* Update comment

* Fix in async_step_init for coordinator

* Add async_get_status to mocked device
and set times polled for each call seperately

* Updated to get device through coordinator
Check polling for each status call seperately

* Use collections.abc instead of Typing for Mapping

* Remove adding device to hass.data as coordinator
is now saved

* Removed setting _coordinator

* Added myself as codeowner

* Update type in __init__

* Removed attributes from binary sensor

* Fix async_unload_entry

* Add expected return value to is_on

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-08-17 20:23:41 +02:00
Franck Nijhof 5b75c8254b Use path helper method for principal file in google_pubsub (#54744)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-17 19:49:38 +02:00
Michael 15feb430fc Use DEVICE_CLASS_UPDATE in Synology DSM (#54769) 2021-08-17 19:15:02 +02:00
Raman Gupta cff6883b5c Add zwave_js Protection CC select entities (#54717)
* Add Protection CC select entities

comment

* Disable entity by default

* use class attribute

* Enable protection entity by default

* add guard for none
2021-08-17 12:22:27 -04:00
LonePurpleWolf 35f563e23e Airtouch4 integration (#43513)
* airtouch 4 climate control integration

* enhance tests for airtouch. Fix linting issues

* Fix tests

* rework tests

* fix latest qa issues

* Clean up

* add already_configured message

* Use common string

* further qa fixes

* simplify airtouch4 domain storage

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-17 17:29:20 +02:00
Jc2k ea8061469c Deprecate homekit_controller's air quality entity in favor of separate sensor entities (#54673) 2021-08-17 09:29:52 -05:00
Franck Nijhof f39dc749bb Toon: Remove icon from sensors with gas device class (#54753) 2021-08-17 16:28:18 +02:00
Robin Wohlers-Reichel 043841e70f Solax 0.2.8 (#54759) 2021-08-17 15:06:22 +02:00
Niels Mündler 346310ccaf Bump pyfronius version to 0.5.5 (#54758)
- allows for trailing slashes in configuration (which would otherwise cause errors in the newest fronius firmware)
- fixes units of energy related sensors
2021-08-17 14:59:56 +02:00
Franck Nijhof 9dab920d01 DSMR: Remove icon from sensors with gas device class (#54752) 2021-08-17 14:26:02 +02:00
Raman Gupta 013b998974 Relax zwave_js lock discovery rules to cover more use cases (#54710) 2021-08-17 13:34:00 +02:00
Joakim Sørensen a2c9cfbf41 Use entity descriptions for hassio entities (#54749) 2021-08-17 12:14:14 +02:00
Maciej Bieniek f1f05cdf1b Use DEVICE_CLASS_UPDATE in Shelly integration (#54746) 2021-08-17 11:57:45 +02:00
Maciej Bieniek 4f3d1c5e12 Use PM1, PM25 and PM10 device classes in Nettigo Air Monitor integration (#54741) 2021-08-17 10:49:22 +02:00
Petru Paler 6d7ad8903f Energy support for Solax inverters (#54654)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-08-17 10:19:44 +02:00
jan iversen 69bc6bbe48 Activate mypy for google_pubsub (#54649) 2021-08-17 10:10:56 +02:00
Andre Richter afade22feb Add state classes to Vallox sensors (#54297) 2021-08-17 10:05:28 +02:00
Franck Nijhof 4c5d5a8f5a Update deCONZ to use new state classes (#54729) 2021-08-17 08:34:41 +02:00
Joakim Sørensen 789e6555cc Add device class update to hassio update entities (#54733) 2021-08-17 08:30:55 +02:00
Joakim Sørensen e0a8ec4f62 Add device class update to the updater binary_sensor (#54732) 2021-08-17 08:30:35 +02:00
Bert Roos 476f3b5cb5 Fix Google Calendar event loading (#54231) 2021-08-16 20:20:16 -07:00
GitHub Action 1661de5c19 [ci skip] Translation update 2021-08-17 00:12:45 +00:00
Michael af32bd956c Add DEVICE_CLASS_UPDATE to Binary Sensor (#53945)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-08-17 01:30:32 +02:00
Marc Mueller a6b1dbefd4 Use EntityDescription - mitemp_bt (#54503) 2021-08-17 00:21:06 +02:00
jan iversen 7524acc38c Activate mypy for sesame (#54546) 2021-08-17 00:19:12 +02:00
Marc Mueller 38a210292f Use EntityDescription - logi_circle (#54429) 2021-08-17 00:14:00 +02:00
Erik Montnemery 0abcfb42b3 Remove last_reset attribute from FritzBoxEnergySensor (#54644) 2021-08-16 23:57:59 +02:00
J. Nick Koston 41c3bd113c Bump zeroconf to 0.36.0 (#54720) 2021-08-16 23:54:45 +02:00
Michael 684d035969 Use state class total increasing for TPLink smart plugs (#54723) 2021-08-16 23:54:11 +02:00
Jc2k de0460de61 Add device classes that were part of deprecated air quality entity (#54075) 2021-08-16 23:33:28 +02:00
jan iversen 85ff5e34cd Active mypy for netio (#54543) 2021-08-16 23:25:41 +02:00
Ville Skyttä 848c0be58a Avoid some implicit generic Anys (#54577) 2021-08-16 23:12:06 +02:00
jan iversen b72ed68d61 Activate mypy in sabnzbd (#54539) 2021-08-16 22:55:52 +02:00
Marc Mueller 236ccb933c Use EntityDescription - point (#54363) 2021-08-16 22:54:56 +02:00
Marc Mueller f9fbcd4aec Use EntityDescription - qbittorrent (#54428) 2021-08-16 22:52:47 +02:00
Ville Skyttä bb4a36c877 Upgrade mypy to 0.910 and types-* (#54574)
Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
2021-08-16 22:47:37 +02:00
J. Nick Koston 5e51f57f02 Convert nmap_tracker to be a config flow (#54715) 2021-08-16 15:19:32 -05:00
Franck Nijhof 0b3f322475 Upgrade pre-commit to 2.14.0 (#54719) 2021-08-16 22:02:32 +02:00
ehendrix23 f40c672cd2 Add light platform to MyQ (#54611)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-16 14:52:53 -05:00
ollo69 c68253b580 Fix AsusWRT scanner entity DeviceInfo (#54648) 2021-08-16 19:37:49 +02:00
Raman Gupta a41ee9e870 Create zwave-js select platform and discover additional siren values (#53018)
* Create zwave-js select platform and add siren values to number and select platforms

* use constants while we wait for lib release

* comments

* rename stuff in tests to prepare for protection CC PR

* Switch to 0-1 range for number entity

* Update homeassistant/components/zwave_js/number.py

Co-authored-by: kpine <keith.pine@gmail.com>

* Change step

* Switch to ToneID

* Better error handling

* Add test for coerage

Co-authored-by: kpine <keith.pine@gmail.com>
2021-08-16 13:36:20 -04:00
Brian Egge 441552e04c Fix TypeError when climate component sets fan modes to None (#54709)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-08-16 19:02:01 +02:00
Erik Montnemery 35389a6d28 Remove last_reset attribute from dsmr sensors (#54699) 2021-08-16 18:35:50 +02:00
Raman Gupta 61ab2b0c60 Use zwave_js.number platform for Basic CC values (#54512)
* Use zwave_js.number platform for some Basic CC values

* Remove Basic CC sensor discovery schema

* update comment

* update comment
2021-08-16 12:30:52 -04:00
Franck Nijhof 2b1299b540 Update Toon to use new state classes (#54705) 2021-08-16 18:20:44 +02:00
Aaron Bach 1b256efb23 Bump simplisafe-python to 11.0.4 (#54701) 2021-08-16 09:26:17 -06:00
Martin Hjelmare 494fd21351 Refactor mysensors sensor description (#54522)
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-08-16 16:34:22 +02:00
Paulus Schoutsen 512a474e93 Allow specifying discovery without a config flow (#54677) 2021-08-16 16:28:26 +02:00
Erik Montnemery c5d88d3e2f Remove last_reset attribute from dsmr_reader sensors (#54700) 2021-08-16 16:19:41 +02:00
Oxan van Leeuwen 844000556f Set correct ESPHome color mode when setting color temperature (#54596) 2021-08-16 16:16:36 +02:00
Joakim Sørensen a892605a90 Bump pytautulli (#54594) 2021-08-16 16:15:42 +02:00
Marc Mueller 2eba633382 Fix 'in' comparisons vesync light (#54614) 2021-08-16 16:13:07 +02:00
Daniel Hjelseth Høyer 75a2ac0808 Update melcloud to use state class total increasing (#54607) 2021-08-16 16:10:07 +02:00
Joakim Sørensen 99a62799ae Allow non-admin users to call history/list_statistic_ids (#54698) 2021-08-16 16:07:11 +02:00
Daniel Hjelseth Høyer 979165669c Update mill to use state class total (#54581) 2021-08-16 15:57:23 +02:00
Adam Bogdał 3e93215a1f Fix event type names for non-specified Traccar events (#54561)
* Fix event type name

* Extend list of types only when all_events is specified

* Remove flake8 warnings
2021-08-16 15:49:12 +02:00
serenewaffles 2bcfae6998 Fix typo in Todoist service description (#54662) 2021-08-16 15:23:48 +02:00
Dylan Gore a7918e90ab Update PyMetEireann to 2021.8.0 (#54693) 2021-08-16 13:52:40 +02:00
epenet a204d7f807 Renault code quality improvements (#53680) 2021-08-16 13:49:04 +02:00
Jeff Irion 2e56f66518 Bump adb-shell to 0.4.0 (#54575) 2021-08-16 13:18:19 +02:00
Daniel Hjelseth Høyer d11c58dac8 Improve Tractive (#54532)
* Tractive, code improve

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Tractive, code improve

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Tractive, code improve

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/tractive/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/tractive/const.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Tractive, comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/tractive/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/tractive/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Tractive

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Reauth

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Reauth

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* add tests

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* add tests

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-16 12:56:10 +02:00
epenet 75275254f9 Renault test optimisation (#53705)
* Cleanup tests

* Use a MockConfigEntry

* Don't set up the integration for duplicate config entry testing
2021-08-16 12:52:58 +02:00
jan iversen 045b1ca6ae Activate mypy in lifx (#54540) 2021-08-16 12:41:35 +02:00
Aidan Timson f684e4df34 Add code owner to GitHub integration (#54689) 2021-08-16 11:36:31 +02:00
Maciej Bieniek 8c4a2dc6d2 Add water level and water tank detached sensors for Xiaomi Miio humidifiers (#54625)
* Add water level and water tank detached sensors

* Use elif

* Use DEVICE_CLASS_CONNECTIVITY for water tank sensor

* Improve docstring

* Change the water tank sensor icon

* Fix typo
2021-08-16 09:13:45 +02:00
cnico 416668c289 Address late review of Flipr (#54668)
* Code format correction

* Other code review remarks of MartinHjelmare

* Simplification of flipr instantiation

* Formatting correction
2021-08-16 07:12:39 +02:00
Allen Porter 094f7d38ad Use buffer at stream start with unsupported audio (#54672)
Add a test that reproduces the issue where resetting the iterator
drops the already read packets. Fix a bug in replace_underlying_iterator
because checking the self._next function turns out not to work since
it points to a bound method so the "is not" check fails.
2021-08-15 21:02:37 -07:00
Paulus Schoutsen e0873493e2 Merge pull request #54676 from home-assistant/rc 2021-08-15 20:49:10 -07:00
Paulus Schoutsen 700f149ef8 Bumped version to 2021.8.7 2021-08-15 20:06:46 -07:00
Jesse Hills 848885c658 Send color_brightness to ESPHome devices on 1.20 (pre-color_mode) (#54670) 2021-08-15 20:05:59 -07:00
jan iversen 5af94c42db Solve switch/verify register type convert problem in modbus (#54645) 2021-08-15 20:05:59 -07:00
Paulus Schoutsen dd1ef7fa55 Guard partial upgrade (#54617) 2021-08-15 20:05:58 -07:00
Michael 8d1bd55b68 Bump py-synologydsm-api to 1.0.4 (#54610) 2021-08-15 20:05:57 -07:00
J. Nick Koston 3c3a6e6cb4 Bump zeroconf to 0.35.0 (#54604)
Fixes https://github.com/home-assistant/core/issues/54531
Fixes https://github.com/home-assistant/core/issues/54434
Fixes https://github.com/home-assistant/core/issues/54487
2021-08-15 20:05:56 -07:00
Oxan van Leeuwen 2f2038c147 Clamp color temperature to supported range in ESPHome light (#54595)
ESPHome devices initially report a color temperature of 0 or 1 until it
has been changed by the user. This broke the conversion from RGBWW to
an RGB color.

Fixes #54293.
2021-08-15 20:05:56 -07:00
Daniel Hjelseth Høyer 5a5bbef1b8 Adax, update requirements (#54587)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-15 20:05:55 -07:00
Daniel Hjelseth Høyer 0f60a5a8c0 Fix Tibber last reset (#54582)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-15 20:05:54 -07:00
Daniel Hjelseth Høyer f43151081b Fix bug in ambiclimate (#54579)
* Fix ambiclimate

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Fix ambiclimate

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-15 20:05:53 -07:00
Colin O'Dell ab82369320 Upgrade qnapstats library to 0.4.0 (#54571) 2021-08-15 20:05:53 -07:00
Gerard 1c503244c6 Fix attributes not showing after using entity class attributes (#54558) 2021-08-15 20:05:52 -07:00
Alan Tse 482e00a071 Treat temporary errors as warnings for Tesla (#54515)
* Treat temporary errors as warnings for Tesla
closes #53391

* Apply suggestions from code review

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

* Black

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-15 20:05:51 -07:00
Daniel Hjelseth Høyer 6f3879fc92 Add missing PRESSURE_BAR conversion (#54497)
* Add missing PRESSURE_BAR

* style

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* valid units

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-15 20:05:50 -07:00
ehendrix23 6382061b57 Updates to bump MyQ to 3.1.2 (#54488) 2021-08-15 20:05:50 -07:00
Robert Hillis 1d45a80a92 Bump notifications-android-tv to 0.1.3 (#54462)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-15 20:05:49 -07:00
Felix 4d01dd3c0c Strip attributes whitespace in universal media_player (#54451)
When using whitespace in attributes the lookup of the state attribute fails because an entity with whitespace in its name cannot be found.

Works:
entity_id|state_attribute

Does not work:
entity_id | state_attribute

Fixes #53804
2021-08-15 20:05:48 -07:00
Ville Skyttä 72e548de5f Fix Huawei LTE entity state updating (#54447)
Since 91a2b96, we no longer key this by the router URL, but the relevant
config entry unique id.

Closes https://github.com/home-assistant/core/issues/54243
2021-08-15 20:05:47 -07:00
Phil Cole 7d67caba44 Use pycarwings2 2.11 (#54424) 2021-08-15 20:05:47 -07:00
J. Nick Koston 5fc5b53c01 Ensure HomeKit passes min/max mireds as ints - adapted from #54372 2021-08-15 20:05:29 -07:00
jan iversen bec42b74fe Solve switch/verify register type convert problem in modbus (#54645) 2021-08-15 19:57:37 -07:00
Daniel Hjelseth Høyer b2f73b3c69 Fix Tibber last reset (#54582)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-15 19:57:18 -07:00
Paulus Schoutsen bab7d46c9b Guard partial upgrade (#54617) 2021-08-15 19:56:56 -07:00
Jesse Hills 41d932fcf8 Send color_brightness to ESPHome devices on 1.20 (pre-color_mode) (#54670) 2021-08-15 19:56:21 -07:00
GitHub Action d091068092 [ci skip] Translation update 2021-08-16 00:11:52 +00:00
Michael 9e2945680e Address late review of nut integration (#54606)
* remove defaults from SensorEntityDescription

* use _attr_unique_id  instead of unique_id()

* check if unique_id is not None
2021-08-15 18:32:01 -05:00
J. Nick Koston d01addbd24 Bump zeroconf to 0.35.1 (#54666) 2021-08-15 18:27:10 -05:00
Nikolaos Stamatopoulos 61412db119 Fix typo in xiaomi_miio cloud_login_error string (#54661)
* fix(xiaomi_miio): Fix typo in cloud_login_error string

* fixup! fix(xiaomi_miio): Fix typo in cloud_login_error string

Restore translation files
2021-08-15 22:56:30 +02:00
Raman Gupta d0cebe911c Add siren, number, and weather to base platform list (#54665) 2021-08-15 22:06:05 +02:00
Michael aa590415d3 Bump py-synologydsm-api to 1.0.4 (#54610) 2021-08-15 21:33:48 +02:00
Alan Tse ee7116d0e8 Treat temporary errors as warnings for Tesla (#54515)
* Treat temporary errors as warnings for Tesla
closes #53391

* Apply suggestions from code review

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

* Black

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-15 08:09:06 -05:00
J. Nick Koston 54da424507 Add new OUIs to august for yale branded connect bridges (#54637) 2021-08-15 08:04:47 -05:00
Maciej Bieniek ebaae8d2bf Add sensor platform for Xiaomi Miio fans (#54564) 2021-08-15 13:49:29 +02:00
Daniel Hjelseth Høyer 5ed9cd7153 Adax, update requirements (#54587)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-15 13:16:10 +02:00
Daniel Perna 675441142d Update pyhomematic to 0.1.74 (#54613) 2021-08-15 12:50:40 +02:00
Erik Montnemery 87e7a8fb5f Move temperature conversions to sensor base class - new integrations (#54623)
* Move temperature conversions to sensor base class

* Tweaks

* Update pvpc_hourly_pricing

* Fix flipr sensor

* Fix ezviz and youless sensor
2021-08-15 08:51:43 +02:00
GitHub Action a9807e5fa7 [ci skip] Translation update 2021-08-15 00:11:00 +00:00
Jan Jurča 8d7a136fc4 Add MySensors S_MOISTURE type as sensor (#54583) 2021-08-14 11:05:23 +02:00
Colin O'Dell 08d8b026d0 Upgrade qnapstats library to 0.4.0 (#54571) 2021-08-14 08:44:52 +02:00
Teemu R 102789672a Bump python-miio to 0.5.7 (#54601) 2021-08-14 08:38:42 +02:00
Oxan van Leeuwen 2c181181e1 Clamp color temperature to supported range in ESPHome light (#54595)
ESPHome devices initially report a color temperature of 0 or 1 until it
has been changed by the user. This broke the conversion from RGBWW to
an RGB color.

Fixes #54293.
2021-08-13 23:27:47 -07:00
J. Nick Koston c10497d499 Bump zeroconf to 0.35.0 (#54604)
Fixes https://github.com/home-assistant/core/issues/54531
Fixes https://github.com/home-assistant/core/issues/54434
Fixes https://github.com/home-assistant/core/issues/54487
2021-08-13 23:26:57 -07:00
GitHub Action 370b7f387d [ci skip] Translation update 2021-08-14 00:11:27 +00:00
jjlawren f4fb5f2f5a Skip Sonos zeroconf availability check in non-timeout scenarios (#54425) 2021-08-13 15:42:55 -05:00
Bram Kragten 8264fd2eb6 Update frontend to 20210813.0 (#54603) 2021-08-13 11:48:31 -07:00
Bram Kragten eb278834de Add gas support to energy (#54560)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-08-13 10:39:16 -07:00
Steven Looman 2c1728022d Use ssdp callbacks in upnp (#53840) 2021-08-13 11:13:25 -05:00
Duco Sebel 3454102dc8 Fix for 'list index out of range' (#54588) 2021-08-13 17:03:13 +02:00
Erik Montnemery 029873a088 Add support for total and total_increasing sensor state classes (#54523)
* Add support for amount and meter sensor state classes

* Ignore last_reset for STATE_CLASS_METER sensors

* Update tests

* Rename STATE_CLASS_METER to STATE_CLASS_AMOUNT_INCREASING

* Rename STATE_CLASS_AMOUNT to STATE_CLASS_TOTAL

* Fix typo

* Log warning if last_reset set together with state_class measurement

* Fix warning message
2021-08-13 12:35:23 +02:00
Daniel Hjelseth Høyer 821b93b0d0 Fix bug in ambiclimate (#54579)
* Fix ambiclimate

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Fix ambiclimate

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-13 11:38:14 +02:00
GitHub Action b71a0c5d4b [ci skip] Translation update 2021-08-13 00:17:12 +00:00
Gerard 50bcb3f821 Fix attributes not showing after using entity class attributes (#54558) 2021-08-12 23:33:02 +02:00
TheJulianJES 84f568abb1 Updated ZHA to also poll Philips Hue lights with new firmware (#54513) 2021-08-12 17:08:51 -04:00
carstenschroeder b1fb8de0f5 Add state_class attribute to keba integration (#54271)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-08-12 22:40:56 +02:00
Ville Skyttä 3f80c31bd5 Remove obsolete upcloud YAML config support (#54516) 2021-08-12 22:40:42 +02:00
jjlawren 084737dd01 Cleanup Sonos grouping event callback method (#54542) 2021-08-12 22:01:34 +02:00
Aaron Bach 81e1c44592 Remove unused import step in OpenUV config flow (#54554) 2021-08-12 13:18:10 -06:00
jjlawren 87e0b14282 Log gathered exceptions during Sonos unsubscriptions (#54190) 2021-08-12 11:46:07 -05:00
Erik Montnemery e558b3463e Move temperature conversions to sensor base class (6/8) (#54476)
* Move temperature conversions to entity base class (6/8)

* Fix tests
2021-08-12 17:40:55 +02:00
Erik Montnemery 6de6a5dc14 Move temperature conversions to sensor base class (3/8) (#54469)
* Move temperature conversions to entity base class (3/8)

* Fix FritzBox sensor

* Fix tests
2021-08-12 14:23:56 +02:00
Erik Montnemery 103e21c278 Move temperature conversions to sensor base class (5/8) (#54475) 2021-08-12 13:26:17 +02:00
Daniel Hjelseth Høyer e55868b17f Use entity class attributes for Adax (#54501)
* Adax attributes

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Adax attributes

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/adax/climate.py

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>

* style

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-08-12 12:38:33 +02:00
Daniel Hjelseth Høyer 49a69d5ba0 Add missing PRESSURE_BAR conversion (#54497)
* Add missing PRESSURE_BAR

* style

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* valid units

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-12 07:30:35 +02:00
ehendrix23 c040be423a Updates to bump MyQ to 3.1.2 (#54488) 2021-08-11 22:17:25 -05:00
GitHub Action 0626542a14 [ci skip] Translation update 2021-08-12 00:14:10 +00:00
Franck Nijhof f77187d28a Deprecate Wink integration (#54496) 2021-08-11 18:16:28 -04:00
Marc Mueller b411372872 Use EntityDescription - blink (#54360) 2021-08-11 13:41:51 -07:00
Niels Mündler 539ed56000 Refactor Fronius sensor device class and long term statistics (#54185) 2021-08-11 13:40:04 -07:00
Erik Montnemery 2720ba2753 Move temperature conversions to sensor base class (4/8) (#54472)
* Move temperature conversions to entity base class (4/8)

* Fix litterrobot sensor

* Fix tests
2021-08-11 21:17:47 +02:00
Erik Montnemery ae507aeed1 Move temperature conversions to sensor base class (8/8) (#54483)
* Move temperature conversions to entity base class (8/8)

* Fix wallbox sensor

* Fix tests
2021-08-11 21:17:16 +02:00
Bram Kragten e23750b2a4 Add device class gas and enable statistics for it (#54110)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-08-11 09:58:19 -07:00
Erik Montnemery 94a264afaf Move temperature conversions to entity base class (7/8) (#54482) 2021-08-11 18:57:50 +02:00
Erik Montnemery 41f3c2766c Move temperature conversions to entity base class (2/8) (#54468) 2021-08-11 18:57:12 +02:00
Bram Kragten f020d65416 Add battery support to energy (#54432) 2021-08-11 09:49:56 -07:00
Aaron Bach 98a4e6a7e8 Fix possible unhandled IQVIA exception with allergy outlook data (#54477)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-08-11 09:12:49 -07:00
Franck Nijhof d6483f2f36 Upgrade isort to 5.9.3 (#54481) 2021-08-11 09:01:45 -07:00
Marc Mueller 6f70302901 Fix arlo platform schema (#54470) 2021-08-11 08:57:56 -07:00
Martin Hjelmare 028a3d3e53 Complete mysensors sensor coverage (#54471) 2021-08-11 17:19:02 +02:00
J. Nick Koston 1e14b3a0ac Ensure camera handles non-jpeg image sources correctly (#54474) 2021-08-11 08:12:46 -07:00
Franck Nijhof 13c34d646f Remove empty currency from discovery info (#54478) 2021-08-11 08:09:16 -07:00
Phil Cole cb26f334c3 Use pycarwings2 2.11 (#54424) 2021-08-11 16:34:36 +02:00
Robert Hillis b1fc05413a Bump notifications-android-tv to 0.1.3 (#54462)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-11 16:13:38 +02:00
Michael 6285c7775b Use SensorEntityDescription and set state class measurement for NUT sensors (#54269) 2021-08-11 08:56:41 -05:00
jan iversen 4ef9269790 Replace prepare_service_call with a simpler fixture in modbus (#53975)
* Convert prepare_service_call to a fixture.
2021-08-11 12:42:28 +02:00
Felix 4d93184197 Strip attributes whitespace in universal media_player (#54451)
When using whitespace in attributes the lookup of the state attribute fails because an entity with whitespace in its name cannot be found.

Works:
entity_id|state_attribute

Does not work:
entity_id | state_attribute

Fixes #53804
2021-08-11 12:17:12 +02:00
Ville Skyttä bc417162cf Fix Huawei LTE entity state updating (#54447)
Since 91a2b96, we no longer key this by the router URL, but the relevant
config entry unique id.

Closes https://github.com/home-assistant/core/issues/54243
2021-08-11 11:50:17 +02:00
Joakim Sørensen 2f5c3c08ef Use monitor name for uptimerobot device registry (#54456) 2021-08-11 11:27:41 +02:00
jan iversen 2d669a4613 Remove legacy code. (#54452) 2021-08-11 11:07:04 +02:00
Erik Montnemery 4e07ab1b32 Move temperature conversions to sensor base class (1/8) (#48261)
* Move temperature conversions to entity base class (1/8)

* Update integrations a-c

* Leave old temperature conversion until all integrations are migrated

* tweak

* Use contextlib.suppress

* Remove the MeasurableUnitEntity mixin

* Address comments, add tests

* Fix f-string

* Drop deprecation warning from base entity class

* Update with _attr-shorthand

* Fix rebase mistakes

* Fix additional rebase mistakes

* Only report temperature conversion once

* Fix additional rebase mistakes

* Format homeassistant/components/bbox/sensor.py

* Fix check for overidden _attr_state

* Remove test workarounds from implementation

* Remove useless None-check

* Tweaks

* Migrate new sensors a-c

* Update climacell

* Push deprecation of temperature conversion forward

* Override __repr__ in SensorEntity

* Include native_value in SensorEntity attributes

* Pylint

* Black

* Black

* Fix rebase mistakes

* black

* Fix rebase mistakes

* Revert changes in august/sensor.py

* Revert handling of unit converted restored state

* Apply code review suggestion

* Fix arlo test
2021-08-11 10:45:05 +02:00
Aaron Bach 930c1dbe9b Bump aioambient to 1.2.6 (#54442) 2021-08-11 09:58:53 +02:00
Brett 480fd53b4b Advantage Air code cleanup (#54449) 2021-08-11 09:49:31 +02:00
jan iversen adcbd8b115 Activate mypy for Trådfri (#54416)
* Activate mypy.
2021-08-11 08:31:52 +02:00
Paulus Schoutsen 745afc8fe2 Merge pull request #54443 from home-assistant/rc 2021-08-10 21:05:42 -07:00
Paulus Schoutsen c6fc5e35fe Bumped version to 2021.8.6 2021-08-10 20:29:32 -07:00
Aaron Bach b2b0cc9a22 Bump pyopenuv to 2.1.0 (#54436) 2021-08-10 20:29:22 -07:00
Paulus Schoutsen ebab5c5d92 Bump hass_nabucasa to 0.46.0 (#54421) 2021-08-10 20:29:21 -07:00
Daniel Hjelseth Høyer 56d51404b7 Re-add Tibber notify service name (#54401)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-10 20:29:21 -07:00
Joakim Sørensen bb3769c84f Fix Canary sensor state (#54380) 2021-08-10 20:29:20 -07:00
Paulus Schoutsen 3effe94a27 Handle CO2Signal response value being None (#54377) 2021-08-10 20:29:19 -07:00
Aaron Bach 10551743d6 Bump pyopenuv to 2.1.0 (#54436) 2021-08-10 20:28:03 -07:00
J. Nick Koston 4d40d95848 Add support for width and height to ffmpeg based camera snapshots (#53837) 2021-08-10 20:31:11 -05:00
J. Nick Koston d0b11568cc Ensure HomeKit passes min/max mireds as ints (#54372) 2021-08-10 20:28:01 -05:00
J. Nick Koston e99576c094 Pass width and height when requesting camera snapshot (#53835) 2021-08-10 19:33:06 -05:00
GitHub Action 390023a576 [ci skip] Translation update 2021-08-11 00:18:57 +00:00
J. Nick Koston 4ae6435a64 Avoid increasing yeelight rate limit when the state is already set (#54410) 2021-08-10 15:17:49 -07:00
J. Nick Koston 4da451fcf7 Improve HomeKit Color with Color Temp implementation (#54371) 2021-08-10 15:16:51 -07:00
J. Nick Koston 4bde4504ec Add api to device_automation to return all matching devices (#53361) 2021-08-10 14:21:34 -05:00
Marc Mueller ac29571db3 Refactor pi_hole icon usage (#54420) 2021-08-10 21:14:31 +02:00
jan iversen 08a30ed510 Add myself as codeowner to tradfri (IKEA stuff) (#54415) 2021-08-10 21:14:09 +02:00
Paulus Schoutsen ed0fd00746 Bump hass_nabucasa to 0.46.0 (#54421) 2021-08-10 11:30:02 -07:00
Joakim Sørensen 2265fd1f81 Mark Uptime Robot as a platinum quality integration (#54408) 2021-08-10 20:26:48 +02:00
Daniel Hjelseth Høyer ba6bdff04e Re-add Tibber notify service name (#54401)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-10 20:14:10 +02:00
jjlawren 1eeb12ba1c Support unloading/reloading Sonos (#54418) 2021-08-10 10:57:39 -07:00
Marc Mueller c0a7fca628 Fix pi_hole sensor icon (#54403) 2021-08-10 18:57:25 +02:00
Marc Mueller f5901265dc Use EntityDescription - ios (#54359)
* Use EntityDescription - ios

* Make attribute static

* Update homeassistant/components/ios/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-08-10 16:47:52 +02:00
Dror Eiger 7e211965e4 Update the Qubino Flush Shutter fixture (#54387) 2021-08-10 10:31:55 -04:00
Joakim Sørensen d1ea38e8f0 Add 100% test coverage for Uptime Robot (#54314)
* Add 100% test coverage for Uptime Robot

* Update tests/components/uptimerobot/test_binary_sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Add more typehints

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-10 16:29:51 +02:00
Daniel Hjelseth Høyer f03b160c46 Mill cleanup (#54396) 2021-08-10 16:28:39 +02:00
Joakim Sørensen cf8f27bb44 Adjust version tests (#54391)
* Adjust version tests

* patch local import
2021-08-10 15:03:34 +02:00
Joakim Sørensen 8ea5a0dbc1 Remove useless check in launch_library (#54393) 2021-08-10 15:03:12 +02:00
jan iversen 1d40a6e407 Activate mypy from amcrest and make the needed changes (#54392) 2021-08-10 14:57:57 +02:00
Jan Bouwhuis 5de1adacf7 Xiaomi miio add coordinator to fan platform (#54366)
* init coordinator for airpurifiers and airfresh

* Update fan entities with coordinator

* cache mode and fan_level at user update

* pylint define attributes in _init

* Update homeassistant/components/xiaomi_miio/fan.py

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>

* Update homeassistant/components/xiaomi_miio/fan.py

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>

* Update homeassistant/components/xiaomi_miio/fan.py

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>

* cleanup code

* Set hass.data[DATA_KEY] to enable

* rename to filtered_entities in service handler

* Update homeassistant/components/xiaomi_miio/fan.py

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

* flake

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-08-10 14:55:11 +02:00
Jesse Hills a7c08fff81 Apply suggested changes to tidy juicenet sensor code (#54390) 2021-08-10 14:06:27 +02:00
Joakim Sørensen 39d7bb4f1a Use _attr_* for Launch Library (#54388) 2021-08-10 13:11:12 +02:00
Milan Meulemans 9c29d9f8eb Activate mypy for Proxmox VE (#53955) 2021-08-10 12:36:20 +02:00
jan iversen e5f884efd1 Activate mypy for google_maps (#53725) 2021-08-10 11:48:16 +02:00
Pascal Vizeli a2a4840455 Using VCN install as action (#54383) 2021-08-10 11:02:31 +02:00
Milan Meulemans 814411dc1d Activate mypy for Solar-Log (#53952) 2021-08-10 10:56:34 +02:00
Milan Meulemans 355a067d84 Activate mypy for Smart Meter Texas (#53954) 2021-08-10 10:55:38 +02:00
Milan Meulemans d8c679809f Activate mypy for SiteSage Emonitor (#54040) 2021-08-10 10:47:57 +02:00
Milan Meulemans 7e2c6ae332 Activate mypy for Pilight (#53956) 2021-08-10 10:47:17 +02:00
Milan Meulemans 020759d01d Activate mypy for Alexa (#54042) 2021-08-10 10:46:33 +02:00
Milan Meulemans fc1babfc92 Activate mypy for Filter (#54044) 2021-08-10 10:45:56 +02:00
jan iversen 54538bb72b Bump pymodbus version to 2.5.3rc1 (#54318) 2021-08-10 10:16:38 +02:00
Joakim Sørensen 8cb3a485e0 Fix Canary sensor state (#54380) 2021-08-10 09:19:28 +02:00
Paulus Schoutsen 934662cd54 Handle CO2Signal response value being None (#54377) 2021-08-10 08:17:47 +02:00
Franck Nijhof 3202d4882a Upgrade debugpy to 1.4.1 (#54369) 2021-08-09 20:56:19 -07:00
Franck Nijhof 3d31bd5c68 Upgrade codecov to 2.1.12 (#54370) 2021-08-09 20:56:04 -07:00
Paulus Schoutsen a21e3aed77 Merge pull request #54368 from home-assistant/rc 2021-08-09 20:50:56 -07:00
Brett 747eb92a4a Fix race condition in Advantage Air (#53439) 2021-08-09 20:21:38 -07:00
Brett b76899f546 Fix race condition in Advantage Air (#53439) 2021-08-09 20:21:24 -07:00
Raman Gupta 5ac5b41a11 Update Climacell rate limit (#54373) 2021-08-09 20:16:36 -07:00
Raman Gupta f60fbf7197 Update Climacell rate limit (#54373) 2021-08-09 20:16:18 -07:00
Marc Mueller f92f0bb87b Use EntityDescription - juicenet (#54362)
* Use EntityDescription - juicenet

* Move part of icon to EntityDescription

* Remove default values

* Remove name override to use the _attr_name

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-08-10 14:25:22 +12:00
Paulus Schoutsen 0b532c139c Bumped version to 2021.8.5 2021-08-09 17:14:06 -07:00
Paulus Schoutsen d4290d1e03 Revert "Use entity class attributes for Bluesound (#53033)" (#54365) 2021-08-09 17:12:52 -07:00
Paulus Schoutsen b4d466f87c Do not process forwarded for headers for cloud requests (#54364) 2021-08-09 17:12:51 -07:00
Aaron Bach 4f3cf5a61c Cast SimpliSafe version number as a string in device info (#54356) 2021-08-09 17:12:51 -07:00
dailow cfa6040d55 Fix aqualogic state attribute update (#54354) 2021-08-09 17:12:50 -07:00
Jan Bouwhuis 3fcbde3b9c Fix Xiaomi-miio turn fan on with speed, percentage or preset (#54353) 2021-08-09 17:12:49 -07:00
Bram Kragten 84f6586058 Update frontend to 20210809.0 (#54350) 2021-08-09 17:12:48 -07:00
Jan Bouwhuis cb14acd606 Fix xiaomi air fresh fan preset modes (#54342) 2021-08-09 17:12:48 -07:00
Diogo Gomes 59c882a0f5 Restores unit_of_measurement (#54335) 2021-08-09 17:12:47 -07:00
Chris b21f319b0a Remove zwave_js transition on individual color channels (#54303) 2021-08-09 17:12:46 -07:00
J. Nick Koston 2a1d2b77a1 Ensure hunterdouglas_powerview model type is a string (#54299) 2021-08-09 17:12:45 -07:00
J. Nick Koston 9caad5b2c7 Bump zeroconf to 0.34.3 (#54294) 2021-08-09 17:12:45 -07:00
Marc Mueller 5402173e98 Fix ondilo_ico name attribute (#54290) 2021-08-09 17:12:44 -07:00
jjlawren 985dab6bdf Bump soco to 0.23.3 (#54288) 2021-08-09 17:12:43 -07:00
Robert Hillis cf92d45f07 Use correct state attribute for alarmdecoder binary sensor (#54286)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-09 17:12:42 -07:00
ZeGuigui 955a72080f Fix atom integration for long term statistics (#54285)
* Fix atom integration for long term statistics

* Remove commented code

* Fix last_reset syntax

* last_reset not an extra attribute

* last_reset as utc

* black formatting

* isort fix
2021-08-09 17:12:42 -07:00
J. Nick Koston 3edd505468 Always set interfaces explicitly when IPv6 is present (#54268) 2021-08-09 17:12:41 -07:00
rikroe 746bb2997e Fix login to BMW services for rest_of_world and north_america (#54261)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2021-08-09 17:12:40 -07:00
Reuben Gow 1809b7a98b Force an attempted subscribe on speaker reboot (#54100)
* Force an attempted subscribe on speaker reboot

* Recreate subscriptions and timers explicitly on speaker reboot

* only create poll timer if there is not one already

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Black

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2021-08-09 17:12:39 -07:00
Robert Hillis 903e2243e7 Fix camera state and attributes for agent_dvr (#54049)
* Fix camera state and attributes for agent_dvr

* tweak

* tweak
2021-08-09 17:12:39 -07:00
ollo69 1948d11d84 AsusWRT remove default EntityDescription property (#54367) 2021-08-10 02:10:53 +02:00
Paulus Schoutsen 38a7bdbcf3 Do not process forwarded for headers for cloud requests (#54364) 2021-08-10 01:45:56 +02:00
Paulus Schoutsen a40deac714 Revert "Use entity class attributes for Bluesound (#53033)" (#54365) 2021-08-10 01:45:39 +02:00
Joakim Sørensen d80da944a3 Version sensor entity cleanup (#53915)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-08-10 01:24:18 +02:00
J. Nick Koston 25f3cdde50 Add powerwall import and export sensors (#54018)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2021-08-09 16:03:22 -07:00
Richard T. Schaefer 3184f0697f Add Save Persistent States service (#53881) 2021-08-10 00:38:56 +02:00
Matthew LeMay 33c33d844e Update pyupgrade to 2.23.3 (#54179) 2021-08-10 00:16:33 +02:00
Dermot Duffy d4a3d0462d Minor motionEye readability improvement (#54251) 2021-08-10 00:11:21 +02:00
Maciej Bieniek 4459d8674a Add binary_sensor platform for Xiaomi Miio integration (#54096) 2021-08-09 23:56:33 +02:00
Marc Mueller aeb7a6c090 Use EntityDescription - bitcoin (#54320)
* Use EntityDescription - bitcoin

* Remove default values
2021-08-09 23:54:07 +02:00
Marc Mueller b42ac8b48f Use EntityDescription - growatt_server (#54316) 2021-08-09 23:53:39 +02:00
Aaron Bach 1cd575df53 Cast SimpliSafe version number as a string in device info (#54356) 2021-08-09 23:50:39 +02:00
dailow f1c244e914 Fix aqualogic state attribute update (#54354) 2021-08-09 23:50:09 +02:00
J. Nick Koston dcf4eb5e0d Remove HomeKit event guards (#54343) 2021-08-09 23:49:51 +02:00
Guido Schmitz c07b1423ee Remove useless attribute in devolo Home Control (#54284) 2021-08-09 23:45:15 +02:00
Jan Bouwhuis d55c764048 Fix Xiaomi-miio turn fan on with speed, percentage or preset (#54353) 2021-08-09 14:43:59 -07:00
Marc Mueller 4133cc05eb Use EntityDescription - abode (#54321) 2021-08-09 23:40:57 +02:00
Marc Mueller d79fc2c506 Use EntityDescription - pi_hole (#54319) 2021-08-09 23:38:58 +02:00
Bram Kragten 38cb0553f3 Update frontend to 20210809.0 (#54350) 2021-08-09 22:27:09 +02:00
J. Nick Koston 74a30af79b Always set interfaces explicitly when IPv6 is present (#54268) 2021-08-09 21:13:55 +02:00
rikroe 7050b53264 Fix login to BMW services for rest_of_world and north_america (#54261)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2021-08-09 21:11:53 +02:00
J. Nick Koston 8eff0e9312 Ensure hunterdouglas_powerview model type is a string (#54299) 2021-08-09 21:03:55 +02:00
J. Nick Koston f37b164d60 Bump zeroconf to 0.34.3 (#54294) 2021-08-09 20:58:27 +02:00
Jan Bouwhuis 0149095824 Fix xiaomi air fresh fan preset modes (#54342) 2021-08-09 20:57:36 +02:00
Robert Hillis a54ee7b366 Use correct state attribute for alarmdecoder binary sensor (#54286)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-09 20:55:58 +02:00
Marc Mueller 511af66b22 Fix ondilo_ico name attribute (#54290) 2021-08-09 20:53:30 +02:00
Reuben Gow 74d41ac5e5 Force an attempted subscribe on speaker reboot (#54100)
* Force an attempted subscribe on speaker reboot

* Recreate subscriptions and timers explicitly on speaker reboot

* only create poll timer if there is not one already

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Black

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2021-08-09 20:47:38 +02:00
starkillerOG a23da30c29 Yeelight local push updates (#51160)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-09 13:33:34 -05:00
Maciej Bieniek acf55f2f3a Add light transition for Shelly integration (#54327)
* Add support for light transition

* Limit transition to 5 seconds

* Update MODELS_SUPPORTING_LIGHT_TRANSITION list
2021-08-09 20:55:14 +03:00
Diogo Gomes b88f0adbe9 Restores unit_of_measurement (#54335) 2021-08-09 19:48:01 +02:00
Chris 188919f079 Clean up zwave_js RGB code (#54336) 2021-08-09 18:45:12 +02:00
Franck Nijhof 1c7891fbee Remove deprecated YAML configuration from Growatt (#54325) 2021-08-09 14:54:42 +02:00
Raman Gupta c79ee53ab1 Use dict for zwave_js siren.available_tones (#54305)
* Use dict for zwave_js siren.available_tones

* update siren.turn_on service description
2021-08-09 13:29:17 +02:00
Chris 3742333a89 Remove zwave_js transition on individual color channels (#54303) 2021-08-09 13:21:41 +02:00
jan iversen 9b7b787fe4 Remove icon where device_class is defined. (#54323) 2021-08-09 13:13:11 +02:00
cpw 608f406a2c Update services.yaml for matrix service to fix Data field being replaced by [object Object] in UI (#54296) 2021-08-09 12:38:05 +02:00
jan iversen 6ea50823c1 Use SensorEntityDescription for arlo (#54223)
* Use SensorEntityDescription.
2021-08-09 12:16:35 +02:00
jan iversen e7f0768ae6 Convert base_config_test in modbus to existing Pytest.fixture (#53836)
* Convert base_config_test to pytest.fixture.
2021-08-09 12:11:54 +02:00
ZeGuigui d97f93933f Fix atom integration for long term statistics (#54285)
* Fix atom integration for long term statistics

* Remove commented code

* Fix last_reset syntax

* last_reset not an extra attribute

* last_reset as utc

* black formatting

* isort fix
2021-08-09 11:38:16 +02:00
Martin Hjelmare a1abd4f0d6 Fix external internal url core check (#54310) 2021-08-09 10:52:14 +02:00
Paulus Schoutsen 952d11cb03 Ensure internal/external URL have no path (#54304)
* Ensure internal/external URL have no path

* Fix comment typo

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-09 09:38:09 +02:00
jjlawren a8354e729b Bump soco to 0.23.3 (#54288) 2021-08-09 09:21:07 +02:00
Maciej Bieniek 0f68ebe92b Add unique_id and device_info for SMS sensor (#54257) 2021-08-09 08:15:39 +02:00
Raman Gupta 2e903c92c4 Add siren support for available tones provided as a dict (#54198)
* Add siren support for available tones provided as a dict

* remove paranthesis

* hopefully make logic even easier to read

* drop last parenthesis
2021-08-09 00:41:51 -04:00
Paulus Schoutsen 557cc792e9 Fix SQLAlchemy test warnings (#54116) 2021-08-08 20:33:47 -07:00
J. Nick Koston 5d56ce67f5 Fix inconsistent supported_features return in demo lock (#54300)
https://github.com/home-assistant/core/pull/51455#discussion_r684806197
2021-08-08 20:33:40 -07:00
Allen Porter 160bd74bae Update DeviceInfo static types (#54276)
* Update nest static types from aditional PR feedback

Update nest and device helper static types based on post-merge discussion in PR #53475

* Remove unused type: ignore in synology

* Remove check for None device type

Remove check for None device type in order to reduce untested code as this is
a case not allowed by the nest python library.
2021-08-08 19:24:36 -07:00
GitHub Action 1373755444 [ci skip] Translation update 2021-08-09 00:11:34 +00:00
Allen Porter 50068d2352 Bump google-nest-sdm to 0.3.6 (#54287)
Add google-nest-sdm to 0.3.6 to include static typing fixes.
2021-08-08 14:47:50 -07:00
jan iversen 02459e6813 Convert last properties in modbus to _attr_variable (#53919) 2021-08-08 23:23:21 +02:00
jan iversen e8aa280d7f Add modbus get_hub (#54277)
* Add dict with hubs.

* Update flexit to use get_hub.

* Remove executor_task for close.
2021-08-08 22:48:33 +02:00
Robert Hillis 7590cb2861 Fix camera state and attributes for agent_dvr (#54049)
* Fix camera state and attributes for agent_dvr

* tweak

* tweak
2021-08-08 15:43:08 +02:00
Joakim Sørensen 89bb95b0be Add re-authentication to Uptime Robot (#54226)
* Add reauthentication to Uptime Robot

* Fix en strings

* format

* Fix docstring

* Remove unused patch

* Handle no existing entry

* Handle account mismatch during reauthentication

* Add test to validate reauth is triggered properly

* Test reauth after setup

* Adjust tests

* Add full context for reauth init
2021-08-08 15:41:05 +02:00
Maciej Bieniek aaddeb0bcd Add missing motor_speed sensor for Xiaomi Miio humidifier CA1 and CB1 (#54264)
* Add motor_speed sensor for CA1 and CB1

* Remove value limits
2021-08-08 15:21:55 +02:00
Simone Chemelli 18a0fcf931 Strict typing for Neato (#53633)
* Strict typing

* Rebase

* Tweak import

* Cleanup

* Rebase + typing hub

* Flake8

* Update homeassistant/components/neato/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/neato/vacuum.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/neato/camera.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Address review comments

* Black

* Update homeassistant/components/neato/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Specific dict definition

* Annotations

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-08 15:02:37 +02:00
Joakim Sørensen 3da61b77a9 Remove monitor checks in Uptime Robot entities (#54259) 2021-08-08 12:26:14 +02:00
Joakim Sørensen a4fd718e41 Fix device registry lookup in uptimerobot (#54256) 2021-08-08 11:29:32 +02:00
Schmidsfeld fc40735295 Add more Fritz sensors for DSL connections (#53198)
* Update sensor.py

Added information about the upstream line accorrding to fritzconnection library (available since V1.5.0) .
New information available are line sync speed,, noise margin and power attenuation.

Tested with ADSL and VDSL lines on fritzbox 7590, 7490 and 7390. 
Not tested on cable internet / fiber. According to upstrem library should also work / fail gracefully.

* Update sensor.py

Fixed errors from automated tests
Sorry it took so long

* Update homeassistant/components/fritz/sensor.py

Thank you this sounds even better

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>

* black & mypy fixes

* Rebase, fix multiplier, add conditional create

Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2021-08-08 11:23:28 +02:00
Paulus Schoutsen f3de8b9f28 Merge pull request #54249 from home-assistant/rc 2021-08-07 23:19:11 -07:00
Paulus Schoutsen fe9808926e Fix formatting (#54247) 2021-08-07 22:04:03 -07:00
rjulius23 7d29eb282b Add enumerate to builtins in python_script component (#54244) 2021-08-07 22:02:20 -07:00
Paulus Schoutsen f458f330a5 Bumped version to 2021.8.4 2021-08-07 21:34:56 -07:00
Allen Porter fb6aca4f8b Pin google-cloud-pubsub to an older version (#54239)
Pin google-cloud-pubsub to an older version, since newer versions have a
pin that is incompatible with the existing grpcio pin already in package_constraints.txt
2021-08-07 21:34:52 -07:00
Dermot Duffy 724f11bb0d Don't block motionEye setup on NoURLAvailableError (#54225)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-07 21:34:52 -07:00
carstenschroeder 13ded1e5b2 Bugfix: Bring back unique IDs for ADS covers after #52488 (#54212) 2021-08-07 21:34:51 -07:00
jan iversen 5dcf5edae0 Add parameter to delay sending of requests in modbus (#54203) 2021-08-07 21:34:50 -07:00
Mk4242 56d0ef34fd Update const.py (#54195)
Remove extra attribute for FlowTemperature sensor, which prevents the ebusd integration from initialising
2021-08-07 21:34:50 -07:00
jan iversen 94e26df6d3 Solve missing automatic update of struct configuration in modbus (#54193) 2021-08-07 21:34:49 -07:00
Robert Hillis 3a17e22982 Fix androidtv media_image_hash (#54188) 2021-08-07 21:34:48 -07:00
Trinnik 1934159fd0 Fix update entity prior to adding (#54015) 2021-08-07 21:34:48 -07:00
Dermot Duffy 75726a2695 Don't block motionEye setup on NoURLAvailableError (#54225)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-07 21:29:52 -07:00
Aidan Timson 11f15f66af OVO Energy Long-term Statistics (#54157)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-08-07 21:20:55 -07:00
Joakim Sørensen 53c64e5148 Handle added and removed monitors (#54228) 2021-08-07 21:12:55 -07:00
jan iversen 8a4674c086 Solve missing automatic update of struct configuration in modbus (#54193) 2021-08-07 21:11:56 -07:00
Paulus Schoutsen a001fd5000 Fix formatting (#54247) 2021-08-07 21:10:21 -07:00
jan iversen 2232915ea8 Add parameter to delay sending of requests in modbus (#54203) 2021-08-07 21:10:08 -07:00
carstenschroeder d3007c26b3 Bugfix: Bring back unique IDs for ADS covers after #52488 (#54212) 2021-08-07 21:03:20 -07:00
Allen Porter 22acaa8e63 Pin google-cloud-pubsub to an older version (#54239)
Pin google-cloud-pubsub to an older version, since newer versions have a
pin that is incompatible with the existing grpcio pin already in package_constraints.txt
2021-08-07 21:00:37 -07:00
Maciej Bieniek 4fbe713079 Add missing motor_speed sensor for Xiaomi Miio humidifier CA1 and CB1 (#54202) 2021-08-07 20:55:01 -07:00
Trinnik b9e0de2eed Fix update entity prior to adding (#54015) 2021-08-07 20:51:05 -07:00
GitHub Action af565ea6bd [ci skip] Translation update 2021-08-08 00:11:15 +00:00
Joakim Sørensen a485b14293 Set entities as unavailable if last update was not successful (#54229) 2021-08-07 20:22:19 +02:00
Joakim Sørensen 3b1d44478a Change update interval from 60s to 10s for Uptime Robot (#54230) 2021-08-07 20:22:02 +02:00
Simone Chemelli 819131ad21 Raise ConfigEntryNotReady for Neato API error (#54227) 2021-08-07 19:15:25 +02:00
Mk4242 ca2bdfab6b Update const.py (#54195)
Remove extra attribute for FlowTemperature sensor, which prevents the ebusd integration from initialising
2021-08-07 18:24:19 +02:00
Simone Chemelli e0bc911e24 Fix Neato reauth flow when token expired (#52843)
* Fix Neato reauth flow when token expired

* Change and simplify approach

* Missing file

* Cleanup

* Update unique_id

* Added missing lamda

* Unique_id reworked

* Guard for id future ID changes

* Bump pybotvac: provide unique_id

* Address review comment

* Fix update check

* Remove token check

* Trigger reauth only for 401 and 403 code response

* Review comments
2021-08-07 12:22:08 +02:00
Joakim Plate 6dd875bc4a Bump ha-philipsjs to 2.7.5 (#54176) 2021-08-07 12:17:33 +02:00
Joakim Plate 422fe48c3a Correct device class typo in rfxtrx (#54200) 2021-08-07 12:15:31 +02:00
Jørgen Rørvik 6830eec549 Flexit component fix for updated modbus (#53583)
* pyflexit first argument should be a ModbusSerialClient
This component broke with 2021.6
I have tested this patch on my setup and it restores functionality

* Implemented async reading of modbus values
Stopped using pyflexit as this is outdated and not needed
Instead using async_pymodbus_call from ModbusHub class

* Bugfix: Reading fan mode from wrong register

* Implemented async writing
Set target temperature and fan mode using modbus call
Added some error handling

* No longer require pyflexit

* Review comments.

Co-authored-by: jan Iversen <jancasacondor@gmail.com>
2021-08-07 09:45:53 +02:00
Robert Hillis 0b52e13eb8 Fix androidtv media_image_hash (#54188) 2021-08-07 07:18:08 +02:00
Gian Klug 8b8f3b55b6 Add state class and last reset in kostal_plenticore (#54084)
* Add state class and implement in kostal_plenticore

* Add support for more entity variants

* Add the state_class to the total values too

* Reformat kostal const.py

* Add `last_reset` to kostal_plenticore entities when `state_class` is set

Also reformat sensor.py

* Fix import

* Remove the constants from the homeassistant constants file

* Use sensor constants for the state_class

* Reformat

* Reformat

* Move last_reset from sensor.py into const.py

* Remove last_reset on PERCENTAGE entities

* Address lint issues

* Update homeassistant/components/kostal_plenticore/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Import datetime

* Apply suggestions from code review

* Fix isort

* Fix more isort

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-07 06:25:35 +02:00
GitHub Action 98bcdc2cf5 [ci skip] Translation update 2021-08-07 00:10:12 +00:00
ollo69 099a1de92b Use SensorEntityDescription for AsusWRT sensors (#54111) 2021-08-06 15:43:39 -07:00
Paulus Schoutsen 9155274c6e Merge pull request #54175 from home-assistant/rc 2021-08-06 13:27:37 -07:00
Paulus Schoutsen cb775029e0 Bumped version to 2021.8.3 2021-08-06 12:55:59 -07:00
J. Nick Koston 011cda5fc4 Bump zeroconf to 0.33.4 to ensure zeroconf can startup when ipv6 is disabled (#54165)
Changelog: https://github.com/jstasiak/python-zeroconf/compare/0.33.3...0.33.4
2021-08-06 12:55:56 -07:00
J. Nick Koston d580036dfb Fetch interface index from network integration instead of socket.if_nametoindex in zeroconf (#54152) 2021-08-06 12:55:55 -07:00
Michael 15e9310a01 Fix sensor PLATFORM_SCHEMA for ebox and enphase_envoy (#54142)
* Fix sensor PLATFORM_SCHEMA

* fix pylint
2021-08-06 12:55:55 -07:00
Niccolo Zapponi 93a2e2849c Handle software version being None when setting up HomeKit accessories (#54130)
* Convert all HomeKit service info to string prior to checking for max length

* Added check for None software version

* Added test case for numeric version number

* Update tests/components/homekit/test_accessories.py

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

* Fix style & none version test

* Fix test

* revert other change since it should be covered by the format_sw_version fix

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-06 12:55:39 -07:00
Oscar Calvo 07f8236e6f Gracefully handle additional GSM errors (#54114) 2021-08-06 12:53:53 -07:00
J. Nick Koston acc0288f4c Bump zeroconf to 0.33.4 to ensure zeroconf can startup when ipv6 is disabled (#54165)
Changelog: https://github.com/jstasiak/python-zeroconf/compare/0.33.3...0.33.4
2021-08-06 12:48:00 -07:00
Joakim Plate 13e7cd237e Convert to using sensor descriptors (#54115) 2021-08-06 09:56:51 -07:00
Zoe ✨ ddbd455827 Add statistics support for the PVOutput sensor (#54149) 2021-08-06 09:56:27 -07:00
Niccolo Zapponi 483a4535c8 Handle software version being None when setting up HomeKit accessories (#54130)
* Convert all HomeKit service info to string prior to checking for max length

* Added check for None software version

* Added test case for numeric version number

* Update tests/components/homekit/test_accessories.py

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

* Fix style & none version test

* Fix test

* revert other change since it should be covered by the format_sw_version fix

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-06 09:34:42 -07:00
Tom Brien d842fc288f Ignore Coinbase vault wallets (#54133)
* Exclude vault balances

* Update option flow validation

* Update test name

* Add missed check

* Fix dangerous default
2021-08-06 09:34:21 -07:00
Raj Laud 2db278a7a7 Fix Squeezebox dhcp discovery (#54137)
* Fix Squeezebox dhcp discovery and allow ignore

* Test ignoring known Squeezebox players

* Fix linter errors
2021-08-06 09:29:52 -07:00
J. Nick Koston 5f790f6bd9 Fetch interface index from network integration instead of socket.if_nametoindex in zeroconf (#54152) 2021-08-06 09:15:35 -07:00
Michael 206073632f Fix sensor PLATFORM_SCHEMA for ebox and enphase_envoy (#54142)
* Fix sensor PLATFORM_SCHEMA

* fix pylint
2021-08-06 14:59:00 +02:00
Oscar Calvo 19adce844c Gracefully handle additional GSM errors (#54114) 2021-08-06 12:18:29 +02:00
Paulus Schoutsen a07048aacf Merge pull request #54117 from home-assistant/rc 2021-08-05 23:18:48 -07:00
Paulus Schoutsen 890d190612 Fix constant 2021-08-05 23:15:20 -07:00
Paulus Schoutsen 1cc3ffe20d Fix jinja warning (#54109) 2021-08-06 06:41:50 +02:00
Matthias Alphart ab34ef475e Test KNX binary sensor (#53820)
* test binary_sensor

* test binary_sensor with reset_after
2021-08-05 23:33:20 -05:00
Matthias Alphart 8ead20a76b Test knx sensor (#54090) 2021-08-05 23:26:02 -05:00
Milan Meulemans 02d6918165 Run coordinator config_entry_first_refresh in rituals_perfume_genie setup (#54080) 2021-08-05 23:13:47 -05:00
Paulus Schoutsen b00173705e Bumped version to 2021.8.2 2021-08-05 20:49:03 -07:00
J. Nick Koston 374ccaae47 Bump zeroconf to 0.33.3 (#54108) 2021-08-05 20:48:58 -07:00
J. Nick Koston fa4ec926ce Increase time before scene and script HomeKit entities are reset (#54105) 2021-08-05 20:48:57 -07:00
Simone Chemelli e37bf733bd Two fixes (#54102) 2021-08-05 20:48:56 -07:00
Shay Levy 52f7f203d2 Fix Shelly last_reset (#54101) 2021-08-05 20:48:55 -07:00
Paulus Schoutsen 557e1862d5 Packages to support config platforms (#54085) 2021-08-05 20:48:54 -07:00
puddly fbfb77b900 Bump up ZHA dependencies (#54079) 2021-08-05 20:48:53 -07:00
J. Nick Koston bc548050f1 Handle empty software version when setting up HomeKit (#54068)
Fixes #54059 Fixes #54024
2021-08-05 20:48:43 -07:00
Franck Nijhof 5c9d7edadd Add missing device class to SAJ energy sensors (#54048) 2021-08-05 20:47:38 -07:00
Nathan Spencer 6544a32319 Bump pylitterbot to 2021.8.0 (#54000) 2021-08-05 20:47:37 -07:00
Simone Chemelli 582f2ae2f6 Two fixes (#54102) 2021-08-05 19:24:41 -07:00
J. Nick Koston adc9f75493 Increase time before scene and script HomeKit entities are reset (#54105) 2021-08-05 19:24:24 -07:00
J. Nick Koston 46ad55455b Bump zeroconf to 0.33.3 (#54108) 2021-08-05 19:24:09 -07:00
Shay Levy 58ccfff067 Fix Shelly last_reset (#54101) 2021-08-05 19:23:05 -07:00
GitHub Action 64c9f9e1cb [ci skip] Translation update 2021-08-06 00:15:04 +00:00
Paulus Schoutsen 8377b557da Packages to support config platforms (#54085) 2021-08-05 13:11:01 -07:00
Paulus Schoutsen fcc3d24904 We shouldn't add measurement without last_reset to metered entities (#54087) 2021-08-05 13:10:42 -07:00
J. Nick Koston 26cb588ee2 Handle empty software version when setting up HomeKit (#54068)
Fixes #54059 Fixes #54024
2021-08-05 10:47:14 -07:00
puddly 5dc87d959c Bump up ZHA dependencies (#54079) 2021-08-05 10:46:58 -07:00
Matthias Alphart 98877924d3 Add state_class for KNX sensors (#53996) 2021-08-05 10:11:01 -07:00
Paulus Schoutsen 3655859be2 Add some metadata to pvoutput energy sensor (#54074) 2021-08-05 10:09:56 -07:00
Ian b930e17d64 Bump py-nextbusnext to 0.1.5 (#53924)
* NextBus: Rebrand and bump new version of py-nextbusnext

* Revert rebrand
2021-08-05 18:47:23 +02:00
Joakim Sørensen 786a83f844 Add unique_id to Uptime Robot config_flow (#54055) 2021-08-05 14:58:29 +02:00
Milan Meulemans debcc6689f Activate mypy for Cloudflare (#54041) 2021-08-05 13:01:12 +02:00
Gleb Sinyavskiy 25eb27cb9f Add tractive integration (#51002)
* Scaffold

* Implement config flow

* Add dymmy device tracker and TractiveClient

* Add simple DeviceTracker

* Add device info

* Listen to tractive event and update tracker entities accordingly

* Refactoring

* Fix logging level

* Handle connection errors

* Remove sleep

* Fix logging

* Remove unused strings

* Replace username config with email

* Update aiotractive

* Use debug instead of info

* Cover config_flow

* Update .coveragerc

* Add quality scale to manifest

* pylint

* Update aiotractive

* Do not emit SERVER_AVAILABLE, properly handle availability

* Use async_get_clientsession

Co-authored-by:  Daniel Hjelseth Høyer <mail@dahoiv.net>

* Add @Danielhiversen as a codeowner

* Remove the title from strings and translations

* Update homeassistant/components/tractive/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Force CI

* Use _attr style properties instead of methods

* Remove entry_type

* Remove quality scale

* Make pyupgrade happy

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-08-05 12:47:42 +02:00
Franck Nijhof 91ab86c17c Add state class support to Netatmo (#54051) 2021-08-05 12:29:00 +02:00
Joakim Sørensen 4a37ff2dda Bump pyuptimerobot to 21.8.1 (#53995)
* Bump pyuptimerobot to 21.08.0

* pylint

* bump to 21.8.1

* Uppdate strings

* Update homeassistant/components/uptimerobot/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-05 12:13:47 +02:00
Franck Nijhof 1bc3c743db Add missing device class to SAJ energy sensors (#54048) 2021-08-05 12:12:06 +02:00
Michael 29e604bd22 Add vscode task code coverage (#53783)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-08-05 11:46:21 +02:00
Nathan Spencer dd479d410a Bump pylitterbot to 2021.8.0 (#54000) 2021-08-05 10:29:23 +02:00
Milan Meulemans be880fdaa9 Activate mypy for Updater (#53950) 2021-08-05 09:18:03 +02:00
Milan Meulemans 36c0478c4a Activate mypy for Reddit (#53949) 2021-08-05 09:16:47 +02:00
Dermot Duffy f2f084abe2 Use SwitchEntityDescription instead of EntityDescription in the motionEye integration (#54019) 2021-08-05 08:17:15 +02:00
Matthias Alphart 4d6c95a126 Don't double-validate KNX select options (#54020) 2021-08-05 08:16:33 +02:00
Paulus Schoutsen 5e9081e323 Merge pull request #54012 from home-assistant/rc 2021-08-04 20:22:17 -07:00
Aaron Bach c3a509bdd8 Add support for jammed status to SimpliSafe locks (#54006) 2021-08-04 19:50:09 -05:00
GitHub Action ba93bda3ad [ci skip] Translation update 2021-08-05 00:34:46 +00:00
Paulus Schoutsen 436d0e0fb4 Bumped version to 2021.8.1 2021-08-04 17:05:41 -07:00
Bram Kragten 72032edaec Update frontend to 20210804.0 (#53997) 2021-08-04 17:05:12 -07:00
jjlawren 14621fc445 Fix empty sonos_group entity attribute on startup (#53985) 2021-08-04 17:05:11 -07:00
Simone Chemelli ef55a8d2e2 Fix divider for Fritz sensors (#53980) 2021-08-04 17:05:10 -07:00
G Johansson 82b2ae8e91 Fix coordinator not defined in yale_smart_alarm (#53973)
* Bugfix coordinator not defined

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-04 17:05:09 -07:00
Michael 01299ddd20 Fix attr_unit_of_measurement in update of apcupsd entity (#53947) 2021-08-04 17:05:09 -07:00
jan iversen fcc82d26a4 Add temporary fix to modbus to solve upstream problem (#53857) 2021-08-04 17:05:07 -07:00
Alex Henry 16b5544104 Fix Panasonic Viera TV going unavailable when turned off (#53788) 2021-08-04 17:05:06 -07:00
jan iversen b2fffdd13e Add temporary fix to modbus to solve upstream problem (#53857) 2021-08-04 17:03:31 -07:00
Bram Kragten a8e4482594 Update frontend to 20210804.0 (#53997) 2021-08-04 17:03:04 -07:00
Joakim Sørensen caf0bdd5b9 Add config flow to uptimerobot (#53938) 2021-08-04 22:20:03 +02:00
G Johansson 4ef859a9a9 Fix coordinator not defined in yale_smart_alarm (#53973)
* Bugfix coordinator not defined

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-04 22:16:39 +02:00
jjlawren 6eae5231f1 Fix empty sonos_group entity attribute on startup (#53985) 2021-08-04 21:57:19 +02:00
Simone Chemelli 316c2baa12 Fix divider for Fritz sensors (#53980) 2021-08-04 21:53:07 +02:00
Michael f7fb4ad782 Fix attr_unit_of_measurement in update of apcupsd entity (#53947) 2021-08-04 21:24:19 +02:00
Milan Meulemans 3f6282eb7a Activate mypy for LG webOS Smart TV (#53958) 2021-08-04 19:31:24 +03:00
Jan Bouwhuis 1f9331f9db Remove Xiaomi_miio select option validation (#53936) 2021-08-04 14:00:18 +02:00
Jan Bouwhuis 1054419498 Remove Xiaomi_miio number value validation (#53934) 2021-08-04 12:50:08 +02:00
Alex Henry b77335d6f9 Fix Panasonic Viera TV going unavailable when turned off (#53788) 2021-08-04 12:44:16 +02:00
Alex Henry fe957b74be Upgrade anthemav dependency to 1.2.0 (#53931) 2021-08-04 12:43:30 +02:00
jan iversen 129cdda932 Late review. (#53933) 2021-08-04 12:34:04 +02:00
Maciej Bieniek 3b212b9109 Use NumberEntityDescription for Xiaomi Miio (#53911) 2021-08-04 12:03:18 +02:00
Jan Bouwhuis 8f014361d4 Validate Number value before calling entity method (#52343)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-04 11:57:26 +02:00
starkillerOG af38ff1ec1 Add xiaomi miio lumi.gateway.aqhm01 support (#53929) 2021-08-04 11:23:21 +02:00
Franck Nijhof f0f4c13cbe Merge pull request #53930 from home-assistant/rc 2021-08-04 11:21:42 +02:00
Jan Bouwhuis 8299d0a7c3 Validate Select option before calling entity method (#52352)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-08-04 11:12:42 +02:00
Joakim Sørensen ff307a802e Use the github context when writing metafile (#53928) 2021-08-04 11:03:41 +02:00
Franck Nijhof 4de3f031cc Bumped version to 2021.8.0 2021-08-04 10:46:20 +02:00
Joakim Sørensen 9ec516e1d4 Address review comments for 53918 (#53927) 2021-08-04 10:46:00 +02:00
Joakim Sørensen f9071a40de Address review comments for 53918 (#53927) 2021-08-04 09:29:51 +02:00
jan iversen 083868ac01 Enable mypy for Yamaha (#53920) 2021-08-04 08:47:28 +02:00
Matt Zimmerman 515a47212e Add target high/low temperatures to prometheus integration (#50071)
* add target high/low temperatures to prometheus integration

* use labels

* Revert "use labels"

This reverts commit 09c56d6359a553967546376a760c9398593acf24.

* fix naming

* tests

* cleanup

* use three separate metrics

* fix descriptions
2021-08-04 07:42:47 +02:00
Paulus Schoutsen 38df475936 Bumped version to 2021.8.0b10 2021-08-03 21:04:22 -07:00
Bram Kragten af81dda1e2 Update frontend to 20210803.2 (#53923) 2021-08-03 21:03:43 -07:00
Martin Hjelmare 4fdd354745 Limit zwave_js meter sensor last reset (#53921) 2021-08-03 21:03:42 -07:00
Joakim Sørensen 0342c0da33 Limit API usage for Uptime Robot (#53918) 2021-08-03 21:03:42 -07:00
Paulus Schoutsen 7a8676dc83 Handle Shelly get name on uninitialized device (#53917) 2021-08-03 21:03:41 -07:00
J. Nick Koston 54ac889362 Enforce maximum length for HomeKit characteristics (#53913) 2021-08-03 21:03:01 -07:00
Aaron Bach 4e2c174741 Handle scenario where SimpliSafe code is falsey (#53912) 2021-08-03 20:59:54 -07:00
Maciej Bieniek e4fd43ed7c Use SelectEntityDescription for Xiaomi Miio integration (#53907)
* Use SelectEntityDescription

* Use SelectEntityDescription

* Remove service field from XiaomiMiioSelectDescription class

* Fix typo

* Use lowercase for options
2021-08-03 20:58:48 -07:00
Greg Dowling 07604e60e5 Bump pyroon to 0.0.38 (#53906) 2021-08-03 20:50:46 -07:00
Jesse Hills 922c0dc8be Bump aioesphomeapi to 6.0.1 (#53905) 2021-08-03 20:50:45 -07:00
Joakim Sørensen 30497eff0e Add user to homeassistant system health (#53902) 2021-08-03 20:50:45 -07:00
Bram Kragten c682d5d5e4 Update frontend to 20210803.2 (#53923) 2021-08-04 02:10:33 +02:00
Adam Ernst 5735669693 Add "stop watering" service to rachio (#53764)
Co-authored-by: Brian Rogers <brg468@hotmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-08-03 16:51:52 -05:00
Martin Hjelmare c959a0a484 Limit zwave_js meter sensor last reset (#53921) 2021-08-03 22:50:14 +02:00
Joakim Sørensen f02259eb2d Limit API usage for Uptime Robot (#53918) 2021-08-03 11:20:12 -07:00
Paulus Schoutsen 71375be54d Handle Shelly get name on uninitialized device (#53917) 2021-08-03 11:16:00 -07:00
J. Nick Koston df03cce471 Enforce maximum length for HomeKit characteristics (#53913) 2021-08-03 10:09:10 -07:00
Jim Shank fa9ac71c3a Check for torrents in queue before calling the api stop_torrent() (#53895)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-08-03 18:26:21 +02:00
Aaron Bach 7518c58806 Handle scenario where SimpliSafe code is falsey (#53912) 2021-08-03 16:56:15 +02:00
Joakim Sørensen 56360feb9a Stream API requests to the supervisor (#53909) 2021-08-03 16:48:22 +02:00
Maciej Bieniek 2105419a4e Use SelectEntityDescription for Xiaomi Miio integration (#53907)
* Use SelectEntityDescription

* Use SelectEntityDescription

* Remove service field from XiaomiMiioSelectDescription class

* Fix typo

* Use lowercase for options
2021-08-03 15:58:30 +02:00
Jesse Hills 672a74fa37 Allow esphome entities to be disabled by default (#53898) 2021-08-03 14:53:48 +02:00
Jc2k 081b2d533b Add support for Eve Degree's air pressure sensor (#53891) 2021-08-03 07:30:50 -05:00
Maciej Bieniek 1286734ce9 Use SensorEntityDescription class for Xiaomi Miio (#53890) 2021-08-03 13:56:56 +02:00
Greg Dowling 7e63e12ece Bump pyroon to 0.0.38 (#53906) 2021-08-03 13:52:59 +02:00
Jesse Hills 15d36734b0 Bump aioesphomeapi to 6.0.1 (#53905) 2021-08-03 13:39:35 +02:00
Pascal Vizeli c287fc180b Add meta container data to rootfs (#53903)
* Add meta container data to rootfs

* Update builder.yml

* Update .github/workflows/builder.yml

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>

* Update .github/workflows/builder.yml

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-08-03 12:56:31 +02:00
Joakim Sørensen 3f2e18fe17 Add user to homeassistant system health (#53902) 2021-08-03 11:58:27 +02:00
Paulus Schoutsen 5536da18a6 Bumped version to 2021.8.0b9 2021-08-02 21:41:32 -07:00
Paulus Schoutsen 120122ffe2 Bump frontend to 20210803.0 (#53897) 2021-08-02 21:41:24 -07:00
Aaron Bach 8b7bdc9b67 Only show a SimpliSafe code entry when one exists (#53894) 2021-08-02 21:41:23 -07:00
Chris d74ca25291 Handle powerConsumption reports with null value (#53888) 2021-08-02 21:41:22 -07:00
Paulus Schoutsen be6cb2e792 Bump aiohue to 2.6.1 (#53887) 2021-08-02 21:41:22 -07:00
Otto Winter f7e448c8b2 ESPHome implement light color modes (#53854) 2021-08-02 21:41:21 -07:00
Paulus Schoutsen 27848720a4 Bump frontend to 20210803.0 (#53897) 2021-08-02 21:39:53 -07:00
Aaron Bach b6de8626de Only show a SimpliSafe code entry when one exists (#53894) 2021-08-02 20:52:44 -07:00
Chris cfc5111561 Handle powerConsumption reports with null value (#53888) 2021-08-02 20:50:57 -07:00
GitHub Action d6c3d05517 [ci skip] Translation update 2021-08-03 00:10:03 +00:00
Paulus Schoutsen 91e55bdd14 Bump aiohue to 2.6.1 (#53887) 2021-08-02 14:44:15 -07:00
Aidan Timson 18f4d125c3 System Bridge v2.3.0+ - Data from WebSocket (#53443)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-02 22:11:26 +02:00
Maciej Bieniek 938ec27a86 Add support for MJJSQ humidifiers for Xiaomi MIIO integration (#53807) 2021-08-02 22:08:37 +02:00
Otto Winter d4cb819e1f ESPHome implement light color modes (#53854) 2021-08-02 22:07:37 +02:00
Paulus Schoutsen 2e1f42937d Bumped version to 2021.8.0b8 2021-08-02 10:53:52 -07:00
Jc2k 92cc51370d Fix watts unit for homekit_controller power sensors (#53877) 2021-08-02 10:53:44 -07:00
Paulus Schoutsen a97e480d82 Bump frontend to 20210802.0 (#53876) 2021-08-02 10:53:44 -07:00
Joakim Sørensen 66711219c7 Fix issue when data is None (#53875) 2021-08-02 10:53:43 -07:00
Franck Nijhof b0f6e8c40a Fix growat server config entry missing URL key (#53867) 2021-08-02 10:53:42 -07:00
Franck Nijhof df20d69fd2 Add measurement state class to ZHA power devices (#53866) 2021-08-02 10:53:42 -07:00
Franck Nijhof 249fb51d2f Fix cloud accountlinking replacing token data (#53865) 2021-08-02 10:53:41 -07:00
Franck Nijhof e35b5dd7c1 Add RPi.GPIO dependency to rpi_rf integration (#53858) 2021-08-02 10:53:40 -07:00
jan iversen bebd495e74 Allow combinations write_coil/read_coils and write_coils/read_coil for modbus switch (#53856) 2021-08-02 10:53:40 -07:00
Joakim Sørensen d56636ed37 Add base energy analytics (#53855) 2021-08-02 10:53:39 -07:00
Michael e9b672c0b4 Fix crash when AVM FRITZ!SmartHome devices are unreachable (#53809) 2021-08-02 10:53:38 -07:00
Daniel Hjelseth Høyer 5f8f1ae695 Add STATE_CLASS_MEASUREMENT to Tibber (#53802) 2021-08-02 10:53:38 -07:00
Michael 2e441d8b7c Fix TP-Link smart strip devices (#53799) 2021-08-02 10:53:37 -07:00
René Klomp 31af17f7f7 Bump pysma to 0.6.5 (#53792) 2021-08-02 10:53:37 -07:00
Felipe Martins Diel 91af3b0502 Fix entry setup for Broadlink SP4 sensors (#53765) 2021-08-02 10:53:36 -07:00
Emilv2 1a1efecdba Fix missing default reconnect interval in dsmr (#53760) 2021-08-02 10:53:35 -07:00
Vinny Furia 1c30967f6f Fix Radiothermostat hold value updates (#53656) 2021-08-02 10:53:34 -07:00
Jc2k d414b58769 Fix watts unit for homekit_controller power sensors (#53877) 2021-08-02 10:47:11 -07:00
Paulus Schoutsen 80a8f35a42 Bump frontend to 20210802.0 (#53876) 2021-08-02 10:42:04 -07:00
Joakim Sørensen c3d623a37e Fix issue when data is None (#53875) 2021-08-02 19:35:11 +02:00
Franck Nijhof 3bf06de363 Fix growat server config entry missing URL key (#53867) 2021-08-02 09:48:17 -07:00
Michael b2725918b1 Fix TP-Link smart strip devices (#53799) 2021-08-02 09:47:54 -07:00
Joakim Sørensen 1c38e9168c Add base energy analytics (#53855) 2021-08-02 09:46:07 -07:00
Michael bffa9f960d Add state class measurement to all suitable sensors on Speedtest.net (#53693)
* Add state class measurement

* use tuple instead of list
2021-08-02 17:00:25 +02:00
pdcemulator 1265aa0f64 Add edl21 OBIS IDs for DZG DWS76 (#53029) 2021-08-02 16:58:45 +02:00
Franck Nijhof d722d13b0e Add measurement state class to ZHA power devices (#53866) 2021-08-02 16:33:27 +02:00
Franck Nijhof f3d4dac11f Fix cloud accountlinking replacing token data (#53865) 2021-08-02 16:33:13 +02:00
Michael 4241c4ca5b Fix crash when AVM FRITZ!SmartHome devices are unreachable (#53809) 2021-08-02 16:13:54 +02:00
jan iversen 3296772bd3 Late review on hdmi_cec (#53763) (#53863) 2021-08-02 16:02:39 +02:00
Milan Meulemans 8ab3d9cc12 Use homeassistant.const instead of integration const for device_info ATTR_ (#53703) 2021-08-02 15:11:41 +02:00
Graham Rogers 4f96f05a75 Improve Universal media player toggle default behavior (#49395)
Before it could not be overridden and the default behavior meant nothing was called when all children were off, so it could not be used to turn on the media player. The new default behavior is to delegate to `turn_on` and `turn_off` instead, which is more likely to be the expected behavior.
2021-08-02 15:10:56 +02:00
J. Nick Koston 65c6943784 Bump HAP-python to 4.0.0 (#53780) 2021-08-02 15:08:32 +02:00
jan iversen 857031df14 Activate mypy for Norway_air (#53787) 2021-08-02 15:07:27 +02:00
Franck Nijhof 4022d539fe Add RPi.GPIO dependency to rpi_rf integration (#53858) 2021-08-02 15:00:43 +02:00
Felipe Martins Diel e8aee5ecf7 Fix entry setup for Broadlink SP4 sensors (#53765) 2021-08-02 14:59:23 +02:00
Vinny Furia 4f8c799610 Fix Radiothermostat hold value updates (#53656) 2021-08-02 14:57:10 +02:00
jan iversen 0f8a286cc7 Allow combinations write_coil/read_coils and write_coils/read_coil for modbus switch (#53856) 2021-08-02 14:55:52 +02:00
Emilv2 1012d823a0 Fix missing default reconnect interval in dsmr (#53760) 2021-08-02 14:54:33 +02:00
jan iversen bb11dc19d3 Convert @property to _attr_variable for hdmi_sec (#53816)
Convert @property to _attr_variable.
Break __init__ with a local function.
Make _attr_should_poll a class variable.
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-02 14:30:30 +02:00
Milan Meulemans 8500afa5d9 Activate mypy for Sony Songpal (#53655) 2021-08-02 12:16:41 +02:00
Daniel Hjelseth Høyer e4fe27061a Add STATE_CLASS_MEASUREMENT to Tibber (#53802) 2021-08-02 11:50:52 +02:00
René Klomp 14db83e4c1 Bump pysma to 0.6.5 (#53792) 2021-08-02 11:14:45 +02:00
Joakim Sørensen da3419945c Rename snapshot -> backup (#53851) 2021-08-02 11:07:21 +02:00
jan iversen 38832618bf Please mypy. (#53786) 2021-08-02 09:18:59 +02:00
Paulus Schoutsen ab4ed128cc Bumped version to 2021.8.0b7 2021-08-01 21:00:14 -07:00
Jc2k 3d6ba793f7 Fix error in homekit_controller causing some entities to get an incorrect unique id (#53848) 2021-08-01 21:00:09 -07:00
Chris 9cee9d9d8a Add energy consumption sensors to smartthings devices (#53759) 2021-08-01 21:00:08 -07:00
Jc2k 73bc62949b Fix error in homekit_controller causing some entities to get an incorrect unique id (#53848) 2021-08-01 20:59:32 -07:00
GitHub Action e093e0bf10 [ci skip] Translation update 2021-08-01 20:41:03 -07:00
GitHub Action 8c5620e74b [ci skip] Translation update 2021-08-02 03:40:04 +00:00
Chris 8ac1f5d28a Add energy consumption sensors to smartthings devices (#53759) 2021-08-01 20:35:03 -07:00
Paulus Schoutsen 1019bb059d Bumped version to 2021.8.0b6 2021-08-01 15:07:34 -07:00
Bram Kragten ec35b92052 Update frontend to 20210801.0 (#53841) 2021-08-01 15:07:23 -07:00
Robert Hillis cb2103d96c Fix file path error in nfandroidtv (#53814) 2021-08-01 15:07:22 -07:00
Maciej Bieniek 3f7ddb4706 Clean Xiaomi Miio humidifier services (#53806) 2021-08-01 15:07:22 -07:00
B-Hartley fd0ae7ab36 ForecastSolar - power production now w not k w (#53797) 2021-08-01 15:07:21 -07:00
Maciej Bieniek fc5c30775d Remove led from Xiaomi Miio humidifier features (#53796) 2021-08-01 15:07:20 -07:00
Andreas Brett 0948eafb93 Fix onkyo UnboundLocalError (#53793)
audio_information_raw and video_information_raw were in some cases used before being assigned

error: UnboundLocalError: local variable 'video_information_raw' referenced before assignment
2021-08-01 15:07:20 -07:00
Maciej Bieniek 31869cbb12 Fix name migration of the Xiaomi Miio humidifier (#53790) 2021-08-01 15:07:19 -07:00
Michael 2297c0b58b Do not block setup of TP-Link when device unreachable (#53770) 2021-08-01 15:07:18 -07:00
Bram Kragten 32c2d42863 Update frontend to 20210801.0 (#53841) 2021-08-01 15:06:28 -07:00
B-Hartley 736fb2e90d ForecastSolar - power production now w not k w (#53797) 2021-08-01 15:01:34 -07:00
Michael da1a9bcbf0 Do not block setup of TP-Link when device unreachable (#53770) 2021-08-01 14:58:55 -07:00
Maciej Bieniek 7d1324d66d Remove led from Xiaomi Miio humidifier features (#53796) 2021-08-01 14:58:31 -07:00
Robert Hillis 822e8645eb Fix file path error in nfandroidtv (#53814) 2021-08-01 10:08:39 +02:00
Sean Vig 673be4f7dd Bump Amcrest version to 1.8.0 (#53784)
* Bump Amcrest version to 1.8.0
* Add codeowner to Amcrest.

Co-authored-by: jan Iversen <jancasacondor@gmail.com>
2021-08-01 00:22:19 +02:00
jan iversen e41bc1a0da Activate mypy for hdmi_cec (#53763)
* Please mypy.
* Remove CEC_DEVICES.
2021-07-31 23:18:37 +02:00
jan iversen 3d52bfc8f6 Simplify DATA_TYPE -> struct conversion. (#53805) 2021-07-31 23:17:23 +02:00
Maciej Bieniek f1f293de02 Clean Xiaomi Miio humidifier services (#53806) 2021-07-31 21:19:00 +02:00
Andreas Brett 172769d19c Fix onkyo UnboundLocalError (#53793)
audio_information_raw and video_information_raw were in some cases used before being assigned

error: UnboundLocalError: local variable 'video_information_raw' referenced before assignment
2021-07-31 14:47:51 +02:00
Maciej Bieniek c6a2e247fe Fix name migration of the Xiaomi Miio humidifier (#53790) 2021-07-31 12:32:16 +02:00
Paulus Schoutsen 370799bd22 Revert "Improve light scene support for white mode (#53768)" (#53782)
This reverts commit 6ffe0f6405.
2021-07-30 21:10:32 -07:00
Aidan Timson 82abae1f7d Bump vallox-websocket-api to 2.8.1 (#53463) 2021-07-30 23:45:18 +02:00
Paulus Schoutsen e0fc14f82c Bumped version to 2021.8.0b5 2021-07-30 14:15:42 -07:00
Paulus Schoutsen cd3390e012 Bump Hue and only fire events for button presses (#53781)
* Bump Hue and only fire events for button presses

* Fix tests
2021-07-30 14:15:32 -07:00
Bram Kragten af96c5d60c Update frontend to 20210730.0 (#53778) 2021-07-30 14:15:31 -07:00
Aaron Bach 9f0f40dac6 Fix parsing of non-string values in Slack data (#53775) 2021-07-30 14:15:31 -07:00
Jan Bouwhuis 958df580a9 Fix Xiaomi-miio humidifier write the state back when turning on or off (#53771) 2021-07-30 14:15:30 -07:00
Maciej Bieniek 0aee659ee9 Fix Xiaomi Miio humidifier mode change (#53757) 2021-07-30 14:15:29 -07:00
J. Nick Koston 423fb910b5 Bump HAP-python to 3.6.0 (#53754) 2021-07-30 14:15:28 -07:00
Joakim Sørensen fc8af9af8e Revert "Rename snapshot -> backup" (#53751)
This reverts commit 9806bda272.
2021-07-30 14:15:27 -07:00
Paulus Schoutsen a75c7d52c9 Cost sensor handle consumption sensor in Wh (#53746) 2021-07-30 14:15:27 -07:00
uvjustin dac968bf32 Fix non monotonic dts error in stream (#53712)
* Use defaultdict for TimestampValidator._last_dts

* Combine filters

* Allow PeekIterator to be updated while preserving buffer

* Fix peek edge case

* Readd is_valid filter to video only iterator
2021-07-30 14:15:26 -07:00
Paulus Schoutsen 90cf94bb30 Bump Hue and only fire events for button presses (#53781)
* Bump Hue and only fire events for button presses

* Fix tests
2021-07-30 14:14:58 -07:00
Aaron Bach befe2cbefe Fix parsing of non-string values in Slack data (#53775) 2021-07-30 14:13:53 -07:00
Bram Kragten c72fc0c08c Update frontend to 20210730.0 (#53778) 2021-07-30 14:11:47 -07:00
Jan Bouwhuis a5824c3259 Fix Xiaomi-miio humidifier write the state back when turning on or off (#53771) 2021-07-30 12:47:55 -07:00
Erik Montnemery 6ffe0f6405 Improve light scene support for white mode (#53768) 2021-07-30 12:47:26 -07:00
Maciej Bieniek f2e7543f54 Fix Xiaomi Miio humidifier mode change (#53757) 2021-07-30 12:44:52 -07:00
J. Nick Koston 72bd3f7128 Bump HAP-python to 3.6.0 (#53754) 2021-07-30 12:44:28 -07:00
Joakim Sørensen a9722c90e9 Revert "Rename snapshot -> backup" (#53751)
This reverts commit 9806bda272.
2021-07-30 12:44:10 -07:00
Tobias Sauerwein 8e61ed39fd Fix flaky netatmo tests (#53644) 2021-07-30 20:07:23 +02:00
jan iversen b0c650e088 Update integration Fints with activate mypy, use attr_variables (#53706)
* Please mypy.

* Convert property to _attr_variables.
2021-07-30 19:23:16 +02:00
uvjustin 7a200a5d3b Fix non monotonic dts error in stream (#53712)
* Use defaultdict for TimestampValidator._last_dts

* Combine filters

* Allow PeekIterator to be updated while preserving buffer

* Fix peek edge case

* Readd is_valid filter to video only iterator
2021-07-30 08:02:33 -07:00
Diogo Gomes 028f6c4cac fix flakky test (#53750) 2021-07-30 07:11:58 -07:00
epenet b3f0d6840c Use constants for device_info in Renault integration (#53714)
* Use constants for device_info

* Fix isort
2021-07-30 15:06:55 +03:00
epenet bb7236fd04 Use constants for device_info in Onewire integration (#53724) 2021-07-30 13:35:49 +02:00
Paulus Schoutsen 2cbcd5f2a9 Cost sensor handle consumption sensor in Wh (#53746) 2021-07-30 11:00:52 +02:00
Paulus Schoutsen 447901c223 Bumped version to 2021.8.0b4 2021-07-29 23:35:09 -07:00
Paulus Schoutsen 9dcd3f6626 Add energy attributes to Fronius (#53741)
* Add energy attributes to Fronius

* Add solar

* Add power

* Only add last reset for total meter entities

* Only add last reset for total solar entities

* Create different entity descriptions per key

* only return the entity description for energy total

* Use correct key

* Meter devices keep it real

* keys start with energy_real

* Also device key starts with

* Lint
2021-07-29 23:35:03 -07:00
Jan Bouwhuis d34bd8ad1e Fix Xiaomi-miio switch platform setup (#53739) 2021-07-29 23:35:02 -07:00
Jan Bouwhuis 83e4e4f769 Fix Xiaomi humidifier name migration (#53738) 2021-07-29 23:35:01 -07:00
Michael 128dc07fa5 Apply left suggestions #53596 for TP-Link (#53737) 2021-07-29 23:35:00 -07:00
Brandon Rothweiler d2dfdd81ad Only allow one Mazda vehicle status request at a time (#53736) 2021-07-29 23:35:00 -07:00
Michael 0442827b9e Fix exception handling in DataUpdateCoordinator in TP-Link (#53734)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-07-29 23:34:59 -07:00
Alexei Chetroi 37c3062874 Bump up ZHA dependencies (#53732) 2021-07-29 23:34:58 -07:00
Robert Svensson bfacff5d78 Add energy device class to deCONZ consumption sensors (#53731) 2021-07-29 23:34:57 -07:00
Michael d54621e778 Extract smartthings switch energy attributes into sensors (#53719) 2021-07-29 23:34:57 -07:00
Ryan Johnson 716c3f69ca Bump pyatv to 0.8.2 (#53659) 2021-07-29 23:34:56 -07:00
Paulus Schoutsen 05a7853720 Add energy attributes to Fronius (#53741)
* Add energy attributes to Fronius

* Add solar

* Add power

* Only add last reset for total meter entities

* Only add last reset for total solar entities

* Create different entity descriptions per key

* only return the entity description for energy total

* Use correct key

* Meter devices keep it real

* keys start with energy_real

* Also device key starts with

* Lint
2021-07-29 23:34:03 -07:00
epenet 87dab02ce6 Remove YAML configuration from onewire (#53728) 2021-07-29 22:12:00 -07:00
Michael 692665e46c Apply left suggestions #53596 for TP-Link (#53737) 2021-07-29 22:11:15 -07:00
Jan Bouwhuis 4a95ed9b7f Fix Xiaomi-miio switch platform setup (#53739) 2021-07-29 22:10:41 -07:00
Jan Bouwhuis 1e33017db8 Fix Xiaomi humidifier name migration (#53738) 2021-07-29 22:10:16 -07:00
Brandon Rothweiler 96b02153b9 Only allow one Mazda vehicle status request at a time (#53736) 2021-07-29 22:08:52 -07:00
Eric Severance 7ae158f9a1 wemo light brightness fixes (#53740) 2021-07-29 22:08:13 -07:00
Michael 2b2cddb5f0 Extract smartthings switch energy attributes into sensors (#53719) 2021-07-29 21:50:02 -07:00
Ryan Johnson 8972fae0ca Bump pyatv to 0.8.2 (#53659) 2021-07-29 21:19:32 -07:00
Michael 45e4f80cfe Fix exception handling in DataUpdateCoordinator in TP-Link (#53734)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-07-29 21:18:09 -07:00
Marc Mueller 0815eede4b Replace lists with tuples (2) (#53685) 2021-07-30 01:20:03 +02:00
Alexei Chetroi 5eba3e485b Bump up ZHA dependencies (#53732) 2021-07-29 16:16:47 -07:00
Robert Svensson edf0e0bd08 Add energy device class to deCONZ consumption sensors (#53731) 2021-07-29 16:16:08 -07:00
Paulus Schoutsen 630a1fb36c Bumped version to 2021.8.0b3 2021-07-29 14:27:55 -07:00
Paulus Schoutsen 54eeebfd20 Revert "Allow uploading large snapshots (#53528)" (#53729)
This reverts commit cdce14d63d.
2021-07-29 14:27:47 -07:00
Franck Nijhof a671a0ccac Fix effect selector of light.turn_on service (#53726) 2021-07-29 14:27:46 -07:00
Martin Hjelmare 8cf0182f2f Fix zwave_js current and voltage meter sensor device class (#53723) 2021-07-29 14:27:45 -07:00
Franck Nijhof f1400b03bb Fix DSMR reconnecting loop without timeout (#53722) 2021-07-29 14:27:45 -07:00
Martin Hjelmare 6d30e596ca Fix zwave_js current and voltage meter sensor device class (#53723) 2021-07-29 14:26:57 -07:00
Franck Nijhof de7a885045 Fix effect selector of light.turn_on service (#53726) 2021-07-29 14:26:39 -07:00
Paulus Schoutsen 6b7a4d2d3c Revert "Allow uploading large snapshots (#53528)" (#53729)
This reverts commit cdce14d63d.
2021-07-29 14:26:05 -07:00
Franck Nijhof 390101720d Fix DSMR reconnecting loop without timeout (#53722) 2021-07-29 22:55:26 +02:00
Paulus Schoutsen 6dc00d3d87 Bumped version to 2021.8.0b2 2021-07-29 12:35:50 -07:00
Franck Nijhof bf6133534d Fix SolarEdge statistics; missing device_class (#53720) 2021-07-29 12:35:25 -07:00
Paulus Schoutsen b1758e1fcc Bump frontend to 20210729.0 (#53717) 2021-07-29 12:35:24 -07:00
Martin Hjelmare cc0aa32f3e Fix zwave_js meter sensor state class (#53716) 2021-07-29 12:35:23 -07:00
Franck Nijhof dc2494f0a0 Add state class support to DSMR Reader (#53715) 2021-07-29 12:35:23 -07:00
Simone Chemelli 4b2a1ec694 Add last reset to Shelly's energy entities (#53710) 2021-07-29 12:35:22 -07:00
Michael b2187022c4 Set state class measurement also for Total Energy for AVM Fritz!Smarthome devices (#53707) 2021-07-29 12:35:21 -07:00
Martin Hjelmare c6f588fc08 Revert "Add Automate Pulse Hub v2 support (#39501)" (#53704) 2021-07-29 12:35:20 -07:00
Daniel Hjelseth Høyer 462e3a3d0d Integration. Add device class, last_reset, state_class (#53698)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-29 12:35:20 -07:00
Daniel Hjelseth Høyer aa179a1ad9 Energy round (#53696)
* Energy. Round cost

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Energy. Round cost

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/energy/sensor.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-29 12:35:19 -07:00
Daniel Hjelseth Høyer 1117158bd0 Surepetcare, bug fix (#53695) 2021-07-29 12:35:18 -07:00
Andrew55529 6ced0153df Fix problem with telegram_bot (#53690) 2021-07-29 12:35:17 -07:00
Gerard 7f314e17de Bump bimmer_connected to 0.7.16 to fix parking light issue (#53687) 2021-07-29 12:35:17 -07:00
Robert Svensson 9ad29ae75c Only disable a device if all associated config entries are disabled (#53681) 2021-07-29 12:35:16 -07:00
Maciej Bieniek 43a89dc452 Fix last_reset_topic config replaces state_topic for sensor platform (#53677) 2021-07-29 12:35:15 -07:00
Allen Porter 268f0dd62f Bump nest to version 0.3.5 (#53672)
Fix runtime type assertions, Fixes Issue #53652
2021-07-29 12:35:15 -07:00
Eric Severance d7768f13c1 pyWeMo version bump (0.6.6) (#53671) 2021-07-29 12:35:14 -07:00
J. Nick Koston db8aa4658a Skip each ssdp listener that fails to bind (#53670) 2021-07-29 12:35:13 -07:00
Raman Gupta d19d487b21 Add energy support for zwave_js meter CC entities (#53665)
* Add energy support for zwave_js meter CC entities

* shrink

* comments

* comments

* comments

* Move attributes

* Add tests

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-29 12:35:13 -07:00
Aaron Bach 2aeecba64c Fix unhandled exception with Guardian paired sensor coordinators (#53663) 2021-07-29 12:35:12 -07:00
Diogo Gomes b3367d8b3f Prosegur code quality improvements (#53647) 2021-07-29 12:35:11 -07:00
Raman Gupta 7e6856ace8 Add enabled attribute to zwave_js discovery model (#53645)
* Add attribute to zwave_js discovery model

* Fix binary sensor entity enabled logic

* Add tests
2021-07-29 12:35:10 -07:00
Michael b5f0c2cef4 Move TP-Link power and energy switch attributes to sensors (#53596)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-07-29 12:35:10 -07:00
Stephen Beechen 2ffc779f3d Allow uploading large snapshots (#53528)
Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2021-07-29 12:35:09 -07:00
Paulus Schoutsen 2d83ad3211 Bump frontend to 20210729.0 (#53717) 2021-07-29 12:34:32 -07:00
Franck Nijhof 7c98fc94d4 Fix SolarEdge statistics; missing device_class (#53720) 2021-07-29 12:34:22 -07:00
Martin Hjelmare 3c0e4b1fd9 Fix zwave_js meter sensor state class (#53716) 2021-07-29 12:25:43 -07:00
Franck Nijhof 120a0bead0 Add state class support to DSMR Reader (#53715) 2021-07-29 12:25:18 -07:00
Simone Chemelli e9a00ad4ce Add last reset to Shelly's energy entities (#53710) 2021-07-29 12:10:53 -07:00
Maciej Bieniek fb3b8b6686 Fix last_reset_topic config replaces state_topic for sensor platform (#53677) 2021-07-29 12:09:14 -07:00
Robert Svensson c6213b36ad Only disable a device if all associated config entries are disabled (#53681) 2021-07-29 12:08:53 -07:00
Daniel Hjelseth Høyer 204426009f Clean up Surpetcare (#53699) 2021-07-29 21:03:13 +02:00
Martin Hjelmare 007ecc51e5 Revert "Add Automate Pulse Hub v2 support (#39501)" (#53704) 2021-07-29 11:58:48 -07:00
Gerard 4da9116025 Bump bimmer_connected to 0.7.16 to fix parking light issue (#53687) 2021-07-29 11:57:46 -07:00
Michael 2b0b8736f2 Set state class measurement also for Total Energy for AVM Fritz!Smarthome devices (#53707) 2021-07-29 11:54:51 -07:00
Daniel Hjelseth Høyer 6590e464af Integration. Add device class, last_reset, state_class (#53698)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-29 20:05:53 +02:00
Michael bedb9550f5 Move TP-Link power and energy switch attributes to sensors (#53596)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-07-29 11:02:47 -07:00
Daniel Hjelseth Høyer 24a589961a Energy round (#53696)
* Energy. Round cost

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Energy. Round cost

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/energy/sensor.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-29 18:44:38 +02:00
Andrew55529 09947d13a8 Fix problem with telegram_bot (#53690) 2021-07-29 18:31:32 +02:00
J. Nick Koston 219348d573 Skip each ssdp listener that fails to bind (#53670) 2021-07-29 18:07:52 +02:00
Daniel Hjelseth Høyer f8750daa09 Surepetcare, bug fix (#53695) 2021-07-29 16:59:02 +02:00
Nicko van Someren 705e2446e5 Fix Lutron button events to have unambiguous names (#53666) 2021-07-29 16:29:52 +02:00
Raman Gupta 30cbf03b48 Add energy support for zwave_js meter CC entities (#53665)
* Add energy support for zwave_js meter CC entities

* shrink

* comments

* comments

* comments

* Move attributes

* Add tests

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-29 14:18:38 +02:00
Raman Gupta 1019ee22ff Add enabled attribute to zwave_js discovery model (#53645)
* Add attribute to zwave_js discovery model

* Fix binary sensor entity enabled logic

* Add tests
2021-07-29 09:30:50 +02:00
Eric Severance dc1b2b7687 pyWeMo version bump (0.6.6) (#53671) 2021-07-29 09:13:55 +02:00
Allen Porter 806ab47ca5 Bump nest to version 0.3.5 (#53672)
Fix runtime type assertions, Fixes Issue #53652
2021-07-28 22:49:13 -07:00
Aaron Bach c04671ac64 Fix unhandled exception with Guardian paired sensor coordinators (#53663) 2021-07-28 22:16:14 -07:00
Diogo Gomes a2d66bd1c0 Prosegur code quality improvements (#53647) 2021-07-28 22:15:28 -07:00
Stephen Beechen cdce14d63d Allow uploading large snapshots (#53528)
Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2021-07-28 22:12:59 -07:00
Paulus Schoutsen 75dc55418b Bumped version to 2021.8.0b1 2021-07-28 22:06:24 -07:00
J. Nick Koston 384ddbafab Add device class energy and last reset to sense (#53667) 2021-07-28 22:06:11 -07:00
J. Nick Koston 5483300668 Bump aiolip to 1.1.6 to fix timeout with ident (#53660) 2021-07-28 22:06:11 -07:00
Paulus Schoutsen c9d355a8a4 Add last reset to Shelly (#53654) 2021-07-28 22:06:10 -07:00
Paulus Schoutsen fce7417ed1 Add last reset to enphase sensors (#53653) 2021-07-28 22:06:09 -07:00
J. Nick Koston f13d7f189a Fix invalid homekit state when arming (#53646)
- Maybe fixes #48538
2021-07-28 22:06:09 -07:00
Raman Gupta 3265c7b8d8 Add zwave_js.reset_meter service (#53390)
* Add zwave_js.meter_reset service

* fix log statement

* Add endpoint attribute to service call and rename service

* Make service an entity service

* remove endpoint from service description
2021-07-28 22:06:08 -07:00
J. Nick Koston e14a04df2e Add device class energy and last reset to sense (#53667) 2021-07-28 21:58:28 -07:00
J. Nick Koston ef2ca1cee9 Bump aiolip to 1.1.6 to fix timeout with ident (#53660) 2021-07-29 02:39:45 +02:00
Paulus Schoutsen 057d979335 Add last reset to enphase sensors (#53653) 2021-07-28 17:31:10 -07:00
J. Nick Koston 6eb3307734 Fix invalid homekit state when arming (#53646)
- Maybe fixes #48538
2021-07-28 16:09:49 -07:00
Paulus Schoutsen bbd1a85b09 Add last reset to Shelly (#53654) 2021-07-28 15:48:27 -07:00
Milan Meulemans d40012f110 Correct typing in Zerproc and activate mypy (#53642) 2021-07-28 16:36:13 -05:00
Raman Gupta e1c6ccb198 Add zwave_js.reset_meter service (#53390)
* Add zwave_js.meter_reset service

* fix log statement

* Add endpoint attribute to service call and rename service

* Make service an entity service

* remove endpoint from service description
2021-07-28 23:15:27 +02:00
Franck Nijhof a8536e3ce5 Bump version to 2021.9.0dev0 (#53638) 2021-07-28 22:56:34 +02:00
epenet a3a687f037 Add renault integration (#39605) 2021-07-28 21:44:43 +02:00
epenet 8d84edd3b7 Add renault integration (#39605) 2021-07-28 12:41:11 -07:00
Franck Nijhof 743308ec92 Bumped version to 2021.8.0b0 2021-07-28 21:26:51 +02:00
Milan Meulemans 7bd46b7705 Tado, setup to return False and not ConfigEntryNotReady on RuntimeError (#53637) 2021-07-28 21:25:44 +02:00
Otto Winter 67ac87e915 Fix missing supported_features when only custom presets for ESPHome (#53632) 2021-07-28 21:20:26 +02:00
jan iversen 19245a5b63 Add CameraEntityDescription to camera integration (#53636) 2021-07-28 21:09:45 +02:00
J. Nick Koston c53e7bc8c2 Only declare powerwall login failure after 5 attempts (#53635) 2021-07-28 21:09:08 +02:00
Paulus Schoutsen 0e1eef5737 Bump frontend to 20210728.0 (#53634) 2021-07-28 20:41:27 +02:00
Robert Hillis 86b126c34a Use entity class attributes for cmus (#53458) 2021-07-28 19:39:58 +02:00
stefano055415 3f7cc176a8 Add climate support to Freedompro (#52720)
* Update Freedompro

* fix code and add test

* add check for unsupported mode

* add code for unsupported hvac_mode

* HVAC_INVERT_MAP and fix test

* change params hass to session

* set const and add ValueError

* fix ValueError text
2021-07-28 19:27:31 +02:00
jjlawren 9111fb60d7 Include advertise_addr in Sonos logs when used (#53617) 2021-07-28 19:19:09 +02:00
Milan Meulemans 1b96288799 Fix Yale Smart Alarm strings (#53627) 2021-07-28 19:09:48 +02:00
Matthias Alphart 4e4bb2e5a8 Test KNX events (#53433)
* test knx_event

* use async_capture_events
2021-07-28 19:04:11 +02:00
Milan Meulemans 03308b62c1 Remove CONNECTION_CLASS from Yale Smart Alarm ConfigFlow (#53629) 2021-07-28 18:58:45 +02:00
Daniel Hjelseth Høyer deb47517ca Upgrade ns-api to 3.0.5 (#53620) 2021-07-28 18:58:15 +02:00
Frederic Seiler 52df6a6558 Add deCONZ support for Legrand Self-e ZGP switches (#53008)
* Add deCONZ support for Legrand Self-e ZGP switches

Legrand Self-e ZLGP17 (0 677 23L)
Legrand Self-e ZLGP18 (0 677 24L)

* Add the 4 scenes switch (ZLGP15)

and update the model name of the toggle switch

* Update events
2021-07-28 12:54:19 -04:00
Felipe Martins Diel 419bcd939b Fix broadlink creating duplicate unique IDs (2) (#53622) 2021-07-28 18:53:34 +02:00
Bram Kragten 4df56bad9e Remove currency from energy, use core config (#53615)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-07-28 08:49:55 -07:00
J. Nick Koston babd9f048f Bump zeroconf to 0.33.2 (#53625)
- Changelog: https://github.com/jstasiak/python-zeroconf/compare/0.33.1...0.33.2
2021-07-28 08:49:43 -07:00
Stefan Agner 8d652b28e2 Add Khadas VIM3 (#53616)
* Add Khadas VIM3

Add Khadas VIM3 machine. VIM3 is based on Amlogic A311D SoC with
2xCortex-A53 and 4xCortex-A73.

* Use latest builder which supports khadas-vim3
2021-07-28 14:19:21 +02:00
Jesse Hills ec5d55dc30 Auto reset on value going back to 0 in ESPHome (#53592)
* ESPHome - Auto reset on value going back to 0

* Remove logging lines

* Remove useless stuff

* Move callback to sensor class
Wrap `track_change_event` in `async_on_remove`

* Convert to using internal callbacks and RestoreEntity

* Don't document fixmes?

* Review fixes

* Review fixes

Co-authored-by: Otto winter <otto@otto-winter.com>
2021-07-28 13:56:45 +02:00
Franck Nijhof ef6fc5bfa4 Merge branch 'master' into dev 2021-07-28 13:36:10 +02:00
Maciej Bieniek c81371f82b Clean device initialization log for Xiaomi Miio humidifiers (#53612) 2021-07-28 12:03:24 +02:00
Milan Meulemans 6299f58bd7 Remove Rituals DiffuserSwitch extra_state_attributes (#53611) 2021-07-28 11:52:55 +02:00
Marc Mueller 553521a76b Add mixin classes for required keys in EntityDescription (#53610) 2021-07-28 11:50:13 +02:00
Maciej Bieniek 6d13466f8a Remove unnecessary init_integration() call in NAM tests (#53609) 2021-07-28 11:23:57 +02:00
Jan Bouwhuis 781015fb19 Xiaomi_Miio Humidifier rework (#52366)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
Co-authored-by: Teemu R. <tpr@iki.fi>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-28 10:52:43 +02:00
Pascal Vizeli f3e7fb5798 Pin pandas to 1.3.0 (#53607)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-28 10:30:05 +02:00
Maciej Bieniek 648e649718 Use SensorEntityDescription in AccuWeather integration (#53604)
* Use SensorEntityDescription

* Add missing type for entity_description

* Use tuples instead of lists

* Suggested change
2021-07-28 10:26:14 +02:00
Allen Porter d58151034c Combine some stream test mocks (#53600)
Combine MockFlushPart with the FakePyAvContainer since the container is
effectively a mock AvOutput. This simulates the behavior of the call to
mux and close that actually write to the memory file.
2021-07-28 10:20:51 +02:00
Marc Mueller 10bfc78365 Fix missing encoding with open() (#53593)
* Fix missing encoding with open()

* Fix tests

* Improve open - frontend
2021-07-28 09:41:45 +02:00
Allen Porter 1c20eb3263 Skip 'None' values when restoring climate scenes (#53484) 2021-07-28 09:16:23 +02:00
Allen Porter 68945e8814 Enable strict static type checking for nest integration (#53535) 2021-07-28 09:12:32 +02:00
Richard T. Schaefer 9e219d9b6e Add this variable for use by automation and script templates (#52774) 2021-07-28 09:09:13 +02:00
Dermot Duffy 1aec069f3a Use the new EntityDescription for motionEye switches (#53536) 2021-07-28 09:06:41 +02:00
Franck Nijhof 1968b95829 Add currency core configuration (#53541)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-07-28 08:55:58 +02:00
Aaron Bach 514d97f144 Enforce strict typing for ReCollect Waste (#53356) 2021-07-28 08:51:40 +02:00
Paulus Schoutsen 9c33818392 Improve CO2Signal error handling (#53602)
* Improve CO2Signal error handling

* Update homeassistant/components/co2signal/sensor.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-28 08:43:24 +02:00
jjlawren d865577187 Bump plexapi to 4.7.0 (#53597) 2021-07-28 08:26:26 +02:00
Maciej Bieniek 9b67605b8a Use SensorEntityDescription in GIOS integration (#53581) 2021-07-28 08:21:00 +02:00
Marc Mueller b7f1f2330a Use EntityDescription - netatmo (#53568)
* Use EntityDescription - netatmo

* Add coverage exclude

* Fix coverage exclude comment
2021-07-28 08:18:59 +02:00
Allen Porter b3b5ee10b1 Fix mypy type for timestamp validator (#53598) 2021-07-27 22:04:59 -07:00
Joakim Sørensen 85c1614204 Add currency to location data (#53575) 2021-07-27 21:05:16 -07:00
Bram Kragten 127c9fc877 Add statistics support for SMA energy sensors (#53589) 2021-07-28 01:48:22 +02:00
Paulus Schoutsen a004a0dd4f Bump frontend to 20210727.0 (#53591) 2021-07-28 01:48:04 +02:00
Raman Gupta 73bc0267e9 Add DeviceRegistry template functions (#53131) 2021-07-27 18:55:55 -04:00
Marc Mueller 14c257e1b7 Use EntityDescription - melcloud (#53572)
* Use EntityDescription - melcloud

* Fix pylint errors

* Fix test

* Fix coverage exclude comments
2021-07-28 00:07:14 +02:00
Marc Mueller 3908aabc13 Use EntityDescription - climacell (#53573)
* Use EntityDescription - climacell

* Fix tests

* Fix coverage ignore comment
2021-07-27 23:47:29 +02:00
Marc Mueller dd849c4eab Use EntityDescription - dwd_weather_warnings (#53580) 2021-07-27 22:52:50 +02:00
Marc Mueller ac837cd76e Use EntityDescription - ondilo_ico (#53579) 2021-07-27 22:51:32 +02:00
Joakim Sørensen 9806bda272 Rename snapshot -> backup (#51629) 2021-07-27 22:43:05 +02:00
Kuzj d0b9d82287 Refactor bme280, add SPI support (#48775)
* bme280 refactoring, add SPI support

* isort, requirements

* __init_.py add to .coveragerc

* Re-run CI jobs

* const.py to .coveragerc

* Add support for IoT class in manifest

* Keepalive

* review suggestions

* scan_interval with coordinator

* black, isort

* coordinator review suggestions

* Set device_class

* review suggestions

* review suggestions

* review suggestions

* review suggestions

* review suggestions

* review suggestions

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* add bme280spi to commented requirements

* run script.gen_requirements_all

* black

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-27 16:29:43 -04:00
Diogo Gomes 7ad7cdad3d Add Prosegur Alarms (#44679)
Co-authored-by: Franck Nijhof <frenck@frenck.dev>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-27 22:19:58 +02:00
Aaron Bach f92ba75791 Enforce strict typing for SimpliSafe (#53417) 2021-07-27 22:11:54 +02:00
Paulus Schoutsen f71980a634 Create stats for all sensors that have % unit and are measurement (#53576) 2021-07-27 21:56:34 +02:00
Ron Klinkien 3488053648 Remove garmin_connect integration (#52808)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-27 21:49:49 +02:00
Aaron Bach e04b2c2e35 Bump pyairvisual to 5.0.9 (#53578) 2021-07-27 21:39:58 +02:00
Simone Chemelli 5a6be2370b Replace util.get_local_ip in favor of components.network.async_get_source_ip() - part 3 (#53424) 2021-07-27 21:19:29 +02:00
J. Nick Koston f3bf0fdb09 Bump yalexs to 1.1.13 to fix august doorsense offline at startup (#53574) 2021-07-27 21:17:17 +02:00
Felipe Martins Diel 43d3b6c2a2 Move the coordinator logic to the BroadlinkEntity class (#53571) 2021-07-27 13:53:29 -05:00
Matthew Gottlieb 37c841956f Allow removing workday holidays by name (#52700) 2021-07-27 20:28:04 +02:00
Robert Hillis 54a3c1a217 Use entity class attributes for clementine (#53405) 2021-07-27 20:18:58 +02:00
Marc Mueller f599c5a39e Use EntityDescription - tibber (#53569) 2021-07-27 20:13:48 +02:00
Robert Hillis 13443310fe Use entity class attributes for Cast (#53348) 2021-07-27 20:03:13 +02:00
Marc Mueller 736577abef Use EntityDescription - skybell (#53564)
* Use EntityDescription - skybell

* Fix typing
2021-07-27 19:51:07 +02:00
Martin Hjelmare a133eae88e Add more mysensors sensor attributes (#53566) 2021-07-27 19:48:37 +02:00
Matthias Alphart 27d42e0cd8 KNX: Support for HS-color lights (#53538) 2021-07-27 19:36:46 +02:00
Yuxiang Zhu ce663f629c Fix various zeroconf IPv6 compatibility issues (#53505) 2021-07-27 19:31:51 +02:00
Marc Mueller 64a3c669ce Use EntityDescription - rova (#53531)
* Use EntityDescription - rova

* Fix pylint protected-access

* Changes after review
2021-07-27 19:12:17 +02:00
Maciej Bieniek 9607864c29 Bump gios library to version 2.0 (#53557)
* Bump gios library

* Fix pylint error
2021-07-27 19:10:38 +02:00
J. Nick Koston 84a7a5fd32 Split color temp and color into separate HomeKit services when a light supports both (#53471) 2021-07-27 10:10:05 -07:00
Marc Mueller a1e692798f Use EntityDescription - ebox (#53565) 2021-07-27 19:06:50 +02:00
Johan Smits 9e9165f4ac Bump matrix-client to 0.4.0 (#53508) 2021-07-27 18:30:43 +02:00
Marc Mueller 6847c6dbbc Use EntityDescription - rainbird (#53560)
* Use EntityDescription - rainbird

* Add additional type hints
2021-07-27 18:06:46 +02:00
Allen Porter 022ba31999 Refactor the logic for peeking into the start of the stream (#52699)
* Reset dts validator when container is reset

* Reuse existing dts_validator when disabling audio stream

* Refactor peek logic at the start of a stream

Add a PeekingIterator to support rewinding an iterator so that the code
for adjusting audio streams and start pts can be inlined in the worker.

* Simplification and readability improvements

* Remove unnecessary verbiage from comments and pydoc

* Address pylint errors

* Remove rewind function and just mux the first packet separately

* More cleanup after removing rewind()

* Skip check to self._buffer on every iteration
2021-07-27 08:53:42 -07:00
Franck Nijhof f1eb35b1a5 Use entity descriptions classes in Forecast.Solar (#53553) 2021-07-27 17:45:47 +02:00
Marc Mueller 72a98550b6 Use EntityDescription - epsonworkforce (#53556) 2021-07-27 17:45:25 +02:00
gjong 9f495fd200 Add initial version for the YouLess integration (#41942)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-27 17:42:15 +02:00
Maciej Bieniek ea9d312b45 Use SensorEntityDescription in Brother integration (#53558) 2021-07-27 17:26:47 +02:00
Marc Mueller 0552b9c783 Use EntityDescription - glances (#53559) 2021-07-27 17:24:18 +02:00
jjlawren 214920f486 Ignore Sonos Boost devices during discovery v2 (#53358) 2021-07-27 09:50:46 -05:00
Marc Mueller 268ade6b76 Use EntityDescription - metoffice (#53555) 2021-07-27 16:22:01 +02:00
Milan Meulemans e3df4f8795 Upgrade Rituals Perfume Genie to quality level "silver" (#53550) 2021-07-27 14:46:51 +02:00
Franck Nijhof 27e69037d4 Use entity descriptions classes in DSMR (#53549) 2021-07-27 14:44:58 +02:00
Milan Meulemans b51c666817 Replace ServiceCallType with ServiceCall in lcn services (#53547) 2021-07-27 14:16:01 +02:00
Peter Nijssen e037d3a16f Update spider integration to support HEM (#53397)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-27 12:58:33 +02:00
Robert Svensson 93899e981f UniFi lies about the client being noted, using the real note instead if it exists (#53542) 2021-07-27 12:35:16 +02:00
Milan Meulemans 348d7a5622 Remove incorrect use of ConfigType in config flows (#53544) 2021-07-27 12:33:17 +02:00
Milan Meulemans 0471b27179 Replace HomeAssistantType with HomeAssistant (#53545) 2021-07-27 12:30:56 +02:00
Maciej Bieniek ca020e1f87 Use SensorEntityDescription in Nettigo Air Monitor (#53539) 2021-07-27 12:12:15 +02:00
Maciej Bieniek c0e84a7b32 Use SensorEntityDescription in Airly integration (#53540) 2021-07-27 12:08:31 +02:00
Eric Severance 4506b41022 Use SensorEntityDescription for wemo (#53537) 2021-07-27 12:05:21 +02:00
Aaron Bach f4a7292f08 Enforce strict typing for Tile (#53410) 2021-07-27 11:51:57 +02:00
Milan Meulemans 7103835d15 Enable strict typing for Rituals Perfume Genie (#53543)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-27 11:50:47 +02:00
Jesse Hills 18bf0762b5 Add select entities to ESPHome (#53526)
Co-authored-by: Otto Winter <otto@otto-winter.com>
2021-07-27 11:45:04 +02:00
Aaron Bach a6b34924be Enforce strict typing for RainMachine (#53414) 2021-07-27 10:45:44 +02:00
Aaron Bach 5483ab0cda Enforce strict typing for Flu Near You (#53407) 2021-07-27 10:42:51 +02:00
Matt Zimmerman d7d859fc86 Update nexia to 0.9.11 (#53534) 2021-07-27 10:40:20 +02:00
Eric Severance 7119285201 Clean wemo sensor attributes (#53532)
* Wemo: Use the available property instead of returning unavailable from state property

* Nit: s/_insight_device_key/_insight_params_key

* Use insight_params_key for generating unique_id
2021-07-27 07:18:05 +02:00
Franck Nijhof d4d791e0a1 Ensure Jewish Calendar returns an iso formatted timestamp (#52722) 2021-07-26 20:23:25 -07:00
GitHub Action 2b3148296c [ci skip] Translation update 2021-07-27 00:12:20 +00:00
BreakingBread0 20b66faa6d Add MFA Capability to Tesla Integration (#53245)
* Adds MFA Capability to Tesla Integration

* Add "(Optional)" to MFA Code

* Update homeassistant/components/tesla/translations/de.json

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

* Update en.json

* Revert "Update en.json"

This reverts commit 825685c3a230f54094c10c86d7b82f4c81979064.

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-07-27 01:46:49 +02:00
Marc Mueller 3e08e50050 Use EntityDescription - nws (#53523)
* Use EntityDescription - nws

* Bugfix

* Bugfix 2
2021-07-27 01:46:01 +02:00
Allen Porter 6376b4be5c Increase static type coverage for nest integration (#53475)
Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-27 01:43:52 +02:00
Franck Nijhof d4c4263730 Adjust typing of _attr_extra_state_attributes (#53529) 2021-07-27 01:25:22 +02:00
Milan Meulemans 8ff3b2a2f6 Upgrade pyrituals to 0.0.6 (#53527) 2021-07-27 00:49:55 +02:00
Milan Meulemans b26e65d7e5 Fix Rituals Perfume Genie sensors icons (#53517) 2021-07-27 00:47:06 +02:00
Tobias Sauerwein 31079a05b3 Address late review comments on Netatmo (#53524) 2021-07-27 00:42:36 +02:00
Franck Nijhof 0b44265232 Add description classes to entity components (#53521)
* Add description classes to entity components

* An -> A

* Add StateVacuumEntityDescription
2021-07-27 00:22:21 +02:00
Bram Kragten 7cb3414517 Update frontend to 20210726.0 (#53522) 2021-07-26 23:56:40 +02:00
Oxan van Leeuwen 2127314f9e Fix typo in codeowners (#53520) 2021-07-26 23:33:15 +02:00
Matthias Alphart c1c6c54b45 xknx 0.18.9 (#53519) 2021-07-26 23:18:20 +02:00
Jc2k 1681bbe5a5 Make sure that vocolinc flowerbud humidity sensor is exposed (via homekit_controller) (#53518)
* Make sure that vocolinc flowerbud humidity sensor is exposed

* Was a no-op to request these from humidifier, so remove them

* Fix typo
2021-07-26 16:11:27 -05:00
Franck Nijhof ee452d415d Add SensorEntityDescription class (#53357) 2021-07-26 22:00:43 +02:00
jjlawren 88cffc86bb Add crossfade control support to Sonos (#53228) 2021-07-26 21:58:13 +02:00
Robert Hillis aee48dbcb3 Use entity class attributes for cloud (#53445) 2021-07-26 21:23:32 +02:00
jan iversen cfb0def718 Change integration modbus to use _attr variables (#53511) 2021-07-26 21:20:34 +02:00
Anton Tolchanov 80aaebb761 Rename Prometheus metrics to conform with naming guidelines (#50156) 2021-07-26 20:52:30 +02:00
micha91 f4d65e3751 Musiccast grouping fixes (#52339)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-26 20:48:20 +02:00
Dermot Duffy 23b64cd496 Bump motioneye-client version to v0.3.11 (#53504) 2021-07-26 20:43:22 +02:00
Paulus Schoutsen 962ddf664c Add country code to co2signal state attributes (#53512) 2021-07-26 11:10:39 -07:00
Franck Nijhof f28d8fae2f Mark energy integration as internal (#53513) 2021-07-26 10:21:40 -07:00
Bram Kragten fcc6ea7497 Add energy integration (#52001)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
2021-07-26 09:37:37 -07:00
Raman Gupta 4b189bd8c5 Add zwave_js WS API commands to get statistics (#53393)
* Add zwave_js WS API commands to get statistics

* update function name

* move nested functions to top level functions
2021-07-26 11:59:16 -04:00
Eric Severance a6331d85ed Support energy/power sensors in the WeMo component (#53419) 2021-07-26 08:50:22 -07:00
Jc2k 9a000a1183 Support controlling Flowerbud spray level via homekit_controller (#53493) 2021-07-26 10:46:36 -05:00
Daniel Hjelseth Høyer d58a02a647 Broadlink, remove attr_current_power_w and add sensor (#53342) 2021-07-26 08:42:19 -07:00
Simone Chemelli 37d6824ed4 Increase pool max size for urllib3 in Fritz integration (#53461) 2021-07-26 16:44:58 +02:00
Simone Chemelli 2025afe14b Add MAC to SamsungTV when missing (#53479)
* Add MAC when missing

* Fix I/O

* Add test for missing MAC address
2021-07-26 16:43:05 +02:00
Marc Mueller 46c3495ae0 Update pylint to 2.9.5 (#53496) 2021-07-26 16:17:15 +02:00
Jc2k af8f594939 Address late review of homekit_controller (#53492)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-26 15:32:16 +02:00
broadcasttechie ad730524c8 Reduce min scan interval to 10s for InfluxDB (#53276) 2021-07-26 14:32:42 +02:00
Marc Mueller 882c323551 Update pyupgrade to v2.23.0 (#53495) 2021-07-26 14:21:30 +02:00
Michael ebfdfd172b Add state class measurement to sensors where suitable for Synology DSM (#53468) 2021-07-26 11:42:52 +02:00
Franck Nijhof 01c8114e93 Add WLED playlist support (#53381)
Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>
2021-07-26 11:15:49 +02:00
Joakim Sørensen 3a5347f69e Handle serverTime change (#53490) 2021-07-26 11:01:58 +02:00
Franck Nijhof fbe576e93a Deprecate wled.preset service (#53383) 2021-07-26 11:01:02 +02:00
Otto Winter 51e4f66b82 Fix ESPHome services when .storage cleared (#53488) 2021-07-26 09:33:06 +02:00
J. Nick Koston 25229a9670 Allow zeroconf name change if there is another Home Assistant running on the local network (#53476)
* Allow zeroconf name change if there is another Home Assistant running on the local network

* Remove unused try/except
2021-07-26 09:27:49 +02:00
dependabot[bot] 3b96085716 Bump codecov/codecov-action from 2.0.1 to 2.0.2 (#53487)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.1...v2.0.2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-26 08:44:32 +02:00
jjlawren 550a6f159e Reduce repetitive noise in Sonos debug logs (#53352) 2021-07-26 00:54:38 -05:00
J. Nick Koston c18b626d67 Fix flakey august pubnub test (#53474) 2021-07-25 21:14:38 -07:00
Alexei Chetroi 505dd500cb Bump up ZHA dependencies (#53472)
* Bump up ZHA dependencies

* Fix ZHA WS API tests
2021-07-25 22:09:40 -04:00
GitHub Action c6ee058c0d [ci skip] Translation update 2021-07-26 00:10:23 +00:00
jan iversen 15ec9fbf6c Late review comment in edl21 (#53464)
* Late review comment.

* Review comment.

* pylint.

* Update homeassistant/components/edl21/sensor.py

* Callback typing.

* Complete typing

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-25 18:59:14 -04:00
David Kendall f3ba71748b Feature/google calendar read only support (#52790)
* feat(google): Added support for read only access in google calendar.

By default the current read/write access will be given, but the user has the option to set read only access which stops the add event service from registering

* fix(google): Updated documentation link

* docs(google-calendar): Added style fixes

* feat(calendar-google): Updated scopes to be defined on enum property.

This was done as a MR suggestion to simplify the code.

* feat(calendar-google):Removed constants no longer needed.

* feat(calendar-google): Reduced scope check to minimum.

* style: Fixed style issues
2021-07-25 12:33:21 -07:00
Dermot Duffy 5e6853b9e1 Codereview fixes. (#53452) 2021-07-25 22:23:11 +03:00
G Johansson 5741a59d08 Bugfix package 0.3.4 (#53470) 2021-07-25 22:17:45 +03:00
Aidan Timson d18ca62f60 Bump aioambient to 1.2.4 (#53467) 2021-07-25 12:23:38 -06:00
Dermot Duffy 5189172b80 Pass clientsession. (#53455) 2021-07-25 19:58:50 +02:00
Simone Chemelli 33af2602af Fix wan/device uptime and add state_class to counters for Fritz (#52574)
* Fix wan/device uptime, add state_class to counters

* Rebase + cleanup + adapt to final fritzconnection

* Bump fritzconnection library

* Missing bump
2021-07-25 20:43:31 +03:00
Daniel Hjelseth Høyer ff8affdd04 Address late review of Adax (#53456)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-07-25 12:32:50 +02:00
Aidan Timson c8d2fc1e04 Fix System Bridge unique key for filesystem sensors (#53446) 2021-07-25 12:31:16 +02:00
Robert Hillis 7e59f3160b Use entity class attributes for climacell (#53444) 2021-07-25 02:19:08 -04:00
GitHub Action c1b18f4867 [ci skip] Translation update 2021-07-25 00:12:45 +00:00
Shay Levy 68bf6194e1 Add myself to webOS TV codeowners (#53428) 2021-07-24 21:45:24 +02:00
G Johansson a5eb2ac7b7 Bump yalesmartalarmclient to 0.3.4 (#53431) 2021-07-24 21:13:06 +02:00
G Johansson f0d5ae2fec Add yale_smart_alarm config flow and coordinator (#50850)
* config flow and coordinator

* comply with pylint

* Remove pylint errors

* Update test coverage yale smart alarm

* Update test config_flow

* Fix test already configured

* Second try test already configured

* Fixes config flow and tests

* Conform pylint errors coordinator

* Fix various review remarks

* Correct entity unique id

* Fix unique id and migrate entries

* Remove lock code

* Remove code from test

* Expand code coverage config flow test

* Add more constants

* Add test new requirements

* Minor corrections

* Resolve conflict alarm schema

* Change logger

* Changed from review

* Fix isort error

* Fix flake error

* Ignore mypy errors

* Corrections from PR review no 2

* Corrections from PR review no 3

* Added tests and fix pylint error

* Corrections from PR review no 4

* Corrections from PR review no 5

* Corrections from PR review no 6

* Corrections from PR review no 6_2

* Corrections from PR review no 7

* Corrections from PR review no 8

* Minor last changes for PR

* Update homeassistant/components/yale_smart_alarm/coordinator.py

Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com>
2021-07-24 13:55:43 -04:00
J. Nick Koston 0f15d2bf19 Ensure HomeKit accessories are started again after reset (#53372) 2021-07-24 16:31:30 +02:00
Bram Gerritsen 87e41e807c Add support for Velux light devices (#49338)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-24 15:52:14 +02:00
David Beitey ea1ec91c9c Upgrade open-garage to 0.1.5 (#53412) 2021-07-24 15:49:39 +02:00
Matthias Alphart 993756e90a Test KNX select (#53371)
* test KNX select

* cover everything

* Update tests/components/knx/test_select.py
2021-07-24 15:25:58 +02:00
Aaron Bach 54ace4cdd4 Enforce strict typing for OpenUV (#53409)
* Enforce strict typing for OpenUV

* Linting

* Fix tests
2021-07-24 14:50:01 +02:00
Michael 5c86cc502f Bump to py-synologydsm-api 1.0.3 (#53402) 2021-07-24 14:44:50 +02:00
Bouwe Westerdijk e65283389d Update Plugwise config_flow once more (#53423) 2021-07-24 14:28:33 +02:00
J. Nick Koston 6d493a848c Ensure PyPI packages can still be installed on high latency connections (#53365) 2021-07-24 14:07:10 +02:00
Matthias Alphart 745314b115 Test KNX services (#53367) 2021-07-24 14:03:04 +02:00
Robert Hillis 16e8373fdd Use entity class attributes for advantage_air (#52498)
* Use entity class attributes for advantage_air

* update

* tweak

* tweak

* use update listeners
2021-07-24 13:00:41 +02:00
Jon Caruana 72a3860361 Add transition to LiteJet (#47657) 2021-07-24 12:43:10 +02:00
Samuel Tardieu 0f78004ede Add missing string interpolation (#53422) 2021-07-24 12:13:21 +02:00
Dermot Duffy ffa7962a37 Fix motionEye switch refresh bug (#53413) 2021-07-24 12:12:27 +02:00
Robert Hillis 4b393f215d Use entity class attributes for asuswrt (#52685)
* Use entity class attributes for asuswrt

* fix

* tweak
2021-07-24 11:55:54 +02:00
Jc2k 0db160e372 Handle homekit accessories where the pairing flag is wrong (#53385) 2021-07-23 20:03:44 -10:00
Guido Schmitz bf3a16eed4 Use class attributes in devolo Home Control (#53360) 2021-07-23 21:48:32 -07:00
GitHub Action 7fa8586b17 [ci skip] Translation update 2021-07-24 00:08:57 +00:00
Paulus Schoutsen c49decb7f0 Convert CO2Signal to data update coordinator and add fossil fuel percentage (#53370)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
2021-07-23 14:35:11 -07:00
Robert Svensson d0bef97453 Handle situations where action is part of a deCONZ event but has the value None (#53373)
* Handle situations where action is part of an event but has the value None

* Cover more possible permutations of what a bad action string is
2021-07-23 21:43:00 +02:00
Robert Svensson 0d5e480397 Fix Gira and Jung models not working as deCONZ device triggers (#53394) 2021-07-23 21:18:19 +02:00
Aaron Bach 4b353917f5 Enforce strict typing for Notion (#53355)
* Enforce strict typing for Notion

* Code review
2021-07-23 13:00:02 -06:00
Jc2k 91018d0451 Add support for power data from Koogeek SW2 via homekit_controller (#53378) 2021-07-23 07:37:18 -10:00
Franck Nijhof d8887a97e3 Upgrade debugpy to 1.4.0 (#53284) 2021-07-23 12:57:36 -04:00
Børge Nordli 87165d6133 Support group events for AC switches and binary sensors. Fixes #53065. (#53384)
* Support group events for AC switches and binary sensors. Fixes #53065.

* Review comments
2021-07-23 18:45:31 +02:00
Raman Gupta 952cb964c8 Add new input to zwave_js.multicast_set_value service (#53369)
* Tweak Z-Wave JS service and WS API commands

* Revert WS API change so it can be split out

* Add keywords
2021-07-23 10:35:44 -04:00
Raman Gupta 9ee7e55f10 Send initial status in zwave_js WS API cmds to subscribe to updates (#53386) 2021-07-23 10:34:49 -04:00
Franck Nijhof 0d38ee7378 Upgrade wled to 0.8.0 (#53376) 2021-07-23 14:03:46 +02:00
Michael 42e8a7c842 Move Fritzbox power, energy and temperature switch attributes to sensors (#52562)
* deprecate switch entity properties

* Add last_reset to FritzBoxEnergySensor

* Remove obsolet temperature attribute
2021-07-23 13:06:30 +02:00
Dermot Duffy dee5d8903c Add motionEye switches (#52491) 2021-07-22 23:17:39 -07:00
Robert Hillis 1d44bfcfb6 Use entity class attributes for Cert expiry (#53363)
* Use entity class attributes for cert_expiry

* Use entity class attributes for cert_expiry
2021-07-23 07:54:06 +02:00
Tobias Sauerwein 0b6e1d3d82 Bump version (#53359) 2021-07-22 22:01:24 -04:00
GitHub Action 969be5c539 [ci skip] Translation update 2021-07-23 00:12:05 +00:00
Anders Melchiorsen e85b0ec052 Move Sonos to upstream SoCo (#53351) 2021-07-23 00:40:30 +02:00
J. Nick Koston bfdbb93d2d Bump HAP-python to 3.5.2 (#53362) 2021-07-22 12:06:37 -10:00
Franck Nijhof c875ff8648 Store JSON in database in compact format (#53364)
* Store JSON in database in compact format

* Fix logbook
2021-07-22 12:05:59 -10:00
Robert Hillis 12503d548b Use entity class attributes for canary (#53333)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-22 22:40:32 +02:00
Hans Oischinger 84dc6af760 Update to PyVicare 1.0 (#53281) 2021-07-22 21:56:38 +02:00
Paulus Schoutsen 0b71055989 Do not automatically add title to strings.json (#53350) 2021-07-22 21:11:10 +02:00
Simone Chemelli 75f7d3d696 Replace util.get_local_ip in favor of components.network.async_get_source_ip() - part 1 (#52980) 2021-07-22 08:12:33 -10:00
Tom Harris 3461f61f9f Create APIs for Insteon panel (#49785) 2021-07-22 08:11:36 -10:00
Aaron Bach 032cae772a Bump aionotion to 3.0.2 (#53354) 2021-07-22 12:04:27 -06:00
jjlawren 0707792bec Handle more Sonos snapshot restore scenarios (#53277) 2021-07-22 08:04:02 -10:00
Simone Chemelli b2528e97b6 Making Pytest default for VS code (#53203) 2021-07-22 09:30:54 -07:00
Ian Harcombe 74023fce21 Fix for issue #53031 (#53343)
Logs from issue #53031 show that not only ints are appearing in the values for the forecast data now, so change the check from just for int, to see whether the value has a "value" attribute before dereferencing it.
2021-07-22 09:24:47 -07:00
Guido Schmitz c9c1c62d67 Add state class and last reset to consumption sensor in devolo Home Control (#53337)
* Add state class and last reset

* Use STATE_CLASS_MEASUREMENT
2021-07-22 09:24:06 -07:00
Michael 24e07bc154 Fritzbox enable temp sensor (#52558) 2021-07-22 09:19:39 -07:00
Paulus Schoutsen ccfe32257e Merge pull request #53305 from home-assistant/rc 2021-07-22 09:10:35 -07:00
Franck Nijhof 258162d933 Upgrade wled to 0.7.3 (#53340) 2021-07-22 16:35:19 +02:00
Marc Mueller f778467d63 Use NamedTuple - rainbird (#53329)
* Use NamedTuple - rainbird

* Apply suggestions from code review

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-22 15:29:50 +02:00
Robert Hillis d371ab9deb Use entity class attributes for caldav (#53332) 2021-07-22 14:47:30 +02:00
sillyfrog d3e77e00e1 Add Automate Pulse Hub v2 support (#39501)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Sillyfrog <sillyfrog@users.noreply.github.com>
2021-07-22 14:40:33 +02:00
Sergiy Maysak f009b1442f Switch wirelesstag to use cloud push (#50984) 2021-07-22 13:40:39 +02:00
Guido Schmitz ff781583fc Remove energy attributes from switch platform in devolo Home Control (#53335) 2021-07-22 12:59:39 +02:00
J. Nick Koston 009f34bfed Add a homekit.unpair service to forcefully remove pairings (#53303)
- Sometimes homekit will go unresponsive because a pairing for a specific
  device is missing. To avoid deleting the config entry and recreating
  it, which can be a painful process if there are many bridged entities,
  the homekit.unpair service allows forceful removal of the pairings so
  the accessory can be paired again.
2021-07-22 12:44:36 +02:00
Marc Mueller 80c535f02e Use NamedTuple - rova (#53292)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-22 12:26:50 +02:00
Rami Mosleh 1a450c2084 Speedtestdotnet code cleanup and type hints (#52533) 2021-07-22 12:25:54 +02:00
Marc Mueller 7768f53281 Use NamedTuple - brother (#53330) 2021-07-22 10:36:29 +02:00
Jan Bouwhuis 9753500f5e Disable speeds for first gen Xiaomi_miio air purifiers (#52772)
* Disable speeds for first gen air purifiers

* Remove test code line

* remove OPERATION_MODES_AIRPURIFIER list
2021-07-22 08:57:29 +02:00
Robert Hillis 804499968e Use entity class attributes for Bluesound (#53033)
* Use entity class attributes for bluesound

* rework

* tweak

* tweak
2021-07-22 08:51:14 +02:00
J. Nick Koston 4df928c188 Add support for updating the ISY ip address from discovery (#53290)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-22 08:38:55 +02:00
Paulus Schoutsen ce382a39d0 Block title in strings.json unless internal or allowed (#53304) 2021-07-22 08:37:33 +02:00
Raman Gupta b9a6ce77d1 Bump zwave-js-server-python to 0.28.0 (#53302) 2021-07-22 02:37:10 -04:00
Aaron Bach 1bde914075 Ensure Guardian is strictly typed (#53253) 2021-07-21 23:01:05 -07:00
Paulus Schoutsen d4ef0be6e9 Bumped version to 2021.7.4 2021-07-21 22:55:47 -07:00
J. Nick Koston 464986921e Fix homekit locks not being created from when setup from the UI (#53301) 2021-07-21 22:55:36 -07:00
Steven Looman bffef87103 Upgrade to async-upnp-client==0.19.1 (#53288) 2021-07-21 22:55:35 -07:00
Paulus Schoutsen df72eb7ebb Correctly detect is not home (#53279) 2021-07-21 22:55:34 -07:00
Anders Melchiorsen a0411aab4b Upgrade pysonos to 0.0.53 (#53137) 2021-07-21 22:55:34 -07:00
Ben 5e4f02b0f9 Bump surepy to 0.7.0 (#53123) 2021-07-21 22:55:33 -07:00
J. Nick Koston 255d5a5339 Bump nexia to 0.9.10 to fix asair login (#53122) 2021-07-21 22:55:32 -07:00
Aaron Bach ffe0d72667 Bump simplisafe-python to 11.0.2 (#53121)
* Bump simplisafe-python to 11.0.2

* Fix CI
2021-07-21 22:55:31 -07:00
Robert Svensson f3cb202136 More restrictive state updates of UniFi uptime sensor (#53111)
* More restrictive state updates of uptime sensor

* Remove commented out old version of uptime test
2021-07-21 22:55:30 -07:00
jgriff2 1c05329b5d Fix remote rpi gpio input type (#53108)
* Fix issue #45770 - Change sensor from Button to DigitalInput

* Change references from button to sensor
2021-07-21 22:55:29 -07:00
Eric Severance 8a009f1374 Handle all WeMo ensure_long_press_virtual_device exceptions (#53094)
* Handle all exceptions around the WeMo ensure_long_press_virtual_device method

* Don't use a bare exception

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Log exception

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-21 22:55:29 -07:00
Robert Svensson 6eb2fd7603 Fix groups reporting incorrect supported color modes (#53088) 2021-07-21 22:55:28 -07:00
jan iversen 0e297c288f Allow pymodbus to reconnect in running system (not startup) (#53020)
Allow pymodbus to reconnect (not during startup).
2021-07-21 22:55:27 -07:00
Marc Mueller 560bde94ef Use NamedTuple - epsonworkforce (#53295) 2021-07-21 22:28:02 -07:00
Marc Mueller 551c117717 Use NamedTuple - ondilo_ico (#53296) 2021-07-21 22:27:31 -07:00
Marc Mueller 5c3fb77660 Use NamedTuple - glances (#53297) 2021-07-21 22:27:01 -07:00
Marc Mueller f5480481cd Use NamedTuple - metoffice (#53294) 2021-07-21 22:25:38 -07:00
Marc Mueller d98e580c3c Use NamedTuple - nws (#53293) 2021-07-21 22:24:07 -07:00
J. Nick Koston e78a62c802 Fix homekit locks not being created from when setup from the UI (#53301) 2021-07-21 22:22:06 -07:00
Paulus Schoutsen 596179d180 Avoid dataclass incompat with mock spec (#53298) 2021-07-22 02:12:14 +02:00
GitHub Action ecf0d4398d [ci skip] Translation update 2021-07-22 00:10:31 +00:00
Paulus Schoutsen edf42bab25 Migrate forecast solar to v2 (#53259) 2021-07-21 15:04:30 -07:00
Matthias Alphart 9f14b2cef5 Test KNX switch (#53289) 2021-07-21 15:04:14 -07:00
Paulus Schoutsen 86752516ee Add WS API to access solar forecast data (#53264)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-21 23:48:21 +02:00
Tobias Sauerwein 583deada83 Add type annotations for Netatmo (#52811) 2021-07-21 14:36:57 -07:00
J. Nick Koston 84c482441d Use None instead of STATE_UNKNOWN in template lock (#53286) 2021-07-21 14:29:41 -07:00
Steven Looman 34b1ab5f5c Upgrade to async-upnp-client==0.19.1 (#53288) 2021-07-21 14:29:27 -07:00
Franck Nijhof cfd69de5a7 Upgrade PyNaCl to 1.4.0 (#53287) 2021-07-21 14:28:22 -07:00
RenierM26 f3d95501d9 Add refresh after turning switch on or off and type annotations to ezviz (#52469) 2021-07-21 23:15:47 +02:00
Aaron Bach 8d9345c407 Add missing type annotations to Airvisual (#52615) 2021-07-21 22:18:08 +02:00
cnico 6636e5b737 Flipr integration (#46582)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: cnico <>
2021-07-21 21:35:44 +02:00
Robert Hillis 3eb3c2824c Refactor goalzero (#53282) 2021-07-21 20:52:17 +02:00
Marc Mueller fd2f15b7c7 Add new unit constants (#53258)
* Add new unit constant - MHz

* Add new unit constants - precipitation (in, in/h)
2021-07-21 12:14:47 -06:00
Paulus Schoutsen ba00c786b0 Correctly detect is not home (#53279) 2021-07-21 19:45:07 +02:00
jan iversen 217c625c9b Convert ebox to use NamedTuple (#53272)
* Convert to use NamedTuple.

* Convert to NamedTuple.

* Use _attr variables.

* Review comments.
2021-07-21 19:43:33 +02:00
jan iversen aed7cb9120 Convert skybell to use NamedTuple (#53269)
* Convert to NamedTuple.

* Second version.

* Use names instead of index.

* Review comments.

* Add meta variable.

* Review comment.

* Review comments.
2021-07-21 19:42:30 +02:00
Robert Hillis a1df3519db Use entity class attributes for Bsblan (#53165) 2021-07-21 19:37:12 +02:00
Simone Chemelli db1a8e9336 Fix similar network names for Fritz (#53278) 2021-07-21 19:31:51 +02:00
Marc Mueller 2d48d273a7 Fix incorrect unit (#53274) 2021-07-21 10:12:32 -07:00
Maciej Bieniek 772cbd59d7 Improve typing in Shelly integration (#52544) 2021-07-21 10:11:44 -07:00
Michael f128bc9ef8 Add reauth flow to Synology DSM (#53204) 2021-07-21 09:16:27 -07:00
Robert Hillis 800f7fe3a5 Use entity class attributes for Broadlink (#53058)
* Clanup broadlink

* rework

* tweak

* fix using wrong attribute

* tweak

* revert device info
2021-07-21 15:27:52 +02:00
Robert Hillis 0803b2aecd Use entity class attributes for arest (#52678) 2021-07-21 14:32:42 +02:00
Robert Hillis 668437741a Use entity class attributes for Bmw connected drive (#53054)
* Use entity class attributes for bmw_connected_driv

* forgot the icon
2021-07-21 14:09:54 +02:00
Robert Hillis 7fef87691a Use entity class attributes for airvisual (#52503)
* Use entity class attributes for airvisual

* fix

* rework

* tweaks

* finish

* remove overriden available attribute

* rework
2021-07-21 14:07:26 +02:00
Robert Hillis 462db1b4b2 Add config flow to nfandroidtv (#51280)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-21 13:31:54 +02:00
Robert Hillis 02a7a2464a Use entity class attributes for atag (#52686) 2021-07-21 11:33:44 +02:00
Robert Hillis 81c4d95afe Use entity class attributes for arduino (#52677)
* Use entity class attributes for arduino

* Revert state

* tweak

* tweak
2021-07-21 11:31:50 +02:00
Daniel Hjelseth Høyer e9ce3c57cd Adax heaters (#50998)
Co-authored-by: G Johansson <62932417+gjohansson-ST@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-21 10:25:46 +02:00
muppet3000 18ec0544b9 Allow for alternative external Growatt servers (#53102) 2021-07-21 10:16:02 +02:00
Franck Nijhof 4546e14674 Fix MQTT to allow setting an unknown Select state (#53227) 2021-07-21 10:02:07 +02:00
Daniel Hjelseth Høyer 9b2d98f027 Tibber, use nameclass (#53242) 2021-07-21 08:56:29 +02:00
Paulus Schoutsen 5e059c7f55 Fix lint on dev (#53265) 2021-07-21 08:55:34 +02:00
Robert Hillis 930db7167e Code quality improvements for goalzero (#53260) 2021-07-21 08:53:53 +02:00
Daniel Hjelseth Høyer 2cf930f3bd Netatmo, use nameclass (#53247) 2021-07-21 08:46:01 +02:00
jan iversen 7306503756 Calculate count automatically in modbus platforms (#53116) 2021-07-20 22:49:54 -07:00
jan iversen 2e2b340b1e Set modbus entity to non-available unless scan_interval=0 (#53155) 2021-07-20 22:48:02 -07:00
Daniel Hjelseth Høyer 8a72e8df79 Convert Mill consumption attributes to sensors (#52311) 2021-07-20 22:41:08 -07:00
Raman Gupta 90765132cc Make additional input for zwave_js device triggers optional (#53134) 2021-07-20 22:08:08 -07:00
Joakim Plate 8a7cb389ed Drop support for fan speeds and support reverse (#53105) 2021-07-20 22:07:15 -07:00
J. Nick Koston fe89603ee7 Update homekit lock to support locking, unlocking, jammed (#52819) 2021-07-20 21:55:19 -07:00
J. Nick Koston 564a505486 Update homekit controller lock to support locking, unlocking, jammed (#52821) 2021-07-20 23:55:04 -05:00
J. Nick Koston ee242764a1 Update template lock to support locking, unlocking, jammed (#52817) 2021-07-20 21:50:21 -07:00
J. Nick Koston 5d85983b09 Update google assistant locks to support locking, unlocking, jammed (#52820) 2021-07-20 23:49:05 -05:00
J. Nick Koston bfe3ef0980 Update august to support locking, unlocking, jammed (#52814) 2021-07-20 21:48:15 -07:00
J. Nick Koston 0ce071e0a4 Bump httpx to 0.18.2 (#53257) 2021-07-20 21:47:13 -07:00
J. Nick Koston f20602e11d Auto recreate HomeKit TVs when the sources are out of sync (#53208) 2021-07-20 21:46:39 -07:00
J. Nick Koston 2a65c5f93c Recreate HomeKit accessories when calling the reset_accessory service (#53199) 2021-07-20 21:45:21 -07:00
J. Nick Koston 4d122fc366 Update alexa lock to support locking, unlocking, jammed (#52841) 2021-07-20 23:21:05 -05:00
jan iversen 8f61efe714 Correct typing in edl21 and activate mypy. (#53188) 2021-07-20 21:53:56 -05:00
Aaron Bach 56efee4603 Ensure Ambient PWS is strictly typed (#53251)
* Ensure Ambient PWS is strictly typed

* Fix typing
2021-07-20 21:52:05 -05:00
Nathan Spencer 9d3bc0632f Bump pylitterbot to 2021.7.2 (#53254)
* Bump pylitterbot to 2021.7.1

* Bump pylitterbot dependency to 2021.7.2 which unpins Authlib and httpx dependencies
2021-07-20 15:47:37 -10:00
Steven Looman 72bc748081 Avoid supplemental discovery of ignored upnp entry (#53250) 2021-07-20 15:46:33 -10:00
GitHub Action 9d93f8b6d1 [ci skip] Translation update 2021-07-21 00:11:58 +00:00
Brett 6ee82e1031 Advantage Air add zone temperature sensors (#51941)
* Create AdvantageAirZoneTemp

* Disable by default

* Add test coverage

* add state_class

* Use entity class attributes

* Match code style of PR #52498
2021-07-20 19:38:50 -04:00
Aaron Bach 0fd88e7e66 Type _attr_extra_state_attributes as a MutableMapping (#52616)
* Type extra_state_attributes as a MutableMapping

* Update homeassistant/helpers/entity.py

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>

* Update homeassistant/helpers/entity.py

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
2021-07-20 15:41:03 -06:00
jtitley 0b8b45818d Update BlinkStick to 1.2.0 (#52244)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-20 22:57:47 +02:00
Robert Hillis a9b9c4f13c Add extra state attributes to goalzero (#52932)
* Add extra state attributes to goalzero

* tweak
2021-07-20 22:26:52 +02:00
Franck Nijhof 059a9bc8ed Fix modbus setting string as temperature in climate platform (#53249) 2021-07-20 22:03:10 +02:00
web-dc 034251f006 Update requirement of homematicip_cloud component to v1.0.1 (#51407)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Sascha Schiegg <s.schiegg@s-schiegg.com>
2021-07-20 20:28:43 +02:00
PeteRager 5ccbac5ff6 Fix alert infinite loop on repeat interval of 0 (#52628)
* #4851 - Infinite loop on repeat interval of 0

Notification will enter an infinite loop when the repeat interval is specified as zero and it is the last repeat configured.  When this occurs avoid the infinite loop and log a warning message.  Note: I encountered this issue when routing SMS to Twilio and quickly sent thousands of text messages.

* Update __init__.py

* Remove runtime check since configuration input is now blocked

* Tweak comment

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-20 20:23:22 +02:00
jjlawren a2fbc4218d Cleanup regroup handling in Sonos (#53241)
Check event before creating coroutine
Remove unnecessary regrouping dispatcher
Update typing to reflect actual behavior
Add optimizations for polling mode
2021-07-20 20:21:48 +02:00
jan iversen 8c43e5c736 Correct set_temperature in modbus climate (#52923) 2021-07-20 20:19:26 +02:00
Daniel Hjelseth Høyer a14bde8187 Melcloud use NamedTuple (#53234)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2021-07-20 20:18:09 +02:00
Marc Mueller 6be30b0289 Use unit constants (#53244)
* Powerwall - use POWER_KILO_WATT constant

* Use constants firtz sensor
2021-07-20 20:08:39 +02:00
Daniel Hjelseth Høyer a05392fbf2 Tibber, remove yaml support (#53235) 2021-07-20 20:07:06 +02:00
Marc Mueller 074d762664 Rename and reorganize electric unit constants (#53243) 2021-07-20 20:06:23 +02:00
Raman Gupta 6e88428f95 Fix typing for climacell dataclass (#53240) 2021-07-20 19:31:55 +02:00
Daniel Hjelseth Høyer 165e1917ea Address late review of Ambiclimate, code clean up (#53231)
* Ambiclimate, code clean up

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/ambiclimate/climate.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Update homeassistant/components/ambiclimate/climate.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Update homeassistant/components/ambiclimate/config_flow.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Update homeassistant/components/ambiclimate/climate.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* import

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-20 18:57:40 +02:00
Paulus Schoutsen 1ed7b00b71 Add last reset and state class to rainforest eagle (#52951) 2021-07-20 18:39:14 +02:00
Simone Chemelli 1746103e0e Add friendly name to Fritz profile switches (#53190) 2021-07-20 18:38:16 +02:00
jan iversen 193d1b945b Add typing in dynalite and activate mypy (#53238)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-20 18:28:31 +02:00
J. Nick Koston 9b705ad6df Update lock entity to support locking, unlocking, jammed (#51455) 2021-07-20 18:12:56 +02:00
Daniel Hjelseth Høyer 0cc4231ac2 Tibber use dataclass (#53233)
* Tibber, use dataclass

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Tibber, use dataclass

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-07-20 17:57:35 +02:00
Daniel Hjelseth Høyer 2b9b346a28 Address late review of Co2 signal (#53232) 2021-07-20 17:52:22 +02:00
Allen Porter 1fe2d0f9c8 Address style issues in nest typing (#53236)
* Add additional types for config flow

Fixing style errors introduced by partial typing in pr #53214

* Address typing style errors

Make all functions fully typed, follow up to pr #53214
2021-07-20 17:41:48 +02:00
jan iversen f819be7acc Correct typing in Insteon and activate mypy (#53222) 2021-07-20 17:26:00 +02:00
Marc Mueller c578541a82 Add new electrical unit constants (mV + mA) (#53158) 2021-07-20 15:57:11 +02:00
Robert Hillis 08f03c95d2 Use entity class attributes for Brunt (#53164) 2021-07-20 14:18:09 +02:00
Marc Mueller a56485a8c5 Revert new unit types (#53226) 2021-07-20 14:13:51 +02:00
Franck Nijhof b4a50f5459 Add unique ID support to light, cover and media player groups (#53225) 2021-07-20 13:56:23 +02:00
jan iversen 51dd95ce35 Review comments on earlier merge. (#53221) 2021-07-20 13:00:07 +02:00
Daniel Hjelseth Høyer d17776af87 Tibber, accumulated reward (#53195)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-07-20 12:28:50 +02:00
Robert Hillis 79a418f1bc Use entity class attributes for Brottsplatskartan (#53163) 2021-07-20 12:20:56 +02:00
Marc Mueller 5d2ce19746 Update python-typing-update to v0.3.5 (#53223)
* Update python-typing-update to 0.3.5

* Update typing
2021-07-20 11:31:48 +02:00
Robert Hillis cd37c2492b Use entity class attributes for acer_projector (#52432)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2021-07-20 11:13:59 +02:00
Raman Gupta 05fa220703 Add support for options in zwave_js.set_value service (#53212) 2021-07-20 10:31:12 +02:00
jan iversen e7ccd1a549 Correct typing and activate mypy. (#53217) 2021-07-20 10:53:24 +03:00
Eric Severance ab36ac7a94 Handle all WeMo ensure_long_press_virtual_device exceptions (#53094)
* Handle all exceptions around the WeMo ensure_long_press_virtual_device method

* Don't use a bare exception

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Log exception

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-20 09:20:47 +02:00
dependabot[bot] e453871c68 Bump codecov/codecov-action from 1.5.2 to 2.0.1 (#53216)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1.5.2 to 2.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.5.2...v2.0.1)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-20 09:37:36 +03:00
Alexei Chetroi c9ae141eab Mark ZHA Light methods as a callbacks (#53170)
* ZHA Light.set_level is safe to run in the loop

* Fix tests.
2021-07-20 09:33:45 +03:00
Kyle Niewiada 7659197154 Increase interval to stop Connection reset by peer (#53202) 2021-07-20 08:15:11 +02:00
Allen Porter c2a2f50316 mypy cleanup for homeassistant.components.nest (#53214) 2021-07-20 07:59:31 +02:00
jan iversen 78a8ba99f9 Upgrade modbus to quality level "silver". (#53186) 2021-07-19 23:57:28 -05:00
jan iversen 19a282255b Remove duplicate functions in modbus climate/sensor. (#53141)
Convert all data types correctly for climate.
2021-07-19 23:52:58 -05:00
Simone Chemelli 18bc2f95c8 Small log addition for samsungtv (#53206) 2021-07-19 23:41:30 -05:00
Matthias Alphart e8d7952880 Refactor KNX tests (#53183)
* refactor tests for KNX

- implement KNXTestKit class for convenient setup and assertion of KNX telegrams
- add fixture returning an instance of KNXTestKit with automatic cleanup test

* add tests for expose default attribute

- fix expose edge case not covered by #53046

* use asyncio.Queue instead of AsyncMock.call_args_list

for better readability

* get xknx from Mock instead of hass.data

* fix type annotations

* add injection methods for incoming telegrams

* rest read-response in expose
2021-07-19 23:39:19 -05:00
Daniel Hjelseth Høyer f0b28c90bf Co2signal configflow (#53193)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-07-19 21:30:00 -07:00
Raman Gupta 562aa74c77 Switch to dataclass from dictionary for climacell sensor definitions (#53168)
* Switch to dataclass from dictionary for climacell sensor definitions

* fix post_init

* fix dataclass and add test

* Update homeassistant/components/climacell/sensor.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Update homeassistant/components/climacell/const.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* simplify logic

* use tuple

* simplify unit of measurement and use class attributes

* Switch from UnitT to str

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2021-07-20 00:22:41 -04:00
Marc Mueller 7711ac901c Fix issues after pylint update (#53205) 2021-07-19 20:22:13 -07:00
GitHub Action ac9e4cb2f2 [ci skip] Translation update 2021-07-20 00:11:11 +00:00
RDFurman 450fdc91e4 Add honeywell config flow (#50731)
* Upgrade honeywell from platform to integration

* Add codeowner and run code formatter

* Add sensors for current indoor temp and humidity

* Fix tests and away temp

* Spring cleaning of honeywell tests

* Add config flow to honeywell integration

* Add config flow test

* Tie in honeywell service update

* Simplify config flow and add import

* Remove unnecessary platform schema

* Clean up based on PR comments

* Use new helper method

* Force single device and fix linter errors

* Address PR feedback

* Update translations

* Change string key and remove logger message

* Always add first device

* Fix test assertion

* Put PLATFORM_SCHEMA back

* Skip code coverage check on honeywell init

* add some tests for honeywell

* Make retry async

* Make device private

* Use _attr_ instead of properties

* Code cleanup from PR feedback

* Fix test and cleanup code

* Make description better

Co-authored-by: Matt Zimmerman <mdz@alcor.net>
2021-07-19 09:44:02 -10:00
Robert Hillis f5b3118d3c Use entity class attributes for buienradar (#53166) 2021-07-19 21:22:20 +02:00
Robert Hillis 8527179c0e Use entity class attributes for bme280 (#53035)
* Use entity class attributes for bme280

* add back device class oops

* tweak
2021-07-19 22:19:36 +03:00
Michael 1b478ba02e Remove yaml support from Synology DSM (#53197) 2021-07-19 19:39:32 +02:00
jan iversen d4589894fe Correct typing in bsblan and activate mypy (#53153) 2021-07-19 19:30:52 +02:00
Franck Nijhof 3d40fdf2c6 Upgrade holidays to 0.11.2 (#53191) 2021-07-19 19:01:19 +02:00
Franck Nijhof 8743a03f14 Upgrade numpy to 1.21.1 (#53194) 2021-07-19 19:00:37 +02:00
jjlawren 225732d00e Remove I/O in Plex tests (#53196) 2021-07-19 18:50:04 +02:00
Franck Nijhof dd8ec04e58 Upgrade black to 21.7b0 (#53192) 2021-07-19 18:03:02 +02:00
Robert Hillis 3c6f0d11a6 Use entity class attributes for Citybikes (#53167)
* Use entity class attributes for citybikes

* tweak
2021-07-19 18:02:09 +02:00
Aaron Bach bf4ca2d68d Modify AirVisual states to be translatable (#53133)
* Modify AirVisual states to be translatable

* Make constant names consistent
2021-07-19 18:01:36 +02:00
jan iversen 0865917eeb Activate mypy in aurora (#53150) 2021-07-19 17:59:41 +02:00
Robert Hillis 019568869d Use entity class attributes for avea (#52695)
* Use entity class attributes for avea

* fix pylint

* redo brightness

* redo brightness
2021-07-19 17:50:26 +02:00
jan iversen 0b60b86917 Correct typing in azure_devops and activate mypy (#53152)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2021-07-19 17:45:03 +02:00
Clifford Roche 327208c943 Bugfix current temperature in gree climate (#53149)
* Bugfix current temperature gree climate

* Retry build

* Update from the review
2021-07-19 17:07:15 +02:00
Marc Mueller f6b162bc39 Add pylint CodeStyle extension (#53147) 2021-07-19 06:57:06 -07:00
Marc Mueller c35b5a1c64 Add sound pressure unit constants (dB + dBa) (#53159) 2021-07-19 06:54:38 -07:00
Shay Levy ea6e325762 Add Switcher config flow discovery support (#52316) 2021-07-19 06:28:40 -07:00
jan iversen 51d16202ab Correct typing in control4 and activate mypy (#53156)
* Correct typing and activate mypy.

* Review comments.:wq
2021-07-19 14:14:09 +02:00
jan iversen 0802dd4293 Activate mypy for eafm (#53184) 2021-07-19 13:05:13 +02:00
jan iversen 78ef02f4d9 Allow pymodbus to reconnect in running system (not startup) (#53020)
Allow pymodbus to reconnect (not during startup).
2021-07-19 13:01:50 +02:00
J. Nick Koston 12b29e2895 Bump zeroconf to 0.33.1 (#53179) 2021-07-19 12:10:32 +02:00
J. Nick Koston 671e838085 Execute scripts from HomeKit (#53106) 2021-07-19 12:07:12 +02:00
Robert Hillis 7b27725ec1 Cleanup redundant coveragerc entries (#53171) 2021-07-19 12:00:38 +02:00
J. Nick Koston f51cb110d3 Run pyupgrade on homekit config_flow (#53180)
- The original PR was run though the CI before the new pyupgrade
2021-07-18 23:33:08 -10:00
Arto Jantunen bf0b19b05e Add CO2 and efficiency sensors to Vallox (#48923)
* Add Vallox efficiency sensor

* Add Vallox CO2 sensor

* Use the CO2 device class for the Vallox CO2 sensor
2021-07-19 10:56:26 +02:00
Robert Svensson d12110556f More restrictive state updates of UniFi uptime sensor (#53111)
* More restrictive state updates of uptime sensor

* Remove commented out old version of uptime test
2021-07-19 10:54:31 +02:00
Allen Porter 3cff15ae2f Bump google-nest-sdm to 0.3.0 (#53172)
The primary update is to have additional static type checking with mypy
2021-07-19 10:50:22 +02:00
Ville Skyttä 470f2dd73f Upgrade pyupgrade to 2.21.2, apply its changes (#52987) 2021-07-19 10:46:09 +02:00
Robert Svensson c96f01df1f Fix groups reporting incorrect supported color modes (#53088) 2021-07-19 10:32:21 +02:00
J. Nick Koston bf831267cf Bump zeroconf to 0.33.0 (#53174)
- Changelog: https://github.com/jstasiak/python-zeroconf/compare/0.32.1...0.33.0
2021-07-19 10:22:12 +02:00
jan iversen 235f4476e8 Please mypy. (#53142) 2021-07-19 08:29:26 +02:00
J. Nick Koston f24576b08d Show the name of the domain in HomeKit when selecting to include (#53169) 2021-07-18 17:55:56 -10:00
Brett eeb01e638a Add _attr_state_class (#52815) 2021-07-18 20:03:46 -05:00
Robert Hillis 6b97a5ba8e Fix hisense_aehw4a1 test exclusion (#53084)
* Fix hisense_aehw4a1 test coverage

* add back __init__

* remove from hassfest

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2021-07-18 19:17:36 -05:00
GitHub Action 531733da7b [ci skip] Translation update 2021-07-19 00:09:50 +00:00
Roman Shtylman cb6f9878c4 Update pylutron-caseta to 0.11.0 (#53160) 2021-07-18 13:07:38 -10:00
Robert Hillis c5fe01a466 Use entity class attributes for blinkt (#52893)
* Use entity class attributes for blinkt

* tweak

* tweak

* remove redundant properties
2021-07-18 17:21:40 -04:00
Robert Hillis 73976d2a26 Use entity class attributes for Blink (#52891)
* Use entity class attributes for blink

* rework

* revert extra state attributes
2021-07-18 17:21:12 -04:00
Robert Hillis 0cf95bb0c2 Use entity class attributes for arwn (#52683) 2021-07-18 17:19:25 -04:00
jgriff2 bacb6c6b14 Fix remote rpi gpio input type (#53108)
* Fix issue #45770 - Change sensor from Button to DigitalInput

* Change references from button to sensor
2021-07-18 17:13:13 -04:00
Aaron Bach a8ea214f2e Bump simplisafe-python to 11.0.2 (#53121)
* Bump simplisafe-python to 11.0.2

* Fix CI
2021-07-18 17:12:05 -04:00
J. Nick Koston 236738c455 Add support for tilt only covers to HomeKit (#53130) 2021-07-18 10:17:58 -10:00
Robert Hillis cb1eab6c24 Use entity class attributes for bosch_shc (#53057) 2021-07-18 15:10:42 -05:00
Robert Hillis 284e13464d Fix home plus control coverage (#53087)
* Fix home_plus_control test coverage

* add back api, switch
2021-07-18 14:56:54 -05:00
Robert Hillis fe22d5a675 Fix home_connect test coverage (#53086)
* Fix home_connect test coverage

* remove from hassfest exclusions
2021-07-18 14:54:43 -05:00
Clifford Roche 56d66434b3 Bump greeclimate to 0.11.8 (#53148) 2021-07-18 14:51:02 -05:00
J. Nick Koston 0804959f11 Bump nexia to 0.9.10 to fix asair login (#53122) 2021-07-18 09:37:34 -10:00
J. Nick Koston 6c05e2746d Improve error message when HomeKit does not support an entity (#53129) 2021-07-18 09:27:25 -10:00
Anders Melchiorsen 61056afe0d Upgrade pysonos to 0.0.53 (#53137) 2021-07-18 19:00:02 +02:00
Marc Mueller 71a8ae3016 Add new unit types for better type checking (#53124)
* Add new unit types
* Update helper functions
* Update components
* Update lcn climate
2021-07-18 14:43:47 +02:00
Ben 78f4a49b73 Bump surepy to 0.7.0 (#53123) 2021-07-18 08:49:07 +02:00
Clifford Roche b63e38f538 Add more Gree switches (#49629)
* Support additional switch for gree devices

* Undo some changes not related to review

* Retry build

* Back to Gree 0.11.7
2021-07-18 08:24:09 +02:00
GitHub Action 8f3166a955 [ci skip] Translation update 2021-07-18 00:10:14 +00:00
Brett 7fe3f78c24 Bump library version for Advantage Air (#52813)
* Bump library version

* Bump version to 0.2.5

* Add tests to cover this edge case
2021-07-17 14:45:29 +03:00
kpine 24cc5c8a0a Replace local Barrier CC constants with library enums (#53109) 2021-07-17 02:54:11 -04:00
GitHub Action e6e1118dd4 [ci skip] Translation update 2021-07-17 00:09:24 +00:00
jjlawren 0277a645f1 Log source of discovery in Sonos (#53101) 2021-07-16 11:12:01 -10:00
Robert Hillis 4fceac00b1 Use entity class attributes for Bond (#53055) 2021-07-16 11:06:18 -10:00
Simone Chemelli b13119884c Fix units for Fritz network sensors (#53026) 2021-07-16 11:01:00 -07:00
Bouwe Westerdijk 669883d416 Update Plugwise Config Flow (#47563)
Co-authored-by: Tom Scholten <git@scholten.nu>
2021-07-16 06:46:23 -10:00
p4p3r 9d79c4f617 Add On/Off as target values for zwave_js cover stop action (#52881)
* Add On/Off as target values for stop cover

Certain ZWave Cover devices use On/Off instead of the more common
Open/Close and Up/Down targets for movement.
Adding On/Off to the targets used to stop the cover during movement.
Fixes issue #51963

* Add test for updated zwave_js stop cover logic
2021-07-16 15:48:35 +02:00
stefano055415 6672962f2b Add fan support to Freedompro (#52724)
* Update Freedompro

* Update Freedompro fix async_turn_on

* fix test end fix comments

* add property is_on

* add percent to fan freedompro

* fix name rotationSpeed to rotation_speed

* fix code SUPPORT_SET_SPEED
2021-07-16 15:14:37 +02:00
Aaron David Schneider 3d3db4b044 Replace fritz profile switches by per device parental control switches (#52721)
* removes old profile switches and add new switches based on new method

* use Ellipsis instead of pass

* refactor async_add_profile_switches

* - add forgotten update_ha_state
- add notimplemtederror for devicebase

* Update homeassistant/components/fritz/common.py

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

* Update homeassistant/components/fritz/common.py

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

* comments

* fix for devices that were not connected

* Update homeassistant/components/fritz/common.py

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

* Update homeassistant/components/fritz/switch.py

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-07-16 13:38:37 +02:00
Robert Hillis 7d52c30e36 Revert "Fix google test coverage (#53060)" (#53085)
This reverts commit 4075e83732.
2021-07-16 07:13:34 -04:00
stefano055415 1a1fcb94f9 Add cover support to Freedompro (#52723)
* Update Freedompro

* add new test and fix code

* fix test and add support open and close
2021-07-16 11:56:05 +02:00
Hmmbob 31074ef6b8 Update name from "generic" to "generic camera" (#53080) 2021-07-16 11:46:47 +02:00
Guido Schmitz 268c7ef768 Rewrite mocking in devolo Home Control tests (#53011)
* Rework mocking

* Instantiate properties
2021-07-16 11:40:08 +02:00
Franck Nijhof bcab1414f8 Merge pull request #53076 from home-assistant/rc
2021.7.3
2021-07-16 10:28:42 +02:00
Franck Nijhof ae40ba6a74 Bumped version to 2021.7.3 2021-07-16 09:46:32 +02:00
Erik Montnemery 1295daa10e Add light white parameter to light/services.yaml (#53075) 2021-07-16 09:45:54 +02:00
Vincent Le Bourlot a6ad08f5b6 Increase polling interval to prevent reaching daily limit (#53066)
* increase polling interval to prevent reaching daily limit

* update test accordingly
2021-07-16 09:45:50 +02:00
Paulus Schoutsen c5070da20e Expose Spotify as a service (#53063) 2021-07-16 09:45:46 +02:00
da-anda 2da660b76e Fix knx expose feature not correctly falling back to default value (#53046) 2021-07-16 09:45:43 +02:00
Eduard van Valkenburg acf705a958 Another SIA fix for timestamp not present. (#53045) 2021-07-16 09:45:40 +02:00
Daniel Hjelseth Høyer 4802157146 Co2signal, set SCAN_INTERVAL (#53023)
* limit co2signal, wip

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* limit co2signal

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* limit co2signal

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-07-16 09:45:36 +02:00
Eduard van Valkenburg c90fa90faf fix for timestamp not present in SIA (#53015) 2021-07-16 09:45:33 +02:00
Andre Lengwenus 762f5a5d18 Bump pypck to 0.7.10 (#53013) 2021-07-16 09:45:29 +02:00
Peter Nijssen 3050d9350a Update pyrainbird to 0.4.3 (#52990) 2021-07-16 09:45:25 +02:00
René Klomp 4e2042b63d Bump pysma to 0.6.4 (#52973) 2021-07-16 09:45:22 +02:00
Tom Harris 4ddfaf41ee Fix issue connecting to Insteon Hub v2 (#52970) 2021-07-16 09:45:17 +02:00
jjlawren f17ed626bb More graceful exception handling in Plex library sensors (#52969) 2021-07-16 09:44:37 +02:00
Ron Klinkien cea22a9d5e Bump python-fireservicerota to 0.0.43 (#52966) 2021-07-16 09:42:13 +02:00
J. Nick Koston ddf563c247 Add OUIs for legacy samsungtv (#52928) 2021-07-16 09:40:58 +02:00
J. Nick Koston d2e82edb58 Handle dhcp packets without a hostname (#52882)
* Handle dhcp packets without a hostname

- Since some integrations only match on OUI we want to
  make sure they still see devices that do not request
  a specific hostname

* Update tests/components/dhcp/test_init.py

* Update homeassistant/components/dhcp/__init__.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-16 09:37:22 +02:00
Doug Hoffman 47b5866d85 Bump pyatv to 0.8.1 (#52849)
* Bump pyatv to 0.8.1

* Update apple_tv tests for new create_session location

* Update test_user_adds_unusable_device to try device with no services

pyatv >=0.8.0 considers AirPlay a valid service and no longer fails under the previous conditions.
2021-07-16 09:37:19 +02:00
jan iversen 1d67e66538 only allow one active call in each platform. (#52823) 2021-07-16 09:37:15 +02:00
jan iversen 29fb5e0cb2 copy() --> deepcopy(). (#52794) 2021-07-16 09:37:12 +02:00
puddly 8bd73709a7 Update ZHA to support zigpy 0.34.0 device initialization (#52610)
* Handle `None` node descriptors

* Skip loading uninitialized devices

* Fix unit test incorrectly handling unset cluster `ep_attribute`

* Revert filtering devices by status during startup
2021-07-16 09:37:07 +02:00
Erik Montnemery c6e1f8878d Add light white parameter to light/services.yaml (#53075) 2021-07-16 09:03:28 +02:00
René Klomp da7b292855 Use Utility Meter configured name as friendly name (#53051) 2021-07-15 20:58:32 -07:00
Robert Hillis 4075e83732 Fix google test coverage (#53060) 2021-07-15 20:56:57 -07:00
GitHub Action 62a2efaf27 [ci skip] Translation update 2021-07-16 00:10:34 +00:00
Vincent Le Bourlot cf647c5d20 Increase polling interval to prevent reaching daily limit (#53066)
* increase polling interval to prevent reaching daily limit

* update test accordingly
2021-07-15 17:24:54 -04:00
Paulus Schoutsen 989839a1a9 Generate const files for config flow scaffolds (#53064) 2021-07-15 19:57:06 +02:00
Paulus Schoutsen d30ed05f30 Expose Spotify as a service (#53063) 2021-07-15 10:27:18 -07:00
Robert Hillis c7b61fd8ce Use entity class attributes for androidtv (#52531)
* Use entity class attributes for androidtv

* fix

* fix pylint

* fix
2021-07-15 15:35:42 +02:00
Robert Hillis 35cab74be6 Use entity class attributes for Bloomsky (#53030)
Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>
2021-07-15 15:29:12 +02:00
Robert Hillis 00741d4273 Use entity class attributes for agent_dvr (#52501)
* Use entity class attributes for agent_dvr

* Apply suggestions from code review

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* rework

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
2021-07-15 14:57:51 +02:00
J. Nick Koston 19b4d2e4d2 Add OUIs for legacy samsungtv (#52928) 2021-07-15 14:43:35 +02:00
da-anda 6fe38eadf2 Fix knx expose feature not correctly falling back to default value (#53046) 2021-07-15 14:41:04 +02:00
Joakim Sørensen 519efd2723 Handle missing peername (#53052)
* Handle missing peername

* Add test
2021-07-15 14:16:30 +02:00
Robert Hillis 6c476b5c1e Use entity class attributes for Bmp280 (#53036) 2021-07-15 12:35:47 +02:00
Jan Bouwhuis c9eab10134 Add MQTT humidifier platform integration (#52828)
* New mqtt humidifier platform

* Add humidifier platform

* Leave out humidity step

* Use humidity in constant for payload reset

* change TARGET_HUMIDITY_RESET payload name

* _attr_max_humidity not assigned correctly

* _target_humidity_range has a zero base

* align CONF_TARGET_HUMIDITY_MIN and MAX  with model

* shorter topics for humidity_range

* Converts float to int from template

* new humidifier abbreviations

* Add common module to support tests

* Add tests

* Addtional testing

* Always require target_humidity_command_topic

* Typo

* use available_modes to align entity model

* use avail_modes not modes to avoid conflict

* typo target_humidity_value_template

* Allign modes and templates with climate platform

* mode_state_template

* target_humidity_state_template

* Typo in platform name

* Remove humidity_range feature and common lib

* Update homeassistant/components/mqtt/humidifier.py

Use vol.In, not regex

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* black

* Update homeassistant/components/mqtt/humidifier.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Use round to convert float to target humidity

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-07-15 11:12:23 +02:00
Robert Hillis 8ce4d647c3 Use entity class attributes for arcam_fmj (#52675)
* Use entity class attributes for arcam_fmj

* fix
2021-07-15 10:19:18 +02:00
Robert Hillis eee3aa3b6f Use entity class attributes for bme680 (#53037)
* Use entity class attributes for bme680

* fix
2021-07-15 10:00:47 +02:00
stefano055415 a057fd93bb Add lock support Freedompro (#52725)
* change _attr_unique_id to unique_id and resolve conflict

* add test state updates from the API

* optimizer code test

* fix test

* fix comments and add test device registry
2021-07-15 09:31:50 +02:00
Eduard van Valkenburg f07d64c813 Another SIA fix for timestamp not present. (#53045) 2021-07-15 09:31:17 +02:00
Robert Hillis 5ff9c3e611 Clean up freedompro (#52992) 2021-07-15 09:27:31 +02:00
dependabot[bot] 82256b2588 Bump actions/stale from 3.0.19 to 4 (#53042)
Bumps [actions/stale](https://github.com/actions/stale) from 3.0.19 to 4.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v3.0.19...v4)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-15 09:43:07 +03:00
Franck Nijhof a5cdc0157b Remove deprecated YAML configuration from Buienradar (#52939) 2021-07-15 08:31:17 +02:00
Tom Brien db97fd3d5b Support user-defined base currency for Coinbase exchange rate sensors (#52879) 2021-07-14 21:50:23 -07:00
Daniel Hjelseth Høyer f152369944 Use entity class attributes for Co2signal (#53032) 2021-07-14 21:47:24 -07:00
Daniel Hjelseth Høyer fbad453c89 Pylint 2.9.3 (#52972)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2021-07-14 21:44:57 -07:00
GitHub Action db8db18b54 [ci skip] Translation update 2021-07-15 00:09:25 +00:00
Raman Gupta dd908caeba Add zwave_js device triggers (#51968)
* Initial support for zwave_js device triggers

* lint

* Add node status changed trigger

* comments

* create helper function and simplify trigger logic

* simplify code

* fix exception

* remove unused type ignore

* switch to append to make future changes easier

* make exception consistent

* Add state config schema validation

* comment

* remove 0 from falsy check

* increase test coverage

* typos

* Add central scene and scene activation value notification triggers

* reorder things for readability and enumerate node statuses

* Add support for Basic CC value notifications

* fix schemas since additional fields on triggers aren't very flexible

* pylint

* remove extra logger statement

* fix comment

* dont use get when we know key will be available in dict

* tweak text

* use better schema for required extra fields that are ints

* rename trigger types to make them easier to parse

* fix strings

* missed renaming of one trigger type

* typo

* Fix strings

* reduce complexity

* Use Al's suggestion for strings

* add additional failure test cases

* remove errant logging statement

* make CC required

* raise vol.Invalid when value ID isn't legit to prepare for next PR

* Use helper function

* fix tests

* black
2021-07-14 14:14:36 -04:00
Raman Gupta 4d711898c7 Add missing test coverage for sirens (#53014) 2021-07-14 20:04:04 +02:00
Eduard van Valkenburg 7e16d38fc8 fix for timestamp not present in SIA (#53015) 2021-07-14 20:01:16 +02:00
Andre Lengwenus 49d109a969 Bump pypck to 0.7.10 (#53013) 2021-07-14 19:59:11 +02:00
Daniel Hjelseth Høyer 2740e56fd4 Co2signal, set SCAN_INTERVAL (#53023)
* limit co2signal, wip

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* limit co2signal

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* limit co2signal

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-07-14 19:58:02 +02:00
Raman Gupta 1f15181522 Add support for Z-Wave JS siren (#52948)
* Add support for Z-Wave JS siren

* Add additional device class to discovery

* fix docstring

* Remove device class specific part of discovery schema

* rename test

* switch to entry.async_on_remove

* Fix logic based on #52971

* Use constants to unblock PR

* Add support to set volume level

* Update homeassistant/components/zwave_js/siren.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-14 10:14:13 -04:00
Erik Montnemery e541bcd54d Update statistics meta data on entity_id change (#52755) 2021-07-14 13:23:11 +02:00
Franck Nijhof 8c36f5c627 Deprecate Lyft integration (#53005) 2021-07-14 12:07:00 +02:00
Erik Montnemery ddc788bf8e Include future statistics in history/list_statistic_ids (#52942)
* Include future statistics in history/list_statistic_ids

* Improve tests
2021-07-14 11:54:55 +02:00
J. Nick Koston 30d465e9dd Update homekit to use network integration (#52946) 2021-07-14 11:44:58 +02:00
jan iversen c360d6009c copy() --> deepcopy(). (#52794) 2021-07-14 11:00:16 +02:00
Franck Nijhof 2c3f3d7bda Remove defunct Weather Underground integration (#52999) 2021-07-14 10:55:06 +02:00
Franck Nijhof 03dd2e326c Remove flume for allowed ignore coverage violations (#53001) 2021-07-14 10:54:52 +02:00
Doug Hoffman 88fb30af11 Bump pyatv to 0.8.1 (#52849)
* Bump pyatv to 0.8.1

* Update apple_tv tests for new create_session location

* Update test_user_adds_unusable_device to try device with no services

pyatv >=0.8.0 considers AirPlay a valid service and no longer fails under the previous conditions.
2021-07-14 10:45:47 +02:00
Raman Gupta f13a15f2a6 Make zwave_js value updated event logic more performant (#52997) 2021-07-14 08:56:10 +02:00
GitHub Action 7b7062dded [ci skip] Translation update 2021-07-14 00:10:16 +00:00
Peter Nijssen 9cd6a9626e Update pyrainbird to 0.4.3 (#52990) 2021-07-13 18:10:23 -04:00
Robert Hillis d76607e945 Use entity class attributes for august (#52744) 2021-07-13 09:56:34 -10:00
jan iversen 12ac666459 only allow one active call in each platform. (#52823) 2021-07-13 21:45:42 +02:00
Erik Montnemery 19d3aa71ad Enable basic type checking for recorder (#52440)
* Enable basic type checking for recorder

* Tweak
2021-07-13 21:21:45 +02:00
Tom Harris 960684346f Fix issue connecting to Insteon Hub v2 (#52970) 2021-07-13 20:27:04 +02:00
jjlawren f39f087b10 More graceful exception handling in Plex library sensors (#52969) 2021-07-13 20:22:31 +02:00
Ron Klinkien ff56ede960 Bump python-fireservicerota to 0.0.43 (#52966) 2021-07-13 20:21:50 +02:00
Raman Gupta 794571efdd Add missing device classes for climacell sensors (#52979) 2021-07-13 20:13:56 +02:00
Robert Hillis 7f0eff8230 Use entity class attributes for Blackbird (#52889)
* Use entity class attributes for blackbird

* rework

* undo media_title
2021-07-13 20:08:22 +02:00
Robert Hillis 2b65501ca7 Use entity class attributes for aquostv (#52670)
* Use entity class attributes for aquostv

* fix

* fix

* Tweak

* tweak
2021-07-13 20:06:41 +02:00
Raman Gupta 026ca4e4e4 Additional fixes for siren platform (#52971) 2021-07-13 10:56:41 -07:00
Erik Montnemery 777fec62a5 Set device class for climacell temperature sensors (#52965) 2021-07-13 13:35:55 -04:00
René Klomp 23b0633ae2 Bump pysma to 0.6.4 (#52973) 2021-07-13 19:33:53 +02:00
Robert Hillis 3d419d1e8a Fix flume converagerc (#52975) 2021-07-13 19:32:55 +02:00
puddly 987c7a289a Update ZHA to support zigpy 0.34.0 device initialization (#52610)
* Handle `None` node descriptors

* Skip loading uninitialized devices

* Fix unit test incorrectly handling unset cluster `ep_attribute`

* Revert filtering devices by status during startup
2021-07-13 19:31:17 +02:00
stefano055415 7aaa08f153 Add binary_sensor support to Freedompro (#52717)
* Update Freedompro

* change _attr_unique_id with unique_id
2021-07-13 18:37:09 +02:00
Robert Hillis 55b0d562ce Use entity class attributes for automation (#52694)
* Use entity class attributes for automation

* tweak
2021-07-13 15:01:43 +02:00
Erik Montnemery e563dc0d7b Set device_class on additional temperature sensors (#52960)
* Set device_class on additional temperature sensors

* Apply suggestions from code review

Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>

* Set device class for greeneye_monitor sensor

* Set device class for bme280 and bme680 sensor

Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>
2021-07-13 14:20:47 +02:00
stefano055415 96f6e0e4a4 Add sensor support to Freedompro (#52726)
* Update Freedompro

* Update tests/components/freedompro/test_sensor.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* add new test for sensor and add unit_of measurement and state_class

* add test state updates from the API

* optimizer code test

* optimizer code sensor

* Update homeassistant/components/freedompro/sensor.py

* Fix imports

* Update homeassistant/components/freedompro/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/freedompro/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/freedompro/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-13 13:59:34 +02:00
Shulyaka e9948100a7 Add generic hygrostat integration (#36759)
* generic_hygrostat: new integration
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: jan Iversen <jancasacondor@gmail.com>
2021-07-13 13:25:29 +02:00
Erik Montnemery 3408912ded Improve docstring for async_get_device_class_lookup (#52921) 2021-07-13 10:55:18 +02:00
Raman Gupta 30def802fc Validate tone is valid when processing siren.turn_on service call (#52953)
* Validate tone is valid when processing siren.turn_on service call

* Better message
2021-07-13 10:42:35 +02:00
Lincoln Kirchoff ac39607ae9 Fix modbus climate precision configuration variable (#52651)
* Updated precision to follow the tenths, halves, whole notation used by
other home assistant climate modules. Added the precision @property so
that home assistant can handle this rounding in the frontend, rather
than in the _async_read_register() method.

* Fixed a pylinter error for periods in user-facing log messages, and
updated `precision` defaults in components/modbus/__init__.py to be
consistent with an error case, using `PRECISION_WHOLE`.

* revert changes to `precision:` configuration variable
instead, the climate `precision()` function will infer whether or not
to display in whole or tenths. halves will be unsupported, which should
be fine.

* re-added missing line that was removed

* revert change to use self._input_type instead of CALL_TYPE_REGISTER_HOLDING
2021-07-13 10:36:54 +02:00
Erik Montnemery c5556a091e Return empty when listing statistic_ids for unsupported statistic (#52954) 2021-07-13 10:35:55 +02:00
Raman Gupta 9cbf88d944 Switch to using entry.async_on_remove (#52952) 2021-07-13 10:31:49 +02:00
J. Nick Koston a021d7d628 Expose async_get_source_ip in the network integration (#52901)
* Expose async_get_source_ip in the network integration

* Handle source ip on disabled interface

* add coverage
2021-07-13 10:26:00 +02:00
stefano055415 d09035db2a Add switch support to Freedompro (#52727)
* Update Freedompro

* add test state updates from the API

* fix test switch

* fix test
2021-07-13 09:41:52 +02:00
Erik Montnemery b49fb1f657 Minor test coverage improvement of mfi and zwave sensors (#52935) 2021-07-13 08:38:31 +02:00
Raman Gupta 4a058503ca Change behavior of Z-Wave JS services (#52941)
* Change behavior of Z-Wave JS services

* pop parameters in for loop

* Update logger message
2021-07-13 01:02:36 -04:00
Raman Gupta e915f5be53 Handle FailedCommand exceptions in zwave_js WS API (#52461)
* Handle zwave-js errors in WS API

* Unsubscribe callbacks when zwave-js error is caught

* fix tests

* simplify unsub logic

* add tests

* add kwargs to be safe

* use existing msg format

* switch to generic failed command handling

* remove unneeded constant

* Update homeassistant/components/zwave_js/api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* fix

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-13 00:13:43 -04:00
Raman Gupta 92e4013f73 Fix siren turn on parameter filtering (#52947)
* Fix siren turn on parameter filtering

* fix test
2021-07-12 22:18:04 -04:00
GitHub Action 6723942bf8 [ci skip] Translation update 2021-07-13 00:13:03 +00:00
Tobias Sauerwein 4afede9e08 Add schedule selector for Netatmo (#52909)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-07-12 15:27:48 -07:00
Robert Hillis fe5abf1a87 Use entity class attributes for aqualogic (#52668) 2021-07-13 00:22:50 +02:00
Ville Skyttä 9864f2ef8b String formatting cleanups (#52937) 2021-07-13 00:12:55 +02:00
Paulus Schoutsen f4359f98b3 Merge pull request #52936 from home-assistant/rc 2021-07-12 14:38:48 -07:00
jjlawren 2970931d8d Use entity class attributes for Plex (#52617) 2021-07-12 23:01:58 +02:00
Paulus Schoutsen e095b9a1b9 Bumped version to 2021.7.2 2021-07-12 13:57:47 -07:00
jjlawren 86589b401b Bump pysonos to 0.0.52 (#52934) 2021-07-12 13:57:22 -07:00
J. Nick Koston 0b04e0d5da Fix recorder purge with sqlite3 < 3.32.0 (#52929) 2021-07-12 13:57:21 -07:00
Tom Harris 3301783c57 Bump pyinsteon to 1.0.11 (#52927) 2021-07-12 13:57:20 -07:00
Daniel Hjelseth Høyer fd848911a6 Surepetcare, fix set_lock_state (#52912)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-07-12 13:57:20 -07:00
Raman Gupta ed200ee4fd Bump zwave-js-server-python to 0.27.1 (#52885) 2021-07-12 13:57:19 -07:00
Robert Svensson 2a5b447bfd Prefer using xy over hs when supported by light (#52883) 2021-07-12 13:57:18 -07:00
Joakim Sørensen d1eadd28b2 Bump pyhaversion to 21.7.0 (#52880) 2021-07-12 13:57:17 -07:00
J. Nick Koston 725a021c2e Bump aiohomekit to 0.5.1 to solve performance regression (#52878)
- Changelog: https://github.com/Jc2k/aiohomekit/compare/0.5.0...0.5.1

- Note that #52759 will need to be cherry-picked under this commit
2021-07-12 13:57:17 -07:00
Joakim Plate 279c34f606 Update arcam lib to 0.7.0 (#52829) 2021-07-12 13:57:16 -07:00
Alexei Chetroi 4e82659f3a Bump up ZHA depdencies (#52818) 2021-07-12 13:57:15 -07:00
Ron Klinkien 320ca40124 Bump python-fireservicerota to 0.0.42 (#52807) 2021-07-12 13:57:15 -07:00
J. Nick Koston 798f3eada2 Add the Trane brand to nexia (#52805) 2021-07-12 13:57:14 -07:00
Simone Chemelli 473f109428 Fix Neato parameter for token refresh (#52785)
* Fix param

* cleanup
2021-07-12 13:57:13 -07:00
Otto Winter f7c65e7c8b Fix ESPHome Camera not merging image packets (#52783) 2021-07-12 13:57:12 -07:00
Brandon Rothweiler df3c8586b5 Upgrade pymazda to 0.2.0 (#52775) 2021-07-12 13:57:12 -07:00
Robert Svensson ce20ca7bb6 Bump dependency to properly handle current and voltage not being reported on some zhapower endpoints (#52764) 2021-07-12 13:57:11 -07:00
J. Nick Koston 87d4544531 Send ssdp requests to ipv4 broadcast as well (#52760)
* Send ssdp requests to 255.255.255.255 as well

- This matches pysonos behavior and may fix reports of
  inability to discover some sonos devices
  https://github.com/amelchio/pysonos/blob/master/pysonos/discovery.py#L120

* Update homeassistant/components/ssdp/__init__.py
2021-07-12 13:57:10 -07:00
Jc2k 763f8ac6a8 Support certain homekit devices that emit invalid JSON (#52759) 2021-07-12 13:57:10 -07:00
J. Nick Koston 8af63cd9a0 Fix nexia thermostats humidify without dehumidify support (#52758) 2021-07-12 13:57:09 -07:00
Jc2k f4fa0d7789 Fix homebridge devices becoming unavailable frequently (#52753)
Update to aiohomekit 0.4.3 and make sure service type UUID is normalised before comparison

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-07-12 13:57:08 -07:00
apaperclip 757388cc31 Remove scale calculation for climacell cloud cover (#52752) 2021-07-12 13:57:07 -07:00
J. Nick Koston edf517681c Add zeroconf discovery to Sonos (#52655) 2021-07-12 13:57:07 -07:00
jjlawren f447adc5b6 Ignore Sonos Boost devices during discovery (#52845) 2021-07-12 13:56:36 -07:00
Otto Winter 4d16cda957 ESPHome enable static type checking (#52348) 2021-07-12 22:56:10 +02:00
Robert Hillis 9b2107b71f Use entity class attributes for Blebox (#52890)
* Use entity class attributes for blebox

* rework

* Apply suggestions from code review

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-12 22:52:38 +02:00
jjlawren ab5fd70988 Bump pysonos to 0.0.52 (#52934) 2021-07-12 13:50:51 -07:00
Robert Hillis 7ef4bd53ec Use entity class attributes for Blockchain (#52894)
* Use entity class attributes for blockchain

* rework

* tweak
2021-07-12 22:49:38 +02:00
Robert Hillis adb5fd5a03 Use entity class attributes for bbox (#52838)
* Use entity class attributes for bbox

* tweak
2021-07-12 22:47:58 +02:00
Erik Montnemery 9b8a776001 Set device_class on temperature sensors A-E (#49524)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-12 22:45:29 +02:00
J. Nick Koston 0099b54489 Fix recorder purge with sqlite3 < 3.32.0 (#52929) 2021-07-12 22:03:13 +02:00
J. Nick Koston e6ea9f4708 Fix nexia thermostats humidify without dehumidify support (#52758) 2021-07-12 21:39:51 +02:00
bwduncan ee52706f03 Poll Nissan servers for battery updates (#44826) 2021-07-12 08:57:08 -10:00
Erik Montnemery d1f3c20079 Set device_class on temperature sensors L-Q (#52919) 2021-07-12 20:41:45 +02:00
Milan Meulemans 0a3aab935a Use properties instead of raw data in the rituals integration (#52587) 2021-07-12 20:40:16 +02:00
Erik Montnemery 3e09787d85 Set device_class on temperature sensors F-K (#52918)
* Set device_class on temperature sensors F-K

* Fix juicenet sensor
2021-07-12 20:32:55 +02:00
jan iversen 646862ec96 Add array write to turn_on/off in modbus switch/fan/light (#52582) 2021-07-12 11:22:53 -07:00
Ron Klinkien 8f8935c859 Bump python-fireservicerota to 0.0.42 (#52807) 2021-07-12 11:21:10 -07:00
Erik Montnemery 5e472f2c06 Improve typing of Tasmota (1/3) (#52746) 2021-07-12 20:14:03 +02:00
jan iversen 5caf170c78 Correct Wrong "raise" in modbus validators. (#52924) 2021-07-12 11:06:31 -07:00
Franck Nijhof 5c200581b6 Upgrade sentry-sdk to 1.3.0 (#52926) 2021-07-12 20:03:40 +02:00
Tom Harris ec8f11f1e3 Bump pyinsteon to 1.0.11 (#52927) 2021-07-12 20:02:56 +02:00
Erik Montnemery 2e44e256f0 Improve typing of Tasmota (3/3) (#52748) 2021-07-12 19:17:44 +02:00
Erik Montnemery 1a74fd7a14 Set device_class on temperature sensors R-Z (#52920) 2021-07-12 18:53:52 +02:00
Robert Hillis ad0ccc1b70 Use entity class attributes for apple_tv (#52664)
* Use entity class attributes for apple_tv

* fix pylint

* tweak
2021-07-12 18:29:34 +02:00
Erik Montnemery 8c812bc25c Improve typing of Tasmota (2/3) (#52747)
* Improve typing of Tasmota (2/3)

* Add more typing, add TasmotaOnOffEntity

* Address review comments
2021-07-12 18:27:11 +02:00
J. Nick Koston 98109caee9 Add zeroconf discovery to Sonos (#52655) 2021-07-12 18:24:12 +02:00
J. Nick Koston 6a5dcf0869 Handle dhcp packets without a hostname (#52882)
* Handle dhcp packets without a hostname

- Since some integrations only match on OUI we want to
  make sure they still see devices that do not request
  a specific hostname

* Update tests/components/dhcp/test_init.py

* Update homeassistant/components/dhcp/__init__.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-12 17:25:16 +02:00
Tobias Sauerwein 40549d9d2f Add some type hints for webhook component (#52895)
* Add some type hints

* Fix type hint

* Address comment

* Make pylint happy
2021-07-12 17:24:56 +02:00
jjlawren 2b6a3716e8 Ignore Sonos Boost devices during discovery (#52845) 2021-07-12 17:09:45 +02:00
Tom Brien 9308fa28e7 Improve testing of option flow in Coinbase (#52870) 2021-07-12 16:46:54 +02:00
J. Nick Koston 0f6a0f6bcd Add the Trane brand to nexia (#52805) 2021-07-12 16:30:54 +02:00
J. Nick Koston a810c1ff08 Bump aiohomekit to 0.5.1 to solve performance regression (#52878)
- Changelog: https://github.com/Jc2k/aiohomekit/compare/0.5.0...0.5.1

- Note that #52759 will need to be cherry-picked under this commit
2021-07-12 16:13:07 +02:00
Robert Hillis 11edbcabc8 Use entity class attributes for Bitcoin (#52887)
* Use entity class attributes for bitcoin

* rework

* fix

* tweak
2021-07-12 16:03:27 +02:00
Daniel Hjelseth Høyer 900eab5a68 Surepetcare, fix set_lock_state (#52912)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-07-12 15:57:26 +02:00
dependabot[bot] 96e78631fc Bump dessant/lock-threads from 2.0.3 to 2.1.1 (#52899)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-12 11:44:35 +02:00
Robert Hillis 01afd141c6 Use entity class attributes for Bizkaibus (#52888) 2021-07-12 10:37:14 +02:00
Marc Mueller 5d2e5d2612 Import Protocol from typing (#52848) 2021-07-12 10:35:17 +02:00
Robert Hillis a1d6e12c45 Use entity class attributes for Bh1750 (#52886)
* Use entity class attributes for bh1750

* rework
2021-07-12 10:20:15 +02:00
Robert Hillis 12555d09d6 Use entity class attributes for Blinksticklight (#52892)
* Use entity class attributes for blinksticklight

* rework

* remove self._serial
2021-07-12 09:48:42 +02:00
Simone Chemelli 13c142a402 Fix Soundbar exclusion from SamsungTV (#51023)
* Improved check

* Fix tests

* Fix logic and tests

* Update tests
2021-07-12 08:58:53 +02:00
Robert Svensson fd6b5ed072 Prefer using xy over hs when supported by light (#52883) 2021-07-12 08:17:50 +02:00
jan iversen 2ecfd74fa4 Add more data_types to modbus (#52423)
* Add more data_types.

* Use new struct when writing temperature.
2021-07-12 07:58:45 +02:00
Ville Skyttä 91a2b96da0 Implement stable unique id for Huawei LTE, requires credentials on setup (#49878) 2021-07-11 21:25:00 -07:00
Raman Gupta e652ef51a1 Initial support for zwave_js device conditions (#52003) 2021-07-11 21:22:33 -07:00
GitHub Action 2ddaf746e6 [ci skip] Translation update 2021-07-12 00:09:46 +00:00
Leszek Swirski e556722281 Add device classes to homematicip_cloud cover (#52793)
Make HMIP covers report a SHUTTER/BLIND/GARAGE device_class (as
appropriate).
2021-07-11 18:51:28 -04:00
J. Nick Koston 574cb03acc Send ssdp requests to ipv4 broadcast as well (#52760)
* Send ssdp requests to 255.255.255.255 as well

- This matches pysonos behavior and may fix reports of
  inability to discover some sonos devices
  https://github.com/amelchio/pysonos/blob/master/pysonos/discovery.py#L120

* Update homeassistant/components/ssdp/__init__.py
2021-07-11 17:03:48 -04:00
Raman Gupta 0f076610fd Add siren platform (#48309)
* Add siren platform

* add more supported flags and an ability to set siren duration

* tone can be int or string

* fix typing

* fix typehinting

* fix typehints

* implement a proposed approach based on discussion

* Address comments

* fix tests

* Small fix

* Update homeassistant/components/demo/siren.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/demo/siren.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/demo/siren.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/demo/siren.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/demo/siren.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* typing

* use class attributes

* fix naming

* remove device from service description

* Filter out params from turn on service

* fix tests

* fix bugs and tests

* add test

* Combine is_on test with turn on/off/toggle service tests

* Update homeassistant/components/siren/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* fix filtering of turn_on attributes

* none check

* remove services and attributes for volume level, default duration, and default tone

* Update homeassistant/components/siren/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/siren/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/siren/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* import final

* Update homeassistant/components/siren/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Fix typing and used TypedDict for service parameters

* remove is_on function

* remove class name redundancy

* remove extra service descriptions

* switch to positive_int

* fix schema for tone

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-11 16:51:11 -04:00
EddyK69 11d7efb785 Add AllTrips sensors for BMW Connected Drive (#50420)
* Add AllTrips sensors for BMW Connected Drive

Added several new AllTrips sensors and some optional extra AllTrips sensors (disabled by default)

* Fix for failed checks

* Fix for failed check (black)

* Code tidying

Changed code after useful comments ;)
2021-07-11 16:47:32 -04:00
Robert Hillis c865a1876e Use entity class attributes for arlo (#52681)
* Use entity class attributes for arlo

* revert sensor
2021-07-11 16:45:05 -04:00
Robert Hillis 9b577e830d Use entity class attributes for azure_devops (#52698) 2021-07-11 16:42:52 -04:00
Robert Hillis 5849a97150 Use entity class attributes for Beewi smartclim (#52839)
* Use entity class attributes for beewi_smartclim

* rework
2021-07-11 16:41:14 -04:00
Robert Hillis 77c68cb507 Use entity class attributes for bayesian (#52831) 2021-07-11 16:37:41 -04:00
Robert Hillis d01227f141 Use entity class attributes for bbb_gpio (#52837) 2021-07-11 16:35:36 -04:00
Joakim Sørensen d7b2ec80b2 Bump pyhaversion to 21.7.0 (#52880) 2021-07-11 16:33:03 -04:00
Raman Gupta f234da6379 Bump zwave-js-server-python to 0.27.1 (#52885) 2021-07-11 16:27:46 -04:00
Paulus Schoutsen 2317b7343f Rename preview task to run (#52857) 2021-07-11 07:14:50 -07:00
GitHub Action b484969b09 [ci skip] Translation update 2021-07-11 00:09:40 +00:00
Marc Mueller b5cec353cc Fix pylint issue with stream component c-extension (#52847)
* Rename 'extension-pkg-whitelist' setting to 'extension-pkg-allow-list'
* Add 'av.stream' and 'av.audio.stream'
* Replace 'Any' type hint
2021-07-10 22:58:37 +02:00
Joakim Plate dd648f5c9c Update arcam lib to 0.7.0 (#52829) 2021-07-10 22:31:42 +02:00
Alexei Chetroi fb7b202251 Bump up ZHA depdencies (#52818) 2021-07-09 22:37:56 -04:00
GitHub Action b347226820 [ci skip] Translation update 2021-07-10 00:09:24 +00:00
Simone Chemelli bbff9622a7 Fix Neato parameter for token refresh (#52785)
* Fix param

* cleanup
2021-07-09 13:12:51 -04:00
Chris 92ab471f7b Add transition support to zwave_js lights (#52160)
* Add transition support to zwave_js lights

* Add transition support to color_switch lights

* simplify and add tests

* fix logic

* add check for color transition to add SUPPORT_TRANSITON supported features

* Use new metadata property

* Use new metadata property

* update tests and device state dump json files

* fix file perms

* update tests and fixtures with new metadata

* update test

* update test

* update tests for color transitions

* check for color tansitions as well

* more tests

* fix color transtions

* remove unneed default

* set add_to_watched_value_ids to false

* set transition default

* properly set default

* update tests

* make sure transition is an int

* suggested changes

* Update homeassistant/components/zwave_js/light.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/light.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/light.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/light.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zwave_js/light.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* formatting

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-07-09 12:15:20 -04:00
stefano055415 1e6229dd7b Add device info to Freedompro (#52715)
* Update Freedompro

* Update homeassistant/components/freedompro/light.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-09 16:36:13 +02:00
Robert Svensson 2787dc9e97 Bump dependency to properly handle current and voltage not being reported on some zhapower endpoints (#52764) 2021-07-09 11:54:40 +02:00
Jc2k 7e2ef8f0c7 Support certain homekit devices that emit invalid JSON (#52759) 2021-07-09 11:51:46 +02:00
Otto Winter 07e2a7245f Fix ESPHome Camera not merging image packets (#52783) 2021-07-09 11:38:38 +02:00
Brandon Rothweiler 2eb531b8c8 Upgrade pymazda to 0.2.0 (#52775) 2021-07-09 07:55:26 +02:00
GitHub Action f7e4db512f [ci skip] Translation update 2021-07-09 00:09:30 +00:00
Jc2k 5b257d2be8 Fix homebridge devices becoming unavailable frequently (#52753)
Update to aiohomekit 0.4.3 and make sure service type UUID is normalised before comparison

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-07-08 17:26:25 +01:00
apaperclip 49181d6ba8 Remove scale calculation for climacell cloud cover (#52752) 2021-07-08 12:10:05 -04:00
Franck Nijhof 27c6fe4376 Merge pull request #52745 from home-assistant/rc
2021.7.1
2021-07-08 16:40:16 +02:00
Franck Nijhof 5b2164b3a2 Bumped version to 2021.7.1 2021-07-08 15:25:03 +02:00
Jesse Hills 594584645d Esphome fix camera image (#52738) 2021-07-08 15:24:37 +02:00
Tom Matheussen 15976555eb Fix KNX Fan features (#52732)
* Fan entity should return support features

* Revert "Fan entity should return support features"

This reverts commit 3ad0e87708fbf1847aaa26e3bc76fcac365a1640.

* Restore supported_features for KNX fan
2021-07-08 15:24:33 +02:00
jan iversen 3b5c6039bb Add check for _client existence in modbus (#52719) 2021-07-08 15:24:28 +02:00
Jon Gilmore a4c563106d Bump pylutron to 0.2.8 fixing python 3.9 incompatibility (#52702) 2021-07-08 15:24:23 +02:00
Eric Severance 578ba6b065 pyWeMo version bump (0.6.5) (#52701) 2021-07-08 15:24:19 +02:00
Aaron Bach 5666e8b155 Bump simplisafe-python to 11.0.1 (#52684) 2021-07-08 15:24:14 +02:00
uvjustin 286c068f6f Move recorder.py import to runtime (#52682) 2021-07-08 15:24:10 +02:00
Stefan Agner 2038fb04b1 Fix precipitation calculation for hourly forecast (#52676)
It seems that hourly forecast have precipitation in 3h blocks.
2021-07-08 15:24:06 +02:00
avee87 9f40141907 Use iso-formatted times in MetOffice weather forecast (#52672)
* Fixed raw datetime in MetOffice weather forecast

* Use datetime in sensor attribute
2021-07-08 15:24:02 +02:00
Franck Nijhof 57f6a96e31 Ensure Forecast.Solar returns an iso formatted timestamp (#52669) 2021-07-08 15:23:58 +02:00
jjlawren ef309a7c12 Ignore unused keys from Sonos device properties callback (#52660)
* Ignore known but unused keys from device callback

* Fix bug, add test
2021-07-08 15:23:54 +02:00
jjlawren b9827a5b2e Warn if interface_addr remains in Sonos configuration (#52652) 2021-07-08 15:23:50 +02:00
Joakim Sørensen 8173dd06fe Handle KeyError when accessing device information (#52650) 2021-07-08 15:23:46 +02:00
Simone Chemelli 84be418bf1 Fix Fritz default consider home value (#52648) 2021-07-08 15:23:42 +02:00
Anaïs Betts 5185fa75d3 Fix service registration typo in Nuki integration (#52631) 2021-07-08 15:23:38 +02:00
Jon Gilmore eb735b6162 Bump pylutron to 0.2.8 fixing python 3.9 incompatibility (#52702) 2021-07-08 15:18:08 +02:00
Robert Hillis 922ef3f2f3 Use entity class attributes for aurora (#52690)
* Use entity class attributes for aurora

* fix
2021-07-08 15:06:00 +02:00
Tom Matheussen 293690e3d8 Fix KNX Fan features (#52732)
* Fan entity should return support features

* Revert "Fan entity should return support features"

This reverts commit 3ad0e87708fbf1847aaa26e3bc76fcac365a1640.

* Restore supported_features for KNX fan
2021-07-08 15:05:43 +02:00
Niels Mündler f069fbdb25 Upgrade Fronius dependency to 0.5.3 (#52737)
supports more values of new Gen24 type of fronius device
2021-07-08 14:45:34 +02:00
Jesse Hills 94e15b3eea Esphome fix camera image (#52738) 2021-07-08 14:44:49 +02:00
jan iversen fe1f7ba316 Add check for _client existence in modbus (#52719) 2021-07-08 11:58:51 +02:00
jjlawren 578c897161 Ignore unused keys from Sonos device properties callback (#52660)
* Ignore known but unused keys from device callback

* Fix bug, add test
2021-07-08 11:56:50 +02:00
Robert Hillis 1c11b247e4 Use entity class attributes for apcupsd (#52662) 2021-07-08 11:55:26 +02:00
Robert Hillis 7d0751df8a Use entity class attributes for anthemav (#52602) 2021-07-08 11:42:07 +02:00
Stefan Agner 1dd4ba5fcd Fix precipitation calculation for hourly forecast (#52676)
It seems that hourly forecast have precipitation in 3h blocks.
2021-07-08 11:39:56 +02:00
Andre Lengwenus abca7deadb Hint for str type instead of explicitly casting to str (#52712) 2021-07-08 10:42:27 +02:00
Franck Nijhof 62c7e5408b Ensure Forecast.Solar returns an iso formatted timestamp (#52669) 2021-07-08 10:09:30 +02:00
avee87 5ff7c7708d Use iso-formatted times in MetOffice weather forecast (#52672)
* Fixed raw datetime in MetOffice weather forecast

* Use datetime in sensor attribute
2021-07-08 10:01:06 +02:00
Robert Hillis c4d8d1dc8e Use entity class attributes for Aten pe (#52687)
* Use entity class attributes for aten_pe

* Use entity class attributes for atag
2021-07-08 10:39:53 +03:00
Tobias Sauerwein cb0a7589ce Use class properties in netatmo (#52705) 2021-07-08 09:30:54 +02:00
Robert Hillis 71b14b51b4 Use entity class attributes for aurora_abb_power (#52692) 2021-07-08 09:22:54 +02:00
uvjustin b021e2ee8c Move recorder.py import to runtime (#52682) 2021-07-08 09:20:27 +02:00
Robert Hillis 5b49107007 Use entity class attributes for avion (#52696) 2021-07-08 09:16:47 +02:00
jjlawren dabb50f7ee Warn if interface_addr remains in Sonos configuration (#52652) 2021-07-08 09:15:56 +02:00
Eric Severance 4e85bdd67c pyWeMo version bump (0.6.5) (#52701) 2021-07-08 09:11:56 +02:00
Robert Hillis 4e848f60c4 Use entity class attributes for anel_pwrctrl (#52594)
* Use entity class attributes for anel_pwrctrl

* Tweak
2021-07-07 22:12:17 -04:00
GitHub Action b5a6d05778 [ci skip] Translation update 2021-07-08 00:13:44 +00:00
Aaron Bach f3c464786c Bump simplisafe-python to 11.0.1 (#52684) 2021-07-07 19:45:39 -04:00
Aaron Bach aa022d4c52 Add missing type annotations to ReCollect Waste (#52600) 2021-07-07 17:40:03 -05:00
Aaron Bach f44a13970a Add missing type annotations to Notion (#52599) 2021-07-07 17:39:52 -05:00
Aaron Bach 50d56fd755 Add missing type annotations to Guardian (#52598) 2021-07-07 17:39:34 -05:00
Allen Porter e895b6cd42 Refactor decompression timestamp validation logic in stream component (#52462)
* Refactor dts validation logic into a separate function

Create a decompression timestamp validation function to move the logic out of
the worker into a separate class. This also uses the python itertools.chain
to chain together the initial packets with the remaining packets in the
container iterator, removing additional inline if statements.

* Reset dts validator when container is reset

* Fix typo in a comment

* Reuse existing dts_validator when disabling audio stream
2021-07-07 15:29:15 -07:00
Shay Levy 02d8d25d1d Fix Waze Travel Time tests (#52663) 2021-07-07 23:56:02 +03:00
Simone Chemelli 5c82776411 Fix Fritz default consider home value (#52648) 2021-07-07 20:19:31 +02:00
Joakim Sørensen 351b67ffb1 Handle KeyError when accessing device information (#52650) 2021-07-07 20:18:43 +02:00
Anaïs Betts cd7f366501 Fix service registration typo in Nuki integration (#52631) 2021-07-07 17:25:52 +02:00
Pascal Vizeli b2ee4894f1 Bump opencv to 4.5.2.54 (#52630) 2021-07-07 16:43:19 +02:00
Franck Nijhof 933e016150 Merge pull request #52627 from home-assistant/rc 2021-07-07 14:23:39 +02:00
Franck Nijhof 342366750b Bumped version to 2021.7.0 2021-07-07 13:09:52 +02:00
Franck Nijhof a048809ca7 Bumped version to 2021.7.0b6 2021-07-07 11:21:23 +02:00
Bram Kragten f7c844d728 Update frontend to 20210707.0 (#52624) 2021-07-07 11:21:06 +02:00
Franck Nijhof 998ffeb21d Fix broadlink creating duplicate unique IDs (#52621) 2021-07-07 11:21:03 +02:00
J. Nick Koston a794c09a0f Fix deadlock at shutdown with python 3.9 (#52613) 2021-07-07 11:20:59 +02:00
Alexei Chetroi a7ee86730c Bump up ZHA dependencies (#52611) 2021-07-07 11:20:56 +02:00
Chris dd26bfb92b Fix mysensors rgb light (#52604)
* remove assert self._white as not all RGB will have a white channel

* suggested change

* Update homeassistant/components/mysensors/light.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-07-07 11:20:50 +02:00
Bram Kragten e2b1cdafc9 Update frontend to 20210707.0 (#52624) 2021-07-07 10:43:45 +02:00
Chris 45fbc18eb0 Fix mysensors rgb light (#52604)
* remove assert self._white as not all RGB will have a white channel

* suggested change

* Update homeassistant/components/mysensors/light.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-07-07 10:34:14 +02:00
Franck Nijhof c5d806fdbe Fix broadlink creating duplicate unique IDs (#52621) 2021-07-07 09:46:59 +02:00
J. Nick Koston 1ba5c1c9fb Fix deadlock at shutdown with python 3.9 (#52613) 2021-07-07 09:23:24 +02:00
Alexei Chetroi 88cd7f481d Bump up ZHA dependencies (#52611) 2021-07-07 08:30:48 +02:00
GitHub Action 0c5ce9cac2 [ci skip] Translation update 2021-07-07 00:11:57 +00:00
Pascal Vizeli 16f1647ad0 Python 3.9.6 / Base image 2021.07.0 (#52605) 2021-07-06 23:39:25 +02:00
Aaron Bach 9fb05736e4 Add type annotations to Ambient PWS (#52596) 2021-07-06 20:19:58 +02:00
Aaron Bach 2f1af9a254 Remove unnecessary async_setup method for Guardian (#52597) 2021-07-06 20:19:41 +02:00
Franck Nijhof b14b284e62 Bumped version to 2021.7.0b5 2021-07-06 18:51:38 +02:00
Simone Chemelli bad2525a6d Fix Fritz Wi-Fi 6 networks with same name as other Wi-Fi (#52588) 2021-07-06 18:51:23 +02:00
Robert Svensson 7a503a6c1f Make use of entry id rather than unique id when storing deconz entry in hass.data (#52584)
* Make use of entry id rather than unique id when storing entry in hass data

* Update homeassistant/components/deconz/services.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-06 18:51:19 +02:00
J. Nick Koston 40d9541d9b Revert nmap_tracker to 2021.6 version (#52573)
* Revert nmap_tracker to 2021.6 version

- Its unlikely we will be able to solve #52565 before release

* hassfest
2021-07-06 18:51:16 +02:00
Aaron Bach 746a52bb27 Fresh attempt at SimpliSafe auto-relogin (#52567)
* Fresh attempt at SimpliSafe auto-relogin

* Fix tests
2021-07-06 18:51:12 +02:00
ondras12345 90f4b3a4ed Fix update of Xiaomi Miio vacuum taking too long (#52539)
Home assistant log would get spammed with messages like
Update of vacuum.vacuum_name is taking over 10 seconds
every 20 seconds if the vacuum was not reachable through the network.

See #52353
2021-07-06 18:51:08 +02:00
Shay Levy 2c75e3fe99 Fix Sensibo timeout exceptions (#52513) 2021-07-06 18:51:05 +02:00
Raman Gupta e1c14b5a30 Don't raise when setting HVAC mode without a mode ZwaveValue (#52444)
* Don't raise an error when setting HVAC mode without a value

* change logic based on discord convo and add tests

* tweak
2021-07-06 18:51:01 +02:00
Thibaut 631e555e25 Update Somfy to reduce calls to /site entrypoint (#51572)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-06 18:50:57 +02:00
Thibaut 5c07fb51a2 Update Somfy to reduce calls to /site entrypoint (#51572)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-06 18:48:48 +02:00
Shay Levy f5c3444072 Fix Sensibo timeout exceptions (#52513) 2021-07-06 18:34:56 +02:00
J. Nick Koston e1e3f68d0b Revert nmap_tracker to 2021.6 version (#52573)
* Revert nmap_tracker to 2021.6 version

- Its unlikely we will be able to solve #52565 before release

* hassfest
2021-07-06 18:28:23 +02:00
Aaron Bach 40ad25df4c Fresh attempt at SimpliSafe auto-relogin (#52567)
* Fresh attempt at SimpliSafe auto-relogin

* Fix tests
2021-07-06 18:21:25 +02:00
Erik Montnemery 6c8de16fbc Enable basic type checking for fan (#52471) 2021-07-06 18:21:00 +02:00
Franck Nijhof 8fce858a76 Upgrade numpy to 1.21.0 (#52586) 2021-07-06 18:11:22 +02:00
Maciej Bieniek 62c3b3bdfe Use HA location name as name in GIOS integration (#52585) 2021-07-06 17:52:22 +02:00
Erik Montnemery 3d7fd83ad4 Add home-assistant/core as codeowner for the template integration (#52592) 2021-07-06 17:35:11 +02:00
Robert Svensson 605f65b75d Make use of entry id rather than unique id when storing deconz entry in hass.data (#52584)
* Make use of entry id rather than unique id when storing entry in hass data

* Update homeassistant/components/deconz/services.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-06 17:18:54 +02:00
Erik Montnemery 7ba1fdea70 Bump hatasmota to 0.2.20 (#52591) 2021-07-06 18:13:45 +03:00
Raman Gupta 81fe3583c9 Don't raise when setting HVAC mode without a mode ZwaveValue (#52444)
* Don't raise an error when setting HVAC mode without a value

* change logic based on discord convo and add tests

* tweak
2021-07-06 16:33:07 +02:00
Robert Hillis 6e779855f7 Clean up alarmdecoder (#52517)
* Clean up alarmdecoder

* fix

* try again

* tweak
2021-07-06 16:18:00 +02:00
ondras12345 07bda0973e Fix update of Xiaomi Miio vacuum taking too long (#52539)
Home assistant log would get spammed with messages like
Update of vacuum.vacuum_name is taking over 10 seconds
every 20 seconds if the vacuum was not reachable through the network.

See #52353
2021-07-06 16:03:54 +02:00
Simone Chemelli 046eb1690a Fix Fritz Wi-Fi 6 networks with same name as other Wi-Fi (#52588) 2021-07-06 15:49:22 +02:00
Simone Chemelli a70dae0843 Enable strict typing for Fritz (#50668)
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
2021-07-06 15:06:32 +02:00
RenierM26 12082736a8 Add type annotations to init and coordinator. Minor cleanups. (#52506) 2021-07-06 14:55:34 +02:00
Erik Montnemery 4d32e1ed01 Minor improvements of MQTT typing (#52578)
* Minor improvements of MQTT typing

* Tweak
2021-07-06 14:38:48 +02:00
Maciej Bieniek dc72c6c606 Improve config entry title for GIOS integration (#52583)
* Improve GIOS config entry title

* Usonly station name as title
2021-07-06 14:04:00 +02:00
Erik Montnemery b645560633 Minor improvements of util.percentage typing (#52581) 2021-07-06 13:29:39 +02:00
Pascal Vizeli 94aa292c9b Wheels v2021.07.0 (#52580) 2021-07-06 12:49:46 +02:00
Maciej Bieniek 669aca9585 Bump gios to version 1.0.2 (#52576) 2021-07-06 12:32:17 +02:00
Bram Kragten 422de2c56d Bumped version to 2021.7.0b4 2021-07-06 11:57:50 +02:00
Bram Kragten 2356c1e52a Update frontend to 20210706.0 (#52577) 2021-07-06 11:54:32 +02:00
Raman Gupta 2220c8cd3f Bump pyeight version to 0.1.9 (#52568) 2021-07-06 11:54:31 +02:00
Franck Nijhof 979d37dc19 Fix unavailable entity capable of triggering non-numerical warning in Threshold sensor (#52563) 2021-07-06 11:54:30 +02:00
J. Nick Koston 701fa06584 Bump aiohomekit to 0.4.2 (#52560)
- Changelog: https://github.com/Jc2k/aiohomekit/compare/0.4.1...0.4.2

- Fixes: #52548
2021-07-06 11:54:29 +02:00
Alexei Chetroi 1c9053fef6 Bump up zha dependencies (#52555) 2021-07-06 11:54:28 +02:00
J. Nick Koston 777cf116aa Update the ip/port in the homekit_controller config entry when it changes (#52554) 2021-07-06 11:54:27 +02:00
René Klomp a52b4b0f62 Bump pysma version to 0.6.2 (#52553) 2021-07-06 11:54:26 +02:00
J. Nick Koston dfce89f2c7 Bump zeroconf to 0.32.1 (#52547)
- Changelog: https://github.com/jstasiak/python-zeroconf/compare/0.32.0...0.32.1

- Fixes #52384
2021-07-06 11:54:25 +02:00
Tom Brien 0cd097cd12 Update list of supported Coinbase wallet currencies (#52545) 2021-07-06 11:54:24 +02:00
Bram Kragten 33577e1bfc Update frontend to 20210706.0 (#52577) 2021-07-06 11:52:53 +02:00
Andre Lengwenus e16ef10af5 Add type hints to LCN (#52509)
* Add type hints to LCN

* Fix requested review changes
2021-07-06 09:54:35 +02:00
Franck Nijhof b496469a2f Fix unavailable entity capable of triggering non-numerical warning in Threshold sensor (#52563) 2021-07-06 09:33:00 +02:00
Robert Hillis 2a48fe5199 Use entity class attributes for aladdin_connect (#52516)
* Use entity class attributes for aladdin_connect

* fix

* fix

* fix pylint
2021-07-06 08:47:49 +02:00
Raman Gupta a70e8a65fa Bump pyeight version to 0.1.9 (#52568) 2021-07-06 02:41:23 -04:00
GitHub Action d249530ed1 [ci skip] Translation update 2021-07-06 00:09:29 +00:00
Shay Levy 2aacb6b99f Disable flaky shell_command test (#52564) 2021-07-06 00:24:09 +03:00
J. Nick Koston 3191fef8d6 Update the ip/port in the homekit_controller config entry when it changes (#52554) 2021-07-05 15:16:49 -05:00
René Klomp 7d87efc996 Bump pysma version to 0.6.2 (#52553) 2021-07-05 22:04:55 +02:00
J. Nick Koston f74049e018 Bump aiohomekit to 0.4.2 (#52560)
- Changelog: https://github.com/Jc2k/aiohomekit/compare/0.4.1...0.4.2

- Fixes: #52548
2021-07-05 22:00:57 +02:00
Alexei Chetroi f58b231bbd Bump up zha dependencies (#52555) 2021-07-05 14:00:32 -04:00
Tom Brien a4b97f7dcb Update list of supported Coinbase wallet currencies (#52545) 2021-07-05 16:22:41 +02:00
J. Nick Koston 34782557b7 Bump zeroconf to 0.32.1 (#52547)
- Changelog: https://github.com/jstasiak/python-zeroconf/compare/0.32.0...0.32.1

- Fixes #52384
2021-07-05 09:17:11 -05:00
Franck Nijhof 9368f75cec Bumped version to 2021.7.0b3 2021-07-05 13:41:25 +02:00
Franck Nijhof d5b419eeda Remove problematic/redudant db migration happning schema 15 (#52541) 2021-07-05 13:41:01 +02:00
J. Nick Koston e140cd9b6a Bump HAP-python to 3.5.1 (#52508)
- Fixes additional cases of invalid mdns hostnames
2021-07-05 13:40:57 +02:00
jan iversen 206437b10c Fix MODBUS connection type rtuovertcp does not connect (#52505)
* Correct host -> framer.

* Use function pointer
2021-07-05 13:40:54 +02:00
J. Nick Koston 36eec7ddbc Remove empty hosts and excludes from nmap configuration (#52489) 2021-07-05 13:40:51 +02:00
Aaron Bach afb187942a Revert "Force SimpliSafe to reauthenticate with a password (#51528)" (#52484)
This reverts commit 549f779b06.
2021-07-05 13:40:47 +02:00
J. Nick Koston 070991c160 Bump aiohomekit to 0.4.1 (#52472)
- Fixes mdns queries being sent with the original case received on the wire
  Some responders were case sensitive and needed the original case sent

- Reduces mdns traffic
2021-07-05 13:40:44 +02:00
Franck Nijhof ebc3e1f658 Fix Statistics recorder migration path by dropping in pairs (#52453) 2021-07-05 13:40:40 +02:00
Franck Nijhof 74029a0948 Fix Statistics recorder migration path by dropping in pairs (#52453) 2021-07-05 13:34:40 +02:00
Franck Nijhof 5e9127ef7a Remove problematic/redudant db migration happning schema 15 (#52541) 2021-07-05 13:28:01 +02:00
Tobias Sauerwein f9c7137d02 Use dataclasses in netatmo data handler (#52537)
* Switch to using dataclasses

* Clean up

* Update homeassistant/components/netatmo/data_handler.py
2021-07-05 13:05:18 +02:00
Robert Hillis 4cac85e3f5 Use entity class attributes for ads (#52488)
* Use entity class attributes for ads

* fix

* Update homeassistant/components/ads/cover.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2021-07-05 12:03:16 +02:00
Yuval Aboulafia 323088ff63 Fully type Tag component (#52540) 2021-07-05 11:54:00 +02:00
jan iversen 1cb298948f Fix MODBUS connection type rtuovertcp does not connect (#52505)
* Correct host -> framer.

* Use function pointer
2021-07-05 11:45:50 +02:00
RenierM26 2e4f513526 Add type annotations and shorten sensor names on ezviz sensor platforms (#52475)
* Add basic typing and change name on sensor platforms.

* Complete type annotations for all functions.
2021-07-05 11:40:13 +02:00
Aaron Bach 64e63dedf6 Revert "Force SimpliSafe to reauthenticate with a password (#51528)" (#52484)
This reverts commit 549f779b06.
2021-07-05 11:38:31 +02:00
Robert Hillis 5367a036d2 Use entity class attributes for accuweather (#52431) 2021-07-05 11:36:04 +02:00
Erik Montnemery 1cc8280959 Enable basic type checking for the homeassistant component (#52464)
* Enable basic type checking for the homeassistant component

* Tweak
2021-07-05 11:26:31 +02:00
Erik Montnemery 600bea2459 Enable basic type checking for Google cast (#52434)
* Enable basic type checking for Google cast

* tweak
2021-07-05 11:14:41 +02:00
Robert Hillis 05b35cd98a Rename goalzero sensor (#52452) 2021-07-05 11:05:53 +02:00
Shay Levy 6fc5a6a065 Fix CI failing due to Shell Command exception (#52483) 2021-07-05 10:38:55 +02:00
Robert Hillis 6d9628423c Use entity class attributes for aftership (#52500)
* Use entity class attributes for aftership

* Tweaks

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-05 10:37:00 +02:00
Erik Montnemery 79ee112490 Enable basic type checking for mqtt (#52463)
* Enable basic type checking for mqtt

* Tweak
2021-07-05 10:33:12 +02:00
Robert Hillis 5321151799 Use entity class attributes for abode (#52427)
* Use entity class attributes for abode

* Apply suggestions from code review

Co-authored-by: Franck Nijhof <git@frenck.dev>

* move from base class

* fix

* Undo light supported features

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-05 10:31:11 +02:00
Chris Talkington cacd803a93 Enable basic typing for roku (#52478)
* enable basic typing for roku

* Update mypy.ini

* Update media_player.py

* Create coordinator.py

* Update __init__.py

* Update media_player.py

* Update remote.py

* Update media_player.py

* Update coordinator.py

* Update coordinator.py

* Update remote.py

* Update entity.py

* Update coordinator.py

* Update config_flow.py

* Update entity.py

* Update const.py

* Update const.py

* Update const.py

* Update entity.py

* Update entity.py

* Update entity.py

* Update test_media_player.py

* Update test_remote.py
2021-07-05 10:27:52 +02:00
Yuval Aboulafia 0e7cd02d17 Add type checking and entity attributes for Fast.com (#52524)
* Cleanup fast.com (typing, attrs)

* Adress review

* fixes
2021-07-05 10:19:37 +02:00
Robert Hillis e9453bb344 Use entity class attributes for alert (#52518) 2021-07-05 09:42:39 +02:00
Robert Hillis e2b89e4650 Use entity class attributes for alpha_vantage (#52520)
* Use entity class attributes for alpha_vantage

* tweak

* clean up
2021-07-05 09:37:09 +02:00
Maciej Bieniek d2cef65b63 Bump gios library to version 1.0.2 (#52527) 2021-07-05 09:23:02 +02:00
Robert Hillis 4463d50711 Use entity class attributes for aemet (#52499) 2021-07-05 07:53:16 +02:00
Robert Hillis 3a2a688170 Use entity class attributes for ambiclimate (#52521)
* Use entity class attributes for ambiclimate

* tweak

* move some stuff
2021-07-05 07:51:10 +02:00
GitHub Action abc9b01ede [ci skip] Translation update 2021-07-05 00:09:10 +00:00
Aaron Bach 5ce4de7bbb Migrate AirVisual air_quality platform to sensor platform (#52349)
* Migrate AirVisual air_quality platform sensors

* Remove redundancy

* Cleanup

* Properly set available

* Unwind config_entry -> entry name change

* More unwinding

* Rename

* Update homeassistant/components/airvisual/sensor.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Code review

* Linting

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-04 12:16:06 -06:00
Maciej Bieniek bdf247faaa Migrate GIOS air_quality platform to sensor (#52295) 2021-07-04 11:54:07 -05:00
J. Nick Koston 27295d8f58 Remove empty hosts and excludes from nmap configuration (#52489) 2021-07-04 11:40:33 -05:00
Robert Hillis 8ccb338a9b Use entity class attributes for airnow (#52502) 2021-07-04 11:33:52 -05:00
J. Nick Koston cfe2017dd9 Bump HAP-python to 3.5.1 (#52508)
- Fixes additional cases of invalid mdns hostnames
2021-07-04 17:16:42 +03:00
RenierM26 73c6aa701f Add basic typing to ezviz camera platform (#52492)
* Add basic typing to camera platform. Small cleanups.

* Add full typing to all functions
2021-07-04 13:16:27 +02:00
Guido Schmitz 77a06e01f7 Update devolo-home-control-api (#52497) 2021-07-04 11:56:16 +03:00
Raman Gupta 8f186957ea Mark entities for dead zwave_js nodes as unavailable (#48017)
* Don't create any devices or entities for dead zwave_js nodes

* mark entities for dead nodes as unavailable

* add test

* watch for node status updates

* update tests to handle node status changes as well
2021-07-03 22:06:07 -04:00
GitHub Action 378b5f75ec [ci skip] Translation update 2021-07-04 00:09:33 +00:00
Aaron Bach d980dd8d59 Deprecate YAML config for Ambient PWs (2021.9.0 removal) (#52459) 2021-07-03 14:45:51 -05:00
Erik Montnemery 628eafaf68 Enable basic type checking for script (#52476) 2021-07-03 19:35:36 +03:00
Aaron Bach e29c75a68e Remove redundant property definitions in Tile (#52448) 2021-07-03 11:29:52 -05:00
Aaron Bach 8c0559cc57 Remove redundant property definitions in RainMachine (#52456)
* Remove redundant property definitions in RainMachine

* Incorrect attribute name
2021-07-03 11:23:52 -05:00
Aaron Bach 413c3afa12 Remove redundant property definitions in SimpliSafe (#52458)
* Remove redundant property definitions in SimpliSafe

* Remove useless init
2021-07-03 11:16:55 -05:00
Aaron Bach 513bcbc02b Replace custom listener with helper in SimpliSafe (#52457) 2021-07-03 11:01:41 -05:00
Erik Montnemery 14dd6478d1 Enable basic type checking for trace (#52468) 2021-07-03 17:52:31 +02:00
Erik Montnemery b3b377ac8b Enable basic type checking for gogogate2 (#52467)
* Enable basic type checking for gogogate2

* Tweak

* Update homeassistant/components/gogogate2/common.py

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>

* Tweak

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
2021-07-03 16:06:42 +01:00
Erik Montnemery 44b44b5bd6 Enable basic type checking for climate (#52470)
* Enable basic type checking for climate

* Tweak
2021-07-03 16:06:12 +01:00
J. Nick Koston f52d838b7a Bump aiohomekit to 0.4.1 (#52472)
- Fixes mdns queries being sent with the original case received on the wire
  Some responders were case sensitive and needed the original case sent

- Reduces mdns traffic
2021-07-03 17:01:41 +02:00
Maciej Bieniek 0cb61b628d Improve typing in Sony Bravia TV integration (#52438)
* Strict typing

* Variables typing

* Suggested change

* Fix pylint

* Use suppress instead of try..except

* Remove unused variables

* Suggested change

* Fix pylint

* Fix typing for unique_id
2021-07-03 14:37:54 +01:00
Simone Chemelli 69b9a9c4ee Merge fritzbox_netmonitor integration into fritz (#52264)
* Merge netmonitor integration

* cleanup additional files

* Use attrs instead of properties

* Add state_class to relevant sensors

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* mypy fix + small cleanup

* Round, GB and icons

* Update homeassistant/components/fritz/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* remove state_class from no-reset counters

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-03 16:26:43 +03:00
GitHub Action 4b7442412a [ci skip] Translation update 2021-07-03 00:09:34 +00:00
Aaron Bach 40b629cd06 Replace custom listener with helper in ReCollect Waste (#52445) 2021-07-02 15:23:17 -06:00
Franck Nijhof 95132cc425 Bumped version to 2021.7.0b2 2021-07-02 21:07:17 +02:00
Franck Nijhof 4b077b5a39 Fix Statistics recorder migration order (#52449) 2021-07-02 21:06:52 +02:00
Simone Chemelli 77c643946b Fix Fritz call deflection list (#52443) 2021-07-02 21:06:48 +02:00
Franck Nijhof 4b3ce4763d Abort existing reauth flow on entry removal (#52407) 2021-07-02 21:06:45 +02:00
Franck Nijhof b91b553ce5 Abort existing reauth flow on entry removal (#52407) 2021-07-02 20:56:51 +02:00
Franck Nijhof 7f3f6757ea Fix Statistics recorder migration order (#52449) 2021-07-02 20:55:40 +02:00
Simone Chemelli 8347cf3731 Fix Fritz call deflection list (#52443) 2021-07-02 19:21:05 +02:00
Guido Schmitz 8c7ef5b1b9 Add static typing to devolo_home_control (#52396) 2021-07-02 18:37:18 +02:00
Aaron Bach e435ac6fcd Remove redundant property definitions in ReCollect Waste (#52368)
* Remove redundant property definitions in ReCollect Waste

* Code review

* Code review
2021-07-02 11:14:29 -05:00
Franck Nijhof 8b54d958f3 Bumped version to 2021.7.0b1 2021-07-02 17:58:59 +02:00
Erik Montnemery 730c8cbcc4 Correct recorder table arguments (#52436) 2021-07-02 17:57:38 +02:00
Erik Montnemery 729f3dc6b8 Avoid duplicated database queries when fetching statistics (#52433) 2021-07-02 17:57:34 +02:00
Milan Meulemans d04b0978df Fix typo in forecast_solar strings (#52430) 2021-07-02 17:57:29 +02:00
Franck Nijhof 66680e44e4 Upgrade aioimaplib to 0.9.0 (#52422) 2021-07-02 17:57:25 +02:00
Erik Montnemery 94638d316f Drop statistic_id and source columns from statistics table (#52417)
* Drop statistic_id and source columns from statistics table

* Remove useless double drop of statistics table

* Update homeassistant/components/recorder/models.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* black

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-02 17:57:21 +02:00
J. Nick Koston e4a7347e7d Import track_new_devices and scan_interval from yaml for nmap_tracker (#52409)
* Import track_new_devices and scan_interval from yaml for nmap_tracker

* Import track_new_devices and scan_interval from yaml for nmap_tracker

* Import track_new_devices and scan_interval from yaml for nmap_tracker

* tests

* translate

* tweak

* adjust

* save indent

* pylint

* There are two CONF_SCAN_INTERVAL constants

* adjust name -- there are TWO CONF_SCAN_INTERVAL constants

* remove CONF_SCAN_INTERVAL/CONF_TRACK_NEW from user flow

* assert it does not appear in the user step
2021-07-02 17:57:17 +02:00
Raman Gupta e2e72851d7 Bump eight sleep dependency to fix bug (#52408) 2021-07-02 17:57:13 +02:00
Franck Nijhof e8ed497950 Upgrade wled to 0.7.1 (#52405) 2021-07-02 17:57:08 +02:00
Tom Brien 527af96ad9 Add update listener to Coinbase (#52404)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-02 17:57:05 +02:00
René Klomp 61bc95d704 Bump pysma to 0.6.1 (#52401) 2021-07-02 17:57:01 +02:00
Erik Montnemery 4959561bde Fix sensor statistics collection with empty states (#52393) 2021-07-02 17:56:57 +02:00
Erik Montnemery eea544d2d2 Fix MQTT cover optimistic mode (#52392)
* Fix MQTT cover optimistic mode

* Add test
2021-07-02 17:56:53 +02:00
Joakim Plate b8b0bc9392 Reject trusted network access from proxies (#52388) 2021-07-02 17:56:48 +02:00
Erik Montnemery 3dcad64d53 Improve sensor statistics tests (#52386) 2021-07-02 17:56:44 +02:00
Aaron Bach 5cc878fc79 Fix missing default latitude/longitude/elevation in OpenUV config flow (#52380) 2021-07-02 17:56:40 +02:00
Alexei Chetroi 8de7312c92 Bump up ZHA dependencies (#52374)
* Bump up ZHA dependencies

* Fix broken tests

* Update tests/components/zha/common.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-02 17:56:36 +02:00
Tobias Sauerwein c783ef49c7 Bump pyatmo to v5.2.0 (#52365)
* Bump pyatmo to v5.2.0

* Revert formatting changes
2021-07-02 17:56:32 +02:00
Frederik Bolding 6d346a59c2 Bump bt_proximity (#52364) 2021-07-02 17:56:28 +02:00
J. Nick Koston 96998aafe3 Update homekit_controller to use async zeroconf (#52330) 2021-07-02 17:56:24 +02:00
Bruce Sheplan b565dcf3b0 Add screenlogic reconnect (#52022)
Co-authored-by: Kevin Worrel <37058192+dieselrabbit@users.noreply.github.com>
2021-07-02 17:56:20 +02:00
Shay Levy 1eb27f7ccc Demo: remove deprecated switch entity properties (#52424)
* Demo: deprecate switch entity properties

* Fix emulated_kasa test
2021-07-02 17:50:57 +02:00
Robert Hillis 5cd4471c67 Add sensor platform to goalzero (#49835)
* Add sensor platform to goalzero

* Tweak

* Remove unused DATA_SCHEMA

* Simplify

* Remove last_reset

* Update on reload
2021-07-02 17:43:37 +02:00
J. Nick Koston a3f1489785 Import track_new_devices and scan_interval from yaml for nmap_tracker (#52409)
* Import track_new_devices and scan_interval from yaml for nmap_tracker

* Import track_new_devices and scan_interval from yaml for nmap_tracker

* Import track_new_devices and scan_interval from yaml for nmap_tracker

* tests

* translate

* tweak

* adjust

* save indent

* pylint

* There are two CONF_SCAN_INTERVAL constants

* adjust name -- there are TWO CONF_SCAN_INTERVAL constants

* remove CONF_SCAN_INTERVAL/CONF_TRACK_NEW from user flow

* assert it does not appear in the user step
2021-07-02 17:24:43 +02:00
Erik Montnemery 98fdb00bc7 Enable basic type checking for Tasmota (#52435) 2021-07-02 16:45:38 +02:00
Erik Montnemery ed25e6fada Correct recorder table arguments (#52436) 2021-07-02 16:28:16 +02:00
Erik Montnemery 11fd9d9525 Avoid duplicated database queries when fetching statistics (#52433) 2021-07-02 15:40:54 +02:00
Milan Meulemans 7b940d2382 Fix typo in forecast_solar strings (#52430) 2021-07-02 15:09:36 +02:00
Franck Nijhof dec08e2e44 Upgrade aioimaplib to 0.9.0 (#52422) 2021-07-02 14:10:32 +02:00
Erik Montnemery 24ae05b734 Drop statistic_id and source columns from statistics table (#52417)
* Drop statistic_id and source columns from statistics table

* Remove useless double drop of statistics table

* Update homeassistant/components/recorder/models.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* black

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-02 13:17:00 +02:00
Joakim Plate d339e3bd8c Reject trusted network access from proxies (#52388) 2021-07-02 11:49:42 +02:00
Tobias Sauerwein 7291228e16 Remove boilerplate code in favour of attributes in Netatmo integration (#52395)
* Make use of attributes

* Add suggestions

* Update homeassistant/components/netatmo/sensor.py

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>

* Update homeassistant/components/netatmo/sensor.py

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
2021-07-02 11:36:37 +02:00
Sören Krollmann 2ed1efc3a3 Add rainbird set_rain_delay service (#52369)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-02 11:20:00 +02:00
Tom Brien b3a625593e Add update listener to Coinbase (#52404)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-02 11:15:05 +02:00
Tobias Sauerwein 14d3286b21 Clean up netatmo sensor data processing (#52403) 2021-07-02 10:08:54 +02:00
Erik Montnemery 16d2dcbfb2 Improve sensor statistics tests (#52386) 2021-07-02 09:51:47 +02:00
Aaron Bach 887753e06d Remove redundant property definitions in OpenUV (#52379)
* Remove redundant property definitions in OpenUV

* Update homeassistant/components/openuv/__init__.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Code review

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-02 09:47:49 +02:00
Aaron Bach 6fa312d476 Remove redundant property definitions in Guardian (#52361)
* Remove redundant property definitions in Guardian

* Update incorrect attributes
2021-07-02 07:49:05 +02:00
Raman Gupta 9d04ba2804 Bump eight sleep dependency to fix bug (#52408) 2021-07-02 07:36:48 +02:00
GitHub Action ad20b5ced0 [ci skip] Translation update 2021-07-02 00:11:25 +00:00
Franck Nijhof a85ba1b34c Upgrade wled to 0.7.1 (#52405) 2021-07-02 00:30:33 +02:00
René Klomp d6ed5dac8b Bump pysma to 0.6.1 (#52401) 2021-07-01 21:32:46 +02:00
Yuval Aboulafia 1337dfed8c Use attributes instead of properties for uptime (#52398)
* Use attributes instead of properties for uptime

* add missing types
2021-07-01 21:31:30 +02:00
Alexei Chetroi 8e846164a4 Bump up ZHA dependencies (#52374)
* Bump up ZHA dependencies

* Fix broken tests

* Update tests/components/zha/common.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-07-01 14:05:55 -04:00
Erik Montnemery 520b500165 Fix MQTT cover optimistic mode (#52392)
* Fix MQTT cover optimistic mode

* Add test
2021-07-01 17:34:59 +02:00
posixx 312531988a Vacation Mode on Alarm Panels (#45980)
Co-authored-by: Nathan Tilley <nathan@tilley.xyz>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Khole Jones <ktech6@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-07-01 17:26:32 +02:00
Erik Montnemery 57fbb1c3d9 Fix sensor statistics collection with empty states (#52393) 2021-07-01 14:53:03 +02:00
Erik Montnemery 2097ab76f5 Allow combining value_template and position_template for template cover (#52383) 2021-07-01 14:09:48 +02:00
Alexei Chetroi 7f309b4e6e Add support for Formaldehyde and VOC level sensors (#52232) 2021-07-01 07:34:09 -04:00
Franck Nijhof 451b976458 Demo: Explicitly return None when no extra state attribute set (#52390) 2021-07-01 12:43:37 +02:00
Lars c1c078c3d5 Bump pyfritzhome to 6.2.0 (#52345) 2021-07-01 12:14:37 +02:00
Aaron Bach 60ea219101 Remove redundant property definitions in Notion (#52367)
* Remove redundant property definitions in Notion

* Code review
2021-07-01 11:24:19 +02:00
Dermot Duffy 2868fef7d4 Add motion detection support to motionEye (#49665) 2021-07-01 11:22:43 +02:00
Aaron Bach 7bd8e2aa55 Remove redundant property definitions in Flu Near You (#52377) 2021-07-01 11:04:39 +02:00
Aaron Bach 8f70b5c183 Fix missing default latitude/longitude/elevation in OpenUV config flow (#52380) 2021-07-01 10:35:14 +02:00
Bruce Sheplan f8eb07444b Add screenlogic reconnect (#52022)
Co-authored-by: Kevin Worrel <37058192+dieselrabbit@users.noreply.github.com>
2021-07-01 10:11:01 +02:00
Frederik Bolding 72b55d1830 Bump bt_proximity (#52364) 2021-07-01 07:48:29 +02:00
Aaron Bach f98a5cc233 Remove redundant property definitions in IQVIA (#52378) 2021-07-01 07:31:46 +02:00
GitHub Action 86f46753c9 [ci skip] Translation update 2021-07-01 00:12:17 +00:00
Aaron Bach cb2b6f5ff4 Remove redundant property definitions in Ambient PWS (#52350) 2021-07-01 00:30:54 +02:00
Tobias Sauerwein b4e550dee2 Bump pyatmo to v5.2.0 (#52365)
* Bump pyatmo to v5.2.0

* Revert formatting changes
2021-07-01 00:19:22 +02:00
Franck Nijhof 04e631ed1f Remove deprecated YAML configuration from VeSync (#52358) 2021-06-30 16:29:44 -04:00
Franck Nijhof 635cf59909 Remove deprecated YAML configuration from Abode (#52357) 2021-06-30 16:28:57 -04:00
Yuval Aboulafia 4a94ed8f5a Use attrs instead of property for Jewish Calendar (#52333)
* Use attrs instead of property for Jewish Calendar

* clean time sensor class

* move type and prefix up

* revert is_on attribute
2021-06-30 22:24:19 +03:00
J. Nick Koston 63c727ac6c Update homekit_controller to use async zeroconf (#52330) 2021-06-30 18:09:19 +02:00
Franck Nijhof 1862cdf52e Bump version to 2021.8.0dev0 (#52346) 2021-06-30 18:06:33 +02:00
Franck Nijhof 355e557c24 Bumped version to 2021.7.0b0 2021-06-30 16:55:41 +02:00
Erik Montnemery d450cda385 Report target unit in statistics meta data (#52341) 2021-06-30 16:53:51 +02:00
Matthias Alphart 9ed93de472 xknx 0.18.8 (#52340) 2021-06-30 15:06:33 +02:00
Erik Montnemery 9d0c4c168e Convert units when fetching statistics (#52338) 2021-06-30 14:53:42 +02:00
jan iversen c0751c060f review comments. (#52337) 2021-06-30 14:34:33 +02:00
Erik Montnemery 0476c7f9ee Normalize temperature statistics to °C (#52297)
* Normalize temperature statistics to °C

* Fix tests

* Support temperature conversion to and from K, improve tests

* Fix test

* Add tests, pylint
2021-06-30 14:17:58 +02:00
Bram Kragten 508f9a8296 Update frontend to 20210630.0 (#52336) 2021-06-30 13:34:28 +02:00
Erik Montnemery 0ab999738b Add statistics meta data table (#52331)
* Add statistics meta data table

* Tweak meta data generation
2021-06-30 13:32:17 +02:00
stefano055415 d8337cf98f Add Freedompro (#46332)
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-30 13:21:06 +02:00
Tom Schneider dc407fe7a1 Fix MusicCast subwoofers (#52335) 2021-06-30 13:09:57 +02:00
mlemainque a7ece4ecaa Fix Daikin integration power sensors (#51905) 2021-06-30 12:01:08 +02:00
Brian Towles 3e4dacb885 Add Modern Forms binary sensor platform (#52312)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-30 11:56:02 +02:00
Aaron Bach 3902f0bdd4 Speed up lookup of AirVisual pollutant labels, levels, and units (#52327)
* Speed up lookup of AirVisual pollutant levels, labels, and units

* Mispellings
2021-06-30 11:33:50 +02:00
Anaïs Betts da9bb99ba8 Create service to enable Continuous Mode on Nuki Opener (#51861) 2021-06-30 08:43:02 +02:00
Carlos Gomes f2906d0fca Add quantiles to Statistics integration (#52189)
* Add quantiles as another Statistics attribute

Quantiles divide states into intervals of equal probability. The
statistics.quantiles() function was added in Python 3.8 and can now
be included in the Statistics integration without new dependencies.

Quantiles can be used in conjunction with other distribution metrics to
create box plots (quartiles) and other graphical resources for
visualizing the distribution of states.

* Add quantiles reference to basic tests
2021-06-30 08:31:33 +02:00
J. Nick Koston 9f16e390f5 Deprecate IPv6 zeroconf setting in favor of the network integration (#51173) 2021-06-29 17:13:31 -10:00
Fredrik Erlandsson 3c20f2dd42 Fix point ConnectionTimeout during startup (#52322) 2021-06-29 21:10:25 -04:00
GitHub Action 5baaede85b [ci skip] Translation update 2021-06-30 00:11:18 +00:00
Daniel Hjelseth Høyer 04d8f88269 Fix Mill consumption data (#52320)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-06-30 01:31:56 +02:00
Otto Winter f772eab7b7 ESPHome delete store data when unloading entry (#52296) 2021-06-29 15:06:24 -07:00
Erik Montnemery cca5964ac0 Normalize pressure statistics to Pa (#52298) 2021-06-29 23:30:13 +02:00
J. Nick Koston 2eebfe6ff3 Fix esphome startup with missing api_version key (#52324) 2021-06-29 22:50:29 +02:00
Heine Furubotten 56d1bf255b Bump enturclient to v0.2.2 (#52321) 2021-06-29 16:34:09 -04:00
Franck Nijhof 7c39092aa8 Upgrade nmap tracker with forked package for compatibility (#52300)
* Upgrade nmap tracker with forked package for compatibility

* Bump to 0.7.0.2

* Bump cache version
2021-06-29 21:50:25 +02:00
Aaron Bach ddef5d2314 Refactor Tile entity unique ID migration to use helper (#52315)
* Refactor Tile entity unique ID migration to use helper

* Clarify

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-29 21:15:56 +02:00
Pascal Vizeli 853ca331e4 Stop build wheels for python38 (#52309) 2021-06-29 20:33:38 +02:00
Franck Nijhof aac0180abf Disable import of disabled eebrightbox in tests (#52314) 2021-06-29 19:59:25 +02:00
Aaron Bach 935f4d16a9 Fix small inconsistencies in RainMachine vegetation and sprinkler types (#52313) 2021-06-29 13:57:28 -04:00
Otto Winter b43d0877e7 ESPHome Migrate to dataclasses (#52305) 2021-06-29 19:53:57 +02:00
Daniel Hjelseth Høyer ba7ad8a58f Add Melcloud device class and state class (#52276) 2021-06-29 19:16:43 +02:00
Koen Kanters 2576dd9da9 Fix Todoist incorrect end date when task has no time (#52258) 2021-06-29 10:15:50 -07:00
Teemu R 6afa4d6914 Skip updating tplink bulb state if the new state not reported by the device (#52310) 2021-06-29 19:14:34 +02:00
Simone Chemelli 7959225fef Add switch platform to Fritz (#51610)
* Add switch platform to Fritz

* Fix tests

* Pylint

* Small fix

* Bump fritzprofiles to fix log level and identifier

* Fix different WiFi networks with same name

* Changed exposed attributes

* Moved to extra_state

* Remove redundant lambda

* Add missing wait

* Removed identifiers

* Update homeassistant/components/fritz/switch.py

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

* Update homeassistant/components/fritz/switch.py

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

* Add mapping dict

* Device Profile disabled by default

* Heavy cleanup

* Tweak

* Bug fix

* Update homeassistant/components/fritz/switch.py

Co-authored-by: Aaron David Schneider <aaron.schneider@nbi.ku.dk>

* Fix port forward switching + small log improvement

* Cleanup from old approach

* Handle port mapping hot removal (from device)

* Minor fixes

* Typying

* Removed lambda call

* Last missing strict typing

* Split get entities

* Func rename

* Move FritzBoxBaseSwitch to switch.py

* Removed lambda

* Update homeassistant/components/fritz/common.py

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

* Update homeassistant/components/fritz/common.py

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

* Update homeassistant/components/fritz/switch.py

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

* Update homeassistant/components/fritz/switch.py

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

* Update homeassistant/components/fritz/switch.py

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

* Update homeassistant/components/fritz/switch.py

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

* Fixes after applying comments

* Remvoed redundant try block

* Removed broad-except

* Optimized async/sync switch

* Update homeassistant/components/fritz/switch.py

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

* Update homeassistant/components/fritz/switch.py

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

* Update homeassistant/components/fritz/switch.py

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

* Address remaining comments

* Optimize return list

* More optimization for return lists

* Some missing strict typing

* Redundant typing

* Update homeassistant/components/fritz/switch.py

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

* Wrong if

* Introduce const for profile status

* Update homeassistant/components/fritz/switch.py

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

* Update homeassistant/components/fritz/switch.py

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

* Fix mypy

* Switch back to get_local_ip()

* Address latest comments

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Aaron David Schneider <aaron.schneider@nbi.ku.dk>
2021-06-29 11:57:34 -04:00
Tom Brien 897f5d9247 Coinbase code quality improvements from review (#52307)
* Fix breaking loop if single bad currency

* Remove unneeded update

* Reduce executor calls and use helper

* Avoid setting up integration when not needed in test

* Remove defunct info from strings

* Move already configured check

* Move instance update out of data class init
2021-06-29 11:54:38 -04:00
Franck Nijhof b11af5e6f8 Fix Garmin Connect sensor dependency import (#52306) 2021-06-29 16:39:25 +02:00
Erik Montnemery 8a00c3a2f5 Implement color_mode support for kulersky (#52080) 2021-06-29 16:31:29 +02:00
Franck Nijhof f1b40b683d Disable dependency checks and tests for disabled EE Brightbox integration (#52304) 2021-06-29 16:09:42 +02:00
Joakim Sørensen 720a67957b Bump hass-nabucasa to 0.44.0 (#52303) 2021-06-29 16:04:21 +02:00
Franck Nijhof d3210ada1d Allow None value return type for Number entity state value (#52302) 2021-06-29 15:07:31 +02:00
Erik Montnemery 6131ed09f0 Compile statistics for power sensors (#52299) 2021-06-29 14:48:08 +02:00
Jesse Hills e1797ea670 Add number entities to ESPHome (#52241)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-29 14:33:04 +02:00
Adrián Moreno a639cb7ba7 Add sensor platform to Meteoclimatic integration (#51467)
* Add meteoclimatic sensor platform

Signed-off-by: Adrian Moreno <adrian@morenomartinez.com>

* Add sensor.py to coverage file

Signed-off-by: Adrian Moreno <adrian@morenomartinez.com>

* Add explicit return type None

Signed-off-by: Adrian Moreno <adrian@morenomartinez.com>

* Fix sample station code

Signed-off-by: Adrian Moreno <adrian@morenomartinez.com>

* Apply frenck suggestions

Signed-off-by: Adrian Moreno <adrian@morenomartinez.com>

* Remove extra attributes

Signed-off-by: Adrian Moreno <adrian@morenomartinez.com>

* Revert translations

Signed-off-by: Adrian Moreno <adrian@morenomartinez.com>

* Remove None icons and classes

Signed-off-by: Adrian Moreno <adrian@morenomartinez.com>
2021-06-29 13:52:39 +02:00
Franck Nijhof 198b664409 Merge branch 'master' into dev 2021-06-29 13:46:39 +02:00
Franck Nijhof 3311b1bafb Small clean up for Motion Blinds (#52281) 2021-06-29 14:08:19 +03:00
Erik Montnemery c785db4ffa Normalize energy statistics to kWh (#52238) 2021-06-29 12:20:10 +02:00
Erik Montnemery b77f2b9e12 Filter MQTT camera JSON attributes (#52279)
* Filter MQTT camera JSON attributes

* Add missing attribute to blocked list
2021-06-29 12:14:02 +02:00
Erik Montnemery 39a064683a Filter MQTT cover JSON attributes (#52282) 2021-06-29 11:59:23 +02:00
Erik Montnemery 30a9198d97 Add test to MQTT device tracker (#52292) 2021-06-29 11:33:26 +02:00
Franck Nijhof 8a82557142 Demo: Remote improvements (#52265)
* Demo: Remote improvements

* Address pylint warning
2021-06-29 11:32:46 +02:00
Erik Montnemery a7dd7c1a3d Filter MQTT select JSON attributes (#52288) 2021-06-29 11:22:58 +02:00
Erik Montnemery 74e61ab7f7 Filter MQTT switch JSON attributes (#52290) 2021-06-29 11:22:25 +02:00
Erik Montnemery de4cfb0ce2 Filter MQTT vacuum JSON attributes (#52291) 2021-06-29 11:21:22 +02:00
Erik Montnemery 61f7f5c96a Filter MQTT sensor JSON attributes (#52289) 2021-06-29 11:19:40 +02:00
Erik Montnemery e0f7987544 Filter MQTT fan JSON attributes (#52283) 2021-06-29 11:18:50 +02:00
Erik Montnemery 71a0e474cc Filter MQTT number JSON attributes (#52286) 2021-06-29 11:16:57 +02:00
Erik Montnemery 3b89fcfe83 Filter MQTT lock JSON attributes (#52285) 2021-06-29 11:16:07 +02:00
Jc2k 7de3e7d1dd Support setting hvac_mode and temp in same homekit_controller set_temperature service call (#52195)
* Support setting hvac_mode and temp in same set_temperature service call

* Update homeassistant/components/homekit_controller/climate.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Update homeassistant/components/homekit_controller/climate.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-06-29 11:14:28 +02:00
Erik Montnemery 040c88f982 Filter MQTT climate JSON attributes (#52280) 2021-06-29 11:13:58 +02:00
Erik Montnemery 91b4f7d1d5 Filter MQTT alarm JSON attributes (#52278) 2021-06-29 10:32:23 +02:00
Aaron Bach dee3e14df2 Fix values of RainMachine Freeze Protection and Hot Days binary sensors (#52275)
* Fix values of RainMachine Freeze Protection and Hot Days binary sensors

* Correct place

* Fix
2021-06-29 10:21:33 +02:00
Aaron Bach 04300464da Update RainMachine sprinkler and vegetation types (#52274) 2021-06-29 10:20:11 +02:00
Aaron Bach 5e18b5c189 Fix bug in detecting RainMachine zone soil type (#52273)
* Fix bug in detecting RainMachine zone soil type

* Simplify
2021-06-29 10:09:38 +02:00
Brian Towles 3ab42c50c9 Add sensor platform to Modern Forms integration (#52249)
* Add sensor platform to Modern Forms integration

* Changes to sensors to timestamp class

* lint cleanup
2021-06-29 10:05:39 +02:00
Chris Talkington 6a528acafe Use attrs instead of properties for ipp (#52270)
* use attrs instead of properties for ipp

* Update __init__.py

* Create entity.py

* Update __init__.py

* Create coordinator.py

* Update coordinator.py

* Update __init__.py

* Update entity.py

* Update sensor.py

* Update sensor.py

* Update __init__.py

* Update __init__.py

* Update coordinator.py

* Update entity.py

* Update entity.py

* Update entity.py

* Update sensor.py

* Update sensor.py
2021-06-29 10:02:49 +02:00
Xuefer 8c37dc5613 Clean up Onvif steps (#52254) 2021-06-29 09:30:56 +02:00
TOM 3f66709882 Fix caldav TZ interpretation of all day events (#48642) 2021-06-29 00:07:29 -07:00
Paulus Schoutsen bb4d3bfc60 Reduce Ring TTL (#52277) 2021-06-29 08:57:32 +02:00
Franck Nijhof 8dd545d060 Demo: Sensor improvements (#52263) 2021-06-28 23:39:40 -07:00
Franck Nijhof d37018cf87 Small tweaks to Rituals Perfume Genie (#52269) 2021-06-28 23:39:00 -07:00
Franck Nijhof 94a0259743 Add state class support to SAJ Solar Inverter (#52261) 2021-06-28 23:38:21 -07:00
Franck Nijhof a93487f389 Add state class support to SolarEdge (#52271) 2021-06-28 23:37:33 -07:00
jan iversen f1303e02ff Let climate use base_struct_schema. (#52154) 2021-06-28 22:21:31 -07:00
jan iversen 74e1600a84 Add fixture to handle mock restore state (#52198) 2021-06-28 22:21:04 -07:00
Daniel Hjelseth Høyer 1676bf220f Tibber, add device class monetary to accumulated cost (#52259)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-06-28 20:58:27 -07:00
GitHub Action 81ca5236bf [ci skip] Translation update 2021-06-29 00:25:47 +00:00
Aaron Bach a448b72ff9 Remove bachya as 17track.net codeowner (#52262)
* Remove bachya as 17track.net codeowner

* Cleanup
2021-06-28 17:41:02 -06:00
Raman Gupta d6fd7dde7f Bump zwave_js_server to 0.27.0 (#52267) 2021-06-28 18:49:40 -04:00
Milan Meulemans dc94a45832 Clean up Rituals Perfume Genie integration (#52266) 2021-06-29 00:44:13 +02:00
Marius 7ce4763784 change processor_temperature icon (#52256)
* change processor_temperature icon

to indicate the temperature, using "mdi:thermometer"

* add DEVICE_CLASS_TEMPERATURE,

* add None for icon

* remove Icon from Last boot

since it uses the device_class already
2021-06-29 00:39:21 +02:00
Jc2k 42c944ce56 Add secondary temperature sensors to homekit_controller (#52194) 2021-06-28 23:48:29 +02:00
ollo69 c6efdedd3c Add AsusWRT load average sensors (#52230) 2021-06-28 22:33:15 +02:00
Aaron Bach f538e07902 Update Tile unique ID to include username (#52175) 2021-06-28 21:36:18 +02:00
Farzad Noorian fbf85fd86b Add OAuth 2.0 Bearer Token authentication to send_file for telegram_bot (#46567) 2021-06-28 20:43:23 +02:00
Matthias Alphart d4211c4a66 Cleanup KNX supported_features for climate, cover and fan (#52218) 2021-06-28 20:22:44 +02:00
Tom Brien 9e50bd0b30 Only load requested coinbase accounts (#51981) 2021-06-28 20:21:04 +02:00
Milan Meulemans 6f41168616 Change DiffuserRoomSize number entity to select entity (#51993)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-28 20:20:32 +02:00
Tom Brien a1c741a46d Provide correct defaults for CoinBase options flow (#52255) 2021-06-28 20:14:11 +02:00
Andre Lengwenus f2fe6c26ab Add tests for LCN integration setup (#48070) 2021-06-28 18:08:09 +02:00
René Klomp 540d6e9fa5 Use pysma exceptions (#52252) 2021-06-28 16:59:17 +02:00
Xuefer 3a5ee00081 Merge onvif host/auth step, allow skipping scan (#49660) 2021-06-28 16:39:18 +02:00
Tom Brien fd1d110b80 Add config flow for Coinbase (#45354)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-28 16:38:12 +02:00
Joakim Sørensen efee36a176 Don't copy result to new list (#52248) 2021-06-28 15:54:23 +02:00
Erik Montnemery c86b563fe1 Bump hatasmota to 0.2.19 (#52246) 2021-06-28 15:49:25 +02:00
René Klomp 5e721b2566 Update SMA device info on setup (#51159)
* Update device info on setup

* Remove migration
2021-06-28 15:32:29 +02:00
Guido Schmitz 3027b848c1 Add reauth config flow to devolo Home Control (#49697) 2021-06-28 15:01:31 +02:00
Erik Montnemery 7a4f3fe7b8 Filter MQTT light JSON attributes (#52242) 2021-06-28 14:37:26 +02:00
Joakim Plate 24ba81c3a2 Update new effect before calculating color on Philips TV (#52072) 2021-06-28 14:01:29 +02:00
micha91 8133793f23 Yamaha musiccast grouping-services (#51952)
Co-authored-by: Tom Schneider <tom.schneider-github@sutomaji.net>
2021-06-28 13:57:01 +02:00
Joakim Sørensen 8255a2f6c8 Removal of stale add-on devices on startup (#52245) 2021-06-28 13:49:58 +02:00
Otto Winter 3e1d32f4e0 ESPHome Climate add preset, custom preset, custom fan mode (#52133)
* ESPHome Climate add preset, custom preset, custom fan mode

* Fix copy paste error

* Bump aioesphomeapi to 3.0.0

* Bump aioesphomeapi to 3.0.1

* Persist api version to prevent exception for offline devices
2021-06-28 13:43:45 +02:00
Michael Davie 594bcbcf7a Fix timezones in Environment Canada hourly forecasts (#51917) 2021-06-28 12:57:07 +02:00
billsq 90e9216e9a Add support for overriding SMTP recipient(s) in a service call (#47611) 2021-06-28 12:54:03 +02:00
J. Nick Koston 583626a74f Convert nmap_tracker to be a config flow (#50429) 2021-06-28 12:49:14 +02:00
Vilppu Vuorinen 4ba5a4f36e Fix unique_id generation for AtwZoneSensors (#51227) 2021-06-28 12:20:40 +02:00
J. Nick Koston ab24d16e00 Suppress duplicate mdns discovery from netdisco (#52099) 2021-06-28 11:46:56 +02:00
Fabian Zimmermann 3c0a24db50 Convert openweathermap dewpoint from kelvin to celcius (#51893)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-28 11:35:33 +02:00
Shay Levy ab73ce00a0 Change "Not adding entity" log level to debug (#52240) 2021-06-28 11:22:10 +02:00
Brett 486e94e6a5 Add "auto" HVAC mode to Advantage Air (#51693)
* Add support for myAuto

* Small bug fixes for myAutoModeEnabled

* Add myauto to test fixture

* Refactor hvac_modes using AC_HVAC_MODES
2021-06-28 11:21:25 +02:00
myhomeiot 922b195ebf Add hvac_action to Daikin AC (#52035) 2021-06-28 11:10:53 +02:00
Chris Talkington e4fc76ac2c Add re-authentication support to cloudflare (#51787) 2021-06-28 10:48:18 +02:00
Chris Talkington bfc2995cf8 Update cloudflare test helpers (#52235) 2021-06-28 10:40:51 +02:00
Erik Montnemery e14480599b Add value_template support to MQTT number (#52155) 2021-06-28 10:23:34 +02:00
Maciej Bieniek 3d556f14a5 Remove air_quality platform from Airly integration (#52225)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-28 10:15:56 +02:00
Brian Towles 9c84c2889f Modern forms switch platform (#52061)
* Add switch platform to Modern Forms integration

* Add reboot switch

* Update  lib to catch status from switches

* lint ignore

* Removed reboot switch

* bump aiomodernforms for dependency cleanup
2021-06-28 09:47:41 +02:00
Raman Gupta bef8be9256 Support dynamic schema validation in device conditions and actions (#52007)
* Allow integrations to provide dynamic schema validation in device conditions and actions

* Add tests

* re-add type

* mypy
2021-06-28 09:23:46 +02:00
Christopher Masto 5d3f3c756f Fix Fahrenheit to Celsius conversion in Prometheus exporter (#52212)
const.TEMP_FAHRENHEIT is "°F", but _unit_string converts this to "c",
so the comparison never succeeds and we end up with temperatures in F
but labeled C.
2021-06-28 09:19:49 +02:00
GitHub Action 5c5e43afc1 [ci skip] Translation update 2021-06-28 00:10:15 +00:00
Chris Talkington 8b47faa840 Remove undo listener variable in cloudflare (#52227)
* remove undo listener variable in cloudflare

* Update const.py

* Update __init__.py

* Update __init__.py
2021-06-27 15:58:49 -05:00
Joakim Plate 0d689eefd6 Make Philips TV notify service optional (#50691)
* Make event service optional

* Correct strings for rename

* Drop unload we are just testing config flow here
2021-06-27 22:57:08 +02:00
puddly c404a196c2 Allow creating ZHA groups with specific IDs (#50781) 2021-06-27 15:21:15 -04:00
SgtBatten bd399d17a7 Add support for 4th fan speed in izone A/C systems (#51969)
* Add TOP fan speed

My a/c is 4 speed and the top speed is reported as top or boost. 

i.e it supports: low med high boost auto

* add support for top fan speed

Aircons with 4 fan speeds. i.e low, med, high, top/boost

* Update manifest.json

Bump version to 1.1.5

* Update climate.py

* Bump Izone to 1.1.5

* Update climate.py

* fix isort failure

* Use v1.1.6

Co-authored-by: Penny Wood <Swamp-Ig@users.noreply.github.com>
Co-authored-by: Swamp-Ig <github@ninjateaparty.com>
2021-06-27 21:13:26 +02:00
ollo69 e6e39a67f4 AsusWRT code improvements for sensors and related tests (#51822)
* Sensors implementation and tests improvements

* Remove check for unexpected condition
2021-06-27 15:09:03 -04:00
hesselonline e56069558a Refactor wallbox tests (#51094)
* Changed Testing, removed custom exception
Removed custom exceptions, reverted to builtin. Changed testing approach in all tests, now using the core interface to setup device and mock_requests to create test responses for all calls.

* Reintroduce InvalidAuth exception in __init__
Remove reference to internal HA exception, Reintroduce custom exception

* Removed duplicate entry in test_config_flow

* removed tests from test_init that calling methods directly

* Update tests/components/wallbox/__init__.py

Removed duplicate add_to_hass call

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-27 15:06:25 -04:00
avee87 2d1744c573 Add forecasts to MetOffice integration (#50876)
* MetOfficeData now retrieves both 3-hourly and daily data (full forecast data, as well as "now" snapshot) on each update

* Bump datapoint API up to latest version

* Create 2 sets of sensors - one of each set for 3-hourly and for daily data (same ones initially enabled, for now)

* Create two entities (one each for 3-hourly and daily data) and also add in the forecast data for each dataset

* Testing changes to accommodate now having two sets of everything for 3-hourly and daily update data

* Removed unused import (reported by flake8)

* As per conversation with @MatthewFlamm leave the 3-hourly entity's unique_id unchanged (although the display name is changed)

* Make some improvements based on reviews

Make some improvements and fix up the formatting/linting failures.

* Make some improvements based on reviews

Make some improvements and fix up the formatting/linting failures.

* Added more test coverage

* import asyncio

* Try to fix test

* Rewrote everything using CoordinatorEntity

* Fixed config flow

* Fixed lint errors

Co-authored-by: MrHarcombe <ian.harcombe@gmail.com>
Co-authored-by: Henco Appel <hencoappel+github@gmail.com>
2021-06-27 15:04:42 -04:00
Raman Gupta 23339cff95 Add new climacell sensors (#52079)
* Add new climacell sensors

* lint

* add new unit constants
2021-06-27 15:03:20 -04:00
Erik Montnemery 74aa428bd1 Implement color_mode support for ozw (#52063) 2021-06-27 15:00:27 -04:00
Matt Zimmerman da1d6d3821 Add service to reset SmartTub reminders (#51824)
* Add service to reset SmartTub reminders

* add test

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-27 20:59:11 +02:00
Hristo Atanasov a5362542ad Bulgarian language added in Google Translate TTS (#51985)
* Added Bulgarian language

Bulgarian language is supported by Google Translate TTS and by gTTS library. Tested all lockally and it works perfect.
https://github.com/pndurette/gTTS

* Bulgarian language added in v2.2.3

* Run script.gen_requirements_all

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-27 20:55:36 +02:00
J. Nick Koston a10847bef3 Fix isy994 fan when turn on is not called with a percentage (#49531)
* Fix isy994 fan when turn on is not called with a percentage

* Make insteon/fan.py logic
2021-06-27 20:35:58 +02:00
Martin Hjelmare 120fd633b2 Add mysensors sensor platform test foundation (#51548) 2021-06-27 20:33:20 +02:00
Lasath Fernando 543e1a0f9c Make PjLink power toggle more robust (#51821)
Occasionally, this integration misses events (or maybe they never get sent) from the projector and gets "stuck" in the wrong power state.
Currently, this prevents this integration from changing the power state as it thinks its already in the correct state. Only way to resolve this is to reboot home assistant.

This PR makes it a little more resilient by attempting to send the correct command even when it thinks it's already in the correct state.
2021-06-27 20:30:49 +02:00
Niels Mündler aececdfeb9 Update pyfronius to 0.5.2 (#52216)
* Update the pyfronius package to version 0.5.2

this automatically introduces support for API V0 of fronius devices

* Update requirements
2021-06-27 12:43:31 -05:00
Joakim Plate eedf1c3ebe Reject requests from the proxy itself (#52073)
* Reject requests from the proxy itself

* Adjust tests
2021-06-27 19:02:51 +02:00
ryansun96 dafddce446 Update base image to 2021.06.2 (#52190) 2021-06-27 18:59:27 +02:00
Matt Zimmerman fad7e43c4f Add state attribute to SmartTub reminders for days remaining (#51825) 2021-06-27 18:39:40 +02:00
Milan Meulemans a9bd7da79d Remove Rituals room size number entity (#52200) 2021-06-27 18:38:07 +02:00
Matthias Alphart 253310aaa4 Add respond_to_read option to KNX switch (#51790) 2021-06-27 18:34:41 +02:00
Matthias Alphart 89cdda9fe6 Add idle hvac_action to KNX climate (#52006)
* add idle hvac_action and command_value extra_state_attribute

* use class attribute for unit
2021-06-27 18:31:07 +02:00
Daniel Hjelseth Høyer a788b6ebc1 Clean up surepetcare binary sensor (#52217)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-27 17:27:33 +02:00
Daniel Hjelseth Høyer a824313e9f Clean up Surepetcare sensor (#52219)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-06-27 17:25:54 +02:00
Franck Nijhof 3f49cdf9bf DSMR: Use entry unload to unsub update listener (#52220) 2021-06-27 16:58:08 +02:00
Franck Nijhof 75d29b3d9e Upgrade watchdog to 2.1.3 (#52224) 2021-06-27 16:57:30 +02:00
Daniel Hjelseth Høyer f1b5183e47 Tibber power factor (#52223) 2021-06-27 16:49:22 +02:00
Milan Meulemans 0d6e73236a Upgrade pyrituals 0.0.3 -> 0.0.4 (#52209) 2021-06-27 14:53:55 +02:00
Klaas Schoute 6b08aebe5f Add Forecast Solar integration (#52158)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-27 14:05:04 +02:00
GitHub Action 473ab98a67 [ci skip] Translation update 2021-06-27 00:09:39 +00:00
Daniel Hjelseth Høyer b45c8466b4 Surepetcare, Use entity class vars and some clean up (#52205) 2021-06-26 15:40:40 -07:00
Pavel Pletenev db2fda09b9 Fix habitica regression (#52097) 2021-06-26 15:36:45 -07:00
Milan Meulemans 4c7934de46 Clean up strings.json (#52202)
* Remove empty error in arcam_fmj

* Remove empty data in directv

* Remove empty error and data in kraken

* Remove empty data in roku
2021-06-26 20:36:13 +02:00
jan iversen c558c77413 Correct keyerror exception. (#52150) 2021-06-26 20:09:53 +02:00
Matthias Alphart 5687ced7b3 Cleanup KNX integration (#52168)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-26 14:30:36 +02:00
Joakim Sørensen b7c15d4474 Fix deprecation warning in discord notifier (#52197) 2021-06-26 07:12:10 -04:00
Shay Levy 568e1b379d Address late review of Switcher sensor migration (#52186) 2021-06-26 07:30:47 +02:00
GitHub Action cd9fa27f2a [ci skip] Translation update 2021-06-26 00:10:53 +00:00
Appleguru 8d8af60b1d Add retries for tplink discovery (#52015)
* Add retries for tplink discovery

* Black Format tplink common.py

* Exit tplink discovery early if all devices found

* Fix typo in tplink retry log msg

* Code style cleanup for tplink retries

* Update homeassistant/components/tplink/common.py

Co-authored-by: Teemu R. <tpr@iki.fi>

* Fix linting errors for tplink retries

Co-authored-by: Teemu R. <tpr@iki.fi>
2021-06-25 23:49:35 +02:00
Daniel Hjelseth Høyer 4abdeec36d Use entity class vars in Broadlink (#52177) 2021-06-25 11:31:17 -10:00
PeteBa 42c4317628 Avoid drift in recorder purge cut-off (#52135) 2021-06-25 11:29:38 -10:00
J. Nick Koston a71af8e9d3 Abort samsungtv config flow for existing hosts when the unique id is set (#52138)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-25 10:31:33 -10:00
starkillerOG 6bbe477d66 Improve Xiaomi Miio error handling (#52009)
* Xiaomi Miio inprove error logging

* improve error handeling

* fix styling

* fix styling

* Update homeassistant/components/xiaomi_miio/device.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/xiaomi_miio/gateway.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/xiaomi_miio/gateway.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* break long line

* Clean up

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-25 21:25:51 +02:00
Joakim Sørensen 328ab21a05 Stream requests to ingress (#52184) 2021-06-25 12:14:26 -07:00
Erik Montnemery dad7a597ae Add color_mode support to yeelight light (#51973)
* Add color_mode support to yeelight light

* Satisfy pylint

* Address review comment

* Improve test coverage

* Improve test coverage
2021-06-25 17:37:15 +02:00
Franck Nijhof 3b0f67acd1 DSMR: Add deprecation warning for YAML configuration (#52179) 2021-06-25 14:42:06 +02:00
Wim Haanstra bc2689fd75 Add day-consumption fixed cost sensor in dsmr_reader (#52178)
* Added day-consumption fixed cost property

* black

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-25 07:59:51 -04:00
Maciej Bieniek a95294c83f Fix typo in Nettigo Air Monitor integration (#52182) 2021-06-25 12:07:32 +02:00
Franck Nijhof 958016c44f Clean up input_boolean, removing typing exceptions (#52181)
* Clean up input_boolean, removing typing exceptions

* Now pushing all local changes...
2021-06-25 11:57:52 +02:00
Franck Nijhof b939570c9c Simplify WLED segment tracking (#52174)
* Simplify WLED segment tracking

* Fix master controls
2021-06-25 10:57:12 +02:00
Maciej Bieniek e6c850136c Add support for state_class to AccuWeather integration (#51510)
* Add support for state_class

* Use get() method
2021-06-25 10:06:15 +02:00
J. Nick Koston 22c8afe637 Create a base class for broadlink entities (#52132)
* Create a base class for broadlink entities

* Update homeassistant/components/broadlink/entity.py

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>

* Update homeassistant/components/broadlink/entity.py

* Update homeassistant/components/broadlink/entity.py

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>

* black, remove unused

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
2021-06-25 07:39:21 +02:00
J. Nick Koston d009f06a55 Handle connection being closed in legacy samsungtv (#52137)
* Handle connection being closed in legacy samsungtv

- Mirror the websocket behavior

Fixes
```
2021-06-24 02:54:13 ERROR (MainThread) [homeassistant.helpers.entity] Update for media_player.89_guestroom fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 401, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 609, in async_device_update
    raise exc
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/samsungtv/media_player.py", line 124, in update
    self._state = STATE_ON if self._bridge.is_on() else STATE_OFF
  File "/usr/src/homeassistant/homeassistant/components/samsungtv/bridge.py", line 113, in is_on
    return self._get_remote() is not None
  File "/usr/src/homeassistant/homeassistant/components/samsungtv/bridge.py", line 232, in _get_remote
    self._remote = Remote(self.config.copy())
  File "/usr/local/lib/python3.8/site-packages/samsungctl/remote.py", line 9, in __init__
    self.remote = RemoteLegacy(config)
  File "/usr/local/lib/python3.8/site-packages/samsungctl/remote_legacy.py", line 32, in __init__
    self._read_response(True)
  File "/usr/local/lib/python3.8/site-packages/samsungctl/remote_legacy.py", line 77, in _read_response
    raise exceptions.ConnectionClosed()
samsungctl.exceptions.ConnectionClosed
```

* add coverage

* pass instead
2021-06-25 07:31:44 +02:00
GitHub Action febc276db9 [ci skip] Translation update 2021-06-25 00:12:31 +00:00
Franck Nijhof f9d65b9196 Add preset support to WLED (#52170) 2021-06-24 23:16:07 +02:00
Maciej Bieniek 0730b375f3 Remove air_quality platform from Nettigo Air Monitor integration (#52152)
* Remove air_quality platform

* Clean constants
2021-06-24 22:58:37 +03:00
Daniel Hjelseth Høyer a5ca25019c Toon, correct generate a 0-timestamp (#52167)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-06-24 21:48:09 +02:00
Santobert adade590ed Bump pybotvac to 0.0.21 (#52166) 2021-06-24 21:29:09 +02:00
Daniel Hjelseth Høyer e039a9d37b Tibber, correct generate a 0-timestamp (#52165)
* Tibber, correct generate a 0-timestamp

* import

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-06-24 21:18:46 +02:00
Franck Nijhof a2be9a487f DSMR: Complete full strictly typed (#52162) 2021-06-24 11:27:25 -07:00
Franck Nijhof fba7118d44 Add Color Palette Select entities to WLED (#51994)
* Add Color Palette Select entities to WLED

* Update with dev changes, disable by default
2021-06-24 11:25:21 -07:00
J. Nick Koston 5695710463 Add mac address to samsungtv config entry data if missing (#51634)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-24 08:15:16 -10:00
Franck Nijhof 34a317b847 DSMR: Device/state classes, icons, less common disabled by default (#52159) 2021-06-24 18:48:51 +02:00
Erik Montnemery 4533a77597 Add MQTT select (#52120)
* Add MQTT select

* Fix value_template support

* Lint
2021-06-24 17:09:06 +02:00
starkillerOG 69a04cf748 Fix Xiaomi Miio missing gateway info (#52146)
During my last PR: https://github.com/home-assistant/core/pull/47955, I accedently created a bug that will block the setup of the gateway integration.
This fixes that bug.
2021-06-24 17:03:19 +02:00
Simone Chemelli 3b8ece38b3 Second part of Strict types for Fritz (#52086)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-24 17:02:41 +02:00
Franck Nijhof 75c3daa45f DSMR: Refactor sensor creation, added typing to sensors (#52153)
* DSMR: Refactor sensor creation, added typing to sensors

* Log from package level

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-24 16:56:43 +02:00
Erik Montnemery 04c9665241 Filter MQTT JSON attributes (#52076)
* Filter JSON attributes

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Refactor, add tests

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-06-24 16:22:54 +02:00
Martin Hjelmare 09b3882a5b Type frontend strictly (#52148) 2021-06-24 16:01:28 +02:00
Franck Nijhof afa00b7626 DSMR: Remove Gas derivative sensor (#52147) 2021-06-24 14:25:38 +02:00
Martin Hjelmare 0e5040d917 Add zwave_js options flow to reconfigure server (#51840) 2021-06-24 13:15:42 +02:00
Franck Nijhof fbdd6a9d95 DSMR: Typing cleanup in init & config flow (#52145) 2021-06-24 12:53:16 +02:00
Franck Nijhof 17357bf575 DSMR: Small cleanup; use entity class attributes (#52143) 2021-06-24 11:25:19 +02:00
Eduard van Valkenburg e21325b975 Fix missing azure event hub instance name (#52049) 2021-06-24 11:24:38 +02:00
Franck Nijhof 780d538bb0 DSMR: Adding myself to the codeowners (#52144) 2021-06-24 11:23:20 +02:00
Maciej Bieniek ff8b96c65d Remove YAML configuration import from Sony Bravia TV (#52141) 2021-06-24 11:10:21 +02:00
Matthias Alphart 74db49fae4 Add KNX select entity (#52026)
* select entity for knx

* validate select options

* lint

* phytonify

* Tweak

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-24 10:54:04 +02:00
Rob Bierbooms aa56a21b45 Add config flow step user to dsmr (#50318)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-24 10:16:08 +02:00
dependabot[bot] 0714ee68eb Bump docker/login-action from 1.9.0 to 1.10.0 (#52140)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-24 09:52:17 +02:00
Franck Nijhof a67ca08124 Change dynamic segment handling of WLED (#52018) 2021-06-23 23:43:24 +02:00
Paulus Schoutsen cc00617cd5 Allow defining state class for template sensors (#52130) 2021-06-23 14:37:04 -07:00
Robert Svensson 6352d8fb0e Use more attr instead of properties in deCONZ integration (#52098) 2021-06-23 21:40:34 +02:00
jan iversen 1f4fdb50dc Share struct validator between sensor and climate (#51935) 2021-06-23 11:03:17 -07:00
Franck Nijhof 5b663b1fb9 Add state class to Enphase Envoy (#52113) 2021-06-23 10:46:00 -07:00
Franck Nijhof 38daf94562 Add state class to Eliqonline (#52111) 2021-06-23 10:44:55 -07:00
Franck Nijhof 7f7c0febd8 Add state class to DTE Energy Bridge (#52110) 2021-06-23 10:44:41 -07:00
Franck Nijhof 927b74b4a2 Add state class to The Energy Detective TED5000 (#52109) 2021-06-23 10:44:25 -07:00
Franck Nijhof 0ddd858b4b Add state class to Aurora ABB Solar PV (#52108) 2021-06-23 10:43:57 -07:00
Franck Nijhof b9e6a6b3b8 Add state class to JuiceNet (#52116) 2021-06-23 10:43:31 -07:00
Franck Nijhof 39b090d957 Add state class to Neurio energy (#52117) 2021-06-23 10:41:48 -07:00
Franck Nijhof 3bfcca2bb0 Add state class to Atome Linky, use class attributes (#52107) 2021-06-23 10:23:56 -07:00
Martin Hjelmare ed4a3d275a Fix ezviz options flow test patch (#52125) 2021-06-23 18:19:45 +02:00
Matthias Alphart 742159a6a6 Add number entity to KNX (#51786)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-23 17:20:49 +02:00
Chris Talkington 4e88b44286 Use attrs instead of properties for directv (#51918)
* Use attrs instead of properties for directv

* Update __init__.py

* Create entity.py

* Update media_player.py

* Update remote.py

* Update media_player.py

* Update remote.py

* Update media_player.py

* Update remote.py

* Update entity.py

* Update __init__.py

* Update media_player.py

* Update remote.py

* Update media_player.py

* Update media_player.py
2021-06-23 16:10:29 +02:00
Erik Montnemery 2351f2d95e Warn when receiving message on illegal MQTT discovery topic (#52106)
* Warn when receiving message on illegal MQTT discovery topic

* Fix test
2021-06-23 15:53:17 +02:00
Tobias Sauerwein db5bf8ab23 Bump pyatmo version (#52112)
* Bump pyatmo version

* Update tests
2021-06-23 15:51:27 +02:00
Maciej Bieniek 75faee4f25 Use attrs instead of properties in Bravia TV integration (#52045)
* Use attrs instead of properties

* Revert to using properties for dynamic data

* Move volume_level to coordinator

* Move media_title to coordinator

* Remove unused variables

* Fix variable name

* Revert removed variables
2021-06-23 15:46:28 +02:00
Erik Montnemery 80ae346318 Pass the hass object to all MQTT component constructors (#52124) 2021-06-23 15:44:18 +02:00
Erik Montnemery 77de233679 Update MQTT number to treat received payload as UTF-8 (#52121)
* Update MQTT number to treat received payload as UTF-8

* Lint
2021-06-23 15:35:18 +02:00
Erik Montnemery a374e24843 Add monetary sensor device class (#52087)
* Add total_cost sensor device class

* Change to DEVICE_CLASS_MONETARY
2021-06-23 15:32:25 +02:00
Tobias Sauerwein 5a4a1a250d Catch exception for failed webhook drop for netatmo (#52119) 2021-06-23 14:56:20 +02:00
Franck Nijhof b3b23066a8 Add state class to Huisbaasje (#52114) 2021-06-23 13:11:33 +02:00
Jesse Hills 33e2b910c2 Add @jesserockz to ESPHome codeowners (#52115) 2021-06-23 13:10:58 +02:00
Jan Bouwhuis 29bfb4b046 Xiaomi_miio fan percentage based speeds and preset_modes (#51791) 2021-06-23 11:30:42 +02:00
Paulus Schoutsen 6c4816567c Add state class to Sense (#52104) 2021-06-23 08:56:11 +02:00
Paulus Schoutsen c31f267106 Add state class to powerwall (#52102) 2021-06-22 23:19:02 -07:00
GitHub Action de5431c037 [ci skip] Translation update 2021-06-23 00:09:30 +00:00
Franck Nijhof b112b18848 Get running event loop in debugpy (#52091) 2021-06-22 21:16:50 +02:00
maurerle ba3416b724 Handle ConnectionError if proxmoxve host is not reachable (#51970)
* handle ConnectionError if host is not reachable

* import only needed exceptions

fix pylint issue

* don't overwrite built-in ConnectionError

* fix typo
2021-06-22 20:54:27 +02:00
Erik Montnemery 04b425ed89 Use HS color instead of RGB color for Tasmota lights (#52052) 2021-06-22 20:40:59 +02:00
Robert Svensson e22893a206 Make attestation of supported features easier to read (deCONZ test) (#52096)
Make is_deconz_group a constant
2021-06-22 20:34:25 +02:00
Robert Svensson 6814e9607a Improve deCONZ lights supported_color_modes and tests (#51933)
* Improve deconz lights tests

* Simplify attribute definition

* Bump pydeconz to v80
2021-06-22 19:29:58 +02:00
Shay Levy 5795e76826 Migrate Switcher entity attributes to sensors (#51964)
* Migrate attributes to sensors

Migrate attributes to sensors

* Fix pylint

* Apply suggestions from code review

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Add typing imports

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-22 18:28:09 +02:00
Maciej Bieniek d08129352f Bump Nettigo Air Monitor library (#52085) 2021-06-22 15:44:53 +02:00
muppet3000 456755c077 Adjust Growatt PV units from W to kW (#52021) 2021-06-22 13:15:38 +02:00
Erik Montnemery 52c142a82d Add support for color_mode white to MQTT light basic schema (#51484)
* Add support for color_mode white to MQTT light basic schema

* Add missing abbreviations
2021-06-22 11:59:20 +02:00
Yuval Aboulafia 39bf304031 Static typing for PiHole (#51681)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-22 11:50:50 +02:00
Brian Towles 9cd3ffbd47 Modern Forms light platform code cleanup (#52058) 2021-06-22 10:10:49 +02:00
Otto Winter 03ec7b3d0b ESPHome rework EsphomeEnumMapper for safe enum mappings (#51975) 2021-06-21 21:22:38 -07:00
Raman Gupta 0eae0cca2b Move zwave_js migration tests into new module (#52075) 2021-06-21 20:42:03 -04:00
GitHub Action d805e971b4 [ci skip] Translation update 2021-06-22 00:14:17 +00:00
Raman Gupta 8a9a141f3c Fix zwave_js migration logic (#52070)
* Fix zwave_js migration logic

* revert change to move tests to new module

* Update tests/components/zwave_js/test_init.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-21 16:45:47 -04:00
MattWestb 077131df1a Update climate.py (#52065)
Adding tuya TRVs type Moes that need extra function in ZHA.
https://github.com/home-assistant/core/issues/49378 adding _TYST11/_TZE200_cwnjrr72 that is missed then being added in zigpy.
https://github.com/zigpy/zha-device-handlers/pull/931 is adding the _TZE200_b6wax7g0 and i shall adding the missed _TYST11_b6wax7g0
2021-06-21 15:36:00 -04:00
Erik Montnemery b916247e8e Improve editing of device automation referring non added select entity (#52047)
* Improve editing of device automation referring non added select entity

* Update tests
2021-06-21 14:49:51 +02:00
Brian Towles f29bcf7ff7 Modern Forms light platform (#51857)
* Add light platform to Modern Forms integration

* cleanup setup

* Code review cleanup
2021-06-21 10:09:41 +02:00
Franck Nijhof 23719bbb5e Upgrade wled to 0.7.0 (#52017) 2021-06-21 09:44:29 +02:00
Jeff Irion b46bcdeeb1 Bump adb-shell to 0.3.4 (#52044)
* Bump adb-shell to 0.3.4

* Bump adb-shell to 0.3.4

* Bump adb-shell to 0.3.4
2021-06-21 08:23:22 +02:00
Paulus Schoutsen 076227acbe Merge pull request #52043 from home-assistant/rc 2021-06-20 22:37:31 -07:00
Paulus Schoutsen 34f266bfa6 Bumped version to 2021.6.6 2021-06-20 21:49:17 -07:00
jjlawren 0d351e4a0e Catch unexpected battery update payloads on Sonos (#52040) 2021-06-20 21:49:12 -07:00
Paulus Schoutsen 79cfd444d9 Fix double subscriptions for local push notifications (#52039) 2021-06-20 21:49:11 -07:00
Maciej Bieniek 67699e3c1f Fix AccuWeather sensors updates (#52031)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-06-20 21:49:10 -07:00
Fredrik Erlandsson 47560006b8 Bump pydaikin to 2.4.3 (#51926) 2021-06-20 21:49:09 -07:00
Rob Bierbooms d6fd41bd03 Bump pyRFXtrx to 0.27.0 (#51911)
* Bump version

* Fix test
2021-06-20 21:49:08 -07:00
djtimca c8e678a2c6 Add Omnilogic switch defaults for max_speed and min_speed (#51889) 2021-06-20 21:49:08 -07:00
Konstantin Antselovich 398fca3b9d Fix whois expiration date (#51868) 2021-06-20 21:49:07 -07:00
Maciej Bieniek 2aed268fb7 Remove undo_listener variable in AccuWeather integration (#52032) 2021-06-20 21:40:04 -07:00
Maciej Bieniek 01a26f1348 Remove undo_listener variable in Sony Bravia TV integration (#52033) 2021-06-20 21:39:14 -07:00
Chris Talkington d772488472 Remove undo listener variable in sonarr (#52042) 2021-06-20 21:38:45 -07:00
jjlawren 7b5ed8faa8 Catch unexpected battery update payloads on Sonos (#52040) 2021-06-20 21:38:07 -07:00
GitHub Action 067b5258c6 [ci skip] Translation update 2021-06-21 00:09:58 +00:00
Paulus Schoutsen af8ef634c1 Fix double subscriptions for local push notifications (#52039) 2021-06-20 14:53:21 -07:00
Maciej Bieniek 57106098f9 Fix AccuWeather sensors updates (#52031)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-06-20 14:53:08 -07:00
Steven Looman a127131c1b Upgrade async_upnp_client to 0.19.0 (#52019) 2021-06-20 18:17:39 +02:00
uvjustin e8b5790846 Clean up stream refactor (#51951)
* Clean up target_duration method

* Consolidate Part creation in one place

* Use BytesIO.read instead of memoryview access

* Change flush() signature
2021-06-20 13:38:02 +08:00
GitHub Action 3836d46dff [ci skip] Translation update 2021-06-20 00:10:44 +00:00
Franck Nijhof 24c1256c2c Small WLED cleanups (#52014) 2021-06-19 17:13:48 +02:00
Oderik f550c31886 Fix IoT class (#52008) 2021-06-19 15:38:48 +02:00
Bram Kragten 34a44b9bec Use entity sources to find related entities in Search (#51966)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-19 13:25:26 +02:00
Matthias Alphart 1d941284ff Fix not awaiting async super method in KNX climate (#52005) 2021-06-19 01:10:17 -05:00
Matthias Alphart c246e211eb Update xknx to 0.18.7 (#52000) 2021-06-18 22:22:27 -05:00
GitHub Action 8901e1f157 [ci skip] Translation update 2021-06-19 00:10:05 +00:00
Aaron Bach 549f779b06 Force SimpliSafe to reauthenticate with a password (#51528) 2021-06-18 16:11:35 -06:00
Franck Nijhof 23222589dd Add device condition support to Select entity (#51992) 2021-06-18 23:31:08 +02:00
Franck Nijhof 655f797f67 Add Select entity support to Google Assistant (#51997) 2021-06-18 23:30:46 +02:00
Erik Montnemery 0ca199d8d0 Add WS API for listing available statistic ids (#51984)
* Add WS API for listing available statistic ids

* Update homeassistant/components/history/__init__.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2021-06-18 21:32:30 +02:00
Paulus Schoutsen 805ef3f90b Allow fetching multiple statistics (#51996) 2021-06-18 21:03:13 +02:00
Franck Nijhof 87a43eacb7 Add device action support to Select entity (#51990) 2021-06-18 11:40:29 -07:00
Franck Nijhof 06edc731c5 Add significant change support to select entity (#51978) 2021-06-18 11:31:09 -07:00
Franck Nijhof 98a53188f8 Add reproduce state to select entity (#51977) 2021-06-18 11:30:40 -07:00
Franck Nijhof c1cfbcc4e3 Add device trigger support to Select entity (#51987) 2021-06-18 10:01:32 -07:00
Martin Hjelmare 2628ce54d9 Type homeassistant triggers event (#51979) 2021-06-18 09:46:20 -07:00
Franck Nijhof 054ca1d7ec Add Select entity component platform (#51849)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-18 11:51:55 +02:00
jan iversen bc329cb602 Convert if/elif chains to dicts in modbus (#51962) 2021-06-18 11:20:44 +02:00
Brent Petit c149ecf2cc Handle disconnected ecobee thermostat in humidifier and remote sensors (#51873) 2021-06-18 09:06:31 +02:00
GitHub Action c0a0c8b283 [ci skip] Translation update 2021-06-18 00:09:11 +00:00
Tom 88eca8cc15 Add deconz support for Lidl Smart Door Bell HG06668 (#51949) 2021-06-17 17:57:27 +02:00
Raman Gupta 1e18011603 Adjust zwave_js WS API commands for logging (#51096) 2021-06-17 17:19:25 +02:00
Franck Nijhof 06c2e541c4 Fully type lock entity component (#51958) 2021-06-17 14:28:56 +02:00
Franck Nijhof 8e07e60741 Fully type binary_sensor entity component (#51957) 2021-06-17 13:53:45 +02:00
Artem Draft db61a773fd Add remote control platform to BraviaTV (#50845) 2021-06-17 12:33:44 +02:00
jan iversen 08b0ef7a5e Use test fixture for configuration testing (#51803)
* Autospec mock_modbus and usei for configuration.

* Review comment.
2021-06-17 12:27:05 +02:00
Bram Kragten 0327d0b6db Add Mutesync dynamic update interval and catch invalid response values (#50764)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-06-17 11:40:48 +02:00
Franck Nijhof 927b5361a3 Define LockEntity entity attributes as class variables (#51909) 2021-06-17 11:25:33 +02:00
jjlawren d3724355cf Improve Sonos Spotify/Tidal support, add service exceptions (#51871) 2021-06-17 11:09:57 +02:00
Brent Petit 016ba39dfb Ecobee logging cleanup (#51754) 2021-06-17 10:59:13 +02:00
Fredrik Erlandsson b2aa55cea2 Bump pydaikin to 2.4.3 (#51926) 2021-06-17 10:58:28 +02:00
jan iversen 3ba90776c0 Add autospec to modbus mock, in order to use getattr (#51813) 2021-06-17 10:57:20 +02:00
Erik Montnemery ee6c77048c Improve editing of device actions referencing non-added humidifier (#51749) 2021-06-17 10:27:22 +02:00
Franck Nijhof 17a71020db Define RemoteEntity entity attributes as class variables (#51904) 2021-06-17 10:21:49 +02:00
Franck Nijhof 9f17b8856a Define WaterHeaterEntity entity attributes as class variables (#51903) 2021-06-17 10:19:29 +02:00
Franck Nijhof 3b00e87ebc Define WeatherEntity entity attributes as class variables (#51899) 2021-06-17 10:16:16 +02:00
Franck Nijhof 7947946793 Type entry setup/unload for entity components (#51912) 2021-06-17 10:10:26 +02:00
Eugenio Panadero b7c1df7864 Adopt new electricity tariffs in pvpc hourly pricing (#51789) 2021-06-17 09:03:28 +02:00
jjlawren d4ac5bf048 Bump plexapi to 4.6.1 (#51936) 2021-06-17 09:02:23 +02:00
dependabot[bot] aaf3a5a9c5 Bump actions/upload-artifact from 2.2.3 to 2.2.4 (#51946)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.3...v2.2.4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-17 08:31:20 +02:00
RenierM26 fe26c34e87 Clean ezviz error handling in services (#51945) 2021-06-17 08:30:19 +02:00
Konstantin Antselovich c8329032b2 Fix whois expiration date (#51868) 2021-06-17 05:57:46 +02:00
Adam Król 986c4a8f29 Support Wolflink reconnection after unexpected failure (#47011)
* Support reconnection after unexpected fails

* Update session at every call. Support Offline devices

* Remove unnecessary else branch

* Clean typing

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-17 05:24:17 +02:00
Franck Nijhof 33e08f38da Raise bad request when receiving HTTP request from untrusted proxy (#51839)
* Raise bad request when receiving HTTP request from untrusted proxy

* Fix code comment
2021-06-17 04:41:19 +02:00
GitHub Action 17414439df [ci skip] Translation update 2021-06-17 00:10:03 +00:00
Raman Gupta a250343c55 Support bitmask as a value (#51892)
* Support bitmask as a value

* Fix value schema and add tests

* fix test

* revert change to value schema
2021-06-16 15:53:45 -04:00
jjlawren 31db3fcb23 Refactor Sonos alarms and favorites into system-level coordinators (#51757)
* Refactor alarms and favorites into household-level coordinators

Create SonosHouseholdCoodinator class for system-level data
Fix polling for both alarms and favorites
Adjust tests

* Fix docstring

* Review cleanup

* Move exception handling up a level, do not save a failed coordinator

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-16 10:30:05 -05:00
Franck Nijhof bc3e5b39ed Clean up cover group (#51924) 2021-06-16 14:47:29 +02:00
djtimca dc9f1411d4 Add Omnilogic switch defaults for max_speed and min_speed (#51889) 2021-06-16 14:39:09 +02:00
Franck Nijhof 13bf5dbee4 Upgrade mypy to 0.902 (#51907) 2021-06-16 14:35:32 +02:00
Franck Nijhof 4655e3aa08 Clean up light group (#51922) 2021-06-16 14:30:25 +02:00
jan iversen 7ad91fdf71 Add swap to climate and change data_count -> count in modbus (#51668) 2021-06-16 12:11:23 +02:00
Eric Severance 61079ab7fa Support receiving long-press events from WeMo devices (#45503)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-16 12:00:34 +02:00
Franck Nijhof c65d120633 Fix typo in min/max mired(s) entity class attribute (#51921) 2021-06-16 09:58:21 +02:00
Franck Nijhof 37d3a4dd53 Use entity class vars in Switch demo (#51906)
* Use entity class vars in Switch demo

* Fix missing initial state of the demo switch
2021-06-16 08:29:31 +02:00
Rob Bierbooms ff0c753c87 Bump pyRFXtrx to 0.27.0 (#51911)
* Bump version

* Fix test
2021-06-15 20:34:05 -05:00
GitHub Action a072fb059d [ci skip] Translation update 2021-06-16 00:09:27 +00:00
Franck Nijhof f2bc69a653 Merge pull request #51902 from home-assistant/rc 2021-06-15 20:37:40 +02:00
uvjustin 6d656dd2ec Speed up record stream audio test (#51901) 2021-06-15 14:27:53 -04:00
Franck Nijhof fcb2c26a24 Bumped version to 2021.6.5 2021-06-15 19:45:33 +02:00
Ludovico de Nittis ee7a2b29ad Bump pyialarm to 1.9.0 (#51804) 2021-06-15 19:44:48 +02:00
Joakim Sørensen dcc7bc10e8 Add httpcore with version 0.13.3 (#51799) 2021-06-15 19:44:45 +02:00
Fredrik Erlandsson 8f34d1cf32 Bump pydaikin, fix airbase issues (#51797) 2021-06-15 19:44:42 +02:00
Ron Klinkien fcc66139f8 Replace garminconnect_aio with garminconnect_ha (#51730)
* Fixed config_flow for multiple account creation

* Replaced python package to fix multiple accounts

* Replaced python package to fix multiple accounts

* Implemented config entries user

* Config entries user

* Fixed test code config flow

* Fixed patch
2021-06-15 19:44:35 +02:00
Milan Meulemans 63e20f2ced Mark config flow fields as required (#51898)
* flo

* goalzero

* mutesync

* ring

* roon

* risco

* Ruckus Unleashed

* Scaffold template
2021-06-15 19:21:30 +02:00
Eric Severance 3488b78365 Add a menu_cursor service to the yamaha component (#44819)
* Add a menu_cursor service to the yamaha component

* Update homeassistant/components/yamaha/media_player.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update service description to new format

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-15 19:17:10 +02:00
Franck Nijhof 37af42e470 Upgrade pillow to 8.2.0 (#51897) 2021-06-15 19:14:57 +02:00
Matthias Alphart b08f473da4 Add current hvac_action to KNX climate (#51464) 2021-06-15 17:51:16 +02:00
Franck Nijhof 16d5d7e508 Upgrade codecov to 2.1.11 (#51885) 2021-06-15 15:04:48 +02:00
Franck Nijhof e4202aa4de Upgrade pytest-cov to 2.12.1 (#51886) 2021-06-15 15:04:07 +02:00
RenierM26 22b8dc16c2 Add services to ezviz integration (#48984)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-15 13:23:32 +02:00
Kevin Worrel 515bd18ddd Don't create unsupported pump sensors (#51828)
* Don't create unsupported pump sensors

* Remove old code and simplify new statements.

* Address notes
2021-06-15 13:19:48 +02:00
Matthias Alphart c0d311473c Restore state of KNX Switch (#51761) 2021-06-15 13:08:19 +02:00
Jan 333f199bd4 Additional units for HM-ES-TX-WM with ES-IEC (#50713)
The Homematic HM-ES-TX-WM with ES-IEC adapter needs additional unit cast for `IEC_POWER` and `IEC_ENERGY_COUNTER`.
2021-06-15 12:13:03 +02:00
Erik Montnemery f3c6e846fa Enable asyncio debugging from debugpy integration (#51880)
* Optionally enable asyncio debugging from debugpy integration

* Unconditionally enable asyncio debugging
2021-06-15 12:10:47 +02:00
Raman Gupta 3db8d9ede5 Require admin for new node status WS API command (#51863) 2021-06-15 09:34:04 +02:00
Erik Montnemery 59a3e0f4dc Improve editing of device conditions referencing non-added HVAC (#51832) 2021-06-15 02:23:13 +02:00
GitHub Action 5469cc8fb2 [ci skip] Translation update 2021-06-15 00:11:31 +00:00
rikroe dfe21eb78f Add selectors to BMW Connected Drive service definitions (#47065)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2021-06-15 00:56:14 +02:00
Kim Frellsen e1538594cd Update fortios device tracker to support FortiOS 7.0 (#51640)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-15 00:29:37 +02:00
starkillerOG 3a2d50fe23 Add Xiaomi Miio EU gateway support (#47955)
* Add EU gateway support

* add options flow translations

* fix options flow

* fix missing import

* try to fix async_add_executor_job

* try to fix async_add_executor_job

* fix unload

* check for login succes

* fix not reloading

* use cloud option

* fix styling

* Return after if

Co-authored-by: Nathan Tilley <nathan@tilley.xyz>

* cleanup

* add options flow tests

* fix new tests

* fix typo in docstring

* add missing blank line

* Use async_on_unload

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Use async_on_unload

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Use async_setup_platforms

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Use async_unload_platforms

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/xiaomi_miio/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/xiaomi_miio/const.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* default use_cloud False

* add options flow checks

* fix styling

* fix issort

* add MiCloud check tests

* fix indent

* fix styling

* fix tests

* fix tests

* fix black

* re-write config flow

* add explicit return type

* update strings.json

* black formatting

* fix config flow

Tested the config flow and it is now fully working

* fix styling

* Fix current tests

* Add missing tests

* fix styling

* add re-auth flow

* fix styling

* fix reauth flow

* Add reauth flow test

* use ConfigEntryAuthFailed

* also trigger reauth @ login error

* fix styling

* remove unused import

* fix spelling

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Fix spelling

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* fix spelling

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* remove unessesary .keys()

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* combine async_add_executor_job calls

* remove async_step_model

* fix wrong indent

* fix gatway.py

* fix tests

Co-authored-by: Nathan Tilley <nathan@tilley.xyz>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-15 00:05:40 +02:00
Raman Gupta 8705168fe6 Add zwave_js WS API cmds to get node state and version info (#51396)
* Add zwave_js view to retrieve a node's state

* remove typehints

* Make dump views require admin

* Add version info to node level dump

* Add back typehints

* switch from list to dict

* switch from dump node view to two WS API commands

* switch to snake
2021-06-14 16:43:51 -04:00
Raman Gupta f00f2b4ae4 Add zwave_js ping node service (#51435)
* Add zwave_js ping node service

* uncomment code

* use asyncio.gather
2021-06-14 16:38:35 -04:00
Brian Towles b1fa01e4bc Cleanup of code reviews from initial modern forms (#51794) 2021-06-14 21:04:02 +02:00
yllar 7329dc4f6b Add missing languages to Microsoft TTS (#51774) 2021-06-14 14:10:21 -04:00
jjlawren e929774481 Add warning during playback if Plex token missing (#51853) 2021-06-14 20:09:27 +02:00
Raman Gupta 0d40ba463e Create zwave_js node status sensor when the node is added (#51850)
* Create node status sensor when the node is added

* Handle race condition

* reduce repeat code
2021-06-14 19:31:44 +02:00
Franck Nijhof 347ef9cb4c Define NumberEntity entity attributes as class variables (#51842) 2021-06-14 09:05:01 -07:00
Franck Nijhof 32409a2c93 Define HumidifierEntity entity attributes as class variables (#51841) 2021-06-14 09:04:46 -07:00
Joakim Sørensen c8755cd896 Migrate the name for the hassio user (#51771) 2021-06-14 09:01:18 -07:00
uvjustin 97e77ab229 Improve type hints in stream (#51837)
* Improve type hints in stream

* Fix import locations

* Add stream to .strict-typing

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
2021-06-14 23:59:25 +08:00
Malte Franken 7cd57dd156 Bump aio_geojson_geonetnz_quakes to v0.13 (#51846) 2021-06-14 17:29:23 +02:00
Erik Montnemery 4c9f12b9c5 Correct trace path for trigger with custom id (#51847) 2021-06-14 17:09:20 +02:00
Erik Montnemery a989677bef Improve editing of device conditions referencing non-added binary sensor (#51831)
* Improve editing of device conditions referencing non-added binary sensor

* Update tests
2021-06-14 15:26:46 +02:00
Erik Montnemery 06fc21e287 Improve editing of device conditions referencing non-added sensor (#51835) 2021-06-14 15:22:31 +02:00
Erik Montnemery 59ef55c34f Improve editing of device conditions referencing non-added cover (#51833) 2021-06-14 14:34:59 +02:00
Erik Montnemery af05543744 Improve editing of device conditions referencing non-added humidifier (#51834) 2021-06-14 14:12:42 +02:00
Malte Franken 33ec6621c7 Bump georss_ign_sismologia_client to v0.3 (#51838) 2021-06-14 13:51:11 +02:00
Felipe Martins Diel fca79237c3 Create dataclass to mock entry setup in Broadlink tests (#50134) 2021-06-14 13:28:57 +02:00
Erik Montnemery 08af791d4c Improve editing of device conditions referencing non-added alarm (#51830) 2021-06-14 13:05:27 +02:00
jan iversen 77f6d1f5cb Do not return an exception in modbus (#51829) 2021-06-14 10:56:24 +02:00
Tom Schneider 7e1fec8ee4 Rewrite of Yamaha musiccast integration (#51561)
* Initial commit for new musiccast integration

* Add zone support

* Get/set volume level

* Remove volume step

* Create custom MusicCastData type

* Create MusicCastDevice

* Fix await

* Add power and mute control

* Implement all basic media_player parts

* Support input switching

* Add duration/position support

* Add advanced tuner functions

* Basic media browser

* Add layer in media browser to see all available list_infos

* Added join/unjoin services and group informations. Known issue: You can not link zone 2 to main at the moment (WIP)

* Many fixes to make multiple zones and grouping work. Next step: implement error handling and remove debugging information

* WIP: Added Multizone Support and allows clients to directly jump from one group to another. Known issue: If a server tries to join a group as client, he has to close his group first. Sometimes the device that was a server previously jumps out of the group directly after joining.

* Updated group management to make it wait for the updated group information before performing the next actions - Timeouts after 1 second, then polls the distribution data. If the data are still not updated, there will be one retry before an Exception is thrown. Extended the state attributes for clients to make them return group details from their servers (leads to inactive group management buttons for the client). Added documentation and restructured the code.

* Make the service handle function name for group specific service calls unique

* Added service descriptions for set_sleep_timer, set_alarm, recall_netusb_preset, store_netusb_preset

* Added data entries for alarm specific values and a netusb preset list. Implemented fetching function for clock and netusb presets.

* Registered and implemented services for set_sleep_timer, set_alarm, recall_netusb_preset, store_netusb_preset. The set_alarm service works with a special mediaplayer alarm lovelace card, I am currently working on.
The NetUSB Presets are also available using the media browser. Maybe we could also add the Tuner presets in the future for both setting up the alarm and recalling them via service and media browser.

* Removed some debug prints

* Moved MusicCast Integration to the aiomusiccast library. This library supports media browsers with multiple pages. Added ssdp support for the discovery

* Minor fix in the group management and tidied up a bit

* Updated manifest of yamaha musiccast

* Update library

* Minor fix in the media browser. get_distribution_num does not have to be async, so it has been changed. Adjusted the client join function to turn on the client before joining a group - the musiccast app does so, so hopefully this fixes the rare errors when adding a turned off client to a group. Some reformating and by hooks fixed most of the requirements of the hooks. Known exception from this: mypy throws an error for line 116.

* Removed some old out commented code. Fixed some error handling, when the user enters a non reachable or non yamaha host in the manual setup. Fixed linting/styling errors. Implemented tests to bring the coverage for the config flow to 100%.

* Fixed linting/styling errors. Return a DeviceInfo object instead of a dict.

* Fixed linting/styling errors. Added a new error type to the translations.

* In the yamaha API the system_id is equal to the serial number in the DLNA description. Due to that it was possible to configure a device twice, because the serial number from the yamaha API was different. This issue was fixed.

* Updated tests and added a test for adding a device manually, which is already present in the system

* Remove print statements

* Fix sleep timer service call

* Fix yamllint error

* Shrink PR down to just new library + config flow with discovery

* Add __init__.py to .coveragerc

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>

* Implement suggestions from code review

* Improve identifiers and connections, remove event loop parameter

* Add coordinator back

* Better exception handling

* Fix unique id in ssdp step

* Remove abc.ABC from MusicCasteDeviceEntity

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/yamaha_musiccast/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Replace the repeat mode mapping from mc to ha by a generic solution

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* add coordinator to the super call of the mediaplayer

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* add the coordinator to the init function of the MusicCastEntity

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Pass the coordinator from the MusicCastEntity init function to the CoordinatorEntity init function

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* merged _handle_config_flow into async_step_user

* reformated the exception handling of the user step. In the case that the device already exists, the AbortFlow will be raised.

* Removed model from the config entry. It was neither set nor used anymore.

* Fixed the test for the config flow.

* Use async_write_ha_state instead of schedule_update_ha_state.

* Add default value for the system ID gotten in the user step

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/yamaha_musiccast/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Added a fixture to avoid IO in the test_user_input_device_not_found test

* Use absolute imprt to import data_entry_flow.

* Use local vars for host and serial_number in async_step_user.

* Remove ip_address and zone_id properties.

* Use device id for the unique ID of an entity instead of the macs

* Removed entry_id from the MusicCastEntity init function.

* Updated strings and English translation.

* don't set the coordinator in the mediaplayer init.

* Implemented legacy configuration.yaml support for existing configurations.

* Added tests for the newly added config flow step.

* Use device_id as identifier

* Fix an accidentally relative import

* Fix pylint warnings

* use logger.error instead of logger.exception in the import step.

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Use CONF_HOST instead of 'host'

* Only support the import from configuration.yaml if no config entries are setup for musiccast. If there are already config entries in HA and none of them is a representation of a config given in configuration.yaml (e.g. config added after the first import), an error will be logged.

* Update homeassistant/components/yamaha_musiccast/media_player.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Readded PLATFORM_SCHEMA for configuration.yaml

* Raise an exception for all services, which are only supported for specific sources.

* Bump aiomusiccast to 0.6 to support asyncio sockets

Co-authored-by: Michael Harbarth <michael.harbarth@gmx.de>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-14 08:58:42 +02:00
blawford 0709aa7c8c Pass metadata when casting an app (#51148)
* Pass through metadata when casting an app

* Remove passing kwargs to quick_play

Add metadata to the app_data dict.

* Include pass-through of metadata

* Bump pychromecast to 9.2.0

* Add changes to test to verify metadata

* Fix order of imports
2021-06-14 08:48:32 +02:00
Alexei Chetroi cc622f46c5 Bump up ZHA dependencies (#51765) 2021-06-13 21:53:37 -04:00
Ludovico de Nittis c260fca242 Bump pyialarm to 1.9.0 (#51804) 2021-06-13 21:47:56 -04:00
GitHub Action 1e00e48831 [ci skip] Translation update 2021-06-14 00:09:44 +00:00
J. Nick Koston 75d6ffebc8 Improve error when HomeKit accessory underlying entity is missing (#51713)
* Improve error when HomeKit accessory underlying entity is missing

* docstring in test
2021-06-13 17:27:04 -05:00
jjlawren d755952148 Set playlist name on playing Sonos media (#51685)
* Use playlist name as media_channel if available

* Use proper playlist attribute
2021-06-13 17:24:46 -05:00
ollo69 4300484ca0 Catch AsusWRT UnicodeDecodeError in get_nvram call (#51811) 2021-06-13 17:20:02 -05:00
uvjustin 123e8f01a1 Refactor stream to create partial segments (#51282) 2021-06-14 00:41:21 +08:00
Jeff Irion 1adeb82930 Bump androidtv to 0.0.60 (#51812)
* Bump androidtv to 0.0.60

* Update requirements_test_all.txt

* Update manifest.json
2021-06-13 18:22:20 +02:00
Simone Chemelli fbe507a9c1 Strict types - first part (#51479) 2021-06-13 16:45:35 +02:00
Shay Levy a31e6716d9 Cleanup switcher_kis - move to consts (#51807) 2021-06-13 17:34:42 +03:00
Milan Meulemans 49a943cc94 Fix Roomba strings step_id rename (#51744) 2021-06-13 12:05:24 +02:00
Milan Meulemans aacb334cc8 Remove connection classes (#51801) 2021-06-13 12:05:09 +02:00
Fredrik Erlandsson 936f155499 Bump pydaikin, fix airbase issues (#51797) 2021-06-13 11:38:55 +02:00
Joakim Sørensen 33ac4dba5a Add httpcore with version 0.13.3 (#51799) 2021-06-13 10:21:26 +02:00
Franck Nijhof ae28e4934f Mark Ambee as a platinum quality integration (#51779) 2021-06-13 07:41:27 +02:00
GitHub Action 1d0c4c6e99 [ci skip] Translation update 2021-06-13 00:10:48 +00:00
Erik Montnemery f9e9202e2d Improve editing of device triggers referencing non-added alarm (#51701) 2021-06-13 00:07:25 +02:00
Erik Montnemery 3a739563b4 Improve editing of device actions referencing non-added alarm (#51747) 2021-06-12 23:43:28 +02:00
Franck Nijhof f975beae77 Upgrade wled to 0.6.0 (#51783) 2021-06-12 22:23:12 +02:00
Franck Nijhof f362852a24 Upgrade black to 21.6b0 (#51785) 2021-06-12 22:07:22 +02:00
Erik Montnemery b8669bf4c1 Improve editing of device actions referencing non-added cover (#51748) 2021-06-12 21:40:32 +02:00
Erik Montnemery 6ab37881c9 Improve editing of device actions referencing non-added lock (#51750) 2021-06-12 21:31:30 +02:00
Franck Nijhof c242e56b8c Add re-authentication support to Ambee (#51773)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-12 16:18:06 +02:00
Franck Nijhof cfce71d7df Allow keeping master light in WLED (#51759) 2021-06-12 13:33:23 +02:00
Eduard van Valkenburg 779ef3c8e1 Add timedelta option for async_call_later (#50164) 2021-06-12 13:14:35 +02:00
Martin Hjelmare c3cfbfe54b Refactor zwave_js config flow (#51720) 2021-06-12 13:12:17 +02:00
Malte Franken 3276666457 Bump aio_geojson_nsw_rfs_incidents to v0.4 (#51770) 2021-06-12 11:55:32 +02:00
Martin Hjelmare be137b085b Refactor zwave_js disconnect client helper (#51718) 2021-06-12 11:35:33 +02:00
Matthias Alphart 4afe7de07f xknx 0.18.6 (#51758) 2021-06-12 11:19:05 +02:00
Ron Klinkien f6e0165543 Replace garminconnect_aio with garminconnect_ha (#51730)
* Fixed config_flow for multiple account creation

* Replaced python package to fix multiple accounts

* Replaced python package to fix multiple accounts

* Implemented config entries user

* Config entries user

* Fixed test code config flow

* Fixed patch
2021-06-12 10:05:27 +02:00
Paulus Schoutsen 2535f5c155 Merge pull request #51768 from home-assistant/rc 2021-06-11 22:18:37 -07:00
Paulus Schoutsen 97e36cd3c4 Bumped version to 2021.6.4 2021-06-11 21:42:27 -07:00
J. Nick Koston 548e847453 Fix race condition in samsungtv turn off (#51716)
- The state would flip flop if the update happened before the TV had fully shutdown
2021-06-11 21:42:15 -07:00
J. Nick Koston 60b89101e5 Ensure samsungtv reloads after reauth (#51714)
* Ensure samsungtv reloads after reauth

- Fixes a case of I/O in the event loop

* Ensure config entry is reloaded
2021-06-11 21:42:14 -07:00
Pawel 90d28e911c Fix Onvif get_time_zone from device (#51620)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-11 21:42:13 -07:00
Maciej Bieniek cfea8a9ad1 Do not configure Shelly config entry created by custom component (#51616) 2021-06-11 21:42:12 -07:00
blastoise186 880fe82337 Reduce ovo_energy polling rate to be less aggressive (#51613)
* Reduce polling rate to be less aggressive

The current polling rate is too aggressive for the purpose, this commit reduces it to 12 hours to play nice with OVO.

* tweak polling to hourly
2021-06-11 21:42:11 -07:00
jjlawren 3a5f51ed7d Handle missing section ID for Plex clips (#51598) 2021-06-11 21:42:10 -07:00
jjlawren cca1b426bb Fix Sonos battery sensors on S1 firmware (#51585) 2021-06-11 21:42:09 -07:00
GitHub Action 30c53a1a13 [ci skip] Translation update 2021-06-12 00:08:54 +00:00
Erik Montnemery bf6a412be0 Tweak device action scaffold, fix typo (#51751) 2021-06-11 23:22:18 +02:00
Franck Nijhof b83b82ca7d WLED WebSocket support - local push updates (#51683)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-06-11 20:55:08 +02:00
Brent Petit 5cc31a98e2 Add Ecobee humidifier device_info and unique_id (#51504)
* Add Ecobee humidifier device_info and unique_id

Ecobee humidifier entity was not connected to the thermostat device.
This change will ensure the entitiy is properly connected.

This change also fills out the ecobee-data.json fixutre data a bit
to address failures in the test setup.

* Add Ecobee humidifier device_info and unique_id

Adjust test fixture data to increase pytest coverage
Clean up indenting in ecobee-data.json

* Add Ecobee humidifier device_info and unique_id

Update exception case in device_info to not
be included in codecov tests. This case has
been tested locally.

* Add Ecobee humidifier device_info and unique_id

Address pylint issue

* Add Ecobee humidifier device_info and unique_id

Remove no cover pragma and add ecobee humidifier.py to
.coveragerc
2021-06-11 17:39:57 +02:00
Erik Montnemery b01b33c304 Add trigger condition (#51710)
* Add trigger condition

* Tweaks, add tests
2021-06-11 15:05:57 +02:00
Chris Talkington fa3ae9b83c Use attrs instead of properties in roku (#51735)
* Use attrs instead of properties in roku.

* Update media_player.py

* Update remote.py

* Update __init__.py

* Create entity.py

* Update entity.py

* Update media_player.py

* Update remote.py

* Update __init__.py

* Update media_player.py

* Update remote.py

* Update __init__.py

* Update __init__.py

* Update entity.py
2021-06-11 13:51:18 +02:00
Chris Talkington e0013648f6 Use attrs instead of properties in sonarr (#51737)
* Use attrs instead of properties in sonarr

* Create entity.py

* Update sensor.py

* Update __init__.py

* Update entity.py

* Update entity.py

* Update sensor.py
2021-06-11 13:48:20 +02:00
Maciej Bieniek 343e0e0933 Use attrs instead of properties in Brother (#51742)
* Use attrs instead of properties

* Use get() for device_class
2021-06-11 13:36:17 +02:00
Ville Skyttä 7d03b02192 Spelling fixes (#51642) 2021-06-11 13:35:03 +02:00
Malte Franken be0d9d185b Bump georss_generic_client to v0.6 (#51745) 2021-06-11 13:30:58 +02:00
Franck Nijhof f17a5f0db9 Clean up redudant exceptions from handlers (#51741) 2021-06-11 13:29:50 +02:00
Franck Nijhof b4aeddd12f Add 100% test coverage to WLED integration (#51743) 2021-06-11 12:45:22 +02:00
jan iversen 2a51587bc3 Remove reverse_order (replaced by generic swap) (#51665)
Remove reverse_order (replaced by generic swap).
2021-06-11 11:41:41 +02:00
Franck Nijhof 7393cba0a5 Mock WLED in all WLED tests (#51724)
* Mock WLED in all WLED tests

* Update tests/components/wled/conftest.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Remove useless AsyncMock

* Add missing asserts

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-06-11 11:36:54 +02:00
Erik Montnemery ba6b527d61 Improve editing of device actions referencing non-added HVAC (#51706)
* Improve editing of device actions referencing non-added HVAC

* Improve test coverage
2021-06-11 11:13:55 +02:00
Erik Montnemery 49bec86dae Add base schema for triggers (#51727)
* Add base schema for triggers

* Tweak

* Make TRIGGER_BASE_SCHEMA a voluptuous schema

* Make state trigger BASE_SCHEMA a voluptuous schema
2021-06-11 09:51:12 +02:00
jan iversen 9e378d51af Reduce modbus schemas and add delay to fan/light (#51664) 2021-06-11 09:22:47 +02:00
Yuval Aboulafia ed9df83932 Static typing for no_ip integration (#51694)
* no_ip type hints

* type import change

* change Any to datetime
2021-06-11 10:06:15 +03:00
GitHub Action c937c6d6b5 [ci skip] Translation update 2021-06-11 00:11:06 +00:00
Maciej Bieniek 0404acddf9 Add support for state_class (#51512) 2021-06-10 21:31:21 +03:00
Maciej Bieniek 9d64b64d34 Use attrs instead of properties in Airly integration (#51712) 2021-06-10 19:32:41 +02:00
jan iversen 453da10b62 Secure not to activate multiple venv in pre_commit hook (#51715) 2021-06-10 19:27:24 +02:00
J. Nick Koston 4722fdf465 Fix race condition in samsungtv turn off (#51716)
- The state would flip flop if the update happened before the TV had fully shutdown
2021-06-10 19:24:30 +02:00
J. Nick Koston ab490bc769 Ensure samsungtv reloads after reauth (#51714)
* Ensure samsungtv reloads after reauth

- Fixes a case of I/O in the event loop

* Ensure config entry is reloaded
2021-06-10 19:23:00 +02:00
Robert Svensson 6e0aca49af Replace properties with attr in Axis integration (#51686) 2021-06-10 19:15:01 +02:00
Erik Montnemery 76c3058d15 Rename device trigger base schema to DEVICE_TRIGGER_BASE_SCHEMA (#51719) 2021-06-10 19:11:38 +02:00
Martin Hjelmare a7f05713a0 Add Supervisor restart add-on helper (#51717) 2021-06-10 18:08:25 +02:00
Jc2k d75c97cbf3 Revert "Set Fahrenheit reporting precision to tenths for Homekit Controller climate entities (#50415)" (#51698) 2021-06-10 15:41:42 +01:00
Franck Nijhof 17cf0cef0f Increase Ambee update interval to 1 hour (#51708) 2021-06-10 15:08:35 +02:00
Maciej Bieniek 220ad2baea Use attrs instead of properties in Nettigo Air Monitor integration (#51705)
* Use attrs instead of properties

* Remove unused self

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-10 14:42:28 +02:00
Franck Nijhof fca0446ff8 Add pollen sensors to Ambee (#51702) 2021-06-10 14:18:09 +02:00
Robert Svensson 79996682e5 Add device trigger for IKEA Trådfri Shortcut button to deCONZ (#51680) 2021-06-10 13:17:48 +02:00
Erik Montnemery d9110b5208 Improve editing of device triggers referencing non-added binary sensors (#51700) 2021-06-10 13:06:01 +02:00
Erik Montnemery c1bc99890d Improve editing of device triggers referencing non-added cover (#51703) 2021-06-10 12:46:28 +02:00
tkdrob 181a4519b8 Clean up unloads (#51688) 2021-06-10 09:56:35 +02:00
Robert Svensson b1022ce84e Use supported color modes in deCONZ integration (#51656)
* Initial commit everything is working, need to reevaluate tests

* Fix supported color modes and hs_color

* Attest color mode
2021-06-10 08:51:58 +02:00
Erik Montnemery 9097f41219 Correct comment in MQTT fan (#51682) 2021-06-10 08:18:59 +02:00
Franck Nijhof b165e9f0cf Upgrade ambee to 0.3.0 (#51676) 2021-06-10 08:16:25 +02:00
jjlawren c362ffd384 Clean up unused Sonos subscriptions (#51583) 2021-06-09 23:31:14 -05:00
GitHub Action 417ba5538d [ci skip] Translation update 2021-06-10 00:11:17 +00:00
Franck Nijhof e5c6ac5ba8 Add 100% test coverage to Ambee integration (#51670)
* Add 100% test coverage to Ambee integration

* Add tests for device and entity registry
2021-06-09 20:23:16 +02:00
Franck Nijhof 332c86ff8c Restructure WLED integration (#51667) 2021-06-09 20:15:46 +02:00
jjlawren c512e1df3c Bump pysonos to 0.0.51 (#51669) 2021-06-09 18:20:28 +02:00
Kenny Millington cdf256b93e Create docker series version tag YYYY.M (#51615)
* Create docker series version tag YYYY.M.x

* Only create docker series version for stable tags

Following review on the PR51615

* Remove the ".x" suffix for docker series tags

Following review on PR51615

* Fix the in-line comment

Oversight in previous commit
2021-06-09 18:16:48 +02:00
Yuval Aboulafia e78c656bfe Static typing for Uptime (#51638)
* uptime typing

* Clean up name type

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-09 14:30:33 +02:00
Matthias Alphart 6e20edc30c Update xknx to version 0.18.5 (#51644)
* xknx 0.18.5

* fix integer DPTs trying to cast str state with `int()`

* Delint

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-09 14:08:29 +02:00
rianadon d3a4e21cb5 Convert ecobee pressure to local units (#51379)
* Convert ecobee pressure to local units

* Round inHg to 2 places
2021-06-09 14:06:24 +02:00
Pascal Vizeli c21895facb Remove ASUS.gpio / not working with new GCC (#51662) 2021-06-09 13:33:41 +02:00
Franck Nijhof a6a34c76f7 Add color mode support to WLED (#51648)
* Add color mode support to WLED

* Update homeassistant/components/wled/light.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/wled/light.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/wled/light.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/wled/light.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* black

* property, property

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-06-09 13:31:31 +02:00
Franck Nijhof d021e593d3 Add Ambee integration (#51645) 2021-06-09 13:22:37 +02:00
Erik Montnemery 87813ea991 Tweak light.valid_supported_color_modes (#51659) 2021-06-09 12:53:08 +02:00
cklagenberg f09f47f13a Add device trigger support for Philips Hue Wall Switch Module (#51574) 2021-06-09 12:06:02 +02:00
Maciej Bieniek 4e0c9dd18c Increase test coverage in Brother integration (#51657) 2021-06-09 11:52:21 +02:00
Erik Montnemery 443463e19d Emulate color_temp for lights which support color or white (#51654)
* Emulate color_temp for lights which support color or white

* Support legacy lights

* Tidy up group.light code

* Improve color_temp to white conversion

* Remove color_temp to white conversion

* Add test

* Tweak deconz test
2021-06-09 11:23:01 +02:00
dependabot[bot] 062e2bab67 Bump codecov/codecov-action from 1.5.0 to 1.5.2 (#51652)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-09 09:27:24 +02:00
Erik Montnemery a1e3283f8f Improve editing of device automations referencing non-added sensors (#51312) 2021-06-08 23:28:08 -07:00
GitHub Action 6ed671dfda [ci skip] Translation update 2021-06-09 00:10:10 +00:00
Franck Nijhof d0fa4e1d48 Upgrade wled to 0.5.0 (#51632) 2021-06-08 13:38:20 -07:00
J. Nick Koston d56bd61b93 Populate upnp devices from ssdp (#51221)
* Populate upnp devices from ssdp

* Update tests since data comes in via HASS format now

* pylint
2021-06-08 22:32:06 +02:00
Erik Montnemery eb687b7332 Bump hatasmota to 0.2.16 (#51623) 2021-06-08 20:49:13 +02:00
Pascal Vizeli 29a020886e Update Machine support of python 3.9 / Kernel CEC (#51637) 2021-06-08 20:48:49 +02:00
Martin Hjelmare 2eb6f16a94 Fix mysensors awesomeversion strategy usage (#51627)
* Update awesomeversion strategy use in mysensors

* Remove default version
2021-06-08 20:24:54 +02:00
Pawel abbd4d1d16 Fix Onvif get_time_zone from device (#51620)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-08 20:01:36 +02:00
Pascal Vizeli 79da2bca3f Use baseimage 2021.06.0 / Python 3.9 - Alpine 3.13 (#51628) 2021-06-08 18:12:49 +02:00
Erik Montnemery 67f3e717a8 Add support for color_mode white to tasmota light (#51608) 2021-06-08 17:43:04 +02:00
J. Nick Koston b3a67a2dd7 Bump sqlalchemy to 1.4.17 (#51593) 2021-06-08 16:53:51 +02:00
Yuval Aboulafia 7790e8f90c Static typing for Zodiac (#51622) 2021-06-08 16:03:28 +02:00
Martin Hjelmare 6de604a326 Fix mysensors tests typing (#51621) 2021-06-08 14:28:36 +02:00
Nick Whyte 3fa6c97801 Address late review of nsw fuel station (#51619) 2021-06-08 14:26:43 +02:00
blastoise186 fa42c676bb Reduce ovo_energy polling rate to be less aggressive (#51613)
* Reduce polling rate to be less aggressive

The current polling rate is too aggressive for the purpose, this commit reduces it to 12 hours to play nice with OVO.

* tweak polling to hourly
2021-06-08 14:20:15 +02:00
Maciej Bieniek 502939c430 Do not configure Shelly config entry created by custom component (#51616) 2021-06-08 13:23:25 +02:00
Franck Nijhof 4007430d72 Small entity attribute cleanup in AirVisual (#51601)
* Small entity attribute cleanup in AirVisual

* Fix icon in sensor update
2021-06-08 08:29:04 +02:00
Erik Montnemery a4587b5f3b Deprecate support for undocumented value_template in MQTT light (#51589) 2021-06-08 08:23:51 +02:00
Erik Montnemery 4e5ec26ce6 Remove value_template from MQTT_RW_PLATFORM_SCHEMA (#51590) 2021-06-08 08:23:35 +02:00
Brian Towles 01d4140177 Modern Forms integration initial pass - Fan (#51317)
* Modern Forms integration initial pass

* cleanup of typing and nits

* Stripped PR down to Fan only

* Review cleanup

* Set sleep_time to be required for service

* Adjust minimum sleep time to one minute.

* Code review changes

* cleanup icon init a little
2021-06-08 08:22:50 +02:00
Malte Franken 51fa28aac3 Bump aio_geojson_geonetnz_volcano to v0.6 (#51602) 2021-06-08 07:36:23 +02:00
jjlawren 4ffa0dd199 Detect Sonos reboots and recreate subscriptions (#51377) 2021-06-07 20:51:42 -05:00
Milan Meulemans d0a8e27036 Add Rituals number platform (#49723) 2021-06-08 03:28:31 +02:00
Michael Davie ae86e96d34 Fix misaligned high/low temperatures in weather card (#49826) 2021-06-08 03:23:44 +02:00
jjlawren de2dc92741 Handle missing section ID for Plex clips (#51598) 2021-06-08 03:17:14 +02:00
Martin Hjelmare 6c2e452e3d Fix kraken I/O and sleep in tests (#51599) 2021-06-08 03:11:17 +02:00
GitHub Action 330f713e43 [ci skip] Translation update 2021-06-08 00:21:17 +00:00
jjlawren e257dd4d07 Fix Sonos battery sensors on S1 firmware (#51585) 2021-06-08 00:29:17 +02:00
Malte Franken 490c81aebc Bump georss_qld_bushfire_alert_client to 0.5 (#51596) 2021-06-08 00:24:54 +02:00
Clifford Roche bc30920824 Correctly support use of Farenheit in Gree Climate component (#50260) 2021-06-08 00:21:03 +02:00
Robert Svensson aad90b8644 Use supported color modes in Axis integration (#51557)
* Use supported color modes in Axis integration

* Fix Frencks comments

* Do Frencks suggestion
2021-06-08 00:03:33 +02:00
Paulus Schoutsen e5028d285c Merge pull request #51595 from home-assistant/rc 2021-06-07 14:47:50 -07:00
Paulus Schoutsen 6b38480caf Bumped version to 2021.6.3 2021-06-07 14:15:39 -07:00
Erik Montnemery 4dd875199f Fix deprecated value_template for MQTT light (#51587) 2021-06-07 14:15:31 -07:00
Pascal Vizeli 70f4907414 Update builder to 2021.06.2 (#51582) 2021-06-07 14:15:30 -07:00
jjlawren bd24431930 Fix Sonos restore calls (#51565) 2021-06-07 14:15:29 -07:00
J. Nick Koston 03f10333c4 Increase isy setup timeout to 60s (#51559)
- Ensure errors are displayed in the UI
2021-06-07 14:15:28 -07:00
stephan192 619e37b600 Bump dwdwfsapi to 1.0.4 (#51556) 2021-06-07 14:15:27 -07:00
Ron Klinkien 5016fd9fa8 Fix garmin_connect config flow multiple account creation (#51542) 2021-06-07 14:15:27 -07:00
Aaron Bach 45d94c7fc8 Bump aiorecollect to 1.0.5 (#51538) 2021-06-07 14:15:26 -07:00
J. Nick Koston b807b8754b Ensure host is always set with samsungtv SSDP discovery (#51527)
There was a case where self._host could have been None
before _async_set_unique_id_from_udn was called

Fixes #51186
2021-06-07 14:15:25 -07:00
Malte Franken 8818df0663 Improve log message when zone missing in geolocation trigger (#51522)
* log warning message if zone cannot be found

* improve log message

* add test case
2021-06-07 14:15:24 -07:00
Ludovico de Nittis b06558fa0a Bump pyialarm to 1.8.1 (#51519) 2021-06-07 14:15:23 -07:00
Ron Klinkien b21076c599 Bump garminconnect_aio to 0.1.4 (#51507) 2021-06-07 14:15:22 -07:00
Daniel Hjelseth Høyer ed68a268ad Fix missing Tibber power production (#51505)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-06-07 14:15:22 -07:00
J. Nick Koston 89db8d4519 Handle missing options in foreign_key for MSSQL (#51503) 2021-06-07 14:15:21 -07:00
Aidan Timson 96ade688d5 AsusWRT fix keyerror when firmver is missing from info (#51499)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-06-07 14:15:20 -07:00
J. Nick Koston 703b088f86 Fix loop in tod binary sensor (#51491)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-06-07 14:15:19 -07:00
Felipe Martins Diel 0f3b73e75f Use a single job to ping all devices in the Broadlink integration (#51466) 2021-06-07 14:15:18 -07:00
Erik Montnemery 76edfe6c62 Fix deprecated value_template for MQTT light (#51587) 2021-06-07 14:14:42 -07:00
J. Nick Koston ccf4b5a265 Move remaining code out of netdisco to eliminate as SSDP dependency (#51588) 2021-06-07 22:12:33 +02:00
Erik Montnemery 3db21b407a Add support for color_mode white to demo light (#51575)
* Add support for color_mode white to demo light

* Fix unique_id for newly added light

* Update tests
2021-06-07 20:26:25 +02:00
Aidan Timson ab2951f124 AsusWRT fix keyerror when firmver is missing from info (#51499)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-06-07 11:21:24 -07:00
J. Nick Koston a3146ad150 Fix loop in tod binary sensor (#51491)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-06-07 11:21:10 -07:00
Franck Nijhof a383198c0c Fully type switch entity component (#51586) 2021-06-07 19:36:34 +02:00
Pascal Vizeli 9ffdf9ea08 Update builder to 2021.06.2 (#51582) 2021-06-07 10:16:47 -07:00
Rolf Berkenbosch 1879a4acea Bump meteoalertapi to 0.2.0 (#51383)
* Update manifest.json

* Add version bump to requirements

* Add version bump to requirements

* Update manifest.json

* Update manifest.json

* Update requirements_all.txt
2021-06-07 18:08:34 +02:00
Malte Franken 67d9dc78cb Bump aio_georss_gdacs to 0.5 (#51577) 2021-06-07 17:57:44 +02:00
Andreas 88b60a44ad Bump nad_receiver to version 0.2.0 (#51381)
Co-authored-by: andreas-amlabs <andreas-amlabs@users.noreply.github.com>
2021-06-07 16:14:45 +02:00
Martin Hjelmare 7560a77e0e Type mysensors strictly (#51535) 2021-06-07 16:04:04 +02:00
Martin Hjelmare 564042ec67 Clean mysensors gateway type selection (#51531)
* Clean mysensors gateway type selection

* Fix comment grammar
2021-06-07 15:45:58 +02:00
Franck Nijhof 4c51299dcc Add easy converting string timestamps/dates to datetime objects in templates (#51576) 2021-06-07 15:02:15 +02:00
dependabot[bot] 4227a01e62 Bump home-assistant/wheels from 2021.05.4 to 2021.06.0 (#51569)
Bumps [home-assistant/wheels](https://github.com/home-assistant/wheels) from 2021.05.4 to 2021.06.0.
- [Release notes](https://github.com/home-assistant/wheels/releases)
- [Commits](https://github.com/home-assistant/wheels/compare/2021.05.4...2021.06.0)

---
updated-dependencies:
- dependency-name: home-assistant/wheels
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-07 14:54:18 +02:00
Franck Nijhof f35929ba63 Allow referencing sensor entities for before/after in time conditions (#51444)
* Allow referencing sensor entities for before/after in time conditions

* Fix typo in variable naming

* Improve test coverage
2021-06-07 14:50:31 +02:00
Franck Nijhof 88386a7f44 Cleanup of Toon (#51230) 2021-06-07 13:24:07 +02:00
Robert Svensson fb21affe45 Replace supported_features property with class attribute in deCONZ light entities (#51558)
* Replace supported_features property with class attribute

* attr_supported_features is already set to 0
2021-06-07 12:50:08 +02:00
J. Nick Koston 75dffee312 Increase isy setup timeout to 60s (#51559)
- Ensure errors are displayed in the UI
2021-06-07 11:49:37 +02:00
jjlawren 85ce679c64 Fix Sonos restore calls (#51565) 2021-06-07 11:46:56 +02:00
stephan192 ae83191121 Bump dwdwfsapi to 1.0.4 (#51556) 2021-06-07 10:53:36 +02:00
Ron Klinkien b171c5ebe9 Fix garmin_connect config flow multiple account creation (#51542) 2021-06-07 10:09:08 +02:00
Daniel Perna dc9b031544 Update pyhomematic to 0.1.73 (#51551) 2021-06-07 10:04:03 +02:00
GitHub Action 7615af35d8 [ci skip] Translation update 2021-06-07 00:18:16 +00:00
Colin Robbins c43bdbf7c8 Add lightwave state_class and unique_id properties (#51544)
* Add state_class and unique_id properties

* Update homeassistant/components/lightwave/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* fix isort

* set class via attribute

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-06 20:10:16 +02:00
Malte Franken fcb8ab23ab Improve log message when zone missing in geolocation trigger (#51522)
* log warning message if zone cannot be found

* improve log message

* add test case
2021-06-06 20:03:56 +02:00
J. Nick Koston f221deef2d Ensure from __future__ import annotations in irobot_base (#51554) 2021-06-06 19:59:58 +02:00
drinfernoo 5bbf0ca6ab Add workaround for missing cleaning time in roomba (#51163) 2021-06-06 12:13:35 +02:00
Erik Montnemery e560e623e9 Add color_mode white (#51411)
* Add color_mode white

* Include brightness in white parameter

* Reformat

* Improve test coverage
2021-06-06 11:13:18 +02:00
jan iversen 50001684aa Add retries/retry_on_empty configuration parameters to Modbus (#51412)
* Add retries/retry_on_empty configuration parameters.

* Please review comment.
2021-06-06 09:13:50 +02:00
Aaron Bach 6a419483de Bump aiorecollect to 1.0.5 (#51538) 2021-06-06 08:31:11 +02:00
GitHub Action c81df50191 [ci skip] Translation update 2021-06-06 00:19:43 +00:00
J. Nick Koston 8c00c24234 Ensure host is always set with samsungtv SSDP discovery (#51527)
There was a case where self._host could have been None
before _async_set_unique_id_from_udn was called

Fixes #51186
2021-06-06 00:02:36 +02:00
Martin Hjelmare 984695e99d Clean mysensors on_unload (#51521)
* Clean mysensors on_unload

* Fix docstring
2021-06-05 20:02:32 +02:00
jan iversen 59b5f94569 Add fix delay after send/request to allow RS485 adapter to switch in modbus (#51417) 2021-06-05 14:41:32 +02:00
jan iversen b8afb7dcfe Check initial connect() worked in modbus (#51470)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-05 14:39:09 +02:00
Ludovico de Nittis 62dd9d62cb Bump pyialarm to 1.8.1 (#51519) 2021-06-05 14:11:39 +02:00
Martin Hjelmare e73cdfab2f Fix mysensors typing (#51518)
* Fix device

* Fix init

* Fix gateway

* Fix config flow

* Fix helpers

* Remove mysensors from typing ignore list
2021-06-05 13:43:39 +02:00
Martin Hjelmare 7a6d067eb4 Bump mcstatus to 6.0.0 (#51517) 2021-06-05 13:26:35 +02:00
Martin Hjelmare b61c8ce034 Disable gpmdp integration (#51509) 2021-06-05 12:15:03 +02:00
J. Nick Koston 06c9a50869 Handle missing options in foreign_key for MSSQL (#51503) 2021-06-05 12:13:12 +02:00
Ron Klinkien f2692d4eaa Bump garminconnect_aio to 0.1.4 (#51507) 2021-06-05 12:07:52 +02:00
Daniel Hjelseth Høyer 634f6ba77b Fix missing Tibber power production (#51505)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-06-05 11:50:56 +02:00
J. Nick Koston 12ac4109f4 Ensure ssdp can callback messages that do not have an ST (#51436)
* Ensure ssdp can callback messages that do not have an ST

Sonos sends unsolicited messages when the device reboots. We want
to capture these to ensure we can recover the subscriptions as soon
as the device reboots

* Update homeassistant/components/ssdp/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-05 09:23:51 +02:00
GitHub Action 909140a7c6 [ci skip] Translation update 2021-06-05 00:23:17 +00:00
J. Nick Koston 0cd0733438 Remove empty tests for ping now that the code in icmplib is used (#51454) 2021-06-05 01:20:41 +03:00
Felipe Martins Diel 89d90bfb1b Use a single job to ping all devices in the Broadlink integration (#51466) 2021-06-04 11:03:13 -10:00
uchagani 7bf45f7bf7 Bump islamic-prayer-times to 0.0.5 (#51174)
* Bump islamic-prayer-times to 0.0.5

* update manifest file

* update requirements_all
2021-06-04 20:45:08 +02:00
Paulus Schoutsen 1da9ac38e8 Merge pull request #51488 from home-assistant/rc 2021-06-04 10:50:36 -07:00
Paulus Schoutsen eb2f5c28a9 Bumped version to 2021.6.2 2021-06-04 10:07:09 -07:00
Paulus Schoutsen f5dd838409 Protect our user agent (#51486)
* Protect our user agent

* Fix expected error
2021-06-04 10:07:05 -07:00
Franck Nijhof 8f741e0c6f Upgrade elgato to 2.1.1 (#51483) 2021-06-04 10:07:04 -07:00
Simone Chemelli 6dcde1b2a6 Improve logging for SamsungTV (#51477) 2021-06-04 10:07:03 -07:00
Aidan Timson d9c6c3719c Bump aiolyric to 1.0.7 (#51473) 2021-06-04 10:07:03 -07:00
Matthias Alphart e10a4c2a91 Update xknx to version 0.18.4 (#51459) 2021-06-04 10:07:02 -07:00
Matthias Alphart c8655c8e37 xknx 0.18.3 (#51277) 2021-06-04 10:07:01 -07:00
J. Nick Koston 42c74c1e14 Retry isy994 setup later if isy.initialize times out (#51453)
Maybe fixes https://forum.universal-devices.com/topic/26633-home-assistant-isy-component/?do=findComment&comment=312147
2021-06-04 10:06:13 -07:00
Florent Thoumie 756a4c2ea6 Update to iaqualink 0.3.90 (#51452) 2021-06-04 10:06:12 -07:00
Paulus Schoutsen 6f4302ff70 Hot fix version of Apply modbus interval patch (#51487) 2021-06-04 19:02:42 +02:00
Franck Nijhof 05241a7a68 Allow number/sensor entities in numeric state conditions/triggers (#51439) 2021-06-04 18:14:48 +02:00
Paulus Schoutsen ede7932a57 Protect our user agent (#51486)
* Protect our user agent

* Fix expected error
2021-06-04 09:14:18 -07:00
jan iversen 5e067c2631 Allow unlimited scan_interval in modbus (#51471)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-06-04 18:06:44 +02:00
Franck Nijhof e41e153220 Upgrade elgato to 2.1.1 (#51483) 2021-06-04 09:02:59 -07:00
Simone Chemelli 3d8804bbcf Improve logging for SamsungTV (#51477) 2021-06-04 09:02:39 -07:00
Aidan Timson 12f2482c9b Bump aiolyric to 1.0.7 (#51473) 2021-06-04 17:26:44 +02:00
J. Nick Koston 5fc1822b43 Retry isy994 setup later if isy.initialize times out (#51453)
Maybe fixes https://forum.universal-devices.com/topic/26633-home-assistant-isy-component/?do=findComment&comment=312147
2021-06-04 08:54:45 +02:00
Matthias Alphart e5c70c8789 Update xknx to version 0.18.4 (#51459) 2021-06-04 08:34:16 +02:00
Florent Thoumie 68f6506ff9 Update to iaqualink 0.3.90 (#51452) 2021-06-04 08:32:01 +02:00
Dermot Duffy cf954881f6 Address Hyperion camera post-merge code review (#51457) 2021-06-04 08:24:38 +02:00
Eduard van Valkenburg 07d6186fea Small fixes in SIA (#51401)
* fixes from comment in #51206

* reverted name to async_
2021-06-03 20:43:15 -04:00
Paulus Schoutsen bf3a561149 Bump aiohue to 2.5.1 (#51447) 2021-06-03 17:16:32 -07:00
Paulus Schoutsen 1aa6266fb4 Merge pull request #51449 from home-assistant/rc 2021-06-03 17:09:29 -07:00
Paulus Schoutsen a3c5022956 Bumped version to 2021.6.1 2021-06-03 15:45:09 -07:00
Bram Kragten eb45714c16 Update frontend to 20210603.0 (#51442) 2021-06-03 15:44:37 -07:00
Raman Gupta e8aa578acc Bump zwave-js-server-python to 0.26.1 (#51425) 2021-06-03 15:44:37 -07:00
Jc2k 08e58e9f7d Bump aiohomekit to 0.2.67 (fixes #51391) (#51418) 2021-06-03 15:44:36 -07:00
Philip Allgaier 46ad5eeb63 Fix shopping list "complete all" service name (#51406) 2021-06-03 15:44:35 -07:00
Daniel Hjelseth Høyer 3bbf1e7c83 Fix Tibber Pulse device name and sensor update (#51402) 2021-06-03 15:44:34 -07:00
Raman Gupta 4cf2f49d7e Fix no value error for heatit climate entities (#51392) 2021-06-03 15:44:34 -07:00
jjlawren 10a64f17ce Handle Sonos connection issues better when polling (#51376) 2021-06-03 15:44:06 -07:00
Michael 768d49d7a6 Fix last activity consideration for AVM Fritz!Tools device tracker (#51375) 2021-06-03 15:43:22 -07:00
Michael a232f2ce7d Fix last activity consideration for AVM Fritz!Tools device tracker (#51375) 2021-06-03 15:42:59 -07:00
Bram Kragten 65f23c45a8 Update frontend to 20210603.0 (#51442) 2021-06-03 15:41:59 -07:00
Paulus Schoutsen f3b2624be3 Pin jinja (#51434) 2021-06-03 23:12:39 +02:00
Jc2k 836ce442f7 Bump aiohomekit to 0.2.67 (fixes #51391) (#51418) 2021-06-03 10:51:09 -10:00
Raman Gupta b3327e1656 Bump zwave-js-server-python to 0.26.1 (#51425) 2021-06-03 15:11:45 -04:00
J. Nick Koston c1111afef8 Allow registering a callback to ssdp that matches any key value (#51382) 2021-06-03 08:26:37 -10:00
Thomas Schamm 53ae340900 Bumped to boschshcpy==0.2.19 (#51416)
* Bumped to boschshcpy==0.2.19

* update requirements
2021-06-03 18:34:28 +02:00
Thomas Schamm ffe8b3e49b Add bosch shc platforms for sensor devices (#50720) 2021-06-03 14:39:42 +02:00
Erik Montnemery a6902ffd8a Remove is_standby from SwitchEntity (#51400) 2021-06-03 14:21:52 +02:00
Philip Allgaier 470514cb08 Fix shopping list "complete all" service name (#51406) 2021-06-03 12:40:00 +02:00
Daniel Hjelseth Høyer 1062acfe9b Fix Tibber Pulse device name and sensor update (#51402) 2021-06-03 11:59:22 +02:00
Eduard van Valkenburg e8762bdea1 Add binary sensor platform to SIA integration (#51206)
* add support for binary_sensor

* added default enabled for binary sensors

* fixed coverage and a import deleted

* disable pylint for line

* Apply suggestions from code review

* split binary sensor and used more attr fields

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-06-03 08:39:44 +02:00
uvjustin 55f158cf78 Fix HLS idle timer in stream (#51372) 2021-06-02 21:31:39 -07:00
jjlawren 2c9e6bd927 Handle Sonos connection issues better when polling (#51376) 2021-06-02 21:10:27 -07:00
Raman Gupta ba6a0b5793 Fix no value error for heatit climate entities (#51392) 2021-06-02 21:07:47 -07:00
GitHub Action 7f6e20dcbc [ci skip] Translation update 2021-06-03 00:26:58 +00:00
Jan Bouwhuis 2222a121f4 Add support for fan speed percentage and preset modes to google_assistant integration (#50283)
* support relative fan speeds

* fan preset modes

* improve tests

* Revert relative speed code report zero percentage
2021-06-02 22:09:22 +02:00
definitio 132ee972bd Add media_player.group (#38855)
* Add media group

* Minor improvements

* Use the async api for all methods

* Improve type hints

* Add missing methods

* Add tests

* Rename HomeAssistantType —> HomeAssistant

* Add more tests

* Fix unknown state

* Make some callbacks

* Add more tests

* Fix unknown state properly

* Fix names for callbacks

* Fix stop service test

* Improve tests
2021-06-02 21:25:15 +02:00
Dermot Duffy c057c9d9ab Add Hyperion camera feed (#46516)
* Initial Hyperion camera.

* Improve test coverage.

* Minor state fixes.

* Fix type annotation.

* May rebase and updates (mostly typing).

* Updates to use new camera typing improvements.

* Use new support for returning None from async_get_mjpeg_stream .

* Codereview feedback.

* Lint: Use AsyncGenerator from collections.abc .

* Update homeassistant/components/hyperion/camera.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-06-02 09:39:19 -07:00
Franck Nijhof 51704d151d Merge pull request #51370 from home-assistant/rc 2021-06-02 18:31:46 +02:00
J. Nick Koston 68714c2067 Update ping to use asyncio function in icmplib (#50808) 2021-06-02 06:10:33 -10:00
Franck Nijhof e3994e8029 Bumped version to 2021.6.0 2021-06-02 17:29:50 +02:00
Daniel Hjelseth Høyer 7938f69dc5 Fix Tibber timestamps parsing (#51368) 2021-06-02 17:29:20 +02:00
gadgetmobile 089374b7e2 Fix BleBox wLightBoxS and gateBox support (#51367)
Co-authored-by: bbx-jp <83213200+bbx-jp@users.noreply.github.com>
2021-06-02 17:29:17 +02:00
Aaron Bach b7153fe25f Bump pyiqvia to 1.0.0 (#51357) 2021-06-02 17:29:14 +02:00
Erik Montnemery f8d68e47b8 Do not attempt to unload non loaded config entries (#51356) 2021-06-02 17:29:10 +02:00
Daniel Hjelseth Høyer 31bd41582b Fix Tibber timestamps parsing (#51368) 2021-06-02 08:16:04 -07:00
Franck Nijhof 25c0739e22 Mark state final in BinarySensorEntity (#51234) 2021-06-02 14:32:25 +02:00
gadgetmobile 931ff70ebe Fix BleBox wLightBoxS and gateBox support (#51367)
Co-authored-by: bbx-jp <83213200+bbx-jp@users.noreply.github.com>
2021-06-02 14:02:37 +02:00
Guido Schmitz 3de29a7606 Add binary_sensor tests for devolo Home Control (#49843)
Co-authored-by: Markus Bong <Markus.Bong@devolo.de>
2021-06-02 13:59:35 +02:00
Erik Montnemery 1d9d9021de Do not attempt to unload non loaded config entries (#51356) 2021-06-02 10:00:24 +02:00
Franck Nijhof d51fc5814a Define ToggleEntity entity attributes as class variables (#51231)
* Define ToggleEntity entity attributes as class variables

* Fix upcloud overriding state property

* Implement available state for upcloud, to compensate removed state
2021-06-02 08:53:55 +02:00
Aaron Bach 101864aab8 Bump pyiqvia to 1.0.0 (#51357) 2021-06-01 20:35:12 -07:00
jan iversen 10dccc6734 Move pymodbus test fixtures to test_init (#51244) 2021-06-02 00:00:44 +02:00
Martin Hjelmare 783e545a67 Bump hangups to 0.4.14 (#51355) 2021-06-01 22:55:22 +02:00
Franck Nijhof 5d33cd05a8 SolarEdge: Move coordinators out of sensor platform (#51348) 2021-06-01 22:50:32 +02:00
Paulus Schoutsen dc17d664eb Bumped version to 2021.6.0b5 2021-06-01 13:39:48 -07:00
Bram Kragten e4e3d5f814 Update frontend to 20210601.1 (#51354) 2021-06-01 13:39:16 -07:00
jjlawren fc24b34408 Handle incomplete Sonos alarm event payloads (#51353) 2021-06-01 13:39:15 -07:00
Paulus Schoutsen f93acfc4c0 Merge system options into pref properties (#51347)
* Make system options future proof

* Update tests

* Add types
2021-06-01 13:39:14 -07:00
Martin Hjelmare 89a374057d Bump zwave-js-server-python to 0.26.0 (#51341) 2021-06-01 13:39:13 -07:00
definitio 5ea798462f Fix Snapcast state after restoring snapshot (#51340) 2021-06-01 13:39:13 -07:00
Eduard van Valkenburg 464c66f97f Fix SIA event data func (#51339) 2021-06-01 13:39:11 -07:00
Tobias Sauerwein 941b02b73e Fix Netatmo sensor logic (#51338) 2021-06-01 13:39:10 -07:00
Franck Nijhof d78694c9b8 Fix time condition microsecond offset when using input helpers (#51337) 2021-06-01 13:39:10 -07:00
Erik Montnemery bbd7433686 Improve time condition trace (#51335) 2021-06-01 13:39:09 -07:00
Franck Nijhof f54cbff223 Always load middle to handle forwarded proxy data (#51332) 2021-06-01 13:38:10 -07:00
Joakim Sørensen 6031f7ce99 Add arch to payload (#51330) 2021-06-01 13:35:57 -07:00
AJ Schmidt fac5b23b86 update adext dependency (#51315) 2021-06-01 13:35:56 -07:00
Bram Kragten bee89a12ec Update frontend to 20210601.1 (#51354) 2021-06-01 13:35:13 -07:00
Paulus Schoutsen ee2c950716 Merge system options into pref properties (#51347)
* Make system options future proof

* Update tests

* Add types
2021-06-01 22:34:31 +02:00
jjlawren 9e3ee73b8b Handle incomplete Sonos alarm event payloads (#51353) 2021-06-01 13:28:56 -07:00
Daniel Hjelseth Høyer 12b8672f84 Use entity class vars for Melcloud (#51351)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-06-01 22:21:07 +02:00
Franck Nijhof fcdd8b11a6 Collection of changing entity properties to class attributes - 2 (#51345) 2021-06-01 12:43:55 -07:00
Eduard van Valkenburg e5dff49440 Fix SIA event data func (#51339) 2021-06-01 20:32:17 +02:00
Martin Hjelmare 91b6f9d7d0 Bump zwave-js-server-python to 0.26.0 (#51341) 2021-06-01 19:26:54 +02:00
definitio 6a474e74e8 Fix Snapcast state after restoring snapshot (#51340) 2021-06-01 19:07:51 +02:00
Franck Nijhof cdd1f6b2f0 Always load middle to handle forwarded proxy data (#51332) 2021-06-01 09:38:55 -07:00
Tobias Sauerwein d975f9eb0a Fix Netatmo sensor logic (#51338) 2021-06-01 17:58:25 +02:00
Franck Nijhof c5dc99c052 Fix time condition microsecond offset when using input helpers (#51337) 2021-06-01 17:57:23 +02:00
Erik Montnemery 63e16de6c0 Improve time condition trace (#51335) 2021-06-01 17:07:45 +02:00
Joakim Sørensen fb281c6bde Add arch to payload (#51330) 2021-06-01 15:09:23 +02:00
Shay Levy f3715cef6d Bump aioswitcher to 1.2.3 (#51324) 2021-06-01 13:48:53 +02:00
Bram Kragten 76527ab79a Bumped version to 2021.6.0b4 2021-06-01 13:13:34 +02:00
Bram Kragten 42bf29856e Update frontend to 20210601.0 (#51329) 2021-06-01 13:10:32 +02:00
Maciej Bieniek 96191c07c9 Fix exception after removing Shelly config entry and stopping HA (#51321)
* Fix device shutdown twice

* Change if logic
2021-06-01 13:10:30 +02:00
Eugenio Panadero 0856232ea6 Bump aiopvpc to apply quickfix for new electricity price tariff (#51320)
Since 2021-06-01, the three PVPC price tariffs become one and only: '2.0 TD',
and the JSON schema from the official API (data source of this integration)
is slightly different.

This patch allows a no-pain jump between the old tariffs and the new one.
2021-06-01 13:10:29 +02:00
Paulus Schoutsen 413fd1b255 Trusted networks auth provider warns if detects a requests with x-forwarded-for header while the http integration is not configured for reverse proxies (#51319)
* Trusted networks auth provider to require http integration configured for proxies to allow logging in with requests with x-forwarded-for header

* Make it a warning
2021-06-01 13:09:16 +02:00
Paulus Schoutsen bd0373388d Trusted networks auth provider warns if detects a requests with x-forwarded-for header while the http integration is not configured for reverse proxies (#51319)
* Trusted networks auth provider to require http integration configured for proxies to allow logging in with requests with x-forwarded-for header

* Make it a warning
2021-06-01 12:51:44 +02:00
Bram Kragten 94ae8396dd Update frontend to 20210601.0 (#51329) 2021-06-01 12:38:49 +02:00
Paulus Schoutsen 45e1473f83 Improve config validation for key_value_schemas (#49429) 2021-06-01 11:23:59 +02:00
Maciej Bieniek ed9b199372 Fix exception after removing Shelly config entry and stopping HA (#51321)
* Fix device shutdown twice

* Change if logic
2021-06-01 11:41:34 +03:00
Raman Gupta b91696c139 Switch to using entity class attributes where possible in zwave_js (#51207)
* Switch to using entity class attributes where possible in zwave_js

* fix

* revert docstring

* remove unused init

* Revert some changes based on feedback in #51181

* switch to class atributes
2021-06-01 10:26:22 +02:00
Franck Nijhof 6b0e57e641 Define SwitchEntity entity attributes as class variables (#51232) 2021-06-01 10:23:10 +02:00
Eugenio Panadero 3d45f00fad Bump aiopvpc to apply quickfix for new electricity price tariff (#51320)
Since 2021-06-01, the three PVPC price tariffs become one and only: '2.0 TD',
and the JSON schema from the official API (data source of this integration)
is slightly different.

This patch allows a no-pain jump between the old tariffs and the new one.
2021-06-01 09:45:37 +02:00
Daniel Rheinbay 3c452f8c9b Refactor yeelight integration to use only flows (#51255)
* Refactor light.py to use only flows.py, eliminating transitions.py

* Reformat yeelight source code using black
2021-06-01 09:04:49 +02:00
Matthias Alphart 549b0b0727 KNX: Support for XY-color lights (#51306)
* support for xy-color

* replace invalid name
2021-06-01 08:59:51 +02:00
Matthias Alphart 164e45f0a7 KNX: move some Schema to schema.py (#51307)
* create platform schema node from schema class

* move connection schema to schema.py

* rename SCHEMA to ENTITY_SCHEMA

* Final module level constants
2021-06-01 08:59:23 +02:00
Franck Nijhof fb682665e2 Upgrade pylint to 2.8.3 (#51308) 2021-06-01 08:48:53 +02:00
AJ Schmidt 0e0da26852 update adext dependency (#51315) 2021-06-01 08:44:56 +02:00
GitHub Action 2a746acf3a [ci skip] Translation update 2021-06-01 00:30:06 +00:00
Paulus Schoutsen bd279786bb Bumped version to 2021.6.0b3 2021-05-31 16:43:14 -07:00
Paulus Schoutsen 837efaf29b Updated frontend to 20210531.1 (#51314) 2021-05-31 16:43:08 -07:00
Paulus Schoutsen a904b1e37f Set up cloud semi-dependencies at start (#51313) 2021-05-31 16:43:07 -07:00
Joakim Sørensen 14db5a0999 Move version validation to resolver (#51311) 2021-05-31 16:43:07 -07:00
Jc2k cbc75ffe8a Bump aiohomekit to 0.2.66 (#51310) 2021-05-31 16:43:06 -07:00
Robert Svensson 1e2913ad4c Fix stream profiles not available as expected (#51305) 2021-05-31 16:43:05 -07:00
Paulus Schoutsen 127a230703 Add system option to disable polling (#51299) 2021-05-31 16:43:04 -07:00
Pascal Vizeli b3ccc44ee9 Revert "GRPC is fixed, don't need a workaround" (#51289)
This reverts commit 9d174e8a05.
2021-05-31 16:43:03 -07:00
Joakim Sørensen c4a98755a3 Resolve addon repository slug for device registry (#51287)
* Resolve addon repository slug for device registry

* typo

* Adjust onboarding test

* Use /store
2021-05-31 16:43:03 -07:00
J. Nick Koston 273f57261c Upgrade HAP-python to 3.5.0 (#51261)
* Upgrade HAP-python to 3.4.2

- Fixes for malformed event sending

- Performance improvements

* Bump

* update tests to point to async
2021-05-31 16:43:02 -07:00
Ron Klinkien a08fffea17 Fix Garmin Connect integration with python-garminconnect-aio (#50865) 2021-05-31 16:43:01 -07:00
Paulus Schoutsen f472219c68 Set up cloud semi-dependencies at start (#51313) 2021-06-01 01:35:31 +02:00
Paulus Schoutsen 354dd39f24 Updated frontend to 20210531.1 (#51314) 2021-06-01 01:35:08 +02:00
Paulus Schoutsen 4821484d2c Add system option to disable polling (#51299) 2021-05-31 15:36:40 -07:00
Joakim Sørensen 5d6b6deed4 Move version validation to resolver (#51311) 2021-05-31 15:32:03 -07:00
Jc2k 95362d4215 Bump aiohomekit to 0.2.66 (#51310) 2021-05-31 17:28:14 -05:00
Joakim Plate 6631a4e605 Philips TV ambilight support (#44867) 2021-05-31 14:39:28 -07:00
Ron Klinkien a0b3d0863b Fix Garmin Connect integration with python-garminconnect-aio (#50865) 2021-05-31 14:38:33 -07:00
Robert Svensson 6ba2ee5cef Fix stream profiles not available as expected (#51305) 2021-05-31 14:35:33 -07:00
Jan Bouwhuis 7403ba1e81 Alexa fan preset_mode support (#50466)
* fan preset_modes

* process preset mode updates from alexa correctly

* add tests

* codecov patch additional tests
2021-05-31 20:58:01 +02:00
J. Nick Koston 0e7c2cddf7 Upgrade HAP-python to 3.5.0 (#51261)
* Upgrade HAP-python to 3.4.2

- Fixes for malformed event sending

- Performance improvements

* Bump

* update tests to point to async
2021-05-31 20:47:12 +02:00
Franck Nijhof 5a4add6437 Upgrade black to 21.5b2 (#51297) 2021-05-31 21:04:20 +03:00
Austin Drummond d2623bf574 AppleTV typo in error notification (#51300)
An extraneous "f" was prefix at the beginning of the notification.

>An irrecoverable connection problem occurred when connecting to fApple TV. Please go to the Integrations page and reconfigure it.
2021-05-31 20:59:55 +03:00
Nikolai 52e7d57533 Processing of messages from channel by telegram_bot (#51274)
* Processing of messages from channel by telegram_bot

* formatted using Black

* refactor

* check allowed chat
2021-05-31 16:35:49 +02:00
Maciej Bieniek c9178e58b5 Add support for state class for Airly sensor (#51285) 2021-05-31 16:00:58 +02:00
Franck Nijhof edcae74330 Entity attributes + typing fix in deCONZ alarm control panel (#51241) 2021-05-31 14:54:42 +02:00
Salvatore Mazzarino 5377e5ed38 Update to pygtfs 0.1.6 (#51267)
* Update to pygtfs 0.1.6

Signed-off-by: Salvatore Mazzarino <dev@mazzarino.cz>

* run tasks: generate requirements
2021-05-31 14:45:56 +02:00
Joakim Sørensen 8ed8747225 Resolve addon repository slug for device registry (#51287)
* Resolve addon repository slug for device registry

* typo

* Adjust onboarding test

* Use /store
2021-05-31 14:06:11 +02:00
Pascal Vizeli 3d119fd4ab Revert "GRPC is fixed, don't need a workaround" (#51289)
This reverts commit 9d174e8a05.
2021-05-31 14:03:26 +02:00
Franck Nijhof 258b388f41 Collection of changing entity properties to class attributes (#51248)
* Collection of changing entity properties to class attributes

* Apply suggestions from code review

Co-authored-by: Erik Montnemery <erik@montnemery.com>

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-05-31 10:50:11 +02:00
Matthias Alphart 5acc3a1083 xknx 0.18.3 (#51277) 2021-05-31 09:58:48 +02:00
Erik Montnemery 532626b738 Move light helper get_supported_color_modes (#51269) 2021-05-31 09:47:58 +02:00
Erik Montnemery 04e9acc20a Simplify device condition code (#51266) 2021-05-31 09:47:30 +02:00
Erik Montnemery 489c73b4da Simplify device action code (#51263) 2021-05-31 09:47:15 +02:00
Raman Gupta a8650f4e59 Add zwave_js node status sensor (#51181)
* Add zwave_js node status sensor

* fix import

* use parent class name property

* Use more entity class attributes

* Update homeassistant/components/zwave_js/sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* return static values in property method

* fix PR

* switch to class atributes

* create sensor platform task if needed

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-05-31 08:46:28 +02:00
Paulus Schoutsen 792d7bb3f5 Bumped version to 2021.6.0b2 2021-05-30 21:13:41 -07:00
Paulus Schoutsen c20ac0efb2 Updated frontend to 20210531.0 (#51281) 2021-05-30 21:13:34 -07:00
Tobias Sauerwein 9dfd578b65 Fix unnecessary API calls in Netatmo (#51260) 2021-05-30 21:13:33 -07:00
Erik Montnemery 8fd3761893 Fix flaky statistics tests (#51242) 2021-05-30 21:13:33 -07:00
Ludovico de Nittis 99fd5be369 Bump pyialarm to 1.7 (#51233) 2021-05-30 21:13:32 -07:00
jjlawren d236e07046 Skip processed Sonos alarm updates (#51217)
* Skip processed Sonos alarm updates

* Fix bad conflict merge
2021-05-30 21:13:31 -07:00
jjlawren 835a9efc64 Reorganize SonosSpeaker class for readability (#51222) 2021-05-30 21:13:08 -07:00
Tobias Sauerwein 51d98bb9c8 Fix Netatmo data class update (#51215)
* Catch if data class entry is None

* Guard
2021-05-30 21:11:58 -07:00
Erik Montnemery b75f4b1f4d Fix flaky statistics tests (#51214)
* Fix flaky statistics tests

* Tweak
2021-05-30 21:11:57 -07:00
jjlawren fa7837bb12 Improve Sonos alarm logging (#51212) 2021-05-30 21:11:32 -07:00
jjlawren f32309273b Fix use of async in Sonos switch (#51210)
* Fix use of async in Sonos switch

* Simplify

* Convert to callback
2021-05-30 21:10:39 -07:00
J. Nick Koston b37932e163 Fix samsungtv yaml import without configured name (#51204) 2021-05-30 21:09:05 -07:00
jjlawren a0696fe923 Centralize Sonos subscription logic (#51172)
* Centralize Sonos subscription logic

* Clean up mocked Sonos Service instances, use subscription callback

* Use existing mocked attributes

* Use event dispatcher dict, move methods together, make update_alarms sync

* Create dispatcher dict once
2021-05-30 21:09:04 -07:00
Aaron David Schneider e980365a9c Add tests for sonos switch platform (#51142)
* add tests

* refactor async_added_to_hass

* fix tests and race condition

* use async_get

* typo
2021-05-30 21:09:03 -07:00
Vilppu Vuorinen 215869b3df Update to pymelcloud 2.5.3 (#51043)
Previous version of pymelcloud performs requests that are not permitted
for guest users. Bypassing these requests results only in less detailed
device info.
2021-05-30 21:04:59 -07:00
Paulus Schoutsen 7654672dd0 Updated frontend to 20210531.0 (#51281) 2021-05-30 21:04:13 -07:00
jjlawren e5309e89ea Skip processed Sonos alarm updates (#51217)
* Skip processed Sonos alarm updates

* Fix bad conflict merge
2021-05-30 21:03:53 -07:00
Tobias Sauerwein 9bd74961f0 Fix unnecessary API calls in Netatmo (#51260) 2021-05-30 20:55:45 -07:00
jjlawren 1a5d35d7bf Only debug log new Sonos SSDP discoveries (#51247)
* Only debug log new SSDP discoveries

* Use existing reference

* Remove from known on unseen

* Update homeassistant/components/sonos/speaker.py

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-30 20:28:22 -05:00
GitHub Action 319071ba39 [ci skip] Translation update 2021-05-31 00:25:51 +00:00
Daniel Hjelseth Høyer 0ae64325ed Use entity class vars for Mill (#51264)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-05-30 17:58:55 +03:00
Matt Zimmerman 416d91ba85 Clean up SmartTub (#51257)
* fix type hint

* pylint

* Update homeassistant/components/smarttub/binary_sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/smarttub/binary_sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-05-30 10:10:49 +02:00
Franck Nijhof c317854e86 Small optimization in entity registry enabled deConz method (#51250) 2021-05-29 23:12:19 -05:00
J. Nick Koston 32dc62a996 Handle empty ssdp descriptions in the cache (#51253) 2021-05-29 22:50:48 -05:00
uvjustin 3ca7eb9440 Update HLS playlist in stream (#51191)
* Enable gzip encoding for playlist responses
* Add EXT-X-PROGRAM-DATE-TIME to playlist
* Add EXT-X-START to playlist
* Change EXT-X-VERSION from 7 to 6
* Move idle timer call to recv
* Refactor recv to remove cursor and return bool
* Rename STREAM_TIMEOUT to SOURCE_TIMEOUT
2021-05-30 11:41:23 +08:00
GitHub Action 2077efb207 [ci skip] Translation update 2021-05-30 00:24:18 +00:00
astronaut ceadb0cba0 Add gui config option consider device unavailable (#51218)
* Add gui config option consider device unavailable

* Update tests
2021-05-29 19:13:09 -04:00
Franck Nijhof d1f0ec8db8 Small tweaks to LaCrosse (#51249) 2021-05-29 23:08:25 +03:00
Ludovico de Nittis ff6d05a200 Bump pyialarm to 1.7 (#51233) 2021-05-29 18:50:45 +02:00
Franck Nijhof 06e5314bc8 Cleanup commented code + comprehensions in iOS (#51238) 2021-05-29 17:28:32 +02:00
Franck Nijhof 99afa15f47 Cleanup unneeded variable assignment in ezviz (#51239) 2021-05-29 17:34:25 +03:00
jjlawren 3d2f696d73 Reorganize SonosSpeaker class for readability (#51222) 2021-05-29 09:08:46 -05:00
Erik Montnemery 27b9d7fed0 Fix flaky statistics tests (#51242) 2021-05-29 09:00:36 -05:00
J. Nick Koston c5e5787e1d Replace sonos discovery thread with ssdp callback registration (#51033)
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2021-05-29 08:31:22 -05:00
Franck Nijhof 255e13930c Define CoverEntity entity attributes as class variables (#51236)
* Define CoverEntity entity attributes as class variables

* Fix supported features
2021-05-29 14:35:02 +02:00
Tobias Sauerwein d66d7cbd37 Fix Netatmo data class update (#51215)
* Catch if data class entry is None

* Guard
2021-05-29 14:10:45 +02:00
J. Nick Koston d1132270b4 Remove double schema validation in network (#51219) 2021-05-29 14:09:49 +02:00
Ville Skyttä c2f5dcefa5 Use flow result type constants more (#51122) 2021-05-29 14:09:13 +02:00
Maciej Bieniek b6716ecebd Add discovery by manufacturer to Nettigo Air Monitor integration (#51155) 2021-05-29 14:06:56 +02:00
Erik Montnemery 4d428b87cb Remove incorrect check in Alexa for SERVICE_ALARM_DISARM fail (#51224) 2021-05-29 14:06:02 +02:00
jjlawren bd34059c11 Fix use of async in Sonos switch (#51210)
* Fix use of async in Sonos switch

* Simplify

* Convert to callback
2021-05-28 23:28:07 -05:00
jjlawren 84f0d3f961 Centralize Sonos subscription logic (#51172)
* Centralize Sonos subscription logic

* Clean up mocked Sonos Service instances, use subscription callback

* Use existing mocked attributes

* Use event dispatcher dict, move methods together, make update_alarms sync

* Create dispatcher dict once
2021-05-28 21:32:50 -05:00
J. Nick Koston fb50cf9840 Add network and callback support to SSDP (#51019)
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-05-28 21:18:59 -05:00
Nick Whyte 02cbb2025e Decrease nsw fuel request volume (#49552) 2021-05-28 20:53:20 -05:00
GitHub Action 8e87d638e1 [ci skip] Translation update 2021-05-29 00:21:56 +00:00
jjlawren 4b2831ddde Improve Sonos alarm logging (#51212) 2021-05-29 00:45:43 +02:00
Raman Gupta 19c16e079f Add separate ozone sensor for climacell (#51182) 2021-05-28 23:24:01 +02:00
Erik Montnemery 39c94e8daa Fix flaky statistics tests (#51214)
* Fix flaky statistics tests

* Tweak
2021-05-28 22:37:17 +02:00
jan iversen 538a189168 Adjust modbus climate to use address/input_type (#51202) 2021-05-28 17:57:14 +02:00
Brandon Rothweiler 88dce0ec8f Address late review of Mazda services (#51178)
* Add services for Mazda integration

* Address review comments

* Follow-up review comments

* Update dict access for send_poi service calls
2021-05-28 17:54:19 +02:00
Vilppu Vuorinen 99ee2bd0a3 Update to pymelcloud 2.5.3 (#51043)
Previous version of pymelcloud performs requests that are not permitted
for guest users. Bypassing these requests results only in less detailed
device info.
2021-05-28 16:48:30 +02:00
J. Nick Koston b3d826f2e2 Fix samsungtv yaml import without configured name (#51204) 2021-05-28 16:06:17 +02:00
Martin Hjelmare 187374c11e Set Registry name parameter to Hashable type (#51203) 2021-05-28 15:29:11 +02:00
Franck Nijhof 0de8604631 Bumped version to 2021.6.0b1 2021-05-28 14:51:21 +02:00
Bram Kragten 0c9c113528 Update frontend to 20210528.0 (#51199) 2021-05-28 14:50:59 +02:00
Pascal Vizeli de575fdb7b Update base image to 2021.05.0 (#51198) 2021-05-28 14:50:56 +02:00
Joakim Plate ae914be44f Only run philips_js notify service while TV is turned on (#51196)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-28 14:50:53 +02:00
Tobias Sauerwein fe84d060d6 Fix Netatmo sensor initialization (#51195) 2021-05-28 14:50:50 +02:00
Joakim Sørensen 3e57b6178d Use get with default for consider home (#51194) 2021-05-28 14:50:46 +02:00
Tobias Sauerwein 6388203f73 Fix Netatmo data class update (#51177) 2021-05-28 14:50:41 +02:00
jjlawren a6a18effee Improve Sonos polling (#51170)
* Improve Sonos polling

Warn user if polling is being used
Provide callback IP:port to help user fix networking
Fix radio handling when polling (no event payload)
Clarify dispatch target to reflect polling action

* Lint

* Revert method removal
2021-05-28 14:50:38 +02:00
Greg Dowling e86e70f327 Bump pyroon to 0.0.37 (#51164) 2021-05-28 14:50:35 +02:00
Erik Montnemery 27e32bbb19 Weight sensor average statistics by state durations (#51150)
* Weight sensor average statistics by state durations

* Fix test
2021-05-28 14:50:32 +02:00
Erik Montnemery b92db104dc Add deprecated backwards compatible history.LazyState (#51144) 2021-05-28 14:50:29 +02:00
jjlawren f3639c60e2 Fix Sonos media position with radio sources (#51137) 2021-05-28 14:50:26 +02:00
jjlawren 74e397dc73 Fix Sonos TV source attribute (#51131) 2021-05-28 14:50:23 +02:00
Joakim Sørensen 4ebc0d97bc Handle blank string in location name for mobile app (#51130) 2021-05-28 14:50:20 +02:00
Raman Gupta c2c760eb8b Fix zwave_js.set_value schema (#51114)
* fix zwave_js.set_value schema

* wrap all schemas in vol.Schema

* readd removed assertions
2021-05-28 14:50:17 +02:00
Eduard van Valkenburg 255577436e Followup PR for SIA integration (#51108)
* Updates based on Martin's review

* fix strings and cleaned up constants
2021-05-28 14:50:13 +02:00
Bram Kragten 0fbdce5ca6 Update frontend to 20210528.0 (#51199) 2021-05-28 14:38:01 +02:00
Joakim Sørensen 076544a1b5 Revert "Bump config version to 2 for AVM Fritz Tools (#51176)" (#51193) 2021-05-28 14:00:16 +02:00
Álvaro Fernández Rojas fe0771f7f1 Add missing outdoor temperature unit for Tado (#51197)
* Fix outdoor temperature unit for Tado

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tado: simplify if conditions

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-05-28 13:41:40 +02:00
Tobias Sauerwein ac922916c1 Fix Netatmo sensor initialization (#51195) 2021-05-28 13:36:22 +02:00
Joakim Plate b6cb123c4f Only run philips_js notify service while TV is turned on (#51196)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-28 13:32:26 +02:00
jan iversen 00507539c1 Change Cover to use address/input_type (#51154)
* Change Cover to use address/input_type.

* Flake.
2021-05-28 13:23:44 +02:00
Pascal Vizeli ab2ea35b7d Update base image to 2021.05.0 (#51198) 2021-05-28 13:22:58 +02:00
Erik Montnemery b339d73109 Weight sensor average statistics by state durations (#51150)
* Weight sensor average statistics by state durations

* Fix test
2021-05-28 13:16:52 +02:00
Franck Nijhof 17b2678aee Define media_player entity attributes as class variables (#51192) 2021-05-28 12:32:31 +02:00
jjlawren 39e62f9c90 Improve Sonos polling (#51170)
* Improve Sonos polling

Warn user if polling is being used
Provide callback IP:port to help user fix networking
Fix radio handling when polling (no event payload)
Clarify dispatch target to reflect polling action

* Lint

* Revert method removal
2021-05-28 12:07:58 +02:00
jan iversen e45196f9c9 Remove "old" config from modbus binary_sensor (#51117) 2021-05-28 12:06:46 +02:00
Joakim Sørensen 81097dbe40 Use get with default for consider home (#51194) 2021-05-28 12:02:35 +02:00
jan iversen 5afd16ef5d Move modbus schema validators to validators.py (#51121) 2021-05-28 11:38:31 +02:00
jan iversen 47f016b340 Remove old config from cover, including tests (#51118)
* Remove old config and standardize new config.

* Add missing safeguard.
2021-05-28 11:29:37 +02:00
Michael d200f1e504 Bump config version to 2 for AVM Fritz Tools (#51176) 2021-05-28 11:12:46 +02:00
Franck Nijhof 538a03ee0c Clean up Speedtest.net Sensors (#51124) 2021-05-28 11:10:01 +02:00
Erik Montnemery 837220cce4 Add deprecated backwards compatible history.LazyState (#51144) 2021-05-28 11:01:28 +02:00
dependabot[bot] e41fbdc9eb Bump actions/cache from 2.1.5 to 2.1.6 (#51185)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-28 10:42:22 +02:00
Franck Nijhof 0b15f3aa98 Define alarm_control_panel entity attributes as class variables (#51120)
* Define alarm_control_panel entity attributes as class variables

* Example Verisure

* Remove redundant AttributeError
2021-05-28 08:29:01 +02:00
Franck Nijhof e9b09325c9 Use entity class vars in SolarEdge (#51123) 2021-05-28 08:24:55 +02:00
Tobias Sauerwein eb66f8ef6d Fix Netatmo data class update (#51177) 2021-05-28 08:00:11 +02:00
uvjustin 6ad29aec2c Adjust segment duration calculation in stream (#51149)
* Calculate min segment duration internally

* Rename segments to sequences in StreamOutput

* Fix segment duration calculation in test_worker
2021-05-28 13:36:41 +08:00
jjlawren e08de22737 Fix totalconnect test calling public host (#51138) 2021-05-27 21:30:37 -05:00
Raman Gupta ca8d09e5e1 Add zwave_js.multicast_set_value service (#51115)
* Add zwave_js.multicast_set_value service

* comment

* Add test for multiple config entries validation

* additional validation test

* brevity

* wrap schema in vol.Schema

* Update homeassistant/components/zwave_js/services.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* do node transform and multicast validation in schema validation

* move poll value entity validation into schema validation, pass helper functions dev and ent reg instead of retrieving it every time

* make validators nested functions since they don't neeed to be externally accessible

* Update homeassistant/components/zwave_js/services.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove errant ALLOW_EXTRA

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-27 21:57:35 -04:00
GitHub Action 93ada0a675 [ci skip] Translation update 2021-05-28 00:19:07 +00:00
Greg Dowling 02ac9a75b1 Bump pyroon to 0.0.37 (#51164) 2021-05-27 21:01:04 +02:00
Aaron David Schneider f7f8672eea Add tests for sonos switch platform (#51142)
* add tests

* refactor async_added_to_hass

* fix tests and race condition

* use async_get

* typo
2021-05-27 19:56:59 +02:00
Franck Nijhof 7dff4d6ad7 Define climate entity attributes as class variables (#51006) 2021-05-27 17:39:43 +02:00
tkdrob d1c4d0de49 Use bool annotations for setup entries (#51166) 2021-05-27 17:39:06 +02:00
Shay Levy b6355bcb48 Add myself to Switcher codeowners (#51158) 2021-05-27 17:37:54 +02:00
tkdrob c0656878db Normalize async_setup_entry (#51161) 2021-05-27 15:56:20 +02:00
Eduard van Valkenburg 701c4ee624 Update sia tests (#51151) 2021-05-27 15:35:17 +02:00
Franck Nijhof d9eb1d85a2 Clean up DNS IP integration (#51143)
* Clean up DNS IP integration

* Commit missing change oops
2021-05-27 15:10:28 +03:00
Franck Nijhof eb2b60434c Clean up Local IP integration (#51126) 2021-05-27 15:04:40 +03:00
ollo69 69e454fd49 Add missing function signature (#51153) 2021-05-27 14:52:05 +03:00
René Klomp 65f2fe9c01 Bump pysma version to 0.5.0 (#51098)
* Use new get_sensors method

* Update pysma requirement

* Update primary codeowner

* Update device_info handling

* Fix LEGACY_MAP

* Updated tests

* Fix pysma references

* Fix pylint raise-missing-from

* Better import of Sensors

* Remove software version related changes

* Revert codeowners change
2021-05-27 12:53:14 +02:00
Eduard van Valkenburg cede36d91c Followup PR for SIA integration (#51108)
* Updates based on Martin's review

* fix strings and cleaned up constants
2021-05-27 10:55:47 +02:00
jjlawren f0952d3ee8 Fix Sonos media position with radio sources (#51137) 2021-05-27 10:53:51 +02:00
jan iversen 8d365e8bf5 After merge, review. (#51139) 2021-05-27 08:28:31 +02:00
Anders Melchiorsen fdfb84e8e2 Upgrade pysonos to 0.0.50 (#51125) 2021-05-27 08:13:10 +02:00
jjlawren e4e3dc7fab Fix Sonos TV source attribute (#51131) 2021-05-26 22:12:43 -07:00
Raman Gupta 877d3e38b4 Fix zwave_js.set_value schema (#51114)
* fix zwave_js.set_value schema

* wrap all schemas in vol.Schema

* readd removed assertions
2021-05-27 00:27:35 -04:00
Joakim Sørensen 3e7729faf2 Handle blank string in location name for mobile app (#51130) 2021-05-27 06:04:05 +02:00
uvjustin 38e0cbe964 Change stream sequence number to start from 0 (#51101)
* Use constants for provider strings

* Add last_sequence property
2021-05-27 11:22:31 +08:00
GitHub Action f45bc3abc7 [ci skip] Translation update 2021-05-27 00:17:03 +00:00
Franck Nijhof d829df332d Bump version to 2021.7.0dev0 (#51116) 2021-05-26 20:18:29 +02:00
Franck Nijhof 762f15a0d3 Bumped version to 2021.6.0b0 2021-05-26 19:44:48 +02:00
Yuriy Sannikov 6391d75919 Refactor ModbusRegisterSensor class to get hub and configuration (#50234)
* refactor ModbusRegisterSensor to match the ModbusSwitch interface

* Please pylint, mypy etc.

* Remove PLATFORM.

Co-authored-by: jan Iversen <jancasacondor@gmail.com>
2021-05-26 19:28:14 +02:00
Greg Dowling 09b9218511 Handle updating config entries in Vera (#49605)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-26 09:54:02 -07:00
Austin Mroczek 22dd7df66c Improve totalconnect config flow user experience (#47926) 2021-05-26 09:48:44 -07:00
Franck Nijhof 67536b52c4 Use entity class vars in Flo (#50991) 2021-05-26 09:47:04 -07:00
ollo69 daff62f42d Add AsusWRT model and firmware information for device (#51102) 2021-05-26 09:46:06 -07:00
Barry Williams 5ac81ccb4c Openhome component now uses asyncio and handles unavailability (#49574) 2021-05-26 09:39:44 -07:00
Bram Kragten 42b92748f6 Update frontend to 20210526.0 (#51110) 2021-05-26 09:31:46 -07:00
Paulus Schoutsen bcd91cc2bd Drop certificate filling in for cloudmqtt (#51112) 2021-05-26 09:31:35 -07:00
Klaas Schoute 31c07e710a bump garage_amsterdam lib to v2.1.1 (#51111) 2021-05-26 09:31:23 -07:00
Matt Zimmerman ffb9ab21c1 Add binary sensor for smarttub errors (#49364) 2021-05-26 09:25:47 -07:00
J. Nick Koston 64661ee2b7 Add network configuration integration (#50874)
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-26 09:06:30 -07:00
Erik Montnemery 16e90f12ca Add last_reset property to Tasmota energy sensors (#51107)
* Add last_reset property to Tasmota energy sensors

* Correct device class for energy sensors
2021-05-26 17:58:06 +02:00
Franck Nijhof 19c505c0f0 Add Supervisor discovery to motionEye (#50901)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-26 17:40:07 +02:00
Raman Gupta 18e6ae8750 Add WS API commands to check for and install zwave_js config updates (#51106) 2021-05-26 08:39:08 -07:00
Raman Gupta 6d9b67ddb2 Add zwave_js heal node and network WS API commands (#51047)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-26 08:38:02 -07:00
Raman Gupta 8edf7f0407 Don't enforce uniqueness requirements for Waze and Google Travel Time (#50254)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-05-26 08:32:26 -07:00
Brandon Rothweiler a36935dcee Add services for Mazda integration (#51016) 2021-05-26 16:36:36 +02:00
Franck Nijhof a8a13da793 Fix discovery without uid aborts on completing user flow (#51105)
* Fix discovery without uid aborts on completing user flow

* Fix comment
2021-05-26 16:29:52 +02:00
Franck Nijhof bf13af34b4 Use entity class vars in WLED (#50975) 2021-05-26 14:08:09 +02:00
Massimiliano Cannarozzo 5a5a145778 Make all MQTT cover payloads optional (#50579)
* Remove unused constant

* Make payload_close optional

* Make payload_open optional

* Compute supported features based on config
2021-05-26 13:50:44 +03:00
Raman Gupta 1de0d20a76 Bump zwave-js-server-python to 0.25.1 (#51097)
* Bump zwave-js-server-python to 0.25.1

* update fixtures
2021-05-26 12:37:24 +02:00
Erik Montnemery 789a14fc44 Add support for last_reset to MQTT sensor (#51036)
* Add support for last_reset to MQTT sensor

* Update abbreviations

* Improve test coverage
2021-05-26 11:50:29 +02:00
Matthias Alphart 4f9b7254d2 Initialize KNX expose value (#49623)
* simplify value extraction

* allow 0/1 and "True" / "False" for binary exposes

* initialize ExposeSensor value

* handle binary states

* use default for initialization
2021-05-26 11:21:11 +02:00
chpego 19c9675d4a Bump youtube-dl to 2021.04.26 (#50037) 2021-05-26 10:32:43 +02:00
Raj Laud b3607343fc Fix error in Squeezebox DHCP discovery flow (#50771)
* Map data from dhcp to squeezebox discovery flow

* Add tests for squeezebox dhcp discovery
2021-05-26 10:30:15 +02:00
Andrey Kupreychik 5ee0df29d4 Remove old Keenetic NDMS2 entities when some interfaces are unselected (#47311)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-26 10:26:23 +02:00
uvjustin c6f108f7c3 Refactor stream to use bytes (#51066)
* Refactor stream to use bytes
2021-05-26 16:19:09 +08:00
Franck Nijhof 58586d5e1f Use entity class vars in Elgato (#50973) 2021-05-26 10:18:26 +02:00
Maciej Bieniek 41a940f644 Add state class to Nettigo Air Monitor sensors (#50959) 2021-05-26 09:36:37 +02:00
ollo69 d5a9419fb7 Fix AsusWRT sensor test (#50956)
* Fix AsusWRT sensor test

* Revert use of utcnow

* Add MockDevice class

* Proper initialize static member

* Added mock_device fixture
2021-05-26 09:19:30 +02:00
Raman Gupta 5f7964b54b Add firmware updates support for zwave_js (#50390)
* Add WS API support for zwave_js firmware updates

* move file to fixture

* review comments

* fix logic and test based on upstream changes

* handle failure scenario

* handle failure scenario

* fix tests and adjust message

* Update homeassistant/components/zwave_js/api.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* remove return from firmware upload view because client will raise an exception if not successful

* raise if user is not an admin

* raise bad request exception if firmware command fails

* incorporate #50923

* Add test for failed command

* add event name to messages

* change error to not found

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-05-26 02:57:00 -04:00
Matt Zimmerman c1d5dd7141 Remove unneeded **kwargs from SmartTub reminders snooze service (#51093) 2021-05-26 08:13:26 +02:00
Erik Montnemery 154c849eac Filter unsupported parameters from light service calls (#51084)
* Filter unsupported parameters from light service calls

* Silence pylint

* Fix deconz tests

* Fix mqtt tests

* Fix scene tests

* Fix trådfri emulated CT

* Fix mqtt tests
2021-05-26 08:02:59 +02:00
Johan Josua Storm 9b13350b01 Replace wrong domain returned from xbox api revisited (#51074)
* Added replacement http to https

Somehow the fix of replacing the domain doesn't work on android, so explicit replacement of http to https protocol is needed.

* Update homeassistant/components/xbox/base_sensor.py

Co-authored-by: Jason Hunter <hunterjm@gmail.com>

Co-authored-by: Jason Hunter <hunterjm@gmail.com>
2021-05-26 02:01:35 -04:00
GitHub Action c302b5d4eb [ci skip] Translation update 2021-05-26 00:16:09 +00:00
Franck Nijhof affc8e0f0b Fix unique ID Verisure alarm control panel (#51087) 2021-05-26 00:21:53 +02:00
Franck Nijhof 997a847b5c Add support for Sensor state class to ESPHome (#51090)
* Add support for Sensor state class to ESPHome

* Bump aioesphome to 2.8.0
2021-05-26 00:21:18 +02:00
J. Nick Koston deb9135707 Handle clamped fan maxValue in homekit_controller (#51088) 2021-05-25 16:06:17 -05:00
Daniel Hjelseth Høyer 3a6a1a4d6b Tibber, state class (#50951) 2021-05-25 13:53:16 -07:00
Anaïs Betts d82f6abbe4 Consider Continuous Mode on Nuki Opener to be "unlocked" (#49557)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-25 21:05:56 +02:00
Matthias Alphart 8b21a652ba Create KNX sensor entity directly from config (#49642)
* create sensor entities directly from config

* move staticmethod to module level

* remove factory call
2021-05-25 20:16:54 +02:00
Nathan Spencer 9ec0b0a8da Fix for invalid value error when using UI editor for Litter-Robot's set_wait_time service (#50269) 2021-05-25 20:15:37 +02:00
Franck Nijhof 6a2d6e2046 Merge branch 'master' into dev 2021-05-25 20:10:10 +02:00
Raman Gupta 58e37435b3 Make more max lengths constants and add additional MaxLengthExceeded checks (#50337)
* Add more MaxLengthExceeded checks

* remove some validations to reduce performance impact

* check length of generated entity ID

* dont check entity ID twice and use single context id length constant

* fix test

* add missing test
2021-05-25 19:58:01 +02:00
Erik Montnemery abd6f739e8 Pylint fix (#51083) 2021-05-25 10:53:18 -07:00
J. Nick Koston 023c094b01 Add v3 smartthings hub to discovery (#51051)
- I recently switched to a v3 hub, and it has a new OUI
2021-05-25 12:40:05 -05:00
jjlawren fe75a1bb9d Set Fahrenheit reporting precision to tenths for Homekit Controller climate entities (#50415) 2021-05-25 19:32:59 +02:00
Simone Chemelli 3d41a66673 Bump aioshelly to 0.6.4 (#51081) 2021-05-25 19:28:12 +02:00
J. Nick Koston 9f22509a4b Recover fast when homekit_controller sees a zeroconf announcment for a device that is offline (#51038) 2021-05-25 11:47:45 -05:00
J. Nick Koston 98535c9e6c Set homekit controller available state at startup (#51013) 2021-05-25 11:47:28 -05:00
jjlawren 1e86818f85 Add battery support for Sonos S1 speakers (#50864) 2021-05-25 18:39:31 +02:00
Matt Zimmerman aa18ad2abf Add service to snooze SmartTub reminders (#51012)
* Add service to snooze SmartTub reminders

* minimum is 10 days

* 0->10 in services.yaml as well

* Update homeassistant/components/smarttub/services.yaml

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/smarttub/services.yaml

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-05-25 18:37:00 +02:00
Aaron David Schneider 9bf6ea60db Add Sonos alarm to sonos component (#50719)
* add sonos_alarm

* bug fix for _update_device

* fix pylint and black and co

* small bug fix in speaker.available_alarms

* cleanup and add _LOGGER.debug statements, fix pylint

* fix pylint

* _alarm_id to alarm_id

* fixed rare bug due to raceconditions

* Part 2 of raceconditionfix

* address review suggestions

* readd check for not yet subscribed

* - platforms_ready fix
- add alarmClock to pytest mock

* fixture for ListAlarms

* cleanup mock and match UUID for test

* add simple tests for sonos_alarm

* extend test for attributes

* typhint fix

* typo

* use get_alarms() directly

* refactor available_alarms

* fix attributes

* some cleanup

* change logic of fetch_alarms_for_speaker and rename to update_alarms_for_speaker

* update_alarms_for_speaker is now a method

* Update homeassistant/components/sonos/switch.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Update homeassistant/components/sonos/speaker.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2021-05-25 11:32:25 -05:00
brucemiranda 1de4971d54 Add ebusd boiler StateNumber and Modulation Percentage sensors (#49732)
* Added Boiler StateNumber and ModulationPercentage

* Update const.py

* Clean whitespace

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-25 18:25:12 +02:00
Paul Bottein fb61ef500c Add TV channel trait to google assistant (#49676) 2021-05-25 09:12:42 -07:00
Erik Montnemery 7b5e63132c Prevent parallel reload of automations (#50008) 2021-05-25 08:50:50 -07:00
Erik Montnemery d2804433d3 Select onoff and brightness color modes last for light groups (#51054) 2021-05-25 08:49:24 -07:00
Raman Gupta c0234df136 Remove device_registry fixture from zwave_js tests (#51072) 2021-05-25 08:48:21 -07:00
András Rutkai 727ca79b93 Updating IBM Watson SDK, replacing TTS API endpoint (#50909) 2021-05-25 17:38:09 +02:00
Raman Gupta 4875035ff8 Add zwave_js WS API commands for node ping and metadata (#51049) 2021-05-25 17:37:12 +02:00
starkillerOG e9ff4b1342 Fix alexa not discovering devices when sound mode device present (#49628)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-25 08:35:40 -07:00
Bram Kragten f4dc72c0bd Add statistics websocket endpoint (#51044)
Co-authored-by: Erik <erik@montnemery.com>
2021-05-25 08:14:43 -07:00
Bram Kragten c98f961959 Add statistics websocket endpoint (#51044)
Co-authored-by: Erik <erik@montnemery.com>
2021-05-25 08:06:24 -07:00
Bram Kragten 5d79a8fb05 Add statistics websocket endpoint (#51044)
Co-authored-by: Erik <erik@montnemery.com>
2021-05-25 08:05:57 -07:00
Bram Kragten 26563e3ea4 Add statistics websocket endpoint (#51044)
Co-authored-by: Erik <erik@montnemery.com>
2021-05-25 08:03:37 -07:00
Martin Hjelmare de74028958 Disable ee_brightbox integration (#51069) 2021-05-25 16:09:23 +02:00
Franck Nijhof 9a208e3761 Upgrade pre-commit to 2.13.0 (#51068) 2021-05-25 15:51:42 +02:00
Erik Montnemery ae8652217c Change utility_meter last_reset timestamps to UTC (#51067) 2021-05-25 15:46:54 +02:00
Jeroen Peters 67804ee5df Bump yeelight to 0.6.3 (#51065) 2021-05-25 15:36:19 +02:00
Andrey Kupreychik cbe4df1893 SSDP Discovery for NDMS2 routers (#47312)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-05-25 15:36:03 +02:00
Daniel Hjelseth Høyer 7c9d8cfdec Miflora, add STATE_CLASS_MEASUREMENT (#50971)
* Miflora, add STATE_CLASS_MEASUREMENT

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Miflora, add STATE_CLASS_MEASUREMENT

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-05-25 14:47:09 +02:00
tkdrob 028a07d86f Wrap up selectors (#50794)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-25 14:45:17 +02:00
Martin Hjelmare 9319fc6263 Update zwave_js stored add-on options (#51063)
* Update zwave_js entry data if add-on data changed

* Fix tests

* Add test
2021-05-25 08:37:34 -04:00
Andre Lengwenus c868353459 Code cleanup in LCN (#48074) 2021-05-25 14:17:36 +02:00
Martin Hjelmare bdb8cdf717 Fix zwave_js None color value (#50926) 2021-05-25 13:40:22 +02:00
Daniel Hjelseth Høyer e9c787a5eb Use entity class vars in Tibber (#50977)
* Use entity class vars in Tibber

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/tibber/sensor.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Update homeassistant/components/tibber/sensor.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Use entity class vars in Tibber

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Use entity class vars in Tibber

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-25 13:35:18 +02:00
Michael be0a54edb1 Add strict type annotations to bluetooth_tracker (#50999) 2021-05-25 12:29:35 +01:00
Philip Allgaier d8ff52e55b Add support for custom themes to use dark mode (#46532) 2021-05-25 13:26:24 +02:00
Adrián Moreno fe34f42aa5 Add new Meteoclimatic integration (#36906)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-25 13:11:48 +02:00
Raman Gupta 3573249720 Bump zwave-js-server-python to 0.25.0 (#51053) 2021-05-25 13:10:42 +02:00
Simone Chemelli ef33bbe9bc Fix dispatcher for Fritz integration (#51061) 2021-05-25 12:43:50 +02:00
Franck Nijhof c5383219f1 Remove stale debug statements from tests (#51059) 2021-05-25 11:52:20 +02:00
uvjustin 2eb87b8806 Combine StreamBuffer into SegmentBuffer in stream (#51041)
* Combine StreamBuffer into SegmentBuffer in stream

* Use new style type hint in comment
Remove unused member self._segment

* Change reset_av to static helper function

* Change make_new_av to only return OutputContainer
2021-05-24 22:57:07 -07:00
GitHub Action 0fb2504e0c [ci skip] Translation update 2021-05-25 00:12:25 +00:00
Xuefer 2a47805b4a Close onvif device cleanly (#49659)
* onvif: close device cleanly

Signed-off-by: Xuefer <xuefer@gmail.com>

* onvif: Too many nested blocks

Signed-off-by: Xuefer <xuefer@gmail.com>

* update tests to cover onvif config_flow

Signed-off-by: Xuefer <xuefer@gmail.com>
2021-05-24 15:27:40 -04:00
Xuefer a7eedeeaba onvif: more debug info (#49658)
Signed-off-by: Xuefer <xuefer@gmail.com>
2021-05-24 15:24:56 -04:00
Maciej Bieniek 12e2c59a4c Improve typing in DuneHD integration (#51025)
* Improve typing

* One more typing fix

* Run hassfest

* Fix test

* Fix return from constructor

* Add missing Final

* Improve long string format

* Use bool for mute

* Remove unnecessary str type

* Fix host type

* Add missing Final

* Increase test coverage

* Suggested change

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>

Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
2021-05-24 20:09:57 +01:00
Franck Nijhof 394e044c66 Add state classes to Toon (#50978) 2021-05-24 11:15:41 -07:00
jan iversen 8721675218 Use BaseSwitch class in modbus switch/fan/light (#51031) 2021-05-24 20:13:25 +02:00
uvjustin 1ec4332e25 Use ConfigType instead of Config in async_setup type hint (#51037) 2021-05-24 10:23:16 -07:00
Raman Gupta ebf6e3d985 Add zwave_js WS API commands to replace and remove failed nodes (#51018)
* Add zwave_js WS API commands to replace and remove failed nodes

* no need to manually add node to driver in test
2021-05-24 13:11:09 -04:00
Paulus Schoutsen 6a7968593d Make camera source check faster (#51035) 2021-05-24 17:27:13 +01:00
Matt Zimmerman e964c607a3 jinja2.contextfilter decorator renamed to pass_context (#51007)
* jinja2.contextfilter decorator renamed to pass_context

* bump jinja2 dependency
2021-05-24 17:38:37 +02:00
Simone Chemelli 987e8ed5ed Add consider_home option to Fritz device_tracker (#50741)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-24 09:54:57 -05:00
Nash Kaminski 2ae91bf0ea Correct humidifier detection in venstar component and add tests (#50439)
As of version 0.14, the venstar_colortouch lib always initializes hum_setpoint to None. When a thermostat actually reports a humidifier state, this value is replaced with the integer value of the setpoint. This changeset corrects the humidifier detection as well as adds basic test cases for the Venstar component.
2021-05-24 16:41:37 +02:00
jan iversen c74e65ac2d Streamline modbus test_init (#50990)
* Streamline test_init.

* Review comments.

* Remove hub name.
2021-05-24 14:53:54 +02:00
jan iversen 1546dbbf25 Add restore temperature to modbus climate (#50963)
* Add restore temperature to climate.

* please mypy.

* Review 2.
2021-05-24 14:03:44 +02:00
J. Nick Koston 60e65a4bc2 Bump async-upnp-client to 0.18.0 (#51017)
- Adds support for a long running SSDP listener
2021-05-24 13:50:40 +02:00
jacekpaszkowski 85495c08b0 Add support for effects, transition/brightness parameters to template light, min_mireds and max_mireds templates (#43850)
* Add support for effects, transition/brightness parameters to template light, min_mireds and max_mireds templates

* code fixes

* min_mireds, max_mireds fixes

* test fixes

* more fixes

* format fix

* style fix

* _update_effect_list change

* style fix

* Fixes after review

* additional fixes

* duplicated lines removed

* fixes after CI run

* test fixes

* code and test fixes

* supports transition change, added test cases
2021-05-24 13:31:57 +02:00
hesselonline c497c0eadd Add wallbox integration (#48082)
* Wallbox component added

* resolved mergeconflicts from upstream

* fixed an incorrect removal in CODEOWNERS file

* fixes for pullrequest automatic test

* clean up code after PR tests

* fixed strings.json

* fix config_flow error > wallbox

* fixed some formatting issues

* fix pylint warnings

* fixed error in number.py > set value

* pylint warnings fixed

* some more pylint fixes

* isort fixes

* fix unused_import pylint

* remove tests

* remove test requirements

* config flow test

* test errors resolved

* test file formatting

* isort on test file

* sensor test

* isort on test

* isort test const

* remove not working sensor test

* remove test const

* add switch, number and lock test

* docstrings for test classes

* sort test_number, create test_sensor

* additional tests

* fix test error

* reduced PR to 1 component

* newline in const

* ignore test coverage -> dependency on external device (wallbox)

* do not ignore config_flow

* add test for validate_input

* remove obsolete import

* additional test config flow

* change test sensor

* docstring

* add additional test for exceptions

* fix test_config

* more tests

* fix test_config_flow

* fixed http error test

* catch connectionerror and introduce testing for this error

* remove .coveragefile

* change comment

* Update homeassistant/components/wallbox/__init__.py

review suggestion by janiversen

Co-authored-by: jan iversen <jancasacondor@gmail.com>

* Update homeassistant/components/wallbox/__init__.py

review suggestion by janiversen (format only)

Co-authored-by: jan iversen <jancasacondor@gmail.com>

* Processed review comments, include more testing for sensor component

* Isolated the async_add_executor_job to make the solution more async

* add a config flow test

* Revert "add a config flow test"

This reverts commit 9c1af82fffeb0b46f11ada1000e19b66fd5fd0f1.

* Revert "Isolated the async_add_executor_job to make the solution more async"

This reverts commit 0bf034c3318f27e649389830d4ad7a7e10eb2d6f.

* Make component more async and add config flow tests

* Changes based on review comments

* made _ methods in WallboxHub for the 'non-async' call to the API and try-catch. Stored the wallbox in the class.

* moved the coordinator to __init__ and pass it as part of the WallboxHub class

* removed obsolete function in __init__

* removed CONNECTION_CLASS = config_entries.CONN_CLASS_CLOUD_POLL

* fixed spelling and imports on test files

* did isort on component files

Co-authored-by: jan iversen <jancasacondor@gmail.com>
2021-05-24 13:08:24 +02:00
jan iversen be13a73db8 Allow manual scan and add delay in switch verify. (#50974) 2021-05-24 12:59:55 +02:00
Erik Montnemery 2583e4bdc9 Add support for RGBW color to blebox light (#49562) 2021-05-24 12:24:07 +02:00
Michael 51c8b1eb0b Improve code quality of TCP platform (#51000)
* Improve code placements

* Fix entity inheritance

* fix tests

* Improve PLATFORM_SCHEMA handling

* Apply suggestions
2021-05-24 11:03:43 +01:00
Erik Montnemery 870c61a622 Add color_mode support to MQTT light with basic schema (#50464)
* Add color_mode support to MQTT light with basic schema

* Update abbreviations

* Silence pylint

* Improve test coverage

* Apply suggestions from code review
2021-05-24 11:37:02 +02:00
Erik Montnemery b169a8dbda Mark battery, humidity and pressure sensors as STATE_CLASS_MEASUREMENT (#50924)
* Mark battery, humidity and pressure sensors as STATE_CLASS_MEASUREMENT

* Fix deconz battery sensor
2021-05-24 11:36:42 +02:00
Erik Montnemery ec4a47d1db Fix sia pylint errors (#51022) 2021-05-24 11:36:04 +02:00
Matthias Alphart 331cb3b74d Fix KNX light: turn on color light with only brightness (#50979)
* fix turn on color light with only brightness

* fix comment

* fix individual_color address assignment

* python 3.8 compatibility
2021-05-24 09:51:33 +02:00
Eduard van Valkenburg 0bba0f07ac Add SIA Alarm systems (#36625)
* initial commit of SIA integration

* translations

* moved reactions to file, typed everything

* fixed no-else-return 3 times

* refactored config and fix coverage of test

* fix requirements_test

* elimated another platform

* forgot some mentions of sensor

* updated config flow steps, fixed restore and small edits

* fixed pylint

* updated config_flow with better schema, small fixes from review

* final comment and small legibility enhancements

* small fix for pylint

* fixed init

* fixes for botched rebase

* fixed port string

* updated common strings

* rebuild component with eventbus

* fixed pylint and tests

* updates based on review by @bdraco

* updates based on new version of package and reviews

* small updates with latest package

* added raise from

* deleted async_setup from test

* fixed tests

* removed unused code from addititional account step

* fixed typo in strings

* clarification and update to update_data func

* added iot_class to manifest

* fixed entity and unique id setup

* small fix in tests

* improved unique_id semantics and load/unload functions

* added typing in order to fix mypy

* further fixes for typing

* final fixes for mypy

* adding None return types

* fix hub DR identifier

* rebased, added DeviceInfo

* rewrite to clean up and make it easier to read

* replaced functions with format for id and name

* renamed tracker remover small fix in state.setter

* improved readibility of state.setter

* no more state.setter and small updates

* mypy fix

* fixed and improved config flow

* added fixtures to test and other cleaner test code

* removed timeband from config, will reintro in a options flow

* removed timeband from tests

* added options flow for zones and timestamps

* removed type ignore

* replaced mapping with collections.abc
2021-05-24 08:48:28 +02:00
Matt Zimmerman d7da32cbb9 Add refresh when changing SmartTub filtration settings (#51014) 2021-05-23 20:27:54 -05:00
Matt Zimmerman 121349f866 Bump python-smarttub to 0.0.25 (#51015) 2021-05-23 20:27:25 -05:00
GitHub Action e920afd4d8 [ci skip] Translation update 2021-05-24 00:12:23 +00:00
Maciej Bieniek c91f89260e Add state_class to entities coming from battery powered devices in Shelly integration (#51009)
* Fix sensor state_class

* Remove state class from total work time sensor

* Add state_class restore mechanism

* Remove commented code

* Remove unnecessary code
2021-05-23 23:10:22 +03:00
Niels Mündler f0cd87e031 Reduce precision in returned values to meaningful digits (#49382) 2021-05-23 21:06:58 +02:00
J. Nick Koston 3cef96e78a Update aiohomekit to subscribe more like iOS (#50997) 2021-05-23 13:39:22 -05:00
Andrew Hayworth 4d527c5cd2 Update pylutron-caseta to 0.10.0 (#51005)
This update adds support for:
- PD-15OUT outdoor switch
- RA2 Select fan controller
2021-05-23 12:51:51 -05:00
HighOnMikey c1a1a38ffc Improve legacy support for Hunter Douglas PowerView (#50918)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-23 12:47:19 -05:00
Michael dbefa8fac0 Add strict type annotations to alarm_control_panel (#50945)
* Add strict type annotations

* Apply suggestions

* Type code as optional string
2021-05-23 16:51:40 +01:00
jan iversen f55213d8b1 Update modbus cover to 100% coverage (#50996) 2021-05-23 10:18:35 -05:00
J. Nick Koston 4b0b0f5db7 Allow user to override insecure setup codes and pair with homekit_controller (#50986)
* Allow user to override invalid setup codes and pair with homekit_controller

* adjust from manual testing

* invalid -> insecure
2021-05-23 10:15:38 -05:00
Matt Zimmerman 87438dd401 Add services to SmartTub for changing filtration settings (#46980)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-05-23 09:00:24 -05:00
J. Nick Koston e1b6385b4d Add support for doorbell buttons to homekit_controller (#50983) 2021-05-23 08:56:16 -05:00
jjlawren 29205a9239 Sonos use common firmware version (#50861) 2021-05-23 08:43:49 -05:00
Ruslan Sayfutdinov 44bbd9396d Fix typing in config flow helper (#50994) 2021-05-23 14:08:21 +02:00
Daniel Hjelseth Høyer 9b02fd86c5 Update mill library, fix consumption data (#50992)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-05-23 13:11:48 +02:00
Eugenio Panadero ecb24f01a3 Bump aiopvpc from 2.0.2 to 2.1.1 (#50989)
* Remove pytz dependency and handle timezones with zoneinfo, and adapt to use input timezone as a time zone object or a string identifier
* Fix prices being badly assigned in Canary Islands timezone
* Fix sensor attributes in month changes
2021-05-23 12:48:33 +02:00
Matthias Alphart 5ca5b9ac89 Improve KNX config validation (#50980)
* remove dict repacking

* check binary_sensor device_class

* check cover device_class

* check sensor_type
2021-05-23 10:42:17 +02:00
Malte Franken 3141535d69 Bump geojson_client to 0.6 (#50985)
* bump geojson_client library to version 0.6

* add myself as codeowner
2021-05-23 08:55:02 +02:00
J. Nick Koston e4c77fd336 Bump aiohomekit to 0.2.62 (#50981)
- Discovery is now instant when a ServiceBrowser is running

Changelog: https://github.com/Jc2k/aiohomekit/compare/0.2.61...0.2.62
2021-05-22 22:22:56 -07:00
Joakim Sørensen 7ff14b47a8 Use whoami for location lookup (#50934) 2021-05-22 20:34:48 -07:00
Franck Nijhof 0cbcb9e0d6 Fix Hue overriding property methods, remove ignored typing (#50976) 2021-05-22 20:32:41 -07:00
Marcin Ciupak caad125b44 Add support for Oracle DB in recorder (#50090) 2021-05-22 21:10:27 -05:00
GitHub Action 460092ec9a [ci skip] Translation update 2021-05-23 00:13:25 +00:00
Shay Levy c7ada1e8f6 Fix flaky Shelly config flow test (#50982) 2021-05-23 02:11:02 +03:00
J. Nick Koston 45897b59f2 Turn on samsungtv with wakeonlan (#50964)
If we have the mac address from discovery, we can use it to wake
the TV.  Currently the TV goes unavailable when you turn it off
as the only way to turn it back on is wake on lan or via the remote.

Users who are not using host networking can use a script instead.
2021-05-22 15:33:37 -05:00
Franck Nijhof f4289b3fca Improve supported_color_modes typing in Light (#50969) 2021-05-22 18:48:58 +01:00
Franck Nijhof 4948bec8d5 Fix is_on attr not being used in binary sensor (#50968) 2021-05-22 19:45:05 +02:00
victorclaessen a03ee1e528 Fix Volvo On Call lock state (#50832)
* Fix Volvo On Call: Locked shows as Unlocked #43260 and #49224

* Update binary_sensor.py

Black changed 'Door lock' to "Door lock" (double quotes)

* Update homeassistant/components/volvooncall/binary_sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update binary_sensor.py

Amend code to pass pylint test

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-22 19:33:02 +02:00
Lén 99e58f3c18 Fix coinbase response pagination (#50890)
* Fix issue #50500

* next is a python keyword
2021-05-22 19:31:49 +02:00
Matej Plavevski b9086b5e39 Fix Documentation leading to a 404 Page (#50962) 2021-05-22 19:31:00 +02:00
Franck Nijhof 3c8707f912 Fix tcp typing, fixing CI (#50965) 2021-05-22 19:16:11 +02:00
Franck Nijhof e64b5afa58 Typing improvements for Sentry (#50787)
* Typing improvements for Sentry

* Fix event tags access

* Fix tests
2021-05-22 19:09:19 +02:00
Franck Nijhof cad4ec867b Define light entity attributes as class variables (#50941) 2021-05-22 09:21:31 -07:00
Franck Nijhof d3bc2bc47f Define binary_sensor entity attribute as class variables (#50940) 2021-05-22 09:20:34 -07:00
Franck Nijhof f7bc456bd2 Define sensor entity attributes as class variables (#50942) 2021-05-22 18:17:35 +02:00
Franck Nijhof 38d095aa18 Define entity attributes as entity class variables (#50925)
* Define entity attributes as entity class variables

* Example coronavirus integration

* Example verisure

* Cleanup/typing fixes

* Fix Coronavirus

* Revert "Fix Coronavirus"

This reverts commit 060843860fe300f8448d0d2476de8963d5ddf5a2.

* Revert "Cleanup/typing fixes"

This reverts commit 659b79e75a97007f7181064e446c3e988c2d54bb.

* Define entity attributes as entity class variables (attr alternative)

* Example coronavirus

* Example nut

* Example verisure

* Mark private

* Cleanup after all reverting/cherrypicking/merging

* Implement all entity properties

* Update coronavirus example

* Update nut example

* Update verisure example

* Lets not talk about this one...

* Fix multiple class attribute
2021-05-22 09:13:50 -07:00
Simone Chemelli b9a0fb93eb Add samsungtv dhcp and zeroconf discovery (#48022)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-22 10:41:18 -05:00
PeteBa aa9b99713c Add purge_entities service call to recorder (#48069) 2021-05-22 10:30:05 -05:00
carstenschroeder 9f04c7ea23 Add Openweathermap cloud coverage forecast (#50961) 2021-05-22 16:54:47 +02:00
Michael 4a64f7a696 Add strict type annotations to tcp (#50877)
* add strict type annotations

* apply suggestions

* rename to TCP_PLATFORM_SCHEMA

* Replace DiscoveryInfoType
2021-05-22 15:45:18 +01:00
Franck Nijhof 560dd0a0cc Typing improvements for TPLink (#50947)
* Typing improvements for TPLink

* Update homeassistant/components/tplink/common.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-22 13:47:26 +01:00
Maciej Bieniek afb372a680 Add Final type for constants in sensor component (#50955) 2021-05-22 13:00:53 +01:00
jan iversen 59ae78e5f0 Add restore_state to modbus binary_sensor (#50922)
* Add restore_state to binary_sensor.

* Update return value in State.
2021-05-22 13:38:05 +02:00
Ruslan Sayfutdinov 016abda12e Pylint plugin to check that relative imports are used (#50937)
* Pylint plugin to check that relative imports are used

* Fix existing sites

* Update description message

* Fix typo
2021-05-22 09:15:30 +01:00
Ruslan Sayfutdinov b704f0e729 Add strict typing to device_tracker (#50930)
* Add strict typing to device_tracker

* Update homeassistant/components/device_tracker/legacy.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-22 09:15:15 +01:00
Michael 2e316f6fd5 Add strict type annotations to canary (#50943)
* Add strict type annotations

* Add missing futur import

* Apply suggestions

* Apply suggestions
2021-05-22 09:14:59 +01:00
Erik Montnemery 15e2c6d7dc Fix typing for dt_util as_timestamp (#50886)
* Fix typing for dt_util::as_timestamp

* Apply suggestions from code review
2021-05-22 09:34:49 +02:00
Raman Gupta 92d1871de5 Fix flaky vizio test and add comments to explain logic (#50948) 2021-05-22 08:57:30 +02:00
GitHub Action 78be237447 [ci skip] Translation update 2021-05-22 00:12:02 +00:00
Milan Meulemans 5491040693 Fix missing link in scaffold comment (#50936) 2021-05-21 21:21:26 +02:00
Bram Kragten 752a4b9d2c Fix version bump script (#50932) 2021-05-21 19:31:04 +02:00
Ruslan Sayfutdinov 42ff687c32 Add missing type hints to websocket_api (#50915) 2021-05-21 09:39:18 -07:00
Erik Montnemery dc65f279a7 Add support for state_class to MQTT sensor (#50927) 2021-05-21 17:37:26 +02:00
Shay Levy 6e087039f4 Add min/max/step to MQTT number (#50869) 2021-05-21 18:35:27 +03:00
Michael 8c5c8ed153 Add strict type annotations to fitbit (#50740)
* add strict type annotations

* cast json_load()

* apply suggestions

* move SCAN_INTERVAL back to platform file

* apply suggestion

* apply suggestion

* apply suggestions

* rename to PARENT_PLATFORM_SCHEMA
2021-05-21 13:33:54 +01:00
Martin Hjelmare b4bb7c38ce Fix zwave_js api typing (#50923) 2021-05-21 14:20:58 +02:00
Martin Hjelmare 07e2f53b37 Add zwave_js add-on info dataclass (#50776) 2021-05-21 13:47:37 +02:00
Erik Montnemery 0c40f37336 Set device_class and state_class for utility_meter (#50921)
* Set device_class and state_class for utility_meter

* Update test

* Tweak tests according to review comments
2021-05-21 13:23:20 +02:00
Ruslan Sayfutdinov 00208ff0d8 Use type safe import for device_tracker.PLATFORM_SCHEMA (#50860) 2021-05-21 13:08:40 +02:00
Erik Montnemery 73d7a754e8 Mark temperature sensors as STATE_CLASS_MEASUREMENT (#50889)
* Mark temperature sensors as STATE_CLASS_MEASUREMENT

* Fix broadlink tests

* Tweak Hue changes
2021-05-21 11:44:34 +02:00
Erik Montnemery 6f26687aa7 Compile statistics for battery, humidity and pressure sensors (#50920) 2021-05-21 10:48:11 +02:00
Vladimír Záhradník c979101a02 Add Modbus fan integration (#48558)
* Add Modbus fan entity

* Update to PR.

* Pylint.

Co-authored-by: jan Iversen <jancasacondor@gmail.com>
2021-05-21 09:56:47 +02:00
Vladimír Záhradník 80d172140f Add Modbus light integration (#42120)
* Add  Modbus Light and add unit tests

* Update to original PR.

* Review comments.

* Review 2.

Co-authored-by: jan Iversen <jancasacondor@gmail.com>
2021-05-21 08:57:17 +02:00
J. Nick Koston 19aee19efd Resolve race condition in powerview when discovered by zeroconf and dhcp (#50908)
Set the host in the context before checking to ensure
that the second discovery aborts. Seen when testing
on a very fast system only
2021-05-21 07:40:55 +02:00
J. Nick Koston d9769900bb Bump aiodiscover to 1.4.2 (#50917) 2021-05-21 07:27:52 +02:00
GitHub Action 25bf884156 [ci skip] Translation update 2021-05-21 00:12:09 +00:00
Matthias Alphart 3e1f51883e Create KNX weather entity directly from config (#49640)
* create climate entities directly from config

* deprecate create_sensors

* move create staticmethod to module level

* add comment for deprecation date
2021-05-21 01:30:37 +02:00
J. Nick Koston eddc1ab778 Handle threads exiting unexpected during shutdown (#50907)
If a thread exits right when we are trying to force an exception
to shut it down, setting the exception will fail with SystemError.
At this point in the shutdown process we want to move on as this
will cause the shutdown to abort
2021-05-21 01:06:37 +02:00
Tobias Sauerwein 0623648309 Clean up Netatmo integration (#50904) 2021-05-20 19:28:21 +02:00
Ville Skyttä 19d25cd901 Change config entry state to an enum (#49654)
* Change config entry state to an enum

* Allow but deprecate EntryState str equality comparison

* Test fixes

* Rename to ConfigEntryState

* Remove str comparability backcompat

* Update new occurrences of strs cropped up during review
2021-05-20 19:19:20 +02:00
Ruslan Sayfutdinov 0e7409e617 Pylint plugin to check __init__ return type (#50868)
* Pylint plugin to check __init__ return type

* Support *args add **kwargs, type hints

* Use 'in' instead of 'any()'

* Fix last few places
2021-05-20 18:00:10 +01:00
Daniel Hjelseth Høyer fd2e640c74 Use sensor constants in recorder (#50906)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-05-20 18:23:00 +02:00
Ruslan Sayfutdinov 391b2f8ccd Add missing return type in Core constructors (#50884) 2021-05-20 18:53:29 +03:00
Shay Levy cf228e3fe5 Add constructor return type in integrations A-D (#50903) 2021-05-20 18:51:39 +03:00
Michael b1138b1aab Add constructor return type in integrations E-K (#50902) 2021-05-20 18:47:30 +03:00
epenet d7c0da90c5 Add support for DS2405 (#50148) 2021-05-20 17:02:25 +02:00
Michael 9eecd90afc Add constructor return type in integrations T-Z (#50899) 2021-05-20 17:00:19 +02:00
jan iversen c650deef98 Add base class for all modbus platforms (#50878)
* Add base for all platforms.

* Please pylint.
2021-05-20 16:56:11 +02:00
Maciej Bieniek f212049fc2 Add constructor return type in integrations O-S (#50896) 2021-05-20 15:58:17 +02:00
Fredrik Tuomas a65d3868cb Add support for EDS0066 (#50035)
* Add support for EDS0066

* Added a test

* Corrected entity_ids

* Added missing part of sensor entity id

* Add type hint

* Update tests/components/onewire/const.py

Co-authored-by: jan iversen <jancasacondor@gmail.com>

* Update tests/components/onewire/const.py

Co-authored-by: jan iversen <jancasacondor@gmail.com>

* Revert "Update tests/components/onewire/const.py"

This reverts commit 4a01b89868bb692bb2911ca5b9f9939611a5ff2f.

* Revert "Update tests/components/onewire/const.py"

This reverts commit 151eb9c0d3303b6bd3b3dc49a1eccd7c1a1b31b8.

Co-authored-by: jan iversen <jancasacondor@gmail.com>
2021-05-20 15:39:34 +02:00
Klaas Schoute 61ef58aa16 bump garage_amsterdam lib to v2.0.5 (#50891) 2021-05-20 15:14:34 +02:00
Tobias Sauerwein ceec871340 Make Netatmo use async pyatmo (#49717)
* Split initialization from data retrival

* Await class initialization

* Async camera

* More async

* Remove stale code

* Clean up

* Update tests

* Fix test

* Improve error handling

* Bump pyatmo version to 5.0.0

* Add tests

* Add cloudhook test

* Increase coverage

* Add test with no camera devices

* Add test for ApiError

* Add test for timeout

* Clean up

* Catch pyatmo ApiError

* Fix PublicData

* Fix media source bug

* Increase coverage for light

* Test webhook with delayed start

* Increase coverage

* Clean up leftover data classes

* Make nonprivate

* Review comments

* Clean up stale code

* Increase cov

* Clean up code

* Code clean up

* Revert delay

* Update homeassistant/components/netatmo/climate.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/netatmo/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Address comment

* Raise cov

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-20 14:59:19 +02:00
Maciej Bieniek e06a2a53c4 Add constructor return type in integrations L-N (#50888)
* Add constructor return type in integrations L-N

* Small fix
2021-05-20 13:06:44 +01:00
Artem Draft f3db819548 Add play_media channel support to LG Netcast (#49527) 2021-05-20 14:03:27 +02:00
Erik Montnemery e16a8063a5 Compile statistics for energy sensors (#50829)
* Compile statistics for energy sensors

* Update tests

* Rename abs_value to state

* Tweak

* Recreate statistics table

* Pylint

* Try to fix test

* Fix statistics for multiple energy sensors

* Fix energy statistics when last_reset is not set
2021-05-20 13:05:15 +02:00
Maciej Bieniek aaae4cfc8f Use constants with TypedDict in Nettigo Air Monitor integration (#50883)
* Use constants with TypedDict

* Sensor names as consts
2021-05-20 11:38:46 +01:00
Matthias Alphart be6a1bf096 Create KNX climate entity directly from config (#49638)
* create climate entities directly from config

* deprecate create_temperature_sensors

* move create staticmethod to module level

* use get() fro optional CONF_SETPOINT_SHIFT_MODE

* Fix deprecated version comment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-20 12:23:41 +02:00
Maciej Bieniek 953e6ebe62 Use constants with TypedDict (#50880) 2021-05-20 10:36:23 +01:00
Maciej Bieniek 3bdefc5da7 Use constants with TypedDict (#50879) 2021-05-20 10:34:32 +01:00
Maciej Bieniek ccd8e1332c Address late review comments for AccuWeather integration (#50866)
* Remove unnecessary converting datetime to str

* Address late comments
2021-05-20 09:29:10 +02:00
Erik Montnemery d4d335fb9c Fix MQTT debug info for removed triggers (#50859) 2021-05-20 10:27:38 +03:00
Martin 623baa7964 Fix zamg station check (#49367) 2021-05-20 09:25:31 +02:00
Paulus Schoutsen 2976bbbbdd Store Hue bridge in hass.data before setting up platforms (#50703)
* Store bridge in hass.data before setting up platforms

* Self
2021-05-20 09:08:23 +02:00
Felipe Martins Diel 7350942e9e Implement heartbeat in the Broadlink integration (#43878)
* Implement heartbeat in the Broadlink integration

* Rename INTERVAL to HEARTBEAT_INTERVAL

* Test that we log an error message when the heartbeat fails
2021-05-20 08:10:13 +02:00
GitHub Action a021fe301c [ci skip] Translation update 2021-05-20 00:11:53 +00:00
shbatm a49d5c4266 Add ISY994 System Health Info (#50840)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-19 19:10:09 -05:00
shbatm cdf18bd4b1 Add Z-Wave Parameter and Node Rename Services to ISY994 (#50844) 2021-05-19 19:08:35 -05:00
Franck Nijhof f44efb1eea Upgrade watchdog to 2.1.2 (#50863) 2021-05-20 00:12:27 +02:00
Franck Nijhof ab9aa4466e Fix SolarEdge active check on entry setup (#50873) 2021-05-19 23:15:00 +02:00
Charles Garwood 9f754f1643 bump envoy_reader to 0.19.0 (#50827) 2021-05-19 22:30:31 +02:00
Erik Montnemery 5ee362bc34 Store sensor last_reset attribute as a string, not a datetime (#50851)
* Store last_reset attribute as a string, not a datetime

* Update tests
2021-05-19 12:28:00 -07:00
Maciej Bieniek 7573adda7f Add Final type for all core constants (#50858)
* Add Final type for all constants

* Add Final for one missing const

* Suggested change
2021-05-19 19:31:38 +03:00
Franck Nijhof ae561542c3 Merge pull request #50862 from home-assistant/rc 2021-05-19 17:30:25 +02:00
Franck Nijhof 163d2788b6 Bumped version to 2021.5.5 2021-05-19 16:54:05 +02:00
Tobias Sauerwein f141ed6977 Bump pyatmo to 4.2.3 (#50801)
* Bump pyatmo to 4.2.3

* Fix typo and update test fixture
2021-05-19 16:53:27 +02:00
jjlawren 7603bf8145 Bump pysonos to 0.0.47 (#50792) 2021-05-19 16:53:03 +02:00
Erik Montnemery 9a8317db1d Bump hatasmota to 0.2.13 (#50662)
* Bump hatasmota to 0.2.13

* Process review comment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Tweak brightness compensation, improve tests

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-19 16:50:55 +02:00
jjlawren b86cb7a072 Backport Sonos handle subscription failures (#50796) 2021-05-19 16:47:43 +02:00
jan iversen 892a2a0372 Push modbus switch to 100% test coverage (#50324)
push modbus switch to 100% test coverage.
2021-05-19 15:05:29 +02:00
Michael Klamminger 7c7432a582 Add entity_id to mqtt sensor templates (#50773)
* Add entity_id to mqtt sensor

* update test comment
2021-05-19 14:38:18 +02:00
Shay Levy 109b08bb57 Remove MQTT cover deprecated options (#50263)
* Remove MQTT cover deprecated options

* Fix pylint
2021-05-19 14:34:20 +02:00
Maciej Bieniek f192702648 Add Nettigo Air Monitor uptime sensor (#50834) 2021-05-19 13:20:11 +02:00
Shay Levy c4ced2b351 Bump aioshelly to 0.6.3 (#50857) 2021-05-19 13:53:26 +03:00
Franck Nijhof bcd022ff34 Upgrade freesms to 0.2.0 (#50853) 2021-05-19 12:48:00 +02:00
dependabot[bot] d9a5e2cb68 Bump actions/stale from 3.0.18 to 3.0.19 (#50810)
Bumps [actions/stale](https://github.com/actions/stale) from 3.0.18 to 3.0.19.
- [Release notes](https://github.com/actions/stale/releases)
- [Commits](https://github.com/actions/stale/compare/v3.0.18...v3.0.19)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-19 12:38:29 +02:00
RogerSelwyn 456c600617 Correct positioning of except statement in speedtestdotnet (#50852) 2021-05-19 11:43:41 +02:00
David Bonnes 28e9b9e01d Add evohome water_heater service calls, bump client to 0.3.15 (#50803) 2021-05-19 11:41:20 +02:00
jan iversen b7fc537cd5 Remove non pymodbus_call from modbus.py. (#50813) 2021-05-19 11:39:53 +02:00
dependabot[bot] f14f7134b3 Bump home-assistant/wheels from 2021.05.3 to 2021.05.4 (#50809)
Bumps [home-assistant/wheels](https://github.com/home-assistant/wheels) from 2021.05.3 to 2021.05.4.
- [Release notes](https://github.com/home-assistant/wheels/releases)
- [Commits](https://github.com/home-assistant/wheels/compare/2021.05.3...2021.05.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-19 12:12:20 +03:00
Maciej Bieniek bce5f8ee05 Improve AccuWeather type annotations (#50616)
* Improve type annotations

* Remove unused argument

* Simplify state logic

* Fix uvindex state

* Fix type for logger

* Increase tests coverage

* Fix pylint arguments-differ error

* Suggested change

* Suggested change

* Remove unnecessary variable

* Remove unnecessary conditions

* Use int instead of list for forecast days

* Add enabled to sensor types dicts

* Fix request_remaining conversion and tests

* Run hassfest

* Suggested change

* Suggested change

* Do not use StateType
2021-05-19 09:37:16 +01:00
Ruslan Sayfutdinov 62386c8676 Enable type checks for device_tracker (#50805)
* Enable type checks for device_tracker

* Fix MQTT test
2021-05-19 09:36:26 +01:00
jan iversen 4c7fcae536 Small bug fixes in modbus due to async (#50812)
* Small bug fixes due to async.

* _available is true in turn_on/turn_off

* Remove double update.

* Set _available.
2021-05-19 10:13:48 +02:00
Franck Nijhof ebe1059c34 Move SolarEdge API init and add unload (#50823)
* SolarEdge: Move API init, add unload

* Slim down try-except block
2021-05-19 10:09:47 +02:00
Tobias Sauerwein 3ed416ed4c Bump pyatmo to 4.2.3 (#50801)
* Bump pyatmo to 4.2.3

* Fix typo and update test fixture
2021-05-19 08:47:06 +02:00
Ville Skyttä a2363f0243 Upgrade huawei-lte-api to 1.4.18 (#50828)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.18

Closes https://github.com/home-assistant/core/issues/50777
2021-05-19 08:24:04 +02:00
J. Nick Koston f1d02bb137 Expand homekit zeroconf matching to use fnmatch (#50381) 2021-05-19 00:20:56 -05:00
J. Nick Koston e37256570c Add missing return type in zeroconf (#50847) 2021-05-18 22:49:10 -05:00
Maciej Bieniek a58eae1bf1 Bump brother library version (#50833) 2021-05-18 22:32:11 -05:00
jjlawren ab86c7a135 Clean up Sonos resubscription failure logic and logging (#50831) 2021-05-18 22:15:16 -05:00
jjlawren 3d5b354def Bump pysonos to 0.0.49 (#50841) 2021-05-18 20:31:38 -05:00
RogerSelwyn 26a99df0ea Capture error when speedtest module fails to identify best server (#50821)
* Capture error when speediest module fails to identify best server

* Fix pylint error

* Fix formatting with black.

Co-authored-by: Rohan Kapoor <rohan@rohankapoor.com>
2021-05-18 17:33:37 -07:00
GitHub Action 0a49de75d9 [ci skip] Translation update 2021-05-19 00:11:31 +00:00
Paulus Schoutsen c890966ce4 Updated frontend to 20210518.0 (#50842) 2021-05-18 15:54:14 -07:00
Michael 2cd2e46d73 Disable AVM FRITZ!Box Tools device_tracker entities by default (#50791) 2021-05-18 22:16:49 +02:00
shbatm 775af9d2c5 Update PyISY to v3.0.0 and ISY994 to use Async IO (#50806) 2021-05-18 14:15:47 -05:00
Aaron David Schneider 1d174a1f6f Bump pysonos to 0.0.48 (#50798) 2021-05-18 08:40:51 +02:00
Jan Bouwhuis 9abf43f95f Mqtt fan feature for resetting current speed percentage or preset_mode (#50565)
* Mqtt fan resetting speed percentage or preset_mode

* tests reset payload is working with val templates

* Remove duplicate line for CONF_PAYLOAD_HIGH_SPEED
2021-05-18 08:24:42 +02:00
J. Nick Koston 5da0191fe3 Bump zeroconf to 0.31.0 (#50807) 2021-05-17 20:52:08 -07:00
J. Nick Koston 3cc3cacd08 Start ServiceBrowser as soon as possible in zeroconf (#50784)
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
2021-05-17 20:51:05 -07:00
Shay Levy 7a60d0eae4 Enable back free-mobile (#50802) 2021-05-17 20:41:56 -07:00
Dermot Duffy 2e1037005c Allow camera stream to fail safely (#50728) 2021-05-17 20:34:25 -07:00
GitHub Action 1f80defe3a [ci skip] Translation update 2021-05-18 00:12:13 +00:00
Erik Montnemery 1ea0d8ae02 Correct trace of condition actions (#50800) 2021-05-17 16:54:17 -07:00
Paulus Schoutsen 781524ee36 Updated frontend to 20210517.0 (#50804) 2021-05-17 16:54:06 -07:00
J. Nick Koston a43561e3e6 Ensure startup can proceed if async_get_integration raises (#50799)
* Ensure startup can proceed if async_get_integration raises

There were cases where the event would never get set and
startup would deadlock because the second attempt to load
the integration would block forever

* pylint

* reorder
2021-05-17 17:32:05 -05:00
jjlawren 8129db1cfe Handle Sonos subscription renewal failures (#50793) 2021-05-17 17:26:48 -05:00
Erik Montnemery 9e681cd214 Refactor MQTT basic light pt5: Add RGB color helpers (#50780)
* Refactor MQTT basic light pt5: Add RGB color helpers

* Revert change of rounding instead of truncating RGB
2021-05-17 23:50:12 +02:00
J. Nick Koston e7f7e61e88 Ensure a wal checkpoint is scheduled nightly (#50746) 2021-05-17 16:27:51 -05:00
jjlawren b1ff9dc45e Bump pysonos to 0.0.47 (#50792) 2021-05-17 16:06:13 -05:00
G Johansson 6f7ae3727b Bump yalesmartalarmclient to 0.3.3 (#50613) 2021-05-17 22:39:56 +02:00
jan iversen ba827db8ec Update remaining modbus platforms to use pymodbus_call (#50768) 2021-05-17 22:12:18 +02:00
Paulus Schoutsen f762d3c748 Fire time changed event in Hue tests (#50783) 2021-05-17 22:03:47 +02:00
Ruslan Sayfutdinov 5ad71b5e45 Define sync hass.create_task function (#50788) 2021-05-17 14:54:06 -05:00
Paulus Schoutsen 1e10772497 Add support for local push channels to mobile_app (#50750) 2021-05-17 11:06:42 -07:00
J. Nick Koston 72288710ca Increase the sqlite cache size from ~2MiB to 8MiB (#50747) 2021-05-17 19:42:12 +02:00
Michael Klamminger 3554316f3f Update MQTT cover template handling (#50236)
* flake 8

* Implement feedback from PR

* update warning message

* added and updated tests

* remove _has_tilt_topic variable

* flake 8

* Implement feedback from PR

* update warning message

* added and updated tests

* remove _has_tilt_topic variable

* renamed _tilt_message_received to _tilt_payload_received

* merged with latesed upstream/dev

* converted if to try except for type check

* Implemented the suggestions of @emontnemery

* Tweak tests

* logger info to debug

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* cast tilt payload as int; combine exceptions to one line

* Add test for JSONDecodeError

* Update homeassistant/components/mqtt/cover.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2021-05-17 19:31:11 +02:00
Ruslan Sayfutdinov 72dfa8606e Enable strict typing for air_quality component (#50722) 2021-05-17 08:20:05 -07:00
Paulus Schoutsen 56774a9f63 Hue: unique ID for groups + remote events (#50748) 2021-05-17 08:07:25 -07:00
Joakim Sørensen c8486879ae Update devcontainer to Python 3.9 (#50778) 2021-05-17 07:54:14 -07:00
dependabot[bot] 8dc8e885c8 Bump home-assistant/builder from 2021.04.2 to 2021.05.0 (#50754)
Bumps [home-assistant/builder](https://github.com/home-assistant/builder) from 2021.04.2 to 2021.05.0.
- [Release notes](https://github.com/home-assistant/builder/releases)
- [Commits](https://github.com/home-assistant/builder/compare/2021.04.2...2021.05.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-17 16:43:18 +02:00
Erik Montnemery 848ab5c2bc Deduplicate code in MQTT basic light pt4: Add set_optimistic helper (#50774) 2021-05-17 16:28:30 +02:00
Joakim Sørensen 2f10f59717 Block custom integrations with missing or invalid version (#49916) 2021-05-17 15:48:41 +02:00
Matthias Alphart ac6d99d434 Create KNX binary_sensor entities directly from config (#50708) 2021-05-17 15:33:09 +02:00
Franck Nijhof 9afa7df3c1 Upgrade apprise to 0.9.3 (#50769) 2021-05-17 15:06:36 +02:00
Erik Montnemery 8c6f4a8c71 Refactor MQTT basic light pt3: Add publish helper (#50767) 2021-05-17 14:54:19 +02:00
Erik Montnemery b36021b4fd Deduplicate code in MQTT basic light pt2: Add restore_state helper (#50766)
* Refactor MQTT basic light pt2: Add restore_state helper

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

Co-authored-by: Shay Levy <levyshay1@gmail.com>

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2021-05-17 14:53:48 +02:00
Martin Hjelmare add594a44b Clean up smhi redundant code (#50765) 2021-05-17 14:34:58 +02:00
jan iversen 6b34ba012c Fix missing await in modbus platforms (followup on async PR) (#50710) 2021-05-17 14:20:51 +02:00
Maciej Bieniek 97559087b5 Allow some failures before setting Xiaomi Miio MIOT air purifiers unavailable (#50755) 2021-05-17 14:13:01 +02:00
nikito7 0fac3ccebc Change Modbus error message to bytes (#50725) 2021-05-17 14:12:17 +02:00
Michael df6862a519 Add strict type annotations to amazon_polly (#50697)
* add strict type annotations

* apply suggestions

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-05-17 14:09:52 +02:00
Simone Chemelli 9e86602950 Fix strings for UPNP (#50762) 2021-05-17 14:07:01 +02:00
Franck Nijhof eccefd154a Extend targets for entity component services (#50760) 2021-05-17 14:06:50 +02:00
Erik Montnemery ee4e14e45e Hoist ATTR_LAST_RESET from utility_meter to SensorEntity (#50757) 2021-05-17 13:51:09 +02:00
Austin Mroczek a9c73ac264 Fix armed_night logic in totalconnect alarm and add tests (#50694)
* Fix armed_night, add tests for alarm

* end assertions with expected values
2021-05-17 13:18:50 +02:00
Erik Montnemery 3ab14d452c Refactor MQTT basic light pt1: Add add_topic helper (#50759) 2021-05-17 12:50:54 +02:00
Franck Nijhof 74c20cdaa1 Upgrade geopy to 2.1.0 (#50714) 2021-05-17 12:26:44 +02:00
CantankerousBullMoose 9316f566c9 Rescan static wemo (#49934)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-17 12:18:14 +02:00
Matthias Alphart 1c7242a37a Create KNX cover entities directly from config (#50707) 2021-05-17 12:17:19 +02:00
Franck Nijhof 9ee3b77135 Remove discovery from iCloud (#50751) 2021-05-17 12:14:54 +02:00
Franck Nijhof ecac574eb0 Upgrade pyupgrade to v2.16.0 (#50756) 2021-05-17 11:27:09 +02:00
jan iversen ff856a9bba Simplify calls to pymodbus (#50717)
* simplify pymodbus_call.

Do not call with a function object and a check attribute, call instead
with CALL_TYPE*.

Avoid if <type> call x else call y.
Call async_pymodbus_call directly, instead of unpacking/packing.

* Declare call type in __init__.

* Modbus.py back to 100% test coverage.
2021-05-17 11:20:12 +02:00
Matthias Alphart 7b18860dcd Update xknx to version 0.18.2 (#50491)
* xknx 0.18.2

* individual colors without switch

* make `setpoint_shift_mode` optional

* Update homeassistant/components/knx/schema.py
2021-05-17 11:18:13 +02:00
Michael f9c7474a78 Add strict type annotations to ampio (#50699) 2021-05-17 11:14:47 +02:00
mountainsandcode 2d29959a52 Add control of hardware buttons to Sonos (#49977) 2021-05-17 11:12:01 +02:00
Álvaro Fernández Rojas 4357d2dc84 Update AEMET library to latest version (#50222)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-05-17 11:07:53 +02:00
Franck Nijhof 059e7c925d Remove side effects from Watson TTS init (#50716) 2021-05-17 10:46:58 +02:00
Franck Nijhof a414cad3b2 Upgrade aiodns to 3.0.0 (#50712) 2021-05-17 10:46:37 +02:00
David Nielsen 636528dd2e Update bravia-tv to 1.0.11 (#50726) 2021-05-17 09:37:13 +02:00
Paulus Schoutsen 5ea2dd8ce3 Alexa: Set Equalizer property to retrievable (#50730) 2021-05-17 09:26:37 +02:00
Kevin Eifinger 663c0374ab Add full typing to kraken (#50718)
* Add full typing to kraken

* Let device_info return DeviceInfo

* Replace unsub_listeners with entry.async_on_unload

* Raise TypeError on end of _try_get_state

* Assert Coordinator is not none

* Add class SensorType

* Add strict typing to kraken

* Add changes from code review

* Revert typed dict creation
2021-05-17 10:12:04 +03:00
Michael 120bf8aed7 fix annotation in actiontec (#50727) 2021-05-17 09:28:22 +03:00
Paulus Schoutsen 1b74359ddb Disable free-mobile because requirement breaks setuptools (#50749) 2021-05-17 08:12:23 +02:00
GitHub Action 877cb43c06 [ci skip] Translation update 2021-05-17 05:17:18 +00:00
starkillerOG db7331847f AlexaEqualizerController fix wrong class beeing used (#50724) 2021-05-16 20:49:48 -07:00
Michael 22d8f9519e Fix configflow strings for step user in fritz (#50742) 2021-05-16 20:49:31 -07:00
Ruslan Sayfutdinov 6b38adaa3d Downgrade setuptools to fix CI (#50734) 2021-05-16 20:36:23 -07:00
Matthias Alphart 05c6f3ca1d Create KNX light entities directly from config (#50700)
* create light entities directly from config

* review changes
2021-05-16 22:45:28 +02:00
Erik Montnemery 89dd3292ba Initial draft of statistics (#49852) 2021-05-16 10:23:37 -07:00
Ruslan Sayfutdinov 703456abea Better errors handling in mypy hassfest plugin (#50689) 2021-05-16 07:04:09 -07:00
Matthias Alphart 3200b0150a Create KNX notify entities directly from config (#50709) 2021-05-16 12:07:44 +02:00
Mickaël Le Baillif c2e2b046d9 Add new voices for Watson TTS (#48722)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-16 11:12:05 +02:00
jjlawren b84cf915f3 Centralize storage and updating of Sonos favorites (#50581)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-16 11:11:35 +02:00
jan iversen 224cc779c4 Correct Modbus platform cover restore state (#50421)
* Correct cover restore state.

* Change mock usage.

* Add states to convert.
2021-05-16 08:40:19 +02:00
Matthias Alphart 1e11bfae05 Create KNX fan entities directly from config (#50702) 2021-05-16 08:34:14 +02:00
Dror Eiger 0556c35e24 Set zwave_js cover device_class for shutters and blinds (#50643)
* Set device_class for shutters and blinds

* Add missing. imports

* Add tests for device class setting

* Clean up

* Avoid storing the node in an unused variable

* Fix entity name

* Extend qubino shutter discovery

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-16 08:26:16 +02:00
Matthias Alphart 222336a1db Create KNX scene entities directly from config (#50686) 2021-05-16 08:14:28 +02:00
Andre Lengwenus a92acdb528 Fix selectors and defaults in LCN service.yaml (#50705) 2021-05-16 08:06:28 +02:00
Zac West b8713774c8 Make confirmable notification blueprint use unique actions (#50706) 2021-05-15 22:50:24 -07:00
Michael edccb7eb58 Add strict type annotations to actiontect (#50672)
* add strict type annotations

* fix pylint, add coverage omit

* apply suggestions

* fix rebase conflict

* import PLATFORM_SCHEMA as BASE_PLATFORM_SCHEMA

* correct get_device_name() return annotation
2021-05-16 00:59:57 +03:00
Kevin Eifinger 256a2de7ce Add kraken code review changes (#50683) 2021-05-15 22:55:50 +02:00
Michael 7f6b8bbd1e Add strict type annotations to aladdin_connect (#50693)
* add strict type annotations

* add missing return type annotation
2021-05-15 23:53:42 +03:00
Michael bc006c9ecc Add strict type annotations to aftership (#50692)
* add strict type annotations

* import PLATFORM_SCHEMA as BASE_PLATFORM_SCHEMA

* bring needed return back
2021-05-15 23:53:10 +03:00
Franck Nijhof e293d35ac9 Clean up WLED tests (#50685)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-15 22:14:56 +02:00
Simone Chemelli 8bc75e91a0 Add color effect to Shelly's color devices (#48052)
* Add color effect

* Final commit based on updated firmware

* Update homeassistant/components/shelly/light.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* Update homeassistant/components/shelly/light.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* Update homeassistant/components/shelly/light.py

* Fix flake

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2021-05-15 22:43:06 +03:00
jan iversen ca558545a1 Use mock_restore_state in testing of modbus sensor (#50455) 2021-05-15 21:39:41 +02:00
Martin Hjelmare 5da64d01e2 Fix smhi typing (#50690) 2021-05-15 21:38:12 +02:00
Franck Nijhof cad41cd4ed Clean up unused method from SolarEdge tests (#50684) 2021-05-15 21:27:04 +02:00
jjlawren 1afb0a0841 Sonos improve radio metadata handling (#50493) 2021-05-15 21:19:16 +02:00
Klaas Schoute e1dd479e15 Add Garages Amsterdam integration (#43157)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-05-15 20:43:12 +02:00
Filipe Pina 0c37effc72 Add SSL support to TCP integration (#48060)
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2021-05-15 20:29:11 +02:00
Martin Hjelmare dab66a58ce Clean smhi tests (#50681) 2021-05-15 20:22:32 +02:00
Michael 562e0d785d Add strict type annotations to acer_projector (#50657) 2021-05-15 19:55:28 +02:00
jan iversen ad7be91b6a Fix modbus blocking threads (#50619)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-15 19:54:17 +02:00
Franck Nijhof 990b7c371f Upgrade PyTurboJPEG to 1.5.0 (#50670) 2021-05-15 19:41:48 +02:00
Franck Nijhof aa6b26c9ff Upgrade defusedxml to 0.7.1 (#50671) 2021-05-15 19:41:34 +02:00
Franck Nijhof de77e0be8c Upgrade pylint to 2.8.2 (#50669) 2021-05-15 19:41:17 +02:00
Erik Montnemery 97d7037d12 Bump hatasmota to 0.2.13 (#50662)
* Bump hatasmota to 0.2.13

* Process review comment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Tweak brightness compensation, improve tests

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-15 19:36:08 +02:00
Sascha Sander f142f29255 Add PV3 / DC3 sensors to Kostal Plenticore (#50614)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-15 18:54:12 +02:00
Franck Nijhof c1be4cbd79 Upgrade numpy to 1.20.3 (#50660) 2021-05-15 12:28:03 -04:00
tkdrob 7b5fff357e Add targets and selectors for services (X-Z) (#50639)
* Add targets and selectors for services (X-Z)

* Adjustments
2021-05-15 12:24:52 -04:00
Martin Hjelmare d84962bada Fix smhi retry (#50673) 2021-05-15 18:24:34 +02:00
J. Nick Koston 8e38f26978 Add support for asair brand to nexia (#50504) 2021-05-15 16:24:36 +02:00
Franck Nijhof bdeeb54d2d Deprecate PVPC YAML configuration (#50656) 2021-05-15 16:09:44 +02:00
Franck Nijhof 64a6a75330 Upgrade pyupgrade to v2.15.0 (#50666) 2021-05-15 16:04:08 +02:00
Franck Nijhof 71c21693ef Upgrade flake8-comprehensions to 3.5.0 (#50665) 2021-05-15 16:02:10 +02:00
Franck Nijhof 5ce07e689a Upgrade flake8 to 3.9.2 (#50664) 2021-05-15 15:55:45 +02:00
David De Sloovere bdc1ab2b88 Flic bump lib to 2.0.3 (#50483) 2021-05-15 15:55:07 +02:00
Franck Nijhof 4025443b67 Upgrade black to 21.5b1 (#50661) 2021-05-15 15:39:45 +02:00
Pascal Vizeli f84ceee7b7 Bump OpenCV 4.4.0.42 (#50640) 2021-05-15 15:00:03 +02:00
Franck Nijhof 7ae050c5ac Upgrade watchdog to 2.1.1 (#50659) 2021-05-15 14:56:49 +02:00
Franck Nijhof 8a135ce0f6 Deprecate Meteo-France YAML configuration (#50658) 2021-05-15 14:56:28 +02:00
Franck Nijhof c6860dc999 Deprecate JuiceNet YAML configuration (#50655) 2021-05-15 14:13:20 +02:00
Franck Nijhof 00e90736bd Deprecate Islamic Prayer Times YAML configuration (#50654) 2021-05-15 14:12:40 +02:00
Franck Nijhof b2c0bebbf0 Deprecate VeSync YAML configuration (#50652) 2021-05-15 13:56:23 +02:00
Franck Nijhof 625e6ceff3 Deprecate Soma Connect YAML configuration (#50651) 2021-05-15 13:46:16 +02:00
Franck Nijhof d72a10a5e9 Deprecate Plum Lightpad YAML configuration (#50650) 2021-05-15 13:45:54 +02:00
Franck Nijhof 599db742a3 Deprecate Mikrotik YAML configuration (#50649) 2021-05-15 13:45:25 +02:00
Franck Nijhof c9b25fe2a2 Remove YAML configuration from Local IP (#50642) 2021-05-15 13:45:10 +02:00
Franck Nijhof 117860f13b Update Hue IoT Class to Local Push (#50637) 2021-05-15 13:30:23 +02:00
Franck Nijhof 8d551e3f7b Deprecate Transmission YAML configuration (#50648) 2021-05-15 13:25:00 +02:00
Franck Nijhof 704a996956 Deprecate Tibber YAML configuration (#50646) 2021-05-15 13:17:10 +02:00
Franck Nijhof e7392609e3 Deprecate Jandy iAqualink YAML configuration (#50644) 2021-05-15 13:09:45 +02:00
Franck Nijhof f2f64348e7 Deprecate MELCloud YAML configuration (#50645) 2021-05-15 13:09:18 +02:00
tkdrob 77bed66a4d Fix roon services.yaml (#50638) 2021-05-15 11:41:43 +02:00
tkdrob a9660d5788 Add targets and selectors for services (L-M) (#50543) 2021-05-15 11:06:34 +02:00
tkdrob 5d6f4068d3 Add targets and selectors for services (U-W) (#50630)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-15 10:49:10 +02:00
tkdrob bd443af6a2 Add targets and selectors for services (N-O) (#50608) 2021-05-15 10:30:18 +02:00
tkdrob 0eca26607d Add targets and selectors for services (D-E) (#50190) 2021-05-15 09:25:19 +02:00
Michael 25b2fd0cee Add strict typing to fritzbox (#50486)
* enable strict typing

* apply suggestions

* set defaults for FritzboxConfigFlow

* improvements and suggestions

* another suggestion

* tweaks

* tweaks
2021-05-15 07:54:11 +02:00
tkdrob d37a3cded0 Add targets and selectors for services (S-T) (#50629) 2021-05-14 22:30:41 -07:00
tkdrob 2d5f5bfa9f Add targets and selectors for services (P-R) (#50628) 2021-05-14 22:07:17 -07:00
Ville Skyttä ed10856cc4 UpCloud API and typing update (#50624) 2021-05-14 21:49:41 -07:00
Franck Nijhof 7221b1e09d Sort effect lists in light groups (#50620) 2021-05-14 21:43:43 -07:00
Paulus Schoutsen 7a0f245f92 Merge pull request #50627 from home-assistant/rc 2021-05-14 14:56:50 -07:00
Martin Hjelmare e32dc306e1 Fix oauth2 helper user step typing (#50618) 2021-05-14 23:39:14 +02:00
Paulus Schoutsen 77a6d7317f Bumped version to 2021.5.4 2021-05-14 14:25:39 -07:00
Erik Montnemery 2a949cff0e Update light intents to check supported_color_modes (#50625) 2021-05-14 14:25:32 -07:00
Aaron Bach 57d8e7483d Fix IQVIA failing to start if any API call fails (#50615)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-05-14 14:25:31 -07:00
Erik Montnemery 728bead3b7 Update light device actions to check supported_color_modes (#50611) 2021-05-14 14:25:30 -07:00
Joakim Sørensen 0b5a077d55 Bump pyhaversion from 21.3.0 to 21.5.0 (#50540) 2021-05-14 14:25:29 -07:00
jjlawren 3e8d840905 Skip adding battery on S1 Sonos devices (#50536) 2021-05-14 14:25:28 -07:00
kennedyshead 8e3894a441 Bumps aioasuswrt to 1.3.4 (#50414) 2021-05-14 14:23:52 -07:00
Tobias Sauerwein d8379c57b4 Fix battery attribute (#50405) 2021-05-14 14:23:51 -07:00
Erik Montnemery bcd8f43e7b Update light intents to check supported_color_modes (#50625) 2021-05-14 14:23:29 -07:00
Aaron Bach 9c5f1b4406 Fix IQVIA failing to start if any API call fails (#50615)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-05-14 14:23:16 -07:00
Erik Montnemery 960ed13f94 Update light device actions to check supported_color_modes (#50611) 2021-05-14 22:58:37 +02:00
Paulus Schoutsen 646af533f0 Add support for Hue push updates (#50591) 2021-05-14 13:39:57 -07:00
Pascal Vizeli 7fd2f8090d Fix grpc Alpine 3.13 / i386 (#50623) 2021-05-14 22:22:35 +02:00
Raphael 2334e98806 Add Etekcity VeSync light bulbs to Homeassistant (#50272) 2021-05-14 14:41:13 -05:00
tkdrob 1160a5f239 Add targets and selectors for services (I-K) (#50542)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-14 20:34:59 +02:00
tkdrob 40993f3ebb Add DHCP support to goalzero (#50425) 2021-05-14 13:12:46 -05:00
Simone Chemelli 4d55290932 Fritz code quality improvements from #48287 and #50055 (#50479)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-14 11:46:37 -05:00
tkdrob 77e6fc6f93 Add missing requirements and target to sonos services (#50552) 2021-05-14 17:40:30 +02:00
Kevin Eifinger c220e70008 Add integration kraken (#31114)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-14 08:02:11 -07:00
Franck Nijhof a8e1a68d1f Deprecate NZBGet YAML configuration (#50603) 2021-05-14 15:51:25 +02:00
Franck Nijhof 20a39ab7e1 Remove unused config schema & logger from totalconnect (#50604) 2021-05-14 15:49:18 +02:00
Charles Garwood f33b45ec82 Add interview feedback for Z-Wave JS add node websocket (#50384)
* Add interview feedback for add node websocket

* cleanup leftover logging

* add tests

* test interview failed event

* fix event type

* include manufacturer & model from device registry

* update test
2021-05-14 09:47:09 -04:00
Franck Nijhof f5c31b89f8 Deprecate SmartHab YAML configuration (#50602) 2021-05-14 15:46:49 +02:00
Thomas Schamm 8fcf06a2a9 Add bosch_shc supporting Bosch Smart Home Controller (#34063)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-14 15:03:26 +02:00
Pascal Vizeli 9d174e8a05 GRPC is fixed, don't need a workaround (#50605)
* GRPC is fixed, don't need a workaround

* Update gen_requirements_all.py
2021-05-14 14:30:48 +02:00
Pascal Vizeli 404188d005 Update wheel action to 2021.05.3 (#50607) 2021-05-14 14:04:53 +02:00
tkdrob 6f5629cf14 Add targets and selectors for services (B-C) (#50189) 2021-05-14 13:38:41 +02:00
Álvaro Fernández Rojas 9247a157d8 Add AEMET conditional station updates (#50227) 2021-05-14 13:28:48 +02:00
Franck Nijhof 42df6750e2 Refactor AdGuard config flow tests (#50566) 2021-05-14 13:19:24 +02:00
Franck Nijhof ca2b3fcc9e Upgrade evdev to 1.4.0 (#50601) 2021-05-14 12:15:15 +02:00
jan iversen 19cdff10c3 Add "close_comm_on_error" to modbus configuration (#50583) 2021-05-14 10:54:23 +02:00
djtimca 7ea23533cf Address late review for Omnilogic Switch (#50404)
* Address previous PR comments.

* Update all instances of async_schedule_update_ha_state to async_write_ha_state.
2021-05-14 10:02:54 +02:00
muppet3000 207ee39d00 Bump growattServer library (#50588) 2021-05-14 09:50:41 +02:00
Maciej Bieniek 4c68518b18 Bump accuweather library (#50573) 2021-05-14 09:38:44 +02:00
Ruslan Sayfutdinov de5472403b Use mypy-friendly conditional import for zoneinfo (#50444) 2021-05-13 22:36:49 -07:00
Paulus Schoutsen aef24a807e Yeelight: Do not log errors when cannot connect (#50592) 2021-05-13 22:33:18 -07:00
Brandon Rothweiler 122741b914 Add lock platform to the Mazda integration (#50548) 2021-05-13 22:52:52 -05:00
jjlawren c52a33478e Fix Sonos favorites race condition v2 (#50575) 2021-05-13 20:32:34 -07:00
uvjustin e8d7d96231 Roll back #47852 (shield httpx in generic) (#50562) 2021-05-13 20:32:06 -07:00
jan iversen dbf7430003 Bump pymodbus to v2.5.2 (#50582)
Solves a serial - rs-485 adapter issue.
2021-05-13 20:31:48 -07:00
Franck Nijhof d6e9f094c4 Cleanup unused CONFIG_SCHEMA from kmtronic (#50567) 2021-05-13 20:30:15 -07:00
J. Nick Koston 42d1ec753d Small tweaks to improve homekit_controller startup time (#50590) 2021-05-13 20:16:20 -05:00
Franck Nijhof a16629601a Add support for tracking entity attributes in ESPHome (#50528) 2021-05-13 15:39:53 -07:00
Ruslan Sayfutdinov 35f304450c Enable type checks for stream component (#50527)
* Enable type checks for stream component

* Fix pylint
2021-05-13 23:26:11 +02:00
tkdrob e956a726a0 Fix SonarrEntity docstring (#50568) 2021-05-13 14:43:52 -05:00
Maciej Bieniek 6adbc702eb Bump brother library (#50572) 2021-05-13 13:14:00 -05:00
Pascal Vizeli 47d4928d62 Revert "Use requirements for constraints" (#50576)
This reverts commit 136b34af20.
2021-05-13 19:35:58 +02:00
J. Nick Koston 52edf9ac35 Ensure isy994 is only discovered once (#50577)
The formatting of the mac was different between dhcp and ssdp
2021-05-13 19:35:24 +02:00
Barry Quiel c079803fcb Powerwall add Current attribute (#50550) 2021-05-13 11:12:48 -05:00
Pascal Vizeli 136b34af20 Use requirements for constraints (#50558) 2021-05-13 08:07:13 -07:00
Joakim Sørensen e991b61c12 Fix issue with quotes (#50571) 2021-05-13 16:20:01 +02:00
LJU 7224012016 Fix spelling in Cast and Growatt (#50555) 2021-05-13 11:15:02 +02:00
J. Nick Koston 1c2692c3c3 Drop nuheat code owner (#50319)
- I no longer have this device
2021-05-13 08:18:37 +02:00
Kevin Anthony 3b3d6e0da5 Add vesync Core200S air purifier (#50216) 2021-05-12 23:02:24 -05:00
jjlawren ca09027914 Bump pysonos to 0.0.46 (#50544) 2021-05-12 16:16:29 -05:00
Joakim Sørensen ce87fc902b Bump pyhaversion from 21.3.0 to 21.5.0 (#50540) 2021-05-12 21:12:58 +02:00
tkdrob 4ce3038b29 Add targets and selectors for services (G-H) (#50524)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-12 20:49:04 +02:00
jjlawren db82808466 Skip adding battery on S1 Sonos devices (#50536) 2021-05-12 20:40:10 +02:00
Daniel Hjelseth Høyer 2945c79c5a Tibber sensors (#50418)
* Tibber, split attribute to sensors

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Tibber, split attribute to sensors

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Tibber, split attribute to sensors

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/tibber/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* fix review comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* fix review comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* fix review comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* fix review comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* fix review comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* fix review comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* fix review comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* fix review comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/tibber/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* fix review comments

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* migrate to new device ids

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/tibber/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/tibber/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Migrate entity id

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Migrate entity id

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Update homeassistant/components/tibber/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/tibber/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/tibber/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* move registers out of looå

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-12 20:07:44 +02:00
Erik Montnemery 216b0df908 Set state_class for demo sensor (#50523) 2021-05-12 18:38:26 +02:00
Franck Nijhof 38a0cf6650 Refactor SolarEdge config flow tests (#50467)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-12 17:43:27 +02:00
Ruslan Sayfutdinov 0cb08f9516 Add missing type hints in entity_platform (#50453) 2021-05-12 16:28:44 +02:00
J. Nick Koston 70961c79a0 Migrate emulate_hue to use storage to fix I/O in event loop (#50473) 2021-05-12 16:10:28 +02:00
Franck Nijhof 72f342aa5b Upgrade aioesphomeapi to 2.7.0 (#50522) 2021-05-12 15:21:54 +02:00
Pascal Vizeli 6ef3de464c Update wheels builder to 2021.05.2 (#50520) 2021-05-12 15:13:24 +02:00
J. Nick Koston a4ea9b3cd3 Update usage of async_entries to use _async_current_entries (#50187) 2021-05-12 12:47:06 +02:00
Joakim Sørensen c3eee9800a Move translations from Azure to GitHub action (#50518) 2021-05-12 12:03:13 +02:00
Joakim Sørensen 2918929cf0 Remove azure-pipelines-ci.yml (#50519) 2021-05-12 11:55:31 +02:00
tkdrob 9e0730c97f Add targets and selectors for services (F) (#50191) 2021-05-12 11:00:32 +02:00
dependabot[bot] e6b4b803e3 Bump docker/login-action from 1 to 1.9.0 (#50509)
Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 1.9.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1...v1.9.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-12 10:43:38 +02:00
definitio e090581e3c Add stop for demo players (#50485) 2021-05-12 10:26:12 +02:00
Pascal Vizeli c79e864394 Ditch secret to wheels server (#50516) 2021-05-12 10:03:27 +02:00
Joakim Sørensen 41f3c67be9 Pin wheels build version (#50515) 2021-05-12 10:03:15 +02:00
dependabot[bot] 34cd68bdf6 Bump actions/checkout from 2 to 2.3.4 (#50510)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 2.3.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v2.3.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-12 09:41:30 +02:00
Paulus Schoutsen 2cdf075f95 Only return empty string if non-fixable errors (#50508) 2021-05-12 08:54:04 +02:00
Paulus Schoutsen 88adc8801c Merge pull request #50507 from home-assistant/rc 2021-05-11 22:59:33 -07:00
Paulus Schoutsen 421e1b9956 Bumped version to 2021.5.3 2021-05-11 22:27:42 -07:00
Paulus Schoutsen c477c31190 Bump aiohue to 2.3.1 (#50506) 2021-05-11 22:27:27 -07:00
Oliver 8a3514ed44 update denonavr version 0.10.8 (#50476) 2021-05-11 22:27:27 -07:00
Erik Montnemery 99044f5454 Include _StopScript.__cause__ in trace (#50441)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-11 22:27:26 -07:00
Erik Montnemery b35f229674 Include _StopScript.__cause__ in trace (#50441)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-11 22:27:11 -07:00
Paulus Schoutsen 5ed252ebfa Bump aiohue to 2.3.1 (#50506) 2021-05-11 22:15:36 -07:00
Raman Gupta 6cb283d36b Fix vizio integration (#50436) 2021-05-11 22:05:45 -07:00
jjlawren 17c1031973 Hotfix for Sonos favorites race condition (#50495) 2021-05-11 21:55:32 -07:00
J. Nick Koston 2c492d71f7 Handle transport errors when updating media via events (#50480)
Co-authored-by: Jason Lawrence <jjlawren@users.noreply.github.com>
2021-05-11 21:55:10 -07:00
Jesse Hills b8d468717a Bump python-juicenet package to 1.0.2 (#50505) 2021-05-11 21:52:22 -07:00
J. Nick Koston dd3965e4e2 Ensure zeroconf does not generate config flows when matching attributes are missing (#50208)
If macaddress, name, or manufacturer were missing from the
discovery info, the matcher would accept instead of reject.
2021-05-11 21:24:42 -07:00
J. Nick Koston c037ebb27c Add discovery to yeelight (#50385) 2021-05-11 19:55:50 -05:00
J. Nick Koston 4e08d22a74 Fix dhcp generated conflict (#50498) 2021-05-11 19:23:09 -05:00
HomeAssistant Azure 7df47664e8 [ci skip] Translation update 2021-05-12 00:04:03 +00:00
Simone Chemelli 8d7318430c Fix mypy for Fritz after #50056, #50327 conflict (#50497) 2021-05-11 18:47:02 -05:00
karliemeads e9f8b3e7ef Remove unused py_noaa dependency (#50494) 2021-05-12 00:44:17 +02:00
Tobias Sauerwein e2f497ceba Fix Netatmo selector for setting persons being at home (#50373) 2021-05-12 00:22:07 +02:00
J. Nick Koston 7314247ce3 Add dhcp support to iSmartGate (#50309) 2021-05-12 00:20:03 +02:00
J. Nick Koston 3b272ec54c Add dhcp discovery to smartthings (#50306) 2021-05-12 00:10:33 +02:00
Oliver dc39edd090 update denonavr version 0.10.8 (#50476) 2021-05-12 00:09:22 +02:00
J. Nick Koston c1cf07768b Add dhcp discovery support to isy994 (#50488)
- SSDP may not be enabled by default
2021-05-12 00:06:55 +02:00
Artem Draft d29e812033 New overrides in universal media player (#48611)
* Update media_player.py

fix missing overrides in universal

* Update media_player.py

Black

* add tests and allow overrides for missing services

* switch sync to async

* Update tests/components/universal/test_media_player.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* setup component after modifying config

* switch test to sync

* fix black

* fix test

* rework tests, disable override media_seek

Co-authored-by: raman325 <7243222+raman325@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-11 23:44:26 +02:00
karliemeads 3a93151aa2 Improve light tests for brightness step and profiles (#49887) 2021-05-11 23:31:36 +02:00
jjlawren afe02a4ad2 Fix Sonos const comparison (#50482)
* Fix Sonos const comparison

* Use constants for playback states
2021-05-11 16:06:51 -05:00
jjlawren 897dd012cd Handle transport errors when updating media via events (#50481) 2021-05-11 16:00:56 -05:00
Simone Chemelli d877c0c1ff Add Fritz services (#50056) 2021-05-11 15:56:52 -05:00
Pascal Vizeli 214fd41bb6 Add fail-fast for wheel (#50487) 2021-05-11 22:18:18 +02:00
J. Nick Koston 34c84a6bbb Reduce boilerplate to abort for matching config entries (#50186)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-11 22:00:12 +02:00
jjlawren d6a202bd74 Move core Sonos functionality out of entities (#50277) 2021-05-11 10:36:40 -07:00
J. Nick Koston 0fdc50408a Remove unused ignore in fritz (#50469) 2021-05-11 19:08:13 +02:00
J. Nick Koston 909a20b36d Use async zeroconf registration functions (#50168) 2021-05-11 11:03:36 -05:00
Simone Chemelli e616583bad Improve types for Fritz (#50327)
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
2021-05-11 10:41:27 -05:00
epenet d6c99a3db9 Enable strict type checks for onewire (#50422) 2021-05-11 17:28:17 +02:00
Paul Ganssle efa5c59559 Replace hand-rolled binary search with bisect_left (#50410)
The `bisect` module exposes a `bisect_left` function which does
basically what the bulk of `_lower_bound` does. From my tests, it is
slightly faster (~5%) in the probably common ideal case where `arr` is short.
In the worst case scenario, `bisect.bisect_left` is *much* faster.

```
>>> arr = list(range(60))
>>> cmp = 59
>>> %timeit _lower_bound(arr, cmp)
736 ns ± 6.24 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
>>> %timeit bisect_lower_bound(arr, cmp)
290 ns ± 7.77 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
```

I doubt this is a huge bottleneck or anything, but I think it's a bit
more readable, and it's more efficient, so it seems like it's mostly a
win.

This commit *will* add a new unconditional import for `bisect` when
importing `util.dt`, and `bisect` is not currently imported for any of
the standard library modules. It is possible to make this conditional by
placing `import bisect` in the _lower_bound function, or in the function
it's nested in.
2021-05-11 08:18:20 -07:00
Maciej Bieniek f5541a468e Improve type annotations for GIOS integration (#50454) 2021-05-11 07:57:24 -07:00
Martin Hjelmare 7c4893cbb1 Fix event action return value typing (#50353)
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
2021-05-11 16:23:59 +02:00
Martin Hjelmare f71eb4d34d Clean somfy config flow tests (#50461) 2021-05-11 16:19:07 +02:00
Simone Chemelli 4e24640ff7 Remove pytest-mock dependency (#50400) 2021-05-11 17:17:00 +03:00
Daniel Hjelseth Høyer ca65cdd450 pyTibber revert (#50462)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-05-11 16:14:32 +02:00
Martin Hjelmare 48b5ef0bac Clean twentemilieu config flow tests (#50460) 2021-05-11 15:53:36 +02:00
Ruslan Sayfutdinov 1538271555 Don't generate mypy.ini if errors are found (#50456) 2021-05-11 14:29:14 +02:00
Joakim Sørensen 236f138ab7 Fix compare syntax (#50451) 2021-05-11 13:23:56 +02:00
Pawel bc9f0caf4a Add configuration.yaml deprecation warning to Epson (#50403)
* add deprecation warning

* Break long string

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-11 12:45:03 +02:00
Joakim Sørensen 50a88eb6c0 Use empty requirements_diff for schedule and workflow_dispatch (#50450) 2021-05-11 12:29:13 +02:00
Joakim Sørensen ef67a2659e Add ignore_diff to workflow_dispatch trigger (#50449) 2021-05-11 12:15:57 +02:00
Joakim Sørensen d6dcf95235 Fix .env_file name (#50447) 2021-05-11 11:54:02 +02:00
Joakim Sørensen 56d1e0a99d Migrate wheels builder to GitHub actions (#50445) 2021-05-11 11:46:51 +02:00
Erik Montnemery 973f59e423 Refactor history component (#50287)
* Refactor history component

* Update tests

* Address review comments

* Correct deprecated functions
2021-05-11 09:21:57 +02:00
J. Nick Koston d5e39e8748 Remove redundant names from config flow titles (#50380) 2021-05-10 22:14:33 -07:00
Ville Skyttä 44a790ab47 Entity.device_info typing fixes (#49974) 2021-05-10 22:11:51 -07:00
J. Nick Koston 34320ef617 Include mac address in rainmachine device info (#50438) 2021-05-10 22:06:49 -07:00
J. Nick Koston d4cdb8e7e8 Include mac address in roomba device info when available (#50437) 2021-05-10 22:06:29 -07:00
J. Nick Koston b36c840909 Add dhcp support to guardian (#50378) 2021-05-10 21:26:15 -05:00
HomeAssistant Azure 887ec2d9b5 [ci skip] Translation update 2021-05-11 00:04:41 +00:00
Ruslan Sayfutdinov ce15f28642 Add missing type hints in http component (#50411) 2021-05-10 14:30:47 -07:00
Paulus Schoutsen 5aaead54da Merge pull request #50417 from home-assistant/rc 2021-05-10 13:58:00 -07:00
indykoning 85f758380a Add Growatt Server Config flow (#41303)
* Growatt Server Config flow

* Use reference strings

Co-authored-by: SNoof85 <snoof85@gmail.com>

* Remove configuration.yaml import logic

* Removed import test

* Re-added PLATFORM_SCHEMA validation

* Import yaml from old yaml configuration

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Feedback

* Use Executor for IO only

* Fix imports

* update requirements

* Fix flake8

* Run every section of fetching devices in single executor

* Config flow feedback

* Clean up

* Fix plan step

* Fix config flow test

* Remove duplicate test

* Test import step

* Test already configured entry

* Clean up tests

* Add asserts

* Mock out entry setup

* Add warning if set up via yaml

Co-authored-by: SNoof85 <snoof85@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-10 22:46:50 +02:00
Tobias Sauerwein 12342437e2 Fix battery attribute (#50405) 2021-05-10 20:40:44 +02:00
Khole 84984b0223 Bump Pyhiveapi (#50368) 2021-05-10 20:38:35 +02:00
kennedyshead baacf1b787 Bumps aioasuswrt to 1.3.4 (#50414) 2021-05-10 20:35:32 +02:00
Paulus Schoutsen 88574034b7 Bumped version to 2021.5.2 2021-05-10 10:50:07 -07:00
jjlawren a670156352 Bump pysonos to 0.0.45 (#50407) 2021-05-10 10:49:59 -07:00
jjlawren 6f9c21e1c0 Fix location of current_play_mode (#50386) 2021-05-10 10:49:58 -07:00
Alan Tse 51c78e0085 Increase httpx timeout for Tesla (#50376) 2021-05-10 10:49:58 -07:00
Erik Montnemery 0dd247aed0 Bump hatasmota to 0.2.12 (#50372) 2021-05-10 10:49:57 -07:00
Jeff Irion 420161039e Bump androidtv to 0.0.59 (#50367) 2021-05-10 10:49:56 -07:00
Colin Robbins 0ce3bf0859 Support multiple disks in systemmonitor (#50362)
* Fix #50158 - add support for multiple disks

* Rework as a tuple
2021-05-10 10:49:55 -07:00
Brian Rogers 3362ac24f6 Revert Rachio to seconds instead of total_seconds (#50307)
* revert seconds

* Add comment

* Update comment to include max runtime
2021-05-10 10:49:54 -07:00
Franck Nijhof e35fbde5fb Fix ESPHome timestamp sensor (#50305) 2021-05-10 10:49:54 -07:00
J. Nick Koston 03b786268e Fix tplink unloading when no switches are present (#50301) 2021-05-10 10:49:53 -07:00
Joakim Plate 7acefbefb3 Bump ha-philipsjs to 2.7.3 (#50293) 2021-05-10 10:49:52 -07:00
Oliver 0a1439d16b Update denonavr to version 0.10.7 (#50288) 2021-05-10 10:49:51 -07:00
Aidan Timson 989cee662d Update ovoenergy to 1.1.12 (#50268) 2021-05-10 10:49:51 -07:00
jjlawren 2d3b8fb329 Fix Sonos polling bug (#50265) 2021-05-10 10:49:50 -07:00
Ville Skyttä 83db35d2d6 Skip Huawei LTE device registry setup with no identifiers or connections (#50261)
Closes https://github.com/home-assistant/core/issues/50182
2021-05-10 10:49:49 -07:00
Julien "_FrnchFrgg_" Rivaud 1d5716b505 Fix amcrest detection of sensor reset (#50249)
Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2021-05-10 10:49:48 -07:00
Vladimír Záhradník e482827975 Fix incorrect attribute checks in Modbus hub (#50241) 2021-05-10 10:49:47 -07:00
jan iversen 22e62fa61a Catch non payload modbus messages (#49910) 2021-05-10 10:49:46 -07:00
Julien "_FrnchFrgg_" Rivaud 24a46d91d3 Fix amcrest detection of sensor reset (#50249)
Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2021-05-10 10:49:08 -07:00
Colin Robbins a404c138fa Support multiple disks in systemmonitor (#50362)
* Fix #50158 - add support for multiple disks

* Rework as a tuple
2021-05-10 10:48:00 -07:00
jan iversen 70b09ed9a1 Handle relation between scan_interval and pymodbus timeout in modbus (#50363)
* Control scan_interval compared to pymodbus timeout.

add MINIMUM_SCAN_INTERVAL=5 seconds and validata with Voluptous.
Keep modbus.py 100% coverage.

* Please pylint.

* Review comments.

* pylint.
2021-05-10 19:28:38 +02:00
jjlawren 9ae021a284 Bump pysonos to 0.0.45 (#50407) 2021-05-10 08:56:18 -07:00
Paulus Schoutsen f8584c3ded Use zoneinfo instead of dateutil (#50387)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-10 08:32:29 -07:00
Ville Skyttä 3fab21ebc7 Skip Huawei LTE device registry setup with no identifiers or connections (#50261)
Closes https://github.com/home-assistant/core/issues/50182
2021-05-10 08:27:09 -07:00
Christer Vestermark fca56993c6 Add smhi wind gust speed and thunder probability (#50328)
* Added some extra attributes

Added the extra attributes
wind_gust_speed and
thunder_probability
that were already implemented in the underlaying library (joysoftware
/
pypi_smhi).

Also for the existing extra attribute cloudiness, it is added if "is not None" instead of just "if self.cloudiness" which would make it False (and therefore not available) if cloudiness = 0.

* Trying to solve the style issues

Removed white spaces and changed order of list as suggested by the tests.

* New try to solve the style issues

Removed some more white spaces...

* Changed dictionary handling as suggested

Changed dictionary handling as suggested by MartinHjelmare.

* Updated test

Updated test_weather.py to include the new attributes wind_gust_speed and thunder_probability.

* Added missing imports

Added the missing imports
ATTR_SMHI_THUNDER_PROBABILITY,
ATTR_SMHI_WIND_GUST_SPEED,

* Renaming self.thunder to self.thunder_probability and correcting test valuesfor

Renamed the new internal attribute
thunder to thunder_probability, same as the exposed attribute for improved consistency.
Corrected test values according to smhi.json.

* Forgot to change to self.thunder_probability in one place.

sorry.
2021-05-10 16:44:08 +02:00
Ruslan Sayfutdinov 8e2b3aab44 Enable strict type checks for camera platform (#50395) 2021-05-10 15:12:15 +02:00
jjlawren 0cdb8ad892 Fix location of current_play_mode (#50386) 2021-05-10 14:49:11 +02:00
Ruslan Sayfutdinov 3a192896df Enable some strict mypy checks globally (#50398)
* Enable some strict mypy checks globally

* Update mypy.ini
2021-05-10 14:20:25 +02:00
Ruslan Sayfutdinov b745d01877 Fix synology_dsm typing (#50399) 2021-05-10 13:43:43 +02:00
Ville Skyttä b89c53f759 Type hint device registry identifiers as set of str 2-tuples (#50355)
* Type hint device registry identifiers as set of str 2-tuples

* Fix airly test

* Really fix airly test, add another migration test
2021-05-10 12:13:45 +02:00
Franck Nijhof 1c98df5d18 Remove YAML configuration from Somfy MyLink (#50359)
* Remove YAML configuration from Somfy MyLink

* Keep deprecation warning
2021-05-10 11:53:37 +02:00
J. Nick Koston f581616064 Loosen flume dhcp discovery matching (#50379) 2021-05-09 19:32:00 -05:00
HomeAssistant Azure dfe8ab6666 [ci skip] Translation update 2021-05-10 00:04:47 +00:00
Jeff Irion 65fb852e03 Bump androidtv to 0.0.59 (#50367) 2021-05-09 18:52:24 -05:00
Steven Looman e284a14ccd Upgrade async_upnp_client to 0.17.0 (#50371) 2021-05-09 17:06:47 -05:00
Alan Tse c1a316b2ec Increase httpx timeout for Tesla (#50376) 2021-05-09 16:30:38 -05:00
Franck Nijhof 041838bdd7 Upgrade requests-mock to 1.9.2 (#50377) 2021-05-09 16:30:03 -05:00
Michael 042822e35e Improve typing for synology_dsm (#49656) 2021-05-09 22:44:55 +02:00
Franck Nijhof 717f4e69d5 Remove defunct Spot Crime integration (#50361) 2021-05-09 22:23:52 +02:00
Franck Nijhof 3745056751 Upgrade attrs to 21.2.0 (#50374) 2021-05-09 22:13:09 +02:00
Erik Montnemery e57634b1e0 Bump hatasmota to 0.2.12 (#50372) 2021-05-09 22:57:27 +03:00
tkdrob ee58f6105e Add selectors to webostv services (#50239) 2021-05-09 21:45:24 +02:00
Raman Gupta 1b81849271 Add zwave_js support for HeatIt Z-TRM2fx (#50317)
* Add zwave_js support for HeatIt Z-TRM2fx

* fix docstring

* use AwesomeVersion to support firmware version ranges

* add guard against empty firmware range

* switch guard approach to raise exception sooner

* make post init more generic

* Set up firmware range schema as AwesomeVersion during initialization

* Update homeassistant/components/zwave_js/discovery.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Allow min_ver and max_ver to be None

* fix docstring

* reduce import scope

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-09 15:28:35 -04:00
Franck Nijhof ba31d7d1b4 Upgrade sentry-sdk to 1.1.0 (#50349) 2021-05-09 14:30:34 -04:00
Franck Nijhof 0eeb147eda Upgrade watchdog to 1.1.0 (#50351) 2021-05-09 14:29:27 -04:00
Franck Nijhof 43adba4aff Deprecate Synology DSM YAML configuration (#50366) 2021-05-09 14:28:24 -04:00
Franck Nijhof 3f463f22a1 Deprecate Luftdaten YAML configuration (#50365) 2021-05-09 14:27:56 -04:00
Franck Nijhof b2cee2e602 Remove YAML configuration from Tuya (#50360)
* Remove YAML configuration from Tuya

* Keep deprecation warning
2021-05-09 14:26:26 -04:00
jan iversen ec08256ff0 Do not use async_* in a modbus sync function (#50343) 2021-05-09 19:50:23 +02:00
Shay Levy be73067f9c Fix Shelly type hints (#50322) 2021-05-09 19:46:53 +02:00
Dermot Duffy 4e4042a869 Fix types for WLED (#50001) 2021-05-09 19:34:21 +02:00
Franck Nijhof 2ca0eb61dc Deprecate Pi-hole YAML configuration (#50358) 2021-05-09 19:23:55 +02:00
Franck Nijhof 0a95aa282c Upgrade debugpy to 1.3.0 (#50356) 2021-05-09 11:29:28 -05:00
Ruslan Sayfutdinov 9b058551f7 Enable type checks for camera platform (#50179) 2021-05-09 18:04:57 +02:00
EddyK69 e9709d4449 Add LastTrip sensors for BMW Connected Drive (#45906) 2021-05-09 17:51:58 +02:00
Franck Nijhof ce02614780 Deprecate Hive YAML configuration (#50357) 2021-05-09 17:43:56 +02:00
J. Nick Koston a74aa9272c Add dhcp discovery to tplink (#50303) 2021-05-09 10:03:41 -05:00
gabrialdestruir f814a7a8ae Add tplink light setting ignore default (#50334)
This fixes issue #50115 by allowing color, brightness, and temperature to be set from an off state. This adds code to allow "ignore_default=1" to be sent to bulb letting it know to power on with the parameters set.
2021-05-09 16:27:49 +02:00
Franck Nijhof cbf4632895 Remove YAML configuration from SolarEdge (#50105)
* Remove YAML configuration from SolarEdge

* Restore already setup tests
2021-05-09 12:03:41 +02:00
J. Nick Koston 2bff7f8020 Remove YAML support from gogogate2/ismartgate (#50312) 2021-05-09 11:46:07 +02:00
J. Nick Koston 29cd5f20b9 Add zeroconf discovery to powerview (#50308) 2021-05-09 11:41:27 +02:00
J. Nick Koston 9cab8a19cd Add iCloud discovery (#50304)
Since homekit requires iCloud keychains to be enabled, if they
have a homekit hub, they must have iCloud.
2021-05-09 11:19:26 +02:00
jjlawren 85d782808c Fix Sonos polling bug (#50265) 2021-05-09 11:09:56 +02:00
hubbergit 4d9d565ecc Fix unit of measurement from Pa to hPa (#49664)
The unit of measurement should be hPa instead of Pa for the air pressure.
2021-05-09 10:07:51 +02:00
Brian Rogers 07a93be176 Revert Rachio to seconds instead of total_seconds (#50307)
* revert seconds

* Add comment

* Update comment to include max runtime
2021-05-09 05:09:31 +02:00
Aidan Timson 9059ce1c0f Additional System Bridge Sensors (#50274)
* Update systembridge to 1.1.4

* Update systembridge to 1.1.5

* Names

* Add memory sensors

* Set icons

* Add bios version sensor

* Memory used percentage sensor

* Add types

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Disable by default

* Typing

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-09 05:07:13 +02:00
tkdrob e92516c072 Add targets and selectors to services (A) (#49818) 2021-05-09 02:21:00 +02:00
HomeAssistant Azure 6665a62557 [ci skip] Translation update 2021-05-09 00:04:11 +00:00
Gleb Sinyavskiy 52b1a416d9 Remove the N26 integration (#50292) 2021-05-09 00:58:23 +02:00
Joakim Plate 10afbe4279 Bump ha-philipsjs to 2.7.3 (#50293) 2021-05-08 20:33:55 +02:00
Franck Nijhof 61b0e66405 Fix ESPHome timestamp sensor (#50305) 2021-05-08 19:37:09 +02:00
J. Nick Koston 4853fb7966 Fix tplink unloading when no switches are present (#50301) 2021-05-08 19:20:22 +02:00
Gleb Sinyavskiy 97eb4c6c62 Add syncthing integration (#38331)
* Scaffold the integration

* Add config flow data schema

* Handle configuration errors

* Get folder states

* Support https

* Fix translations

* Listen to syncthing events in a separate thread

* Bump syncthing

* Automatically reconnect to the syncthing server

* Renames

* Improve loading and unloading

* Update folder states from events

* Refactoring, handle FolderPaused event

* Dynamic folder icons

* Refactoring

* Mark folders as unavailable when senrver is unavailable

* Update folder satus when server is available

* Raise PlatformNotReady

* Implement additional polling

* Stop polling when the server is not available

* Minor fixes

* Remove logging

* Check name uniqueness

* Refactoring

* Minor refactorings

* Bump python-syncthing

* Migrate to aiosyncthing

* Minor fixes

* Update .coveragerc

* Set quality scale

* Bump aiosyncthing, properly handle invalid token

* Fix logging

* Fix logging

* Use CONF_VERIFY_SSL from homeassistant.const

* Bump aiosyncthing. Add Syncthing device

* Fix device name

* Bump aiosyncthing

* Bump aiosyncthing

* Extract SyncthingClient

* Add folder to device_state_attributes

* Do not pass the loop

* Cover config_flow.py

* Move self.async_create_entry outside of the try block

* Raise ConfigEntryNotReady if syncthing server is not reachable

* Fix already configured error message

* Change default name to Syncthing

* Bump aiosyncthing

* Fix formatting

* Fix formatting

* Fix tests

* Fix typo, use lis comprehension

* Fix typo, remove unused CONFIG_SCHEMA

* Bump aiosyncthing

* Remove periods from log messages W0001

* Fix tests

* Black, isort

* Remove empty items from manifest.json

* Fix variable naming

* Remove async_setup

* Use SensorEntity

* Use asyncio.create_task instead of self._hass.loop.create_task

* Do not pass hass to FolderSensor initializer

* Rename device_state_attributes to extra_state_attributes

* Use callbacks

* Simplify tests

* Refactor _listen()

* Use url for the title

* Use the url instead of the name to identify the config entry

* Explicitly set sensor attributes, extract _filter_state

* Use server url instead of name in device_info

* Use server url instead of name in logs

* User server id as a device identifier

* Use URL instead of name to identify config entry

* Use shortened server id instead of name to build entity name and unique id

* Do not use CONF_NAME

* Cleanup unused strings

* Cleanup unused strings

* Add IOT class

* Scaffold the integration

* Add config flow data schema

* Handle configuration errors

* Get folder states

* Support https

* Fix translations

* Listen to syncthing events in a separate thread

* Bump syncthing

* Automatically reconnect to the syncthing server

* Renames

* Improve loading and unloading

* Update folder states from events

* Refactoring, handle FolderPaused event

* Dynamic folder icons

* Refactoring

* Mark folders as unavailable when senrver is unavailable

* Update folder satus when server is available

* Raise PlatformNotReady

* Implement additional polling

* Stop polling when the server is not available

* Minor fixes

* Remove logging

* Check name uniqueness

* Refactoring

* Minor refactorings

* Bump python-syncthing

* Migrate to aiosyncthing

* Minor fixes

* Update .coveragerc

* Set quality scale

* Bump aiosyncthing, properly handle invalid token

* Fix logging

* Fix logging

* Use CONF_VERIFY_SSL from homeassistant.const

* Bump aiosyncthing. Add Syncthing device

* Fix device name

* Bump aiosyncthing

* Bump aiosyncthing

* Extract SyncthingClient

* Add folder to device_state_attributes

* Do not pass the loop

* Cover config_flow.py

* Move self.async_create_entry outside of the try block

* Raise ConfigEntryNotReady if syncthing server is not reachable

* Fix already configured error message

* Change default name to Syncthing

* Bump aiosyncthing

* Fix formatting

* Fix formatting

* Fix tests

* Fix typo, use lis comprehension

* Fix typo, remove unused CONFIG_SCHEMA

* Bump aiosyncthing

* Remove periods from log messages W0001

* Fix tests

* Black, isort

* Remove empty items from manifest.json

* Fix variable naming

* Remove async_setup

* Use SensorEntity

* Use asyncio.create_task instead of self._hass.loop.create_task

* Do not pass hass to FolderSensor initializer

* Rename device_state_attributes to extra_state_attributes

* Use callbacks

* Simplify tests

* Refactor _listen()

* Use url for the title

* Use the url instead of the name to identify the config entry

* Explicitly set sensor attributes, extract _filter_state

* Use server url instead of name in device_info

* Use server url instead of name in logs

* User server id as a device identifier

* Use URL instead of name to identify config entry

* Use shortened server id instead of name to build entity name and unique id

* Do not use CONF_NAME

* Cleanup unused strings

* Cleanup unused strings

* Add IOT class

* Apply suggestions from code review

* Clean up

* Fix dict comprehension

* Clean sensor

* Use the server ID as a config entry unique ID

* Remove the AlreadyConfigured exception

* Clean up old error string

* Format json

* Convert sensor attributes to snake case

* Force CI

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-08 19:12:14 +02:00
Oliver 7374b844d7 Update denonavr to version 0.10.7 (#50288) 2021-05-08 10:53:08 -05:00
jan iversen 29eb31e9da Add configurable delay between connect and first request in modbus (#50124)
* Activate startup delay.

* Add removal of call_later if HA is stopped.

This is unlikely to happen, but just security measure.

* Removing timing interval.

async_fire_time_changed() needs to be called twice, first time the delay is
ended and second time update() is executed.

* Variable naming.
2021-05-08 13:28:35 +02:00
Vladimír Záhradník e0de6752af Fix incorrect attribute checks in Modbus hub (#50241) 2021-05-08 13:26:31 +02:00
Leonardo Figueiro e3bc9eaf5f pywilight update (#50207) 2021-05-08 04:26:13 -05:00
J. Nick Koston bf2d40adfe Migrate from pytz to python-dateutil (#49643)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-07 22:46:26 -07:00
Brian Rogers 13fe837fd2 Add service target to Rachio (#49913) 2021-05-07 22:24:37 -05:00
Simone Chemelli c85f70b639 Small code cleanup for Shelly (#50270) 2021-05-07 22:14:41 -05:00
Aidan Timson a32dc56153 Update ovoenergy to 1.1.12 (#50268) 2021-05-07 22:05:09 -05:00
HomeAssistant Azure f32e15da36 [ci skip] Translation update 2021-05-08 00:03:19 +00:00
Pawel 57d3342137 Fix Epson config flow unique_id (#45434)
* switch Epson from HTTP to TCP communication

* fix tests

* add asyncio websession

* fix manifest

* fix config flow

* fix manifest

* fix logger warnings

* switch Epson from HTTP to TCP communication

* fix tests

* add asyncio websession

* fix config flow

* fix manifest

* fix logger warnings

* add already configured to import yaml

* remove neccessary projector on on config.yaml

* remove check import None

* reload integration if no unique_id

* async_migrate_entry

* add async_migrate_entry

* add init tests

* media player migration uid

* unifi config flow

* Update homeassistant/components/epson/media_player.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/epson/media_player.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* review

* remove unnecessary try except

* add import test

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* revert PORT option from config yaml

* fix tests

* remove port from config flow

* fix CONFIG_SCHEMA

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-07 23:05:59 +02:00
Erik Montnemery ba284c0d27 Add sensor state_class property (#50063)
* Add sensor state_class property

* STATE_CLASS_LATEST -> STATE_CLASS_MEASUREMENT

* Export sensor.state_class in capability_attributes

* Add STATE_CLASS_UNKNOWN

* Fix typing

* Update tests

* STATE_CLASS_UNKNOWN -> STATE_CLASS_OTHER

* Update homeassistant/components/sensor/__init__.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Remove STATE_CLASS_OTHER

* Update tests

* Revert test changes

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-05-07 23:04:00 +02:00
Simone Chemelli cf96d86985 Add yaml key to Shelly to allow CoAP port customization (#48729)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-05-07 13:23:29 -07:00
jan iversen 552ca1c57b Fix modbus switch problems (#50117) 2021-05-07 22:12:13 +02:00
Erik Montnemery 934d241b70 Improve Google Cast options flow (#50028) 2021-05-07 12:59:51 -07:00
J. Nick Koston 3a36a976ee Small cleanups to rainmachine get_client_controller (#50250) 2021-05-07 13:07:06 -05:00
Franck Nijhof 808825dc42 Merge pull request #50243 from home-assistant/rc 2021-05-07 19:03:00 +02:00
Erik Montnemery dabd398c6d Add color_mode to demo light (#49694)
* Update demo light with color mode support

* Add rgbw and rgbww color properties

* Update demo light

* Tweak

* Remove unneeded _clear_colors
2021-05-07 18:15:23 +02:00
Erik Montnemery 1e072b73f7 Fix light turn_on color conversion (#50251) 2021-05-07 17:09:49 +02:00
Erik Montnemery 80b05c39cc Fix light turn_on color conversion (#50251) 2021-05-07 17:08:46 +02:00
Maciej Bieniek 6df0190aeb Improve type annotations for Airly integration (#49898) 2021-05-07 09:47:52 -05:00
Simone Chemelli 4d0955bae1 Add Fritz sensors (#50055)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-07 09:05:16 -05:00
Maciej Bieniek 0587f834df Add Nettigo Air Monitor integration (#49099) 2021-05-07 08:59:29 -05:00
epenet dc29087416 Deprecate onewire YAML configuration (#50151) 2021-05-07 15:46:23 +02:00
Aaron Bach d4601e00fd Remove simplisafe websocket (#50213) 2021-05-07 15:41:37 +02:00
Franck Nijhof dfc5d22c9b Bumped version to 2021.5.1 2021-05-07 15:19:11 +02:00
Tobias Sauerwein a9bb905f05 Fix Netatmo climate (#50238) 2021-05-07 15:18:51 +02:00
David F. Mulcahey 193a0dfc02 support more alarm panels (#50235) 2021-05-07 15:18:48 +02:00
Paulus Schoutsen ead7a90f9a Bump aiohue to 2.3.0 (#50217)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-07 15:18:45 +02:00
Aaron Bach b144550a42 Allow SimpliSafe startup to retry on failure (#50211)
* Allow SimpliSafe startup to retry on failure

* Update __init__.py

* Black

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-05-07 15:18:41 +02:00
J. Nick Koston cf7f277507 Ensure tesla setup is retried on timeout (#50202) 2021-05-07 15:18:38 +02:00
Raman Gupta 5c6b9c7e37 Add value map for Climacell V3 pollen sensors (#50200) 2021-05-07 15:18:34 +02:00
Martin Hjelmare df740a7a18 Move not loaded websocket constant to zwave_js (#50188) 2021-05-07 15:18:31 +02:00
Erik Montnemery 27e0c0bbc8 Add color_mode support to group light (#50165)
* Add color_mode support to group light

* Lint

* Update tests
2021-05-07 15:18:27 +02:00
epenet 1e604fec7d Fix unique_id issue on onewire config entries (#50161) 2021-05-07 15:17:25 +02:00
Martin Hjelmare bb3ebad92f Fix zwave_js websocket api KeyError on unloaded entry (#50154) 2021-05-07 15:13:49 +02:00
J. Nick Koston d1a75b2fe0 Bump sqlalchemy to 1.4.13 (#50138) 2021-05-07 15:13:45 +02:00
Teemu R 70a7339279 Bump python-miio dependency (#50129) 2021-05-07 15:13:41 +02:00
Jan Bouwhuis a7ef642721 Ignore empty output from MQTT fan's value template (#50122)
* Allow empty payload

* Add tests for ignoring empty payload

* logging on empty state and osccilation with tests

* Improve warning log when invalid value is received
2021-05-07 15:13:37 +02:00
Felipe Martins Diel c75d99c883 Fix RM pro temperature sensor (#50098) 2021-05-07 15:13:33 +02:00
tkdrob 74b958df82 Fix group selector (#50088) 2021-05-07 15:13:29 +02:00
Oliver 2aafc88ab5 Denonavr bugfixes (#49984) 2021-05-07 15:13:25 +02:00
Sezer K ca9a68535f Only initialize Nuki configurations (#49747)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-07 15:13:22 +02:00
Martin Hjelmare 66c9658cc7 Fix mysensors default persistence file on import (#48410) 2021-05-07 15:13:16 +02:00
Tobias Sauerwein 86393bdbba Fix Netatmo climate (#50238) 2021-05-07 15:10:46 +02:00
Felipe Martins Diel a7ef3ec947 Fix RM pro temperature sensor (#50098) 2021-05-07 14:47:51 +02:00
David F. Mulcahey 55050bdd2a support more alarm panels (#50235) 2021-05-07 08:31:16 -04:00
Paulus Schoutsen 17fc962a87 Bump aiohue to 2.3.0 (#50217)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-07 14:24:47 +02:00
epenet 5d5122c2a4 Fix unique_id issue on onewire config entries (#50161) 2021-05-07 14:21:03 +02:00
Martin Hjelmare 0c288bcabb Fix mysensors default persistence file on import (#48410) 2021-05-07 13:37:38 +02:00
Jan Bouwhuis 7ab505633d Ignore empty output from MQTT fan's value template (#50122)
* Allow empty payload

* Add tests for ignoring empty payload

* logging on empty state and osccilation with tests

* Improve warning log when invalid value is received
2021-05-07 13:22:08 +02:00
Maciej Bieniek 7a87846146 Bump gios library (#50145)
* Bump gios library

* Use consts for API strings

* Do not store data locally

* Use API_TIMEOUT const
2021-05-07 13:03:11 +02:00
J. Nick Koston 64851dbac3 Add optimistic closing/opening to gogogate2 (#42048)
* Add optimistic closing/opening to gogogate2

* package rename

* update test

* Update homeassistant/components/gogogate2/cover.py
2021-05-07 11:13:51 +02:00
Erik Montnemery c2663d61d7 Add color_mode support to group light (#50165)
* Add color_mode support to group light

* Lint

* Update tests
2021-05-06 22:34:51 -07:00
Fabian Affolter 47c4c681f4 Upgrade sendgrid to 6.7.0 (#50194) 2021-05-07 07:29:55 +02:00
Sezer K 316f6ba397 Only initialize Nuki configurations (#49747)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-06 22:29:37 -07:00
Fabian Affolter 93628554cb Upgrade slixmpp to 1.7.1 (#50192) 2021-05-07 07:28:58 +02:00
Fabian Affolter 084f139a4d Upgrade praw to 7.2.0 (#50197) 2021-05-07 07:26:21 +02:00
Fabian Affolter 1c4a44dc5c Upgrade discord.py to 1.7.2 (#50201) 2021-05-07 07:24:54 +02:00
Raman Gupta 9f1b1c6c56 Add value map for Climacell V3 pollen sensors (#50200) 2021-05-06 21:12:51 -07:00
J. Nick Koston 7b07bc2d65 Bump netdisco to 2.8.3 for compat with latest zeroconf (#50212) 2021-05-06 22:26:03 -05:00
Oliver 0cf07ee2d8 Denonavr bugfixes (#49984) 2021-05-06 22:23:46 -05:00
Aaron Bach fec02c88af Allow SimpliSafe startup to retry on failure (#50211)
* Allow SimpliSafe startup to retry on failure

* Update __init__.py

* Black

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-05-06 20:03:35 -06:00
Martin Hjelmare 5ec09eab42 Move not loaded websocket constant to zwave_js (#50188) 2021-05-06 17:59:03 -07:00
J. Nick Koston 89811fcbaa Ensure tesla setup is retried on timeout (#50202) 2021-05-06 17:58:44 -07:00
HomeAssistant Azure 623a9c99fe [ci skip] Translation update 2021-05-07 00:04:03 +00:00
Fabian Affolter 0bfc386be3 Upgrade TwitterAPI to 2.7.3 (#50195) 2021-05-06 19:23:11 -04:00
Tobias Sauerwein 33e044431e Bump PyRMVtransport to 0.2.3 (#50183) 2021-05-06 23:34:50 +02:00
J. Nick Koston ce692afead Add rainmachine discovery (#49970)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-05-06 09:50:28 -05:00
Martin Hjelmare 38d7652176 Fix zwave_js websocket api KeyError on unloaded entry (#50154) 2021-05-06 16:43:14 +02:00
Franck Nijhof 177317a345 Allow passing options in config flow entry creation (#49912) 2021-05-05 22:14:01 -07:00
Franck Nijhof 465161b38c Deprecate Canary YAML configuration (#50078) 2021-05-05 22:04:32 -07:00
Franck Nijhof e3e9239798 Strictly type Twente Milieu integration (#50062) 2021-05-05 22:04:09 -07:00
J. Nick Koston af832e5434 Use shared httpx client in gogogate2 (#45575) 2021-05-05 21:47:44 -07:00
Erik Montnemery 7dec23d58b Improve translation strings for MQTT config and option flows (#50018)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-05 21:25:28 -07:00
tkdrob d6c300aeb1 Fix group selector (#50088) 2021-05-05 20:15:21 -07:00
Pascal Vizeli 23a2417c42 Adjust GRPC wheel build (#50119) 2021-05-05 20:12:06 -07:00
J. Nick Koston 60b90c4546 Bump zeroconf to 0.30.0 to fix thread safety race (#50130) 2021-05-05 20:11:06 -07:00
J. Nick Koston 906de23087 Bump sqlalchemy to 1.4.13 (#50138) 2021-05-05 20:08:48 -07:00
Teemu R 0ed31b0ba7 Bump python-miio dependency (#50129) 2021-05-05 17:19:52 -07:00
HomeAssistant Azure 7dad5e8a4c [ci skip] Translation update 2021-05-06 00:03:11 +00:00
Franck Nijhof ae692a003f Add support for Elgato Light Strip (#49988)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-05 16:41:32 -07:00
Aidan Timson e4ef06d6b1 System Bridge Integration (#48156)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-06 01:33:32 +02:00
epenet 5dd59415a8 Drop OWFS support in onewire (#50121) 2021-05-05 21:14:20 +02:00
Franck Nijhof ccf92e4721 Merge pull request #50123 from home-assistant/rc 2021-05-05 19:00:33 +02:00
Franck Nijhof 3654d22af5 Bumped version to 2021.5.0 2021-05-05 18:17:06 +02:00
Erik Montnemery 418606d634 Fix Tasmota color scaling and RGBW lights (#50120) 2021-05-05 18:16:03 +02:00
Ben d7d32cff95 Remove surepetcare usage of deprecated config options (#50113) 2021-05-05 18:15:59 +02:00
Erik Montnemery 4136f9f203 Fix Tasmota color scaling and RGBW lights (#50120) 2021-05-05 17:59:26 +02:00
Ben 40a18c10a0 Remove surepetcare usage of deprecated config options (#50113) 2021-05-05 17:13:06 +02:00
Joakim Sørensen 65cf138360 Allign error handling for restart for hassio with core (#50114)
* Allign error handling for restart for hassio with core

* Reuse HASS_DOMAIN

* Address comments
2021-05-05 17:09:18 +02:00
Dermot Duffy 1b9f7cdacf Bump motioneye-client to v0.3.6 . (#50096) 2021-05-05 13:31:10 +02:00
Vincent Le Bourlot 4b7100614b Fix fitbit RuntimeError: I/O must be done in the executor (#50058) 2021-05-05 13:31:06 +02:00
Erik Montnemery d87c9c6ffe Add color_mode support to tasmota light (#49599) 2021-05-05 13:31:03 +02:00
Erik Montnemery 93572bfe02 Add color_mode support to tasmota light (#49599) 2021-05-05 13:04:37 +02:00
Franck Nijhof e55be3c89a Deprecate Freebox YAML configuration (#50084) 2021-05-05 09:52:32 +02:00
Franck Nijhof 6cb5bf2b88 Deprecate Denon HEOS YAML configuration (#50104) 2021-05-05 09:52:11 +02:00
Franck Nijhof 084fe1fb68 Deprecate Glances YAML configuration (#50085) 2021-05-05 09:51:43 +02:00
Franck Nijhof 26b5a067bd Remove YAML configuration from Verisure (#50076) 2021-05-05 09:51:05 +02:00
Franck Nijhof b7cd75b134 Upgrade pyupgrade to v2.14.0 (#50059) 2021-05-05 09:28:47 +02:00
Vincent Le Bourlot 219ad5cd9e Fix fitbit RuntimeError: I/O must be done in the executor (#50058) 2021-05-05 09:19:51 +02:00
Franck Nijhof f88eea5275 Upgrade luftdaten to 0.6.5 (#50103) 2021-05-05 09:12:35 +02:00
Franck Nijhof 373236e588 Upgrade black to 21.5b0 (#50102) 2021-05-05 09:09:34 +02:00
Rob Bierbooms 2b461073ff Improve buienradar tests (#50101) 2021-05-05 09:05:46 +02:00
Franck Nijhof 44383f25ce Clean up pylint comments (#49334) 2021-05-05 08:56:50 +02:00
Dermot Duffy b0eb2afa65 Bump motioneye-client to v0.3.6 . (#50096) 2021-05-05 07:58:20 +02:00
Franck Nijhof 301d642ad8 Clean up deprecation message & config schema from Cloudflare (#50079) 2021-05-05 07:56:50 +02:00
Franck Nijhof cc21de569d Upgrade yamllint to 1.26.1 (#50060) 2021-05-04 19:27:23 -10:00
HomeAssistant Azure 469d9123fe [ci skip] Translation update 2021-05-05 00:04:27 +00:00
jan iversen 2f89ba24b6 Cleanup modbus binary_sensor signature (#49809)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-05 00:29:18 +02:00
Paulus Schoutsen bb7b6e38e4 Bumped version to 2021.5.0b8 2021-05-04 15:12:30 -07:00
Bram Kragten b6385cc4b3 Update frontend to 20210504.0 (#50093) 2021-05-04 15:12:22 -07:00
Shay Levy 445deec645 Catch Shelly set state exceptions when device is inaccessible (#50064) 2021-05-04 15:12:22 -07:00
Matthias Alphart 1b3489b107 Fix KNX climate unque_id (#50054) 2021-05-04 15:12:21 -07:00
J. Nick Koston fa2a98fc96 Handle missing transport_state on media update in sonos (#50051) 2021-05-04 15:12:20 -07:00
Paulus Schoutsen 14e02b1bca Guard logbook assuming entity ID is a string (#50047) 2021-05-04 15:12:19 -07:00
Bram Kragten 98edd58c55 Update frontend to 20210504.0 (#50093) 2021-05-04 15:11:03 -07:00
Matthias Alphart 13a27eec90 Fix KNX climate unque_id (#50054) 2021-05-04 14:45:25 -07:00
Ruslan Sayfutdinov 004fa63dbe Use AddEntitiesCallback type, pt.3 (#49953) 2021-05-04 23:36:48 +02:00
Bram Kragten 4d939486a9 Fix updating owner user/auth (#50087)
Check if `is_active` is in update msg
2021-05-04 14:26:48 -07:00
Franck Nijhof 2273bda44a Deprecate Abode YAML configuration (#50075) 2021-05-04 14:26:21 -07:00
Franck Nijhof 34eb1627e0 Remove deprecated LIFX Legacy integration (#50069) 2021-05-04 14:25:59 -07:00
Franck Nijhof 4907764367 Remove YAML configuration from Daikin (#50080) 2021-05-04 14:23:59 -07:00
Paulus Schoutsen 4cf910affc Guard logbook assuming entity ID is a string (#50047) 2021-05-04 14:23:22 -07:00
Franck Nijhof 98ef1e1e82 Remove stale config schema from ESPHome integration (#50083) 2021-05-04 22:18:46 +02:00
Franck Nijhof 4af6e505b3 Deprecate speedtest.net YAML config (#50072) 2021-05-04 22:18:22 +02:00
puddly e5ef171077 Bump zigpy-znp from 0.4.0 to 0.5.1 (#50086)
* Bump zigpy-znp from 0.4.0 to 0.5.0

* Add zigpy-znp to ZHA debug logging config

* Bump zigpy-znp from 0.5.0 to 0.5.1
2021-05-04 16:06:14 -04:00
Franck Nijhof fb2cb469e2 Remove YAML configuration from DoorBird (#50082) 2021-05-04 21:10:17 +02:00
Franck Nijhof 13ba4d7572 Upgrade pytest to 6.2.4 (#50077) 2021-05-04 20:43:41 +02:00
Franck Nijhof 96f69fb9fb Finalize clean up connection classes (#49895) 2021-05-04 20:08:51 +02:00
Franck Nijhof ee5f955fd8 Clean up stale config schema from deCONZ (#50081) 2021-05-04 20:06:54 +02:00
Shay Levy c21add195a Catch Shelly set state exceptions when device is inaccessible (#50064) 2021-05-04 09:10:28 -07:00
Ruslan Sayfutdinov 786c5db5be Use AddEntitiesCallback type, pt.4 (#49955) 2021-05-04 14:50:06 +02:00
Milan Meulemans a0feee083c Fix and enable type checks in Rituals Perfume Genie (#49947) 2021-05-04 14:47:17 +02:00
Rob Bierbooms c063f14c24 Add configuration flow for Buienradar integration (#37796)
* Add configuration flow for Buienradar integration

* Update buienradar camera tests to work with config flow

* Update buienradar weather tests to work with config flow

* Update buienradar sensor tests to work with config flow

* Remove buienradar config_flow tests to pass tests

* Add config flow tests for buienradar integration

* Increase test coverage for buienradar config_flow tests

* Move data into domain

* Remove forecast option

* Move data to options

* Remove options from config flow

* Adjust tests

* Adjust string

* Fix pylint issues

* Rework review comments

* Handle import

* Change config flow to setup camera or weather

* Fix tests

* Remove translated file

* Fix pylint

* Fix flake8

* Fix unload

* Minor name changes

* Update homeassistant/components/buienradar/config_flow.py

Co-authored-by: Ties de Kock <ties@tiesdekock.nl>

* Remove asynctest

* Add translation

* Disable sensors by default

* Remove integration name from translations

* Remove import method

* Drop  selection between platforms, disable camera by default

* Minor fix in configured_instances

* Bugfix in weather

* Rework import

* Change unique ids of camera

* Fix in import

* Fix camera tests

* Fix sensor test

* Fix sensor test 2

* Fix config flow tests

* Add option flow

* Add tests for option flow

* Add import tests

* Some cleanups

* Apply suggestions from code review

Apply code suggestions

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Fix isort,black,mypy

* Small tweaks and added typing to new parts

* Fix review comments (1)

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Fix review comments (2)

* Fix issues

* Fix unique id

* Improve tests

* Extend tests

* Fix issue with unload

* Address review comments

* Add warning when loading platform

* Add load/unload test

Co-authored-by: Ties de Kock <ties@tiesdekock.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-04 13:49:16 +02:00
dependabot[bot] 6931478688 Bump codecov/codecov-action from v1.4.1 to v1.5.0 (#50061)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.4.1 to v1.5.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.4.1...a1ed4b322b4b38cb846afb5a0ebfa17086917d27)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-04 10:57:44 +02:00
Robert Svensson d579e3427f Use last_step marker on UniFi options flow (#50053) 2021-05-04 08:54:45 +02:00
J. Nick Koston 016a4433d2 Handle missing transport_state on media update in sonos (#50051) 2021-05-04 08:54:31 +02:00
Niels Mündler 2eae87fb1b Add SyncThru binary sensors (#48114)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-04 08:28:45 +02:00
Dermot Duffy 809c1394d4 Enable mypy for motionEye (aye aye!) (#49738) 2021-05-04 08:19:41 +02:00
Simone Chemelli 55c96ae86f Create Fritz device and connectivity sensor (#49699)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-03 17:11:21 -10:00
HomeAssistant Azure 0df9454310 [ci skip] Translation update 2021-05-04 00:03:46 +00:00
jan iversen f0ec9c38b0 Fix modbus typing (#49938)
Add changes needed to please mypy and follow the coding rules
of the project.
2021-05-03 22:45:21 +02:00
Daniel Hjelseth Høyer c69eeddc7b Upgrade Tibber library, new grid prices for Glitre Energi (#50029)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-05-03 10:50:39 -07:00
Paulus Schoutsen 46a3b26b67 Bumped version to 2021.5.0b7 2021-05-03 10:34:45 -07:00
Bram Kragten 88b2425059 Update frontend to 20210503.0 (#50036) 2021-05-03 10:34:41 -07:00
bsmappee 398ebccbde Bump pysmappee to 0.2.25 (#50031) 2021-05-03 10:34:40 -07:00
Franck Nijhof 5679fbf219 Fix Nexia entity service schema (#50027) 2021-05-03 10:34:39 -07:00
Marius b8b3e8f879 Mitigate NMBS key errors (#50026)
on Liveboard and connections as documented in issue #48824
2021-05-03 10:34:39 -07:00
Franck Nijhof c3f757c1ae Fix Harmony entity service schema (#50025) 2021-05-03 10:34:38 -07:00
Franck Nijhof 5f0281f0ba Fix Genius Hub entity service schema (#50024) 2021-05-03 10:34:37 -07:00
Franck Nijhof 9e8d01893f Fix ELKM1 entity service schema (#50020) 2021-05-03 10:34:37 -07:00
Franck Nijhof 40f3bbe005 Fix Blink entity service schema (#50019) 2021-05-03 10:34:36 -07:00
Joakim Sørensen 0a4856b88b Handle Timeout exceptions in system_health (#50017) 2021-05-03 10:34:35 -07:00
Bram Kragten 4273a3d63f Fix saving a scene (#49980)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-03 10:34:34 -07:00
Matthias Alphart 33fa6cd794 Fix KNX light unique_id (#49967)
* migrate light unique_id

* review changes
2021-05-03 10:34:33 -07:00
Shay Levy 3681363418 Fix Shelly battery operated devices value rounding (#49966) 2021-05-03 10:34:33 -07:00
J. Nick Koston 302cab185d Add reauth support to flume (#49991) 2021-05-03 10:30:22 -07:00
bsmappee c49fa6f1ed Bump pysmappee to 0.2.25 (#50031) 2021-05-03 18:51:23 +02:00
Ruslan Sayfutdinov 5fd8e7008e Create separate entries for each component in mypy.ini (#50030) 2021-05-03 18:45:38 +02:00
Franck Nijhof 982c12bcc9 Restore dictionary constants in Elgato device info (#50013) 2021-05-03 09:42:45 -07:00
Franck Nijhof d4565c0e27 Fix Genius Hub entity service schema (#50024) 2021-05-03 09:41:59 -07:00
Franck Nijhof 9ce00018be Fix Harmony entity service schema (#50025) 2021-05-03 09:41:16 -07:00
Franck Nijhof 2818df7aa9 Fix Nexia entity service schema (#50027) 2021-05-03 09:40:49 -07:00
Franck Nijhof a2d12f9a51 Fix ELKM1 entity service schema (#50020) 2021-05-03 09:40:01 -07:00
Franck Nijhof 2ed386f9e6 Migrate to async_get_current_platform everywhere (#50034) 2021-05-03 09:34:28 -07:00
Bram Kragten 672d2e332f Update frontend to 20210503.0 (#50036) 2021-05-03 09:32:45 -07:00
Franck Nijhof 0627b316e3 Add Identify service to Elgato integration (#49990) 2021-05-03 17:32:10 +02:00
Marius 13dee0f028 Mitigate NMBS key errors (#50026)
on Liveboard and connections as documented in issue #48824
2021-05-03 17:06:46 +02:00
Franck Nijhof efb1bb08a4 Add small async_get_current_platform helper method (#50014) 2021-05-03 16:46:42 +02:00
Maciej Bieniek 6e98b020ac Improve type annotations in Brother integration (#49989) 2021-05-03 15:10:20 +02:00
Franck Nijhof e5bfef719f Fix Blink entity service schema (#50019) 2021-05-03 14:57:11 +02:00
Joakim Sørensen 9b89acea97 Handle Timeout exceptions in system_health (#50017) 2021-05-03 14:26:25 +02:00
Franck Nijhof 378cee01b4 Add typing to async_register_entity_service (#50015) 2021-05-03 14:22:38 +02:00
Simone Chemelli 1ad9f1d714 Title and internal descriptions updates for Fritzbox (#49047) 2021-05-03 12:52:22 +02:00
J. Nick Koston 779f34a8ed Add dhcp discovery to hunterdouglas_powerview (#49993)
* Add dhcp discovery to hunterdouglas_powerview

* avoid dupe flow

* cleanup

* cleanup
2021-05-03 11:41:20 +02:00
Austin Mroczek f8d82bbf80 Add unique_id to TotalConnect alarm_control_panel (#49961)
* add unique_id to alarm_control_panel

* Update homeassistant/components/totalconnect/alarm_control_panel.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-03 11:38:59 +02:00
Matthias Alphart cfabb06a7a Add color modes to KNX light (#49883)
* color_modes support

* return brightness for color lights

even when no brightness address is set

* apply brightness for color lights

* remove unneeded constants
2021-05-03 11:28:02 +02:00
Matthias Alphart 0a6f981b4c Fix KNX light unique_id (#49967)
* migrate light unique_id

* review changes
2021-05-03 11:12:06 +02:00
Dermot Duffy e8446cb4d9 Fix types for shell command (#50004) 2021-05-03 10:43:23 +02:00
Unai 9d08178ed1 Upgrade maxcube-api dependency to 0.4.3 (#49982)
This new version only contains improvements in logs
to try to debug issue #49482
2021-05-03 10:22:47 +02:00
Tomas Hellström a29dfe0bf5 Update smhi package to 1.0.15 (#49987) 2021-05-03 10:21:57 +02:00
Shay Levy 0a38827544 Fix Shelly battery operated devices value rounding (#49966) 2021-05-02 23:49:13 -07:00
J. Nick Koston a4432557d3 Defer writing http config until after startup has calmed down (#50000) 2021-05-02 19:48:49 -10:00
Bram Kragten 301d4b0657 Fix saving a scene (#49980)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-02 22:11:57 -07:00
J. Nick Koston 42c48e8cf9 Add reauth support to myq (#49998) 2021-05-02 21:52:48 -07:00
Paulus Schoutsen 8e0e1405e8 Make hassfest service validation faster (#50003) 2021-05-02 21:49:51 -07:00
Bram Kragten 8ca6b8394c Correct the selector for frontend.set_theme service (#49952) 2021-05-02 21:07:26 -07:00
Shay Levy 7c7a56f704 Fix Shelly external sensors invalid 999 value (#49994) 2021-05-02 20:58:14 -07:00
J. Nick Koston 1c8d9ca68b Check exception causes for matching strings during recorder migration (#49999) 2021-05-02 20:57:42 -07:00
HomeAssistant Azure 04266301e9 [ci skip] Translation update 2021-05-03 00:05:16 +00:00
Milan Meulemans 6967fd184b Abstract Rituals API data processing to PyPI (#49872) 2021-05-02 13:18:29 -10:00
J. Nick Koston 26fd7fc15b Add dhcp discovery to tado (#49992) 2021-05-02 12:43:59 -10:00
Florian Gareis 93b668a6f9 Upgrade yeelight to 0.6.2 (#49995) 2021-05-03 00:05:40 +02:00
Franck Nijhof 6c4448a272 Upgrade elgato to 2.1.0 (#49975) 2021-05-02 17:18:36 +02:00
J. Nick Koston f7fafa6b8b Add zeroconf discovery to rachio (#49973) 2021-05-02 17:09:12 +02:00
Diogo Gomes 24b9d73392 Improves UX of Utility Meter services (#48556) 2021-05-02 10:53:35 +02:00
jan iversen 8adbc62a6e Enable homeassistant.update_entity service for all modbus platforms (#49918)
* Rename _update() to update()

A platform neeed a function update(), even though
polling is false, this is due to the service:
homeassistant.update_entity, which calls update()

* Update test harnesss to script testing.

Test homeassistant.update_entity in all platforms.
This call calls update() in the platform to get
a new reading.

* Add reuse parameter.

* Move service call from helper to tests.

* Change run_service_update --> prepare_service_update.

* Remove entity_id parameter.
2021-05-02 10:41:36 +02:00
Paulus Schoutsen 1bd9826684 Handle different entity_id formats (#49969) 2021-05-01 20:30:28 -07:00
Alan Tse 3546ff2da2 Bump Tesla dependency teslajsonpy to 0.18.3 (#49939)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-01 17:04:37 -07:00
HomeAssistant Azure 796f9cad1f [ci skip] Translation update 2021-05-02 00:04:24 +00:00
Aaron Bach 91e41a0cc2 Fix KeyError in IQVIA (#49968) 2021-05-01 16:56:50 -07:00
Milan Meulemans 29d72714f3 Replace dict with DeviceInfo (#49950)
* Replace dict with DeviceInfo

* Clean up

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-02 00:37:19 +02:00
Ville Skyttä ddd7e79ee9 Improve device registry internal typing (#49924) 2021-05-01 12:33:31 -10:00
J. Nick Koston 4bebedb658 Bump pysonos to 0.0.44 to fix client session race (#49964)
Fixes #49954
2021-05-01 12:26:10 -10:00
Franck Nijhof 1b5596b4c2 Remove ServiceCallType alias from codebase (#49844) 2021-05-02 00:15:27 +02:00
jan iversen 7ac05110ca Catch non payload modbus messages (#49910) 2021-05-02 00:03:52 +02:00
Aaron Bach 9e43239240 Bump simplisafe-python to 9.6.10 (#49962) 2021-05-01 11:18:36 -10:00
J. Nick Koston 002b068c0a Remove YAML support from sense (#49935) 2021-05-01 11:17:52 -10:00
Alexei Chetroi ef2b8bbca8 Bump up ZHA dependencies (#49959) 2021-05-01 15:55:04 -04:00
jan iversen ebee5f7808 Fix ihc typing (#49946) 2021-05-01 21:01:56 +02:00
Shay Levy 2440f25aaf Shelly light color mode bugfix (#49948) 2021-05-01 07:43:03 -07:00
jan iversen 60ae230499 Please mypy (axis). (#49949)
* Please mypy (axis).

* Update homeassistant/components/axis/config_flow.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2021-05-01 16:13:43 +02:00
Shay Levy 20152313db Fix light services descriptions (#49951) 2021-05-01 15:00:40 +02:00
Artem Draft e597202b24 Update LG Netcast to use new backend library (#49927)
* Update LG Netcast to use new backend library

Bump lgnetcast to 0.3.3

* Add codeowner in LG Netcast
2021-05-01 07:49:17 -04:00
J. Nick Koston 671aabf9f4 Remove unused imports in fritz, nest, and somfy to fix CI (#49940) 2021-04-30 21:58:48 -10:00
Franck Nijhof 8eb27374c6 Clean up connection classes in integrations P-S (#49893) 2021-04-30 21:04:44 -10:00
Franck Nijhof 64c7d84108 Clean up connection classes in integrations T-Z (#49894) 2021-04-30 21:04:05 -10:00
Franck Nijhof a6206b2819 Clean up connection classes in integrations M-O (#49892) 2021-04-30 21:03:37 -10:00
Franck Nijhof 10d6dfd4ae Clean up connection classes in integrations H-L (#49891) 2021-04-30 21:02:53 -10:00
Franck Nijhof e652ff3a6a Clean up connection classes in integrations D-G (#49890) 2021-04-30 21:02:21 -10:00
Franck Nijhof d4d0b93d3b Clean up connection classes in integrations A-C (#49888) 2021-04-30 21:01:52 -10:00
Dermot Duffy 184602e267 Repair elgato types (#49936) 2021-04-30 17:51:53 -10:00
HomeAssistant Azure 0efd061255 [ci skip] Translation update 2021-05-01 00:03:44 +00:00
J. Nick Koston 71545f2a68 Avoid writing esphome data if its already up to date on disk (#49933) 2021-04-30 12:19:27 -10:00
Ville Skyttä 77d5244577 Use device registry CONNECTION_* constants (#49923) 2021-04-30 23:58:50 +02:00
J. Nick Koston 7ead482082 Reduce homekit executor calls at start (#49925)
- We do not need to load/persist since we do it in setup
2021-04-30 23:54:54 +02:00
Franck Nijhof e1a3ef3d69 Clean up config entry handlers decorator from config flows (#49932) 2021-04-30 23:28:25 +02:00
Ville Skyttä 59f32f7c9c Make device info a TypedDict (#49670) 2021-04-30 23:21:39 +02:00
jjlawren 37e8571fe8 Use header URI in Plex config flow (#49915) 2021-04-30 23:15:59 +02:00
Paulus Schoutsen a2138a7642 Iqvia to check bad fetch during setup (#49931) 2021-04-30 14:04:59 -07:00
jan iversen aa8ce07e35 Start Modbus cover timer independent if there is a state to restore (#49919)
* Start timer independent if there is a state to restore.

* Update test cases, that now start working.
2021-04-30 22:36:55 +02:00
Jason Hunter 2b46c6bcda Bump xbox-webapi to 2.0.11 (#49929) 2021-04-30 13:34:46 -07:00
Bram Kragten 5e27358590 Update frontend to 20210430.0 (#49928) 2021-04-30 13:25:57 -07:00
Ruslan Sayfutdinov f53284b200 Make CoordinatorEntity generic (#49854) 2021-04-30 13:24:27 -07:00
Franck Nijhof dc46a213a7 Enable strict typing for the Elgato integration (#49920) 2021-04-30 13:21:30 -07:00
Ruslan Sayfutdinov cbaeec2a4e Use AddEntitiesCallback type, pt.2 (#49921) 2021-04-30 20:38:59 +02:00
David F. Mulcahey 4ed74cd2f5 Move ZHA config panel section translations to the backend (#49816) 2021-04-30 09:29:34 -07:00
jan iversen 684ea9e49b Restructure modbus switch, and solve read/write conflicts (#49386)
Remove old style configuration from switch.
- The old style configuration allowed a number of illegal
  configurations, instead of adding if...log. in setup we
  only support the new configuration style.

Add new/changed configuration switch.

Removed verify_state and cleaned configuration to avoid possible
illegal configurations.
2021-04-30 16:47:18 +02:00
Maciej Bieniek 39e8a92596 Remove unused code from Brother config flow (#49889) 2021-04-30 16:41:55 +02:00
Raman Gupta fdc29d6a80 Add device specific discovery for Heatit Z-TRM3 thermostat (#49804)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-04-30 16:10:25 +02:00
Maciej Bieniek 37dad92bf7 Split long string in DuneHD test (#49900)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-04-30 15:30:21 +02:00
Franck Nijhof 98b305285f Upgrade pytest-xdist to 2.2.1 (#49904) 2021-04-30 14:35:30 +02:00
David F. Mulcahey 20cffc30de Small ZHA code cleanup (#49908) 2021-04-30 13:48:11 +02:00
Erik Montnemery 956c972e72 Add color_mode support to zwave_js light (#49588) 2021-04-30 13:46:25 +02:00
Franck Nijhof 0d3d2edbff Fix unexpected data in Waze config flow import (#49902) 2021-04-30 11:12:31 +02:00
Franck Nijhof 2e9bf8ab4e Fix unexpected data in Google Travel Time config flow import (#49903) 2021-04-30 11:12:13 +02:00
Franck Nijhof 9b863324c5 Update frontend to 20210429.0 (#49896) 2021-04-30 10:26:56 +02:00
Ville Skyttä a19f757120 Allow str 1..n-tuples in device registry identifier type hints (#49864)
This reflects current practice, but the intent has been to have them as
2-tuples, and a future change is likely to start enforcing that (again).

Refs https://github.com/home-assistant/core/pull/49670#discussion_r622344872
2021-04-30 08:56:55 +02:00
Raman Gupta 1b6cd9e0f3 Don't validate inputs on platform setup for Google/Waze travel time (#49886)
* Don't validate inputs on platform setup for Google/Waze travel time

* feedback from other PR
2021-04-30 08:33:15 +02:00
Tom Toor dcaefe9f5a Reduced polling interval for mutesync integration (#49884) 2021-04-30 07:55:51 +02:00
jjlawren adba82de8b Do not pass hass.data to Sonos entities (#49881) 2021-04-30 07:01:09 +02:00
Aaron Bach 73714eba4b Remove no-longer-functioning SimpliSafe websocket support (#49876)
* Remove no-longer-functioning SimpliSafe websocket support

* Linting
2021-04-29 19:02:45 -06:00
HomeAssistant Azure 38a03009ae [ci skip] Translation update 2021-04-30 00:04:58 +00:00
Bram Kragten 55b5a1ed9c Update frontend to 20210407.1 (#49882) 2021-04-29 14:31:51 -07:00
Franck Nijhof b2c1da54aa Fix jumpy Verisure Wallplug state (#49880) 2021-04-29 14:31:34 -07:00
Franck Nijhof c68b259bd3 Cleanup of unused connection_class logic (#49865)
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-04-29 23:12:58 +02:00
jjlawren db886ef03a Add additional Sonos codeowner (#49879) 2021-04-29 13:50:16 -07:00
karliemeads 2dedf3dd07 Apply default light profile only when light is toggled from off to on (#49376)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-04-29 22:06:09 +02:00
Raman Gupta 042099de14 Fix options flow bugs in Google/Waze Time Travel (#49866) 2021-04-29 12:57:48 -07:00
Ville Skyttä 22bda640b0 Restore missing Huawei LTE cleanup on HA stop (#49871)
Refs https://github.com/home-assistant/core/pull/49788#discussion_r623071013
2021-04-29 20:45:25 +02:00
Aaron David Schneider 0421c55bf1 Fix Fritz device tracker multiple routers (#49808)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-04-29 11:10:36 -07:00
Paulus Schoutsen f5e4b13814 Add auto_off to binary sensor template entity (#49615) 2021-04-29 09:25:34 -07:00
Shay Levy 87a595d928 Add color modes to Shelly light (#49867) 2021-04-29 09:13:58 -07:00
jan iversen 760caeed85 Complete modbus device response tests (#49633)
* Prepare test harness for new pymodbus return types.

Use pytest.fixture to mock pymodbus.
Use pytest.fixture to load modbus using mocked pymodbus
Add test of Exception/IllegalResponse/ExceptionResponse from pymodbus.

* Modbus.py is back at 100% test coverage.

* Added assert mock.called.

* add mock reset.
2021-04-29 18:06:56 +02:00
Maciej Bieniek 0379dee47e Fix host_valid() logic in Vilfo config flow (#49862) 2021-04-29 17:11:22 +02:00
Ruslan Sayfutdinov a4db35a16e Rename FlowResultDict in scaffold template (#49858) 2021-04-29 17:10:31 +02:00
Raman Gupta 4a95f6c2a3 Improve Google Travel Time import and naming logic (#49839) 2021-04-29 17:10:03 +02:00
Raman Gupta 5d421c9715 Use EVENT_HOMEASSISTANT_STARTED instead of EVENT_HOMEASSISTANT_START (#49861) 2021-04-29 17:06:27 +02:00
Maciej Bieniek 61991572d7 Fix host_valid() logic in DuneHD config flow (#49860) 2021-04-29 17:05:09 +02:00
Maciej Bieniek 3210c086ef Improve type annotations for the Brother integration (#49771) 2021-04-29 16:59:31 +02:00
djtimca f7cf82be6d Add Omnilogic Switch platform (#42116)
* Bump omnilogic dependency to 0.4.4 to fix Lights key error.

* Bumped dependency to 0.4.5.

* Fixed pump type issue for unique pool structure.

* Create full platform bundle for final testing and PR to Home Assistant dev.

* Removed logger instances not required.

* Fixed lint issues.

* Fixed pylint issues.

* Fix pylint issues. Fix issue with pH sensor offset.

* Stripped light, water_heater platform for PR submit.

* Correct pH and ORP sensor report to unknown with offset if pump is off.

* Moving guard condition check to helper function.

* Update to asyncio.sleep to wait for switch status delay in Hayward API status.

* Removed sleep, added state delay to handle slow Hayward API state update response.

* Fix flake8 issue.

* Fix flake8 issue.

* Fix isort issue.

* Addressed PR Comments.

* Addressed PR comments. Corrected Unit of Measure for sensor where pump speed is not variable.

* Fix pylint issue.

* Address pylint issue.

* Update homeassistant/components/omnilogic/switch.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-04-29 16:46:04 +02:00
Angelo Gagliano 7c28262bee Add codeowners for DHT (#49855) 2021-04-29 16:11:56 +02:00
Maciej Bieniek 9588e0d35a Fix host_valid() logic in BraviaTV config flow (#49857) 2021-04-29 16:09:59 +02:00
jan iversen 5b6d2edb48 Catch missing/unavailable response from modbus (#49632)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-04-29 15:59:17 +02:00
Ruslan Sayfutdinov 02764c2f46 Disable strict type checks for tests (#49851) 2021-04-29 15:57:02 +02:00
Raman Gupta 6f36fcc427 Improve Waze Travel Time import and naming logic (#49838) 2021-04-29 15:49:16 +02:00
Ruslan Sayfutdinov 183220008d Rename FlowResultDict to FlowResult (#49847) 2021-04-29 13:40:51 +02:00
Franck Nijhof 8be6605be9 Remove example entry from PR template (#49842) 2021-04-29 13:37:55 +02:00
Ruslan Sayfutdinov 0301706fc6 Define AddEntitiesCallback type (#49812) 2021-04-29 12:28:14 +02:00
Franck Nijhof de6c9e67b1 Upgrade black to 21.4b2 (#49841) 2021-04-29 11:50:29 +02:00
Franck Nijhof 52f3a7249f hassfest detect built-in domain override for custom integrations (#49845) 2021-04-29 11:43:23 +02:00
Joakim Sørensen b7184b669f Add onboarded key to analytics WS command (#49751) 2021-04-29 11:11:23 +02:00
Erik Montnemery bf57c77d5c Add color_mode to demo light (#49694)
* Update demo light with color mode support

* Add rgbw and rgbww color properties

* Update demo light

* Tweak

* Remove unneeded _clear_colors
2021-04-29 10:45:17 +02:00
Fabian Affolter 25d257b631 Upgrade py-cpuinfo to 8.0.0 (#49833) 2021-04-29 08:39:03 +02:00
Ruslan Sayfutdinov 5008c27e7a Relax type annotation for DataUpdateCoordinator data (#49827) 2021-04-28 18:31:08 -10:00
Ruslan Sayfutdinov a0bf95d4b5 Validate if modules in mypy config exist (#49810) 2021-04-29 06:29:53 +02:00
Mike Keesey 1c0fd61075 Remove references to hass.data in harmony tests (#49836)
Instead, just use the mocks directly.
2021-04-28 18:27:57 -10:00
HomeAssistant Azure 27816aa4d5 [ci skip] Translation update 2021-04-29 00:03:34 +00:00
Franck Nijhof 16e096de0c Bump version to 2021.6.0dev0 (#49830) 2021-04-28 23:48:48 +02:00
Franck Nijhof 14af6d3884 Remove DHT from Raspberry Pi machine builds (#49829) 2021-04-28 22:43:40 +02:00
Raman Gupta 105504cb89 Set ClimaCell API limit to 500 requests/day (#49828) 2021-04-28 13:43:07 -07:00
Anders Melchiorsen 21872c42fe Fix color setting in LIFX services (#49822) 2021-04-28 13:31:40 -07:00
Simone Chemelli ff137fe186 Add service target to Neato (#49803)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-04-28 22:18:00 +02:00
Aaron Bach d749015b96 Bump pyairvisual to 5.0.8 (#49823) 2021-04-28 21:34:19 +02:00
tkdrob 74f95ac338 Add switch platform to goalzero (#48612)
* Add switch platform to goalzero

* fix update interval

* Apply some suggested changes

* pass device class to parent

* Drop passing device_class

* Tweaks

* Drop underscore prefix
2021-04-28 21:24:56 +02:00
8164 changed files with 296653 additions and 107060 deletions
+148 -76
View File
@@ -8,8 +8,10 @@ omit =
homeassistant/scripts/*.py
# omit pieces of code that rely on external devices being present
homeassistant/components/acer_projector/switch.py
homeassistant/components/acer_projector/*
homeassistant/components/actiontec/const.py
homeassistant/components/actiontec/device_tracker.py
homeassistant/components/actiontec/model.py
homeassistant/components/acmeda/__init__.py
homeassistant/components/acmeda/base.py
homeassistant/components/acmeda/const.py
@@ -18,14 +20,15 @@ omit =
homeassistant/components/acmeda/helpers.py
homeassistant/components/acmeda/hub.py
homeassistant/components/acmeda/sensor.py
homeassistant/components/adax/__init__.py
homeassistant/components/adax/climate.py
homeassistant/components/adguard/__init__.py
homeassistant/components/adguard/const.py
homeassistant/components/adguard/sensor.py
homeassistant/components/adguard/switch.py
homeassistant/components/ads/*
homeassistant/components/aemet/abstract_aemet_sensor.py
homeassistant/components/aemet/weather_update_coordinator.py
homeassistant/components/aftership/sensor.py
homeassistant/components/aftership/*
homeassistant/components/agent_dvr/__init__.py
homeassistant/components/agent_dvr/alarm_control_panel.py
homeassistant/components/agent_dvr/camera.py
@@ -33,17 +36,22 @@ omit =
homeassistant/components/agent_dvr/helpers.py
homeassistant/components/airnow/__init__.py
homeassistant/components/airnow/sensor.py
homeassistant/components/airthings/__init__.py
homeassistant/components/airthings/sensor.py
homeassistant/components/airtouch4/__init__.py
homeassistant/components/airtouch4/climate.py
homeassistant/components/airtouch4/const.py
homeassistant/components/airvisual/__init__.py
homeassistant/components/airvisual/air_quality.py
homeassistant/components/airvisual/sensor.py
homeassistant/components/aladdin_connect/cover.py
homeassistant/components/aladdin_connect/*
homeassistant/components/alarmdecoder/__init__.py
homeassistant/components/alarmdecoder/alarm_control_panel.py
homeassistant/components/alarmdecoder/binary_sensor.py
homeassistant/components/alarmdecoder/const.py
homeassistant/components/alarmdecoder/sensor.py
homeassistant/components/alpha_vantage/sensor.py
homeassistant/components/amazon_polly/tts.py
homeassistant/components/amazon_polly/*
homeassistant/components/amberelectric/__init__.py
homeassistant/components/ambiclimate/climate.py
homeassistant/components/ambient_station/*
homeassistant/components/amcrest/*
@@ -104,6 +112,8 @@ omit =
homeassistant/components/bloomsky/*
homeassistant/components/bluesound/*
homeassistant/components/bluetooth_tracker/*
homeassistant/components/bme280/__init__.py
homeassistant/components/bme280/const.py
homeassistant/components/bme280/sensor.py
homeassistant/components/bme680/sensor.py
homeassistant/components/bmp280/sensor.py
@@ -113,9 +123,15 @@ omit =
homeassistant/components/bmw_connected_drive/lock.py
homeassistant/components/bmw_connected_drive/notify.py
homeassistant/components/bmw_connected_drive/sensor.py
homeassistant/components/bosch_shc/__init__.py
homeassistant/components/bosch_shc/binary_sensor.py
homeassistant/components/bosch_shc/const.py
homeassistant/components/bosch_shc/entity.py
homeassistant/components/bosch_shc/sensor.py
homeassistant/components/braviatv/__init__.py
homeassistant/components/braviatv/const.py
homeassistant/components/braviatv/media_player.py
homeassistant/components/braviatv/remote.py
homeassistant/components/broadlink/__init__.py
homeassistant/components/broadlink/const.py
homeassistant/components/broadlink/remote.py
@@ -124,9 +140,7 @@ omit =
homeassistant/components/brottsplatskartan/sensor.py
homeassistant/components/browser/*
homeassistant/components/brunt/cover.py
homeassistant/components/bsblan/__init__.py
homeassistant/components/bsblan/climate.py
homeassistant/components/bsblan/const.py
homeassistant/components/bt_home_hub_5/device_tracker.py
homeassistant/components/bt_smarthub/device_tracker.py
homeassistant/components/buienradar/sensor.py
@@ -146,8 +160,7 @@ omit =
homeassistant/components/clicksend/notify.py
homeassistant/components/clicksend_tts/notify.py
homeassistant/components/cmus/media_player.py
homeassistant/components/co2signal/*
homeassistant/components/coinbase/*
homeassistant/components/coinbase/sensor.py
homeassistant/components/comed_hourly_pricing/sensor.py
homeassistant/components/comfoconnect/fan.py
homeassistant/components/concord232/alarm_control_panel.py
@@ -161,6 +174,13 @@ omit =
homeassistant/components/coolmaster/const.py
homeassistant/components/cppm_tracker/device_tracker.py
homeassistant/components/cpuspeed/sensor.py
homeassistant/components/crownstone/__init__.py
homeassistant/components/crownstone/const.py
homeassistant/components/crownstone/listeners.py
homeassistant/components/crownstone/helpers.py
homeassistant/components/crownstone/devices.py
homeassistant/components/crownstone/entry_manager.py
homeassistant/components/crownstone/light.py
homeassistant/components/cups/sensor.py
homeassistant/components/currencylayer/sensor.py
homeassistant/components/daikin/*
@@ -177,11 +197,9 @@ omit =
homeassistant/components/denonavr/media_player.py
homeassistant/components/denonavr/receiver.py
homeassistant/components/deutsche_bahn/sensor.py
homeassistant/components/devolo_home_control/binary_sensor.py
homeassistant/components/devolo_home_control/climate.py
homeassistant/components/devolo_home_control/const.py
homeassistant/components/devolo_home_control/cover.py
homeassistant/components/devolo_home_control/devolo_device.py
homeassistant/components/devolo_home_control/devolo_multi_level_switch.py
homeassistant/components/devolo_home_control/light.py
homeassistant/components/devolo_home_control/sensor.py
@@ -195,7 +213,6 @@ omit =
homeassistant/components/dlib_face_detect/image_processing.py
homeassistant/components/dlib_face_identify/image_processing.py
homeassistant/components/dlink/switch.py
homeassistant/components/dlna_dmr/media_player.py
homeassistant/components/dnsip/sensor.py
homeassistant/components/dominos/*
homeassistant/components/doods/*
@@ -216,6 +233,7 @@ omit =
homeassistant/components/ecobee/__init__.py
homeassistant/components/ecobee/binary_sensor.py
homeassistant/components/ecobee/climate.py
homeassistant/components/ecobee/humidifier.py
homeassistant/components/ecobee/notify.py
homeassistant/components/ecobee/sensor.py
homeassistant/components/ecobee/weather.py
@@ -268,6 +286,8 @@ omit =
homeassistant/components/esphome/entry_data.py
homeassistant/components/esphome/fan.py
homeassistant/components/esphome/light.py
homeassistant/components/esphome/number.py
homeassistant/components/esphome/select.py
homeassistant/components/esphome/sensor.py
homeassistant/components/esphome/switch.py
homeassistant/components/essent/sensor.py
@@ -304,8 +324,14 @@ omit =
homeassistant/components/firmata/pin.py
homeassistant/components/firmata/sensor.py
homeassistant/components/firmata/switch.py
homeassistant/components/fitbit/sensor.py
homeassistant/components/fitbit/*
homeassistant/components/fixer/sensor.py
homeassistant/components/fjaraskupan/__init__.py
homeassistant/components/fjaraskupan/binary_sensor.py
homeassistant/components/fjaraskupan/const.py
homeassistant/components/fjaraskupan/fan.py
homeassistant/components/fjaraskupan/light.py
homeassistant/components/fjaraskupan/sensor.py
homeassistant/components/fleetgo/device_tracker.py
homeassistant/components/flexit/climate.py
homeassistant/components/flic/binary_sensor.py
@@ -313,7 +339,8 @@ omit =
homeassistant/components/flick_electric/const.py
homeassistant/components/flick_electric/sensor.py
homeassistant/components/flock/notify.py
homeassistant/components/flume/*
homeassistant/components/flume/__init__.py
homeassistant/components/flume/sensor.py
homeassistant/components/flunearyou/__init__.py
homeassistant/components/flunearyou/sensor.py
homeassistant/components/flux_led/light.py
@@ -330,22 +357,24 @@ omit =
homeassistant/components/freebox/sensor.py
homeassistant/components/freebox/switch.py
homeassistant/components/fritz/__init__.py
homeassistant/components/fritz/binary_sensor.py
homeassistant/components/fritz/common.py
homeassistant/components/fritz/const.py
homeassistant/components/fritz/device_tracker.py
homeassistant/components/fritz/sensor.py
homeassistant/components/fritz/services.py
homeassistant/components/fritz/switch.py
homeassistant/components/fritzbox_callmonitor/__init__.py
homeassistant/components/fritzbox_callmonitor/const.py
homeassistant/components/fritzbox_callmonitor/base.py
homeassistant/components/fritzbox_callmonitor/sensor.py
homeassistant/components/fritzbox_netmonitor/sensor.py
homeassistant/components/fronius/sensor.py
homeassistant/components/frontier_silicon/media_player.py
homeassistant/components/futurenow/light.py
homeassistant/components/garadget/cover.py
homeassistant/components/garmin_connect/__init__.py
homeassistant/components/garmin_connect/const.py
homeassistant/components/garmin_connect/sensor.py
homeassistant/components/garmin_connect/alarm_util.py
homeassistant/components/garages_amsterdam/__init__.py
homeassistant/components/garages_amsterdam/binary_sensor.py
homeassistant/components/garages_amsterdam/sensor.py
homeassistant/components/gc100/*
homeassistant/components/geniushub/*
homeassistant/components/github/sensor.py
@@ -358,9 +387,12 @@ omit =
homeassistant/components/goalfeed/*
homeassistant/components/goalzero/__init__.py
homeassistant/components/goalzero/binary_sensor.py
homeassistant/components/goalzero/sensor.py
homeassistant/components/goalzero/switch.py
homeassistant/components/google/*
homeassistant/components/google_cloud/tts.py
homeassistant/components/google_maps/device_tracker.py
homeassistant/components/google_pubsub/__init__.py
homeassistant/components/google_travel_time/__init__.py
homeassistant/components/google_travel_time/helpers.py
homeassistant/components/google_travel_time/sensor.py
@@ -371,6 +403,7 @@ omit =
homeassistant/components/greenwave/light.py
homeassistant/components/group/notify.py
homeassistant/components/growatt_server/sensor.py
homeassistant/components/growatt_server/__init__.py
homeassistant/components/gstreamer/media_player.py
homeassistant/components/gtfs/sensor.py
homeassistant/components/guardian/__init__.py
@@ -382,10 +415,6 @@ omit =
homeassistant/components/habitica/const.py
homeassistant/components/habitica/sensor.py
homeassistant/components/hangouts/*
homeassistant/components/hangouts/__init__.py
homeassistant/components/hangouts/const.py
homeassistant/components/hangouts/hangouts_bot.py
homeassistant/components/hangouts/hangups_utils.py
homeassistant/components/harman_kardon_avr/media_player.py
homeassistant/components/harmony/const.py
homeassistant/components/harmony/data.py
@@ -399,7 +428,8 @@ omit =
homeassistant/components/heatmiser/climate.py
homeassistant/components/hikvision/binary_sensor.py
homeassistant/components/hikvisioncam/switch.py
homeassistant/components/hisense_aehw4a1/*
homeassistant/components/hisense_aehw4a1/__init__.py
homeassistant/components/hisense_aehw4a1/climate.py
homeassistant/components/hitron_coda/device_tracker.py
homeassistant/components/hive/__init__.py
homeassistant/components/hive/climate.py
@@ -410,15 +440,18 @@ omit =
homeassistant/components/hive/water_heater.py
homeassistant/components/hlk_sw16/__init__.py
homeassistant/components/hlk_sw16/switch.py
homeassistant/components/home_connect/*
homeassistant/components/home_connect/__init__.py
homeassistant/components/home_connect/api.py
homeassistant/components/home_connect/binary_sensor.py
homeassistant/components/home_connect/entity.py
homeassistant/components/home_connect/light.py
homeassistant/components/home_connect/sensor.py
homeassistant/components/home_connect/switch.py
homeassistant/components/homematic/*
homeassistant/components/homematic/climate.py
homeassistant/components/homematic/cover.py
homeassistant/components/homematic/notify.py
homeassistant/components/home_plus_control/api.py
homeassistant/components/home_plus_control/helpers.py
homeassistant/components/home_plus_control/switch.py
homeassistant/components/homeworks/*
homeassistant/components/honeywell/__init__.py
homeassistant/components/honeywell/climate.py
homeassistant/components/horizon/media_player.py
homeassistant/components/hp_ilo/sensor.py
@@ -509,8 +542,6 @@ omit =
homeassistant/components/kira/*
homeassistant/components/kiwi/lock.py
homeassistant/components/knx/*
homeassistant/components/knx/climate.py
homeassistant/components/knx/cover.py
homeassistant/components/kodi/__init__.py
homeassistant/components/kodi/browse_media.py
homeassistant/components/kodi/const.py
@@ -528,15 +559,12 @@ omit =
homeassistant/components/lastfm/sensor.py
homeassistant/components/launch_library/const.py
homeassistant/components/launch_library/sensor.py
homeassistant/components/lcn/__init__.py
homeassistant/components/lcn/binary_sensor.py
homeassistant/components/lcn/climate.py
homeassistant/components/lcn/const.py
homeassistant/components/lcn/cover.py
homeassistant/components/lcn/helpers.py
homeassistant/components/lcn/light.py
homeassistant/components/lcn/scene.py
homeassistant/components/lcn/schemas.py
homeassistant/components/lcn/sensor.py
homeassistant/components/lcn/services.py
homeassistant/components/lcn/switch.py
@@ -545,7 +573,6 @@ omit =
homeassistant/components/life360/*
homeassistant/components/lifx/*
homeassistant/components/lifx_cloud/scene.py
homeassistant/components/lifx_legacy/light.py
homeassistant/components/lightwave/*
homeassistant/components/limitlessled/light.py
homeassistant/components/linksys_smart/device_tracker.py
@@ -599,6 +626,10 @@ omit =
homeassistant/components/meteo_france/sensor.py
homeassistant/components/meteo_france/weather.py
homeassistant/components/meteoalarm/*
homeassistant/components/meteoclimatic/__init__.py
homeassistant/components/meteoclimatic/const.py
homeassistant/components/meteoclimatic/sensor.py
homeassistant/components/meteoclimatic/weather.py
homeassistant/components/metoffice/sensor.py
homeassistant/components/metoffice/weather.py
homeassistant/components/microsoft/tts.py
@@ -608,6 +639,7 @@ omit =
homeassistant/components/mill/__init__.py
homeassistant/components/mill/climate.py
homeassistant/components/mill/const.py
homeassistant/components/mill/sensor.py
homeassistant/components/minecraft_server/__init__.py
homeassistant/components/minecraft_server/binary_sensor.py
homeassistant/components/minecraft_server/const.py
@@ -617,10 +649,13 @@ omit =
homeassistant/components/mitemp_bt/sensor.py
homeassistant/components/mjpeg/camera.py
homeassistant/components/mochad/*
homeassistant/components/modbus/climate.py
homeassistant/components/modbus/base_platform.py
homeassistant/components/modbus/binary_sensor.py
homeassistant/components/modbus/cover.py
homeassistant/components/modbus/climate.py
homeassistant/components/modbus/modbus.py
homeassistant/components/modbus/switch.py
homeassistant/components/modbus/sensor.py
homeassistant/components/modbus/validators.py
homeassistant/components/modem_callerid/sensor.py
homeassistant/components/motion_blinds/__init__.py
homeassistant/components/motion_blinds/const.py
@@ -638,7 +673,6 @@ omit =
homeassistant/components/mvglive/sensor.py
homeassistant/components/mychevy/*
homeassistant/components/mycroft/*
homeassistant/components/mycroft/notify.py
homeassistant/components/mysensors/__init__.py
homeassistant/components/mysensors/binary_sensor.py
homeassistant/components/mysensors/climate.py
@@ -651,17 +685,20 @@ omit =
homeassistant/components/mysensors/helpers.py
homeassistant/components/mysensors/light.py
homeassistant/components/mysensors/notify.py
homeassistant/components/mysensors/sensor.py
homeassistant/components/mysensors/switch.py
homeassistant/components/mystrom/binary_sensor.py
homeassistant/components/mystrom/light.py
homeassistant/components/mystrom/switch.py
homeassistant/components/n26/*
homeassistant/components/myq/__init__.py
homeassistant/components/myq/cover.py
homeassistant/components/myq/light.py
homeassistant/components/nad/media_player.py
homeassistant/components/nanoleaf/__init__.py
homeassistant/components/nanoleaf/light.py
homeassistant/components/neato/__init__.py
homeassistant/components/neato/api.py
homeassistant/components/neato/camera.py
homeassistant/components/neato/hub.py
homeassistant/components/neato/sensor.py
homeassistant/components/neato/switch.py
homeassistant/components/neato/vacuum.py
@@ -669,15 +706,21 @@ omit =
homeassistant/components/nello/lock.py
homeassistant/components/nest/legacy/*
homeassistant/components/netdata/sensor.py
homeassistant/components/netgear/__init__.py
homeassistant/components/netgear/device_tracker.py
homeassistant/components/netgear/router.py
homeassistant/components/netgear/sensor.py
homeassistant/components/netgear_lte/*
homeassistant/components/netio/switch.py
homeassistant/components/neurio_energy/sensor.py
homeassistant/components/nexia/climate.py
homeassistant/components/nextcloud/*
homeassistant/components/nfandroidtv/__init__.py
homeassistant/components/nfandroidtv/notify.py
homeassistant/components/niko_home_control/light.py
homeassistant/components/nilu/air_quality.py
homeassistant/components/nissan_leaf/*
homeassistant/components/nmap_tracker/__init__.py
homeassistant/components/nmap_tracker/device_tracker.py
homeassistant/components/nmbs/sensor.py
homeassistant/components/notion/__init__.py
@@ -703,6 +746,7 @@ omit =
homeassistant/components/omnilogic/__init__.py
homeassistant/components/omnilogic/common.py
homeassistant/components/omnilogic/sensor.py
homeassistant/components/omnilogic/switch.py
homeassistant/components/ondilo_ico/__init__.py
homeassistant/components/ondilo_ico/api.py
homeassistant/components/ondilo_ico/const.py
@@ -720,6 +764,7 @@ omit =
homeassistant/components/opencv/*
homeassistant/components/openevse/sensor.py
homeassistant/components/openexchangerates/sensor.py
homeassistant/components/opengarage/__init__.py
homeassistant/components/opengarage/cover.py
homeassistant/components/openhome/__init__.py
homeassistant/components/openhome/media_player.py
@@ -756,6 +801,7 @@ omit =
homeassistant/components/pcal9535a/*
homeassistant/components/pencom/switch.py
homeassistant/components/philips_js/__init__.py
homeassistant/components/philips_js/light.py
homeassistant/components/philips_js/media_player.py
homeassistant/components/philips_js/remote.py
homeassistant/components/pi_hole/sensor.py
@@ -807,14 +853,12 @@ omit =
homeassistant/components/radarr/sensor.py
homeassistant/components/radiotherm/climate.py
homeassistant/components/rainbird/*
homeassistant/components/rainbird/sensor.py
homeassistant/components/rainbird/switch.py
homeassistant/components/raincloud/*
homeassistant/components/rainmachine/__init__.py
homeassistant/components/rainmachine/binary_sensor.py
homeassistant/components/rainmachine/model.py
homeassistant/components/rainmachine/sensor.py
homeassistant/components/rainmachine/switch.py
homeassistant/components/rainforest_eagle/sensor.py
homeassistant/components/raspihats/*
homeassistant/components/raspyrfm/*
homeassistant/components/recollect_waste/__init__.py
@@ -831,11 +875,6 @@ omit =
homeassistant/components/rest/switch.py
homeassistant/components/ring/camera.py
homeassistant/components/ripple/sensor.py
homeassistant/components/rituals_perfume_genie/binary_sensor.py
homeassistant/components/rituals_perfume_genie/entity.py
homeassistant/components/rituals_perfume_genie/sensor.py
homeassistant/components/rituals_perfume_genie/switch.py
homeassistant/components/rituals_perfume_genie/__init__.py
homeassistant/components/rocketchat/notify.py
homeassistant/components/roomba/__init__.py
homeassistant/components/roomba/binary_sensor.py
@@ -853,7 +892,6 @@ omit =
homeassistant/components/rova/sensor.py
homeassistant/components/rpi_camera/*
homeassistant/components/rpi_gpio/*
homeassistant/components/rpi_gpio/cover.py
homeassistant/components/rpi_gpio_pwm/light.py
homeassistant/components/rpi_pfio/*
homeassistant/components/rpi_rf/switch.py
@@ -862,6 +900,7 @@ omit =
homeassistant/components/russound_rnet/media_player.py
homeassistant/components/sabnzbd/*
homeassistant/components/saj/sensor.py
homeassistant/components/samsungtv/bridge.py
homeassistant/components/satel_integra/*
homeassistant/components/schluter/*
homeassistant/components/scrape/sensor.py
@@ -872,9 +911,10 @@ omit =
homeassistant/components/screenlogic/services.py
homeassistant/components/screenlogic/switch.py
homeassistant/components/scsgate/*
homeassistant/components/scsgate/cover.py
homeassistant/components/sendgrid/notify.py
homeassistant/components/sense/*
homeassistant/components/sense/__init__.py
homeassistant/components/sense/binary_sensor.py
homeassistant/components/sense/sensor.py
homeassistant/components/sensehat/light.py
homeassistant/components/sensehat/sensor.py
homeassistant/components/sensibo/climate.py
@@ -905,6 +945,13 @@ omit =
homeassistant/components/skybeacon/sensor.py
homeassistant/components/skybell/*
homeassistant/components/slack/notify.py
homeassistant/components/sia/__init__.py
homeassistant/components/sia/alarm_control_panel.py
homeassistant/components/sia/binary_sensor.py
homeassistant/components/sia/const.py
homeassistant/components/sia/hub.py
homeassistant/components/sia/utils.py
homeassistant/components/sia/sia_entity_base.py
homeassistant/components/sinch/*
homeassistant/components/slide/*
homeassistant/components/sma/__init__.py
@@ -924,6 +971,7 @@ omit =
homeassistant/components/snmp/*
homeassistant/components/sochain/sensor.py
homeassistant/components/solaredge/__init__.py
homeassistant/components/solaredge/coordinator.py
homeassistant/components/solaredge/sensor.py
homeassistant/components/solaredge_local/sensor.py
homeassistant/components/solarlog/*
@@ -931,16 +979,19 @@ omit =
homeassistant/components/soma/__init__.py
homeassistant/components/soma/cover.py
homeassistant/components/soma/sensor.py
homeassistant/components/somfy/*
homeassistant/components/somfy/__init__.py
homeassistant/components/somfy/api.py
homeassistant/components/somfy/climate.py
homeassistant/components/somfy/cover.py
homeassistant/components/somfy/sensor.py
homeassistant/components/somfy/switch.py
homeassistant/components/somfy_mylink/__init__.py
homeassistant/components/somfy_mylink/cover.py
homeassistant/components/sonos/*
homeassistant/components/sony_projector/switch.py
homeassistant/components/spc/*
homeassistant/components/speedtestdotnet/*
homeassistant/components/spider/*
homeassistant/components/splunk/*
homeassistant/components/spotcrime/sensor.py
homeassistant/components/spotify/__init__.py
homeassistant/components/spotify/media_player.py
homeassistant/components/spotify/system_health.py
@@ -957,13 +1008,25 @@ omit =
homeassistant/components/suez_water/*
homeassistant/components/supervisord/sensor.py
homeassistant/components/surepetcare/__init__.py
homeassistant/components/surepetcare/entity.py
homeassistant/components/surepetcare/binary_sensor.py
homeassistant/components/surepetcare/sensor.py
homeassistant/components/swiss_hydrological_data/sensor.py
homeassistant/components/swiss_public_transport/sensor.py
homeassistant/components/swisscom/device_tracker.py
homeassistant/components/switchbot/switch.py
homeassistant/components/switcher_kis/switch.py
homeassistant/components/switchbot/binary_sensor.py
homeassistant/components/switchbot/__init__.py
homeassistant/components/switchbot/const.py
homeassistant/components/switchbot/entity.py
homeassistant/components/switchbot/cover.py
homeassistant/components/switchbot/sensor.py
homeassistant/components/switchbot/coordinator.py
homeassistant/components/switchmate/switch.py
homeassistant/components/syncthing/__init__.py
homeassistant/components/syncthing/sensor.py
homeassistant/components/syncthru/__init__.py
homeassistant/components/syncthru/binary_sensor.py
homeassistant/components/syncthru/sensor.py
homeassistant/components/synology_chat/notify.py
homeassistant/components/synology_dsm/__init__.py
@@ -973,13 +1036,19 @@ omit =
homeassistant/components/synology_dsm/switch.py
homeassistant/components/synology_srm/device_tracker.py
homeassistant/components/syslog/notify.py
homeassistant/components/system_bridge/__init__.py
homeassistant/components/system_bridge/binary_sensor.py
homeassistant/components/system_bridge/const.py
homeassistant/components/system_bridge/coordinator.py
homeassistant/components/system_bridge/sensor.py
homeassistant/components/systemmonitor/sensor.py
homeassistant/components/tado/*
homeassistant/components/tado/device_tracker.py
homeassistant/components/tahoma/*
homeassistant/components/tank_utility/sensor.py
homeassistant/components/tankerkoenig/*
homeassistant/components/tapsaff/binary_sensor.py
homeassistant/components/tautulli/const.py
homeassistant/components/tautulli/coordinator.py
homeassistant/components/tautulli/sensor.py
homeassistant/components/ted5000/sensor.py
homeassistant/components/telegram/notify.py
@@ -995,14 +1064,6 @@ omit =
homeassistant/components/telnet/switch.py
homeassistant/components/temper/sensor.py
homeassistant/components/tensorflow/image_processing.py
homeassistant/components/tesla/__init__.py
homeassistant/components/tesla/binary_sensor.py
homeassistant/components/tesla/climate.py
homeassistant/components/tesla/const.py
homeassistant/components/tesla/device_tracker.py
homeassistant/components/tesla/lock.py
homeassistant/components/tesla/sensor.py
homeassistant/components/tesla/switch.py
homeassistant/components/tfiac/climate.py
homeassistant/components/thermoworks_smoke/sensor.py
homeassistant/components/thethingsnetwork/*
@@ -1033,20 +1094,19 @@ omit =
homeassistant/components/toon/switch.py
homeassistant/components/torque/sensor.py
homeassistant/components/totalconnect/__init__.py
homeassistant/components/totalconnect/alarm_control_panel.py
homeassistant/components/totalconnect/binary_sensor.py
homeassistant/components/totalconnect/const.py
homeassistant/components/touchline/climate.py
homeassistant/components/tplink/common.py
homeassistant/components/tplink/switch.py
homeassistant/components/tplink_lte/*
homeassistant/components/traccar/device_tracker.py
homeassistant/components/traccar/const.py
homeassistant/components/trackr/device_tracker.py
homeassistant/components/tractive/__init__.py
homeassistant/components/tractive/binary_sensor.py
homeassistant/components/tractive/device_tracker.py
homeassistant/components/tractive/entity.py
homeassistant/components/tractive/sensor.py
homeassistant/components/tractive/switch.py
homeassistant/components/tradfri/*
homeassistant/components/tradfri/light.py
homeassistant/components/tradfri/cover.py
homeassistant/components/tradfri/base_class.py
homeassistant/components/trafikverket_train/sensor.py
homeassistant/components/trafikverket_weatherstation/sensor.py
homeassistant/components/transmission/sensor.py
@@ -1055,9 +1115,9 @@ omit =
homeassistant/components/transmission/errors.py
homeassistant/components/travisci/sensor.py
homeassistant/components/tuya/__init__.py
homeassistant/components/tuya/base.py
homeassistant/components/tuya/climate.py
homeassistant/components/tuya/const.py
homeassistant/components/tuya/cover.py
homeassistant/components/tuya/fan.py
homeassistant/components/tuya/light.py
homeassistant/components/tuya/scene.py
@@ -1079,7 +1139,6 @@ omit =
homeassistant/components/upcloud/switch.py
homeassistant/components/upnp/*
homeassistant/components/upc_connect/*
homeassistant/components/uptimerobot/binary_sensor.py
homeassistant/components/uscis/sensor.py
homeassistant/components/vallox/*
homeassistant/components/vasttrafik/sensor.py
@@ -1126,6 +1185,8 @@ omit =
homeassistant/components/waterfurnace/*
homeassistant/components/watson_iot/*
homeassistant/components/watson_tts/tts.py
homeassistant/components/watttime/__init__.py
homeassistant/components/watttime/sensor.py
homeassistant/components/waze_travel_time/__init__.py
homeassistant/components/waze_travel_time/helpers.py
homeassistant/components/waze_travel_time/sensor.py
@@ -1163,23 +1224,34 @@ omit =
homeassistant/components/xiaomi_miio/__init__.py
homeassistant/components/xiaomi_miio/air_quality.py
homeassistant/components/xiaomi_miio/alarm_control_panel.py
homeassistant/components/xiaomi_miio/binary_sensor.py
homeassistant/components/xiaomi_miio/device.py
homeassistant/components/xiaomi_miio/device_tracker.py
homeassistant/components/xiaomi_miio/fan.py
homeassistant/components/xiaomi_miio/gateway.py
homeassistant/components/xiaomi_miio/humidifier.py
homeassistant/components/xiaomi_miio/light.py
homeassistant/components/xiaomi_miio/number.py
homeassistant/components/xiaomi_miio/remote.py
homeassistant/components/xiaomi_miio/select.py
homeassistant/components/xiaomi_miio/sensor.py
homeassistant/components/xiaomi_miio/switch.py
homeassistant/components/xiaomi_miio/vacuum.py
homeassistant/components/xiaomi_tv/media_player.py
homeassistant/components/xmpp/notify.py
homeassistant/components/xs1/*
homeassistant/components/yale_smart_alarm/__init__.py
homeassistant/components/yale_smart_alarm/alarm_control_panel.py
homeassistant/components/yale_smart_alarm/const.py
homeassistant/components/yale_smart_alarm/coordinator.py
homeassistant/components/yamaha_musiccast/__init__.py
homeassistant/components/yamaha_musiccast/media_player.py
homeassistant/components/yandex_transport/*
homeassistant/components/yeelightsunflower/light.py
homeassistant/components/yi/camera.py
homeassistant/components/youless/__init__.py
homeassistant/components/youless/const.py
homeassistant/components/youless/sensor.py
homeassistant/components/zabbix/*
homeassistant/components/zamg/sensor.py
homeassistant/components/zamg/weather.py
@@ -1206,7 +1278,6 @@ omit =
homeassistant/components/supla/*
homeassistant/components/zwave/util.py
homeassistant/components/zwave_js/discovery.py
homeassistant/components/zwave_js/light.py
homeassistant/components/zwave_js/sensor.py
[report]
@@ -1222,5 +1293,6 @@ exclude_lines =
raise AssertionError
raise NotImplementedError
# TYPE_CHECKING block is never executed during pytest run
# TYPE_CHECKING and @overload blocks are never executed during pytest run
if TYPE_CHECKING:
@overload
+6 -1
View File
@@ -24,7 +24,12 @@
"editor.formatOnSave": true,
"editor.formatOnType": true,
"files.trimTrailingWhitespace": true,
"terminal.integrated.shell.linux": "/usr/bin/zsh",
"terminal.integrated.profiles.linux": {
"zsh": {
"path": "/usr/bin/zsh"
}
},
"terminal.integrated.defaultProfile.linux": "zsh",
"yaml.customTags": [
"!input scalar",
"!secret scalar",
+1 -13
View File
@@ -36,19 +36,6 @@
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Example entry for `configuration.yaml`:
<!--
Supplying a configuration snippet, makes it easier for a maintainer to test
your PR. Furthermore, for new integrations, it gives an impression of how
the configuration would look like.
Note: Remove this section if this PR does not have an example entry.
-->
```yaml
# Example configuration.yaml
```
## Additional information
<!--
Details are important, and help maintainers processing your PR.
@@ -84,6 +71,7 @@ If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running: `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt`.
Updated by running `python3 -m script.gen_requirements_all`.
- [ ] For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
- [ ] Untested files have been added to `.coveragerc`.
The integration reached or maintains the following [Integration Quality Scale][quality-scale]:
+40 -16
View File
@@ -23,7 +23,7 @@ jobs:
publish: ${{ steps.version.outputs.publish }}
steps:
- name: Checkout the repository
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
with:
fetch-depth: 0
@@ -47,6 +47,19 @@ jobs:
with:
ignore-dev: true
- name: Generate meta info
shell: bash
run: |
echo "${{ github.sha }};${{ github.ref }};${{ github.event_name }};${{ github.actor }}" > OFFICIAL_IMAGE
- name: Signing meta info file
uses: home-assistant/actions/helpers/codenotary@master
with:
source: file://${{ github.workspace }}/OFFICIAL_IMAGE
user: ${{ secrets.VCN_USER }}
password: ${{ secrets.VCN_PASSWORD }}
organisation: home-assistant.io
build_python:
name: Build PyPi package
needs: init
@@ -54,7 +67,7 @@ jobs:
if: needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
@@ -84,7 +97,7 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
if: needs.init.outputs.channel == 'dev'
@@ -101,21 +114,26 @@ jobs:
python3 script/version_bump.py nightly
version="$(python setup.py -V)"
- name: Write meta info file
shell: bash
run: |
echo "${{ github.sha }};${{ github.ref }};${{ github.event_name }};${{ github.actor }}" > rootfs/OFFICIAL_IMAGE
- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v1.10.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v1.10.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2021.04.2
uses: home-assistant/builder@2021.09.0
with:
args: |
$BUILD_ARGS \
@@ -134,6 +152,7 @@ jobs:
machine:
- generic-x86-64
- intel-nuc
- khadas-vim3
- odroid-c2
- odroid-c4
- odroid-n2
@@ -151,23 +170,23 @@ jobs:
- tinker
steps:
- name: Checkout the repository
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v1.10.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v1.10.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2021.04.2
uses: home-assistant/builder@2021.09.0
with:
args: |
$BUILD_ARGS \
@@ -182,7 +201,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
@@ -214,26 +233,27 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v1.10.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v1.10.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Install VCN tools
uses: home-assistant/actions/helpers/vcn@master
- name: Build Meta Image
shell: bash
run: |
bash <(curl https://getvcn.codenotary.com -L)
export DOCKER_CLI_EXPERIMENTAL=enabled
function create_manifest() {
@@ -307,5 +327,9 @@ jobs:
create_manifest "${docker_reg}" "latest" "${{ needs.init.outputs.version }}"
create_manifest "${docker_reg}" "beta" "${{ needs.init.outputs.version }}"
create_manifest "${docker_reg}" "rc" "${{ needs.init.outputs.version }}"
# Create series version tag (e.g. 2021.6)
v="${{ needs.init.outputs.version }}"
create_manifest "${docker_reg}" "${v%.*}" "${{ needs.init.outputs.version }}"
fi
done
+49 -49
View File
@@ -10,7 +10,7 @@ on:
pull_request: ~
env:
CACHE_VERSION: 1
CACHE_VERSION: 3
DEFAULT_PYTHON: 3.8
PRE_COMMIT_CACHE: ~/.cache/pre-commit
SQLALCHEMY_WARN_20: 1
@@ -26,7 +26,7 @@ jobs:
pre-commit-key: ${{ steps.generate-pre-commit-key.outputs.key }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v2.2.2
@@ -41,7 +41,7 @@ jobs:
hashFiles('homeassistant/package_constraints.txt') }}"
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: >-
@@ -65,7 +65,7 @@ jobs:
hashFiles('.pre-commit-config.yaml') }}"
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: >-
@@ -84,7 +84,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
id: python
@@ -92,7 +92,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
@@ -104,7 +104,7 @@ jobs:
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: ${{ runner.os }}-${{ needs.prepare-base.outputs.pre-commit-key }}
@@ -124,7 +124,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
id: python
@@ -132,7 +132,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
@@ -144,7 +144,7 @@ jobs:
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: ${{ runner.os }}-${{ needs.prepare-base.outputs.pre-commit-key }}
@@ -164,7 +164,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
id: python
@@ -172,7 +172,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
@@ -184,7 +184,7 @@ jobs:
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: ${{ runner.os }}-${{ needs.prepare-base.outputs.pre-commit-key }}
@@ -207,7 +207,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Register hadolint problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/hadolint.json"
@@ -226,7 +226,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
id: python
@@ -234,7 +234,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
@@ -246,7 +246,7 @@ jobs:
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: ${{ runner.os }}-${{ needs.prepare-base.outputs.pre-commit-key }}
@@ -269,7 +269,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
id: python
@@ -277,7 +277,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
@@ -289,7 +289,7 @@ jobs:
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: ${{ runner.os }}-${{ needs.prepare-base.outputs.pre-commit-key }}
@@ -312,7 +312,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
id: python
@@ -320,7 +320,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
@@ -332,7 +332,7 @@ jobs:
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: ${{ runner.os }}-${{ needs.prepare-base.outputs.pre-commit-key }}
@@ -352,7 +352,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
id: python
@@ -360,7 +360,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
@@ -372,7 +372,7 @@ jobs:
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: ${{ runner.os }}-${{ needs.prepare-base.outputs.pre-commit-key }}
@@ -395,7 +395,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
id: python
@@ -403,7 +403,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
@@ -415,7 +415,7 @@ jobs:
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: ${{ runner.os }}-${{ needs.prepare-base.outputs.pre-commit-key }}
@@ -436,7 +436,7 @@ jobs:
# needs: prepare-base
# steps:
# - name: Check out code from GitHub
# uses: actions/checkout@v2
# uses: actions/checkout@v2.3.4
# - name: Run ShellCheck
# uses: ludeeus/action-shellcheck@0.3.0
@@ -446,7 +446,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
id: python
@@ -454,7 +454,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
@@ -466,7 +466,7 @@ jobs:
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: ${{ runner.os }}-${{ needs.prepare-base.outputs.pre-commit-key }}
@@ -493,10 +493,10 @@ jobs:
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ matrix.python-version }}-${{
@@ -517,7 +517,7 @@ jobs:
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
id: python
@@ -525,7 +525,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
@@ -551,7 +551,7 @@ jobs:
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Generate partial Python venv restore key
id: generate-python-key
run: >-
@@ -561,7 +561,7 @@ jobs:
hashFiles('homeassistant/package_constraints.txt') }}"
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: >-
@@ -595,10 +595,10 @@ jobs:
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ matrix.python-version }}-${{
@@ -626,10 +626,10 @@ jobs:
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ matrix.python-version }}-${{
@@ -660,10 +660,10 @@ jobs:
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ matrix.python-version }}-${{
@@ -700,7 +700,7 @@ jobs:
-p no:sugar \
tests
- name: Upload coverage artifact
uses: actions/upload-artifact@v2.2.3
uses: actions/upload-artifact@v2.2.4
with:
name: coverage-${{ matrix.python-version }}-group${{ matrix.group }}
path: .coverage
@@ -718,10 +718,10 @@ jobs:
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
with:
path: venv
key: ${{ runner.os }}-${{ matrix.python-version }}-${{
@@ -740,4 +740,4 @@ jobs:
coverage report --fail-under=94
coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1.4.1
uses: codecov/codecov-action@v2.1.0
+5 -5
View File
@@ -9,12 +9,12 @@ jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2.0.3
- uses: dessant/lock-threads@v3
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: "30"
issue-exclude-created-before: "2020-10-01T00:00:00Z"
issue-inactive-days: "30"
exclude-issue-created-before: "2020-10-01T00:00:00Z"
issue-lock-reason: ""
pr-lock-inactive-days: "1"
pr-exclude-created-before: "2020-11-01T00:00:00Z"
pr-inactive-days: "1"
exclude-pr-created-before: "2020-11-01T00:00:00Z"
pr-lock-reason: ""
+3 -3
View File
@@ -16,7 +16,7 @@ jobs:
# - No PRs marked as no-stale
# - No issues marked as no-stale or help-wanted
- name: 90 days stale issues & PRs policy
uses: actions/stale@v3.0.18
uses: actions/stale@v4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
@@ -53,7 +53,7 @@ jobs:
# - No PRs marked as no-stale or new-integrations
# - No issues (-1)
- name: 30 days stale PRs policy
uses: actions/stale@v3.0.18
uses: actions/stale@v4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 30
@@ -78,7 +78,7 @@ jobs:
# - No Issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: Needs more information stale issues policy
uses: actions/stale@v3.0.18
uses: actions/stale@v4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
only-labels: "needs-more-information"
+64
View File
@@ -0,0 +1,64 @@
name: Translations
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
push:
branches:
- dev
paths:
- "**strings.json"
env:
DEFAULT_PYTHON: 3.8
jobs:
upload:
name: Upload
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Upload Translations
run: |
export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
python3 -m script.translations upload
download:
name: Download
needs: upload
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.2.2
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Download Translations
run: |
export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
python3 -m script.translations download
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
with:
name: GitHub Action
email: github-action@users.noreply.github.com
- name: Update translation
run: |
git add homeassistant
git commit -am "[ci skip] Translation update"
git push
+166
View File
@@ -0,0 +1,166 @@
name: Build wheels
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
schedule:
- cron: "0 4 * * *"
push:
branches:
- dev
- rc
paths:
- "requirements.txt"
- "requirements_all.txt"
jobs:
init:
name: Initialize wheels builder
runs-on: ubuntu-latest
outputs:
architectures: ${{ steps.info.outputs.architectures }}
steps:
- name: Checkout the repository
uses: actions/checkout@v2.3.4
- name: Get information
id: info
uses: home-assistant/actions/helpers/info@master
- name: Create requirements_diff file
run: |
if [[ ${{ github.event_name }} =~ (schedule|workflow_dispatch) ]]; then
touch requirements_diff.txt
else
curl -s -o requirements_diff.txt https://raw.githubusercontent.com/home-assistant/core/master/requirements.txt
fi
- name: Write env-file
run: |
(
echo "GRPC_BUILD_WITH_BORING_SSL_ASM=false"
echo "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=true"
echo "GRPC_PYTHON_BUILD_WITH_CYTHON=true"
echo "GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=true"
) > .env_file
- name: Upload env_file
uses: actions/upload-artifact@v2.2.4
with:
name: env_file
path: ./.env_file
- name: Upload requirements_diff
uses: actions/upload-artifact@v2.2.4
with:
name: requirements_diff
path: ./requirements_diff.txt
core:
name: Build wheels with ${{ matrix.tag }} (${{ matrix.arch }}) for core
needs: init
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
tag:
- "3.9-alpine3.14"
steps:
- name: Checkout the repository
uses: actions/checkout@v2.3.4
- name: Download env_file
uses: actions/download-artifact@v2
with:
name: env_file
- name: Download requirements_diff
uses: actions/download-artifact@v2
with:
name: requirements_diff
- name: Build wheels
uses: home-assistant/wheels@2021.07.0
with:
tag: ${{ matrix.tag }}
arch: ${{ matrix.arch }}
wheels-host: wheels.hass.io
wheels-key: ${{ secrets.WHEELS_KEY }}
wheels-user: wheels
env-file: true
apk: "build-base;cmake;git;linux-headers;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;cargo"
pip: "Cython;numpy"
skip-binary: aiohttp
constraints: "homeassistant/package_constraints.txt"
requirements-diff: 'requirements_diff.txt'
requirements: "requirements.txt"
integrations:
name: Build wheels with ${{ matrix.tag }} (${{ matrix.arch }}) for integrations
needs: init
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
tag:
- "3.9-alpine3.14"
steps:
- name: Checkout the repository
uses: actions/checkout@v2.3.4
- name: Download env_file
uses: actions/download-artifact@v2
with:
name: env_file
- name: Download requirements_diff
uses: actions/download-artifact@v2
with:
name: requirements_diff
- name: Uncomment packages
run: |
requirement_files="requirements_all.txt requirements_diff.txt"
for requirement_file in ${requirement_files}; do
sed -i "s|# pybluez|pybluez|g" ${requirement_file}
sed -i "s|# bluepy|bluepy|g" ${requirement_file}
sed -i "s|# beacontools|beacontools|g" ${requirement_file}
sed -i "s|# RPi.GPIO|RPi.GPIO|g" ${requirement_file}
sed -i "s|# raspihats|raspihats|g" ${requirement_file}
sed -i "s|# rpi-rf|rpi-rf|g" ${requirement_file}
sed -i "s|# blinkt|blinkt|g" ${requirement_file}
sed -i "s|# fritzconnection|fritzconnection|g" ${requirement_file}
sed -i "s|# pyuserinput|pyuserinput|g" ${requirement_file}
sed -i "s|# evdev|evdev|g" ${requirement_file}
sed -i "s|# smbus-cffi|smbus-cffi|g" ${requirement_file}
sed -i "s|# i2csense|i2csense|g" ${requirement_file}
sed -i "s|# python-eq3bt|python-eq3bt|g" ${requirement_file}
sed -i "s|# pycups|pycups|g" ${requirement_file}
sed -i "s|# homekit|homekit|g" ${requirement_file}
sed -i "s|# decora_wifi|decora_wifi|g" ${requirement_file}
sed -i "s|# decora|decora|g" ${requirement_file}
sed -i "s|# avion|avion|g" ${requirement_file}
sed -i "s|# PySwitchbot|PySwitchbot|g" ${requirement_file}
sed -i "s|# pySwitchmate|pySwitchmate|g" ${requirement_file}
sed -i "s|# face_recognition|face_recognition|g" ${requirement_file}
sed -i "s|# bme680|bme680|g" ${requirement_file}
sed -i "s|# python-gammu|python-gammu|g" ${requirement_file}
done
- name: Build wheels
uses: home-assistant/wheels@2021.07.0
with:
tag: ${{ matrix.tag }}
arch: ${{ matrix.arch }}
wheels-host: wheels.hass.io
wheels-key: ${{ secrets.WHEELS_KEY }}
wheels-user: wheels
env-file: true
apk: "build-base;cmake;git;linux-headers;libexecinfo-dev;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;autoconf;automake;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;cargo"
pip: "Cython;numpy;scikit-build"
skip-binary: aiohttp
constraints: "homeassistant/package_constraints.txt"
requirements-diff: 'requirements_diff.txt'
requirements: "requirements_all.txt"
+2 -2
View File
@@ -1,8 +1,8 @@
config/*
/config
config2/*
tests/testing_config/deps
tests/testing_config/home-assistant.log
tests/testing_config/home-assistant.log*
# hass-release
data/
+8 -8
View File
@@ -1,11 +1,11 @@
repos:
- repo: https://github.com/asottile/pyupgrade
rev: v2.12.0
rev: v2.27.0
hooks:
- id: pyupgrade
args: [--py38-plus]
- repo: https://github.com/psf/black
rev: 21.4b0
rev: 21.9b0
hooks:
- id: black
args:
@@ -17,13 +17,13 @@ repos:
hooks:
- id: codespell
args:
- --ignore-words-list=hass,alot,datas,dof,dur,ether,farenheit,hist,iff,ines,ist,lightsensor,mut,nd,pres,referer,ser,serie,te,technik,ue,uint,visability,wan,wanna,withing,iam,incomfort
- --ignore-words-list=hass,alot,datas,dof,dur,ether,farenheit,hist,iff,ines,ist,lightsensor,mut,nd,pres,referer,ser,serie,te,technik,ue,uint,visability,wan,wanna,withing,iam,incomfort,ba
- --skip="./.*,*.csv,*.json"
- --quiet-level=2
exclude_types: [csv, json]
exclude: ^tests/fixtures/
- repo: https://gitlab.com/pycqa/flake8
rev: 3.9.1
rev: 3.9.2
hooks:
- id: flake8
additional_dependencies:
@@ -31,7 +31,7 @@ repos:
- pyflakes==2.3.1
- flake8-docstrings==1.6.0
- pydocstyle==6.0.0
- flake8-comprehensions==3.4.0
- flake8-comprehensions==3.5.0
- flake8-noqa==1.1.0
- mccabe==0.6.1
files: ^(homeassistant|script|tests)/.+\.py$
@@ -45,7 +45,7 @@ repos:
- --configfile=tests/bandit.yaml
files: ^(homeassistant|script|tests)/.+\.py$
- repo: https://github.com/PyCQA/isort
rev: 5.8.0
rev: 5.9.3
hooks:
- id: isort
- repo: https://github.com/pre-commit/pre-commit-hooks
@@ -61,7 +61,7 @@ repos:
- --branch=master
- --branch=rc
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.24.2
rev: v1.26.1
hooks:
- id: yamllint
- repo: https://github.com/pre-commit/mirrors-prettier
@@ -70,7 +70,7 @@ repos:
- id: prettier
stages: [manual]
- repo: https://github.com/cdce8p/python-typing-update
rev: v0.3.3
rev: v0.3.5
hooks:
# Run `python-typing-update` hook manually from time to time
# to update python typing syntax.
+79
View File
@@ -3,45 +3,124 @@
# to enable strict mypy checks.
homeassistant.components
homeassistant.components.acer_projector.*
homeassistant.components.accuweather.*
homeassistant.components.actiontec.*
homeassistant.components.aftership.*
homeassistant.components.air_quality.*
homeassistant.components.airly.*
homeassistant.components.airvisual.*
homeassistant.components.aladdin_connect.*
homeassistant.components.alarm_control_panel.*
homeassistant.components.amazon_polly.*
homeassistant.components.ambee.*
homeassistant.components.ambient_station.*
homeassistant.components.amcrest.*
homeassistant.components.ampio.*
homeassistant.components.automation.*
homeassistant.components.binary_sensor.*
homeassistant.components.bluetooth_tracker.*
homeassistant.components.bond.*
homeassistant.components.braviatv.*
homeassistant.components.brother.*
homeassistant.components.calendar.*
homeassistant.components.camera.*
homeassistant.components.canary.*
homeassistant.components.cover.*
homeassistant.components.crownstone.*
homeassistant.components.device_automation.*
homeassistant.components.device_tracker.*
homeassistant.components.devolo_home_control.*
homeassistant.components.dlna_dmr.*
homeassistant.components.dnsip.*
homeassistant.components.dsmr.*
homeassistant.components.dunehd.*
homeassistant.components.elgato.*
homeassistant.components.esphome.*
homeassistant.components.energy.*
homeassistant.components.fastdotcom.*
homeassistant.components.fitbit.*
homeassistant.components.flunearyou.*
homeassistant.components.forecast_solar.*
homeassistant.components.fritzbox.*
homeassistant.components.frontend.*
homeassistant.components.fritz.*
homeassistant.components.geo_location.*
homeassistant.components.gios.*
homeassistant.components.group.*
homeassistant.components.guardian.*
homeassistant.components.history.*
homeassistant.components.homeassistant.triggers.event
homeassistant.components.http.*
homeassistant.components.huawei_lte.*
homeassistant.components.hyperion.*
homeassistant.components.image_processing.*
homeassistant.components.integration.*
homeassistant.components.iqvia.*
homeassistant.components.knx.*
homeassistant.components.kraken.*
homeassistant.components.lcn.*
homeassistant.components.light.*
homeassistant.components.local_ip.*
homeassistant.components.lock.*
homeassistant.components.mailbox.*
homeassistant.components.media_player.*
homeassistant.components.modbus.*
homeassistant.components.mysensors.*
homeassistant.components.nam.*
homeassistant.components.neato.*
homeassistant.components.nest.*
homeassistant.components.netatmo.*
homeassistant.components.network.*
homeassistant.components.no_ip.*
homeassistant.components.notify.*
homeassistant.components.notion.*
homeassistant.components.number.*
homeassistant.components.onewire.*
homeassistant.components.openuv.*
homeassistant.components.persistent_notification.*
homeassistant.components.pi_hole.*
homeassistant.components.proximity.*
homeassistant.components.rainmachine.*
homeassistant.components.recollect_waste.*
homeassistant.components.recorder.purge
homeassistant.components.recorder.repack
homeassistant.components.recorder.statistics
homeassistant.components.remote.*
homeassistant.components.renault.*
homeassistant.components.rituals_perfume_genie.*
homeassistant.components.samsungtv.*
homeassistant.components.scene.*
homeassistant.components.select.*
homeassistant.components.sensor.*
homeassistant.components.shelly.*
homeassistant.components.simplisafe.*
homeassistant.components.slack.*
homeassistant.components.sonos.media_player
homeassistant.components.ssdp.*
homeassistant.components.stream.*
homeassistant.components.sun.*
homeassistant.components.surepetcare.*
homeassistant.components.switch.*
homeassistant.components.switcher_kis.*
homeassistant.components.synology_dsm.*
homeassistant.components.systemmonitor.*
homeassistant.components.tag.*
homeassistant.components.tautulli.*
homeassistant.components.tcp.*
homeassistant.components.tile.*
homeassistant.components.tplink.*
homeassistant.components.tradfri.*
homeassistant.components.tts.*
homeassistant.components.upcloud.*
homeassistant.components.uptime.*
homeassistant.components.uptimerobot.*
homeassistant.components.vacuum.*
homeassistant.components.vallox.*
homeassistant.components.water_heater.*
homeassistant.components.weather.*
homeassistant.components.websocket_api.*
homeassistant.components.zodiac.*
homeassistant.components.zeroconf.*
homeassistant.components.zone.*
homeassistant.components.zwave_js.*
+30 -7
View File
@@ -2,13 +2,10 @@
"version": "2.0.0",
"tasks": [
{
"label": "Preview",
"label": "Run Home Assistant Core",
"type": "shell",
"command": "hass -c ./config",
"group": {
"kind": "test",
"isDefault": true
},
"group": "test",
"presentation": {
"reveal": "always",
"panel": "new"
@@ -19,7 +16,9 @@
"label": "Pytest",
"type": "shell",
"command": "pytest --timeout=10 tests",
"dependsOn": ["Install all Test Requirements"],
"dependsOn": [
"Install all Test Requirements"
],
"group": {
"kind": "test",
"isDefault": true
@@ -48,7 +47,24 @@
"label": "Pylint",
"type": "shell",
"command": "pylint homeassistant",
"dependsOn": ["Install all Requirements"],
"dependsOn": [
"Install all Requirements"
],
"group": {
"kind": "test",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
},
{
"label": "Code Coverage",
"detail": "Generate code coverage report for a given integration.",
"type": "shell",
"command": "pytest ./tests/components/${input:integrationName}/ --cov=homeassistant.components.${input:integrationName} --cov-report term-missing",
"group": {
"kind": "test",
"isDefault": true
@@ -101,5 +117,12 @@
},
"problemMatcher": []
}
],
"inputs": [
{
"id": "integrationName",
"type": "promptString",
"description": "For which integration should the task run?"
}
]
}
+77 -31
View File
@@ -22,19 +22,25 @@ homeassistant/scripts/check_config.py @kellerza
homeassistant/components/abode/* @shred86
homeassistant/components/accuweather/* @bieniu
homeassistant/components/acmeda/* @atmurray
homeassistant/components/adax/* @danielhiversen
homeassistant/components/adguard/* @frenck
homeassistant/components/advantage_air/* @Bre77
homeassistant/components/aemet/* @noltari
homeassistant/components/agent_dvr/* @ispysoftware
homeassistant/components/airly/* @bieniu
homeassistant/components/airnow/* @asymworks
homeassistant/components/airthings/* @danielhiversen
homeassistant/components/airtouch4/* @LonePurpleWolf
homeassistant/components/airvisual/* @bachya
homeassistant/components/alarmdecoder/* @ajschmidt8
homeassistant/components/alexa/* @home-assistant/cloud @ochlocracy
homeassistant/components/almond/* @gcampax @balloob
homeassistant/components/alpha_vantage/* @fabaff
homeassistant/components/ambee/* @frenck
homeassistant/components/amberelectric/* @madpilot
homeassistant/components/ambiclimate/* @danielhiversen
homeassistant/components/ambient_station/* @bachya
homeassistant/components/amcrest/* @flacjacket
homeassistant/components/analytics/* @home-assistant/core @ludeeus
homeassistant/components/androidtv/* @JeffLIrion
homeassistant/components/apache_kafka/* @bachya
@@ -64,19 +70,20 @@ homeassistant/components/azure_service_bus/* @hfurubotten
homeassistant/components/beewi_smartclim/* @alemuro
homeassistant/components/bitcoin/* @fabaff
homeassistant/components/bizkaibus/* @UgaitzEtxebarria
homeassistant/components/blebox/* @gadgetmobile
homeassistant/components/blebox/* @bbx-a @bbx-jp
homeassistant/components/blink/* @fronzbot
homeassistant/components/blueprint/* @home-assistant/core
homeassistant/components/bmp280/* @belidzs
homeassistant/components/bmw_connected_drive/* @gerard33 @rikroe
homeassistant/components/bond/* @prystupa
homeassistant/components/braviatv/* @bieniu
homeassistant/components/bond/* @prystupa @joshs85
homeassistant/components/bosch_shc/* @tschamm
homeassistant/components/braviatv/* @bieniu @Drafteed
homeassistant/components/broadlink/* @danielhiversen @felipediel
homeassistant/components/brother/* @bieniu
homeassistant/components/brunt/* @eavanvalkenburg
homeassistant/components/bsblan/* @liudger
homeassistant/components/bt_smarthub/* @jxwolstenholme
homeassistant/components/buienradar/* @mjj4791 @ties
homeassistant/components/buienradar/* @mjj4791 @ties @Robbie1221
homeassistant/components/cast/* @emontnemery
homeassistant/components/cert_expiry/* @Cereal2nd @jjlawren
homeassistant/components/circuit/* @braam
@@ -86,6 +93,7 @@ homeassistant/components/cisco_webex_teams/* @fbradyirl
homeassistant/components/climacell/* @raman325
homeassistant/components/cloud/* @home-assistant/cloud
homeassistant/components/cloudflare/* @ludeeus @ctalkington
homeassistant/components/coinbase/* @tombrien
homeassistant/components/color_extractor/* @GenericStudent
homeassistant/components/comfoconnect/* @michaelarnauts
homeassistant/components/compensation/* @Petro31
@@ -94,10 +102,11 @@ homeassistant/components/configurator/* @home-assistant/core
homeassistant/components/control4/* @lawtancool
homeassistant/components/conversation/* @home-assistant/core
homeassistant/components/coolmaster/* @OnFreund
homeassistant/components/coronavirus/* @home_assistant/core
homeassistant/components/coronavirus/* @home-assistant/core
homeassistant/components/counter/* @fabaff
homeassistant/components/cover/* @home-assistant/core
homeassistant/components/cpuspeed/* @fabaff
homeassistant/components/crownstone/* @Crownstone @RicArch97
homeassistant/components/cups/* @fabaff
homeassistant/components/daikin/* @fredrike
homeassistant/components/darksky/* @fabaff
@@ -111,11 +120,12 @@ homeassistant/components/device_automation/* @home-assistant/core
homeassistant/components/devolo_home_control/* @2Fake @Shutgun
homeassistant/components/dexcom/* @gagebenne
homeassistant/components/dhcp/* @bdraco
homeassistant/components/dht/* @thegardenmonkey
homeassistant/components/digital_ocean/* @fabaff
homeassistant/components/directv/* @ctalkington
homeassistant/components/discogs/* @thibmaek
homeassistant/components/dlna_dmr/* @StevenLooman @chishm
homeassistant/components/doorbird/* @oblogic7 @bdraco
homeassistant/components/dsmr/* @Robbie1221
homeassistant/components/dsmr/* @Robbie1221 @frenck
homeassistant/components/dsmr_reader/* @depl0y
homeassistant/components/dunehd/* @bieniu
homeassistant/components/dwd_weather_warnings/* @runningman84 @stephan192 @Hummel95
@@ -126,6 +136,7 @@ homeassistant/components/ecobee/* @marthoc
homeassistant/components/econet/* @vangorra @w1ll1am23
homeassistant/components/ecovacs/* @OverloadUT
homeassistant/components/edl21/* @mtdcr
homeassistant/components/efergy/* @tkdrob
homeassistant/components/egardia/* @jeroenterheerdt
homeassistant/components/eight_sleep/* @mezz64
homeassistant/components/elgato/* @frenck
@@ -135,6 +146,7 @@ homeassistant/components/emby/* @mezz64
homeassistant/components/emoncms/* @borpin
homeassistant/components/emonitor/* @bdraco
homeassistant/components/emulated_kasa/* @kbickar
homeassistant/components/energy/* @home-assistant/core
homeassistant/components/enigma2/* @fbradyirl
homeassistant/components/enocean/* @bdurrer
homeassistant/components/enphase_envoy/* @gtdiehl
@@ -144,7 +156,7 @@ homeassistant/components/ephember/* @ttroy50
homeassistant/components/epson/* @pszafer
homeassistant/components/epsonworkforce/* @ThaStealth
homeassistant/components/eq3btsmart/* @rytilahti
homeassistant/components/esphome/* @OttoWinter
homeassistant/components/esphome/* @OttoWinter @jesserockz
homeassistant/components/essent/* @TheLastProject
homeassistant/components/evohome/* @zxdavb
homeassistant/components/ezviz/* @RenierM26 @baqs
@@ -155,40 +167,47 @@ homeassistant/components/filter/* @dgomes
homeassistant/components/fireservicerota/* @cyberjunky
homeassistant/components/firmata/* @DaAwesomeP
homeassistant/components/fixer/* @fabaff
homeassistant/components/fjaraskupan/* @elupus
homeassistant/components/flick_electric/* @ZephireNZ
homeassistant/components/flipr/* @cnico
homeassistant/components/flo/* @dmulcahey
homeassistant/components/flock/* @fabaff
homeassistant/components/flume/* @ChrisMandich @bdraco
homeassistant/components/flunearyou/* @bachya
homeassistant/components/forecast_solar/* @klaasnicolaas @frenck
homeassistant/components/forked_daapd/* @uvjustin
homeassistant/components/fortios/* @kimfrellsen
homeassistant/components/foscam/* @skgsergio
homeassistant/components/freebox/* @hacf-fr @Quentame
homeassistant/components/freedompro/* @stefano055415
homeassistant/components/fritz/* @mammuth @AaronDavidSchneider @chemelli74
homeassistant/components/fritzbox/* @mib1185
homeassistant/components/fronius/* @nielstron
homeassistant/components/frontend/* @home-assistant/frontend
homeassistant/components/garmin_connect/* @cyberjunky
homeassistant/components/garages_amsterdam/* @klaasnicolaas
homeassistant/components/gdacs/* @exxamalte
homeassistant/components/generic_hygrostat/* @Shulyaka
homeassistant/components/geniushub/* @zxdavb
homeassistant/components/geo_json_events/* @exxamalte
homeassistant/components/geo_rss_events/* @exxamalte
homeassistant/components/geonetnz_quakes/* @exxamalte
homeassistant/components/geonetnz_volcano/* @exxamalte
homeassistant/components/gios/* @bieniu
homeassistant/components/github/* @timmo001 @ludeeus
homeassistant/components/gitter/* @fabaff
homeassistant/components/glances/* @fabaff @engrbm87
homeassistant/components/goalzero/* @tkdrob
homeassistant/components/gogogate2/* @vangorra
homeassistant/components/gogogate2/* @vangorra @bdraco
homeassistant/components/google_assistant/* @home-assistant/cloud
homeassistant/components/google_cloud/* @lufton
homeassistant/components/gpsd/* @fabaff
homeassistant/components/gree/* @cmroche
homeassistant/components/greeneye_monitor/* @jkeljo
homeassistant/components/group/* @home-assistant/core
homeassistant/components/growatt_server/* @indykoning @muppet3000
homeassistant/components/growatt_server/* @indykoning @muppet3000 @JasperPlant
homeassistant/components/guardian/* @bachya
homeassistant/components/habitica/* @ASMfreaK @leikoilja
homeassistant/components/harmony/* @ehendrix23 @bramkragten @bdraco @mkeesey
homeassistant/components/harmony/* @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan
homeassistant/components/hassio/* @home-assistant/supervisor
homeassistant/components/heatmiser/* @andylockran
homeassistant/components/heos/* @andrewsayre
@@ -203,8 +222,9 @@ homeassistant/components/home_connect/* @DavidMStraub
homeassistant/components/home_plus_control/* @chemaaa
homeassistant/components/homeassistant/* @home-assistant/core
homeassistant/components/homekit/* @bdraco
homeassistant/components/homekit_controller/* @Jc2k
homeassistant/components/homekit_controller/* @Jc2k @bdraco
homeassistant/components/homematic/* @pvizeli @danielperna84
homeassistant/components/honeywell/* @rdfurman
homeassistant/components/http/* @home-assistant/core
homeassistant/components/huawei_lte/* @scop @fphammerle
homeassistant/components/huawei_router/* @abmantis
@@ -233,6 +253,7 @@ homeassistant/components/integration/* @dgomes
homeassistant/components/intent/* @home-assistant/core
homeassistant/components/intesishome/* @jnimmo
homeassistant/components/ios/* @robbiet480
homeassistant/components/iotawatt/* @gtdiehl @jyavenard
homeassistant/components/iperf3/* @rohankapoorcom
homeassistant/components/ipma/* @dgomes @abmantis
homeassistant/components/ipp/* @ctalkington
@@ -247,16 +268,18 @@ homeassistant/components/kaiterra/* @Michsior14
homeassistant/components/keba/* @dannerph
homeassistant/components/keenetic_ndms2/* @foxel
homeassistant/components/kef/* @basnijholt
homeassistant/components/keyboard_remote/* @bendavid
homeassistant/components/keyboard_remote/* @bendavid @lanrat
homeassistant/components/kmtronic/* @dgomes
homeassistant/components/knx/* @Julius2342 @farmio @marvin-w
homeassistant/components/kodi/* @OnFreund @cgtobi
homeassistant/components/konnected/* @heythisisnate @kit-klein
homeassistant/components/kostal_plenticore/* @stegm
homeassistant/components/kraken/* @eifinger
homeassistant/components/kulersky/* @emlove
homeassistant/components/lametric/* @robbiet480
homeassistant/components/launch_library/* @ludeeus
homeassistant/components/lcn/* @alengwenus
homeassistant/components/lg_netcast/* @Drafteed
homeassistant/components/life360/* @pnbruckner
homeassistant/components/linux_battery/* @fabaff
homeassistant/components/litejet/* @joncar
@@ -284,6 +307,7 @@ homeassistant/components/met/* @danielhiversen @thimic
homeassistant/components/met_eireann/* @DylanGore
homeassistant/components/meteo_france/* @hacf-fr @oncleben31 @Quentame
homeassistant/components/meteoalarm/* @rolfberkenbosch
homeassistant/components/meteoclimatic/* @adrianmo
homeassistant/components/metoffice/* @MrHarcombe
homeassistant/components/miflora/* @danielhiversen @basnijholt
homeassistant/components/mikrotik/* @engrbm87
@@ -293,6 +317,8 @@ homeassistant/components/minecraft_server/* @elmurato
homeassistant/components/minio/* @tkislan
homeassistant/components/mobile_app/* @robbiet480
homeassistant/components/modbus/* @adamchengtkc @janiversen @vzahradnik
homeassistant/components/modem_callerid/* @tkdrob
homeassistant/components/modern_forms/* @wonderslug
homeassistant/components/monoprice/* @etsinko @OnFreund
homeassistant/components/moon/* @fabaff
homeassistant/components/motion_blinds/* @starkillerOG
@@ -303,9 +329,11 @@ homeassistant/components/msteams/* @peroyvind
homeassistant/components/mullvad/* @meichthys
homeassistant/components/mutesync/* @currentoor
homeassistant/components/my/* @home-assistant/core
homeassistant/components/myq/* @bdraco
homeassistant/components/myq/* @bdraco @ehendrix23
homeassistant/components/mysensors/* @MartinHjelmare @functionpointer
homeassistant/components/mystrom/* @fabaff
homeassistant/components/nam/* @bieniu
homeassistant/components/nanoleaf/* @milanmeu
homeassistant/components/neato/* @dshokouhi @Santobert
homeassistant/components/nederlandse_spoorwegen/* @YarmoM
homeassistant/components/nello/* @pschmitt
@@ -313,12 +341,15 @@ homeassistant/components/ness_alarm/* @nickw444
homeassistant/components/nest/* @allenporter
homeassistant/components/netatmo/* @cgtobi
homeassistant/components/netdata/* @fabaff
homeassistant/components/netgear/* @hacf-fr @Quentame @starkillerOG
homeassistant/components/nexia/* @bdraco
homeassistant/components/nextbus/* @vividboarder
homeassistant/components/nextcloud/* @meichthys
homeassistant/components/nfandroidtv/* @tkdrob
homeassistant/components/nightscout/* @marciogranzotto
homeassistant/components/nilu/* @hfurubotten
homeassistant/components/nissan_leaf/* @filcole
homeassistant/components/nmap_tracker/* @bdraco
homeassistant/components/nmbs/* @thibmaek
homeassistant/components/no_ip/* @fabaff
homeassistant/components/noaa_tides/* @jdelaney72
@@ -327,7 +358,6 @@ homeassistant/components/notify_events/* @matrozov @papajojo
homeassistant/components/notion/* @bachya
homeassistant/components/nsw_fuel_station/* @nickw444
homeassistant/components/nsw_rural_fire_service_feed/* @exxamalte
homeassistant/components/nuheat/* @bdraco
homeassistant/components/nuki/* @pschmitt @pvizeli @pree
homeassistant/components/numato/* @clssn
homeassistant/components/number/* @home-assistant/core @Shulyaka
@@ -353,6 +383,7 @@ homeassistant/components/orangepi_gpio/* @pascallj
homeassistant/components/oru/* @bvlaicu
homeassistant/components/ovo_energy/* @timmo001
homeassistant/components/ozw/* @cgarwood @marcelveldt @MartinHjelmare
homeassistant/components/p1_monitor/* @klaasnicolaas
homeassistant/components/panel_custom/* @home-assistant/frontend
homeassistant/components/panel_iframe/* @home-assistant/frontend
homeassistant/components/pcal9535a/* @Shulyaka
@@ -372,6 +403,7 @@ homeassistant/components/powerwall/* @bdraco @jrester
homeassistant/components/profiler/* @bdraco
homeassistant/components/progettihwsw/* @ardaseremet
homeassistant/components/prometheus/* @knyar
homeassistant/components/prosegur/* @dgomes
homeassistant/components/proxmoxve/* @k4ds3 @jhollowe @Corbeno
homeassistant/components/ps4/* @ktnrg45
homeassistant/components/push/* @dgomes
@@ -392,6 +424,7 @@ homeassistant/components/rainmachine/* @bachya
homeassistant/components/random/* @fabaff
homeassistant/components/recollect_waste/* @bachya
homeassistant/components/rejseplanen/* @DarkFox
homeassistant/components/renault/* @epenet
homeassistant/components/repetier/* @MTrab
homeassistant/components/rflink/* @javicalle
homeassistant/components/rfxtrx/* @danielhiversen @elupus @RobBie1221
@@ -407,28 +440,30 @@ homeassistant/components/rpi_power/* @shenxn @swetoast
homeassistant/components/ruckus_unleashed/* @gabe565
homeassistant/components/safe_mode/* @home-assistant/core
homeassistant/components/saj/* @fredericvl
homeassistant/components/samsungtv/* @escoand
homeassistant/components/samsungtv/* @escoand @chemelli74
homeassistant/components/scene/* @home-assistant/core
homeassistant/components/schluter/* @prairieapps
homeassistant/components/scrape/* @fabaff
homeassistant/components/screenlogic/* @dieselrabbit
homeassistant/components/script/* @home-assistant/core
homeassistant/components/search/* @home-assistant/core
homeassistant/components/select/* @home-assistant/core
homeassistant/components/sense/* @kbickar
homeassistant/components/sensibo/* @andrey-git
homeassistant/components/sentry/* @dcramer @frenck
homeassistant/components/serial/* @fabaff
homeassistant/components/seven_segments/* @fabaff
homeassistant/components/seventeentrack/* @bachya
homeassistant/components/sharkiq/* @ajmarks
homeassistant/components/shell_command/* @home-assistant/core
homeassistant/components/shelly/* @balloob @bieniu @thecode @chemelli74
homeassistant/components/shiftr/* @fabaff
homeassistant/components/shodan/* @fabaff
homeassistant/components/sia/* @eavanvalkenburg
homeassistant/components/sighthound/* @robmarkcole
homeassistant/components/signal_messenger/* @bbernhard
homeassistant/components/simplisafe/* @bachya
homeassistant/components/sinch/* @bendikrb
homeassistant/components/siren/* @home-assistant/core @raman325
homeassistant/components/sisyphus/* @jkeljo
homeassistant/components/sky_hub/* @rogerselwyn
homeassistant/components/slack/* @bachya
@@ -450,7 +485,7 @@ homeassistant/components/soma/* @ratsept
homeassistant/components/somfy/* @tetienne
homeassistant/components/sonarr/* @ctalkington
homeassistant/components/songpal/* @rytilahti @shenxn
homeassistant/components/sonos/* @cgtobi
homeassistant/components/sonos/* @cgtobi @jjlawren
homeassistant/components/spaceapi/* @fabaff
homeassistant/components/speedtestdotnet/* @rohankapoorcom @engrbm87
homeassistant/components/spider/* @peternijssen
@@ -469,17 +504,19 @@ homeassistant/components/subaru/* @G-Two
homeassistant/components/suez_water/* @ooii
homeassistant/components/sun/* @Swamp-Ig
homeassistant/components/supla/* @mwegrzynek
homeassistant/components/surepetcare/* @benleb
homeassistant/components/surepetcare/* @benleb @danielhiversen
homeassistant/components/swiss_hydrological_data/* @fabaff
homeassistant/components/swiss_public_transport/* @fabaff
homeassistant/components/switchbot/* @danielhiversen
homeassistant/components/switcher_kis/* @tomerfi
homeassistant/components/switchbot/* @danielhiversen @RenierM26
homeassistant/components/switcher_kis/* @tomerfi @thecode
homeassistant/components/switchmate/* @danielhiversen
homeassistant/components/syncthing/* @zhulik
homeassistant/components/syncthru/* @nielstron
homeassistant/components/synology_dsm/* @hacf-fr @Quentame @mib1185
homeassistant/components/synology_srm/* @aerialls
homeassistant/components/syslog/* @fabaff
homeassistant/components/tado/* @michaelarnauts @bdraco @noltari
homeassistant/components/system_bridge/* @timmo001
homeassistant/components/tado/* @michaelarnauts @noltari
homeassistant/components/tag/* @balloob @dmulcahey
homeassistant/components/tahoma/* @philklei
homeassistant/components/tankerkoenig/* @guillempages
@@ -487,8 +524,7 @@ homeassistant/components/tapsaff/* @bazwilliams
homeassistant/components/tasmota/* @emontnemery
homeassistant/components/tautulli/* @ludeeus
homeassistant/components/tellduslive/* @fredrike
homeassistant/components/template/* @PhracturedBlue @tetienne
homeassistant/components/tesla/* @zabuldon @alandtse
homeassistant/components/template/* @PhracturedBlue @tetienne @home-assistant/core
homeassistant/components/tfiac/* @fredrike @mellado
homeassistant/components/thethingsnetwork/* @fabaff
homeassistant/components/threshold/* @fabaff
@@ -502,11 +538,13 @@ homeassistant/components/totalconnect/* @austinmroczek
homeassistant/components/tplink/* @rytilahti @thegardenmonkey
homeassistant/components/traccar/* @ludeeus
homeassistant/components/trace/* @home-assistant/core
homeassistant/components/tractive/* @Danielhiversen @zhulik @bieniu
homeassistant/components/tradfri/* @janiversen
homeassistant/components/trafikverket_train/* @endor-force
homeassistant/components/trafikverket_weatherstation/* @endor-force
homeassistant/components/transmission/* @engrbm87 @JPHutchins
homeassistant/components/tts/* @pvizeli
homeassistant/components/tuya/* @ollo69
homeassistant/components/tuya/* @Tuya
homeassistant/components/twentemilieu/* @frenck
homeassistant/components/twinkly/* @dr1rrb
homeassistant/components/ubus/* @noltari
@@ -516,10 +554,12 @@ homeassistant/components/upb/* @gwww
homeassistant/components/upc_connect/* @pvizeli @fabaff
homeassistant/components/upcloud/* @scop
homeassistant/components/updater/* @home-assistant/core
homeassistant/components/upnp/* @StevenLooman
homeassistant/components/upnp/* @StevenLooman @ehendrix23
homeassistant/components/uptimerobot/* @ludeeus
homeassistant/components/usb/* @bdraco
homeassistant/components/usgs_earthquakes_feed/* @exxamalte
homeassistant/components/utility_meter/* @dgomes
homeassistant/components/vallox/* @andre-richter
homeassistant/components/velbus/* @Cereal2nd @brefra
homeassistant/components/velux/* @Julius2342
homeassistant/components/vera/* @pavoni
@@ -535,14 +575,18 @@ homeassistant/components/vlc_telnet/* @rodripf @dmcc
homeassistant/components/volkszaehler/* @fabaff
homeassistant/components/volumio/* @OnFreund
homeassistant/components/wake_on_lan/* @ntilley905
homeassistant/components/wallbox/* @hesselonline
homeassistant/components/waqi/* @andrey-git
homeassistant/components/watson_tts/* @rutkai
homeassistant/components/watttime/* @bachya
homeassistant/components/weather/* @fabaff
homeassistant/components/webostv/* @bendavid
homeassistant/components/webostv/* @bendavid @thecode
homeassistant/components/websocket_api/* @home-assistant/core
homeassistant/components/wemo/* @esev
homeassistant/components/whirlpool/* @abmantis
homeassistant/components/wiffi/* @mampfes
homeassistant/components/wilight/* @leofig-rj
homeassistant/components/wirelesstag/* @sergeymaysak
homeassistant/components/withings/* @vangorra
homeassistant/components/wled/* @frenck
homeassistant/components/wolflink/* @adamkrol93
@@ -551,14 +595,16 @@ homeassistant/components/worldclock/* @fabaff
homeassistant/components/xbox/* @hunterjm
homeassistant/components/xbox_live/* @MartinHjelmare
homeassistant/components/xiaomi_aqara/* @danielhiversen @syssi
homeassistant/components/xiaomi_miio/* @rytilahti @syssi @starkillerOG
homeassistant/components/xiaomi_miio/* @rytilahti @syssi @starkillerOG @bieniu
homeassistant/components/xiaomi_tv/* @simse
homeassistant/components/xmpp/* @fabaff @flowolf
homeassistant/components/yamaha_musiccast/* @jalmeroth
homeassistant/components/yale_smart_alarm/* @gjohansson-ST
homeassistant/components/yamaha_musiccast/* @vigonotion @micha91
homeassistant/components/yandex_transport/* @rishatik92 @devbis
homeassistant/components/yeelight/* @rytilahti @zewelor @shenxn
homeassistant/components/yeelight/* @rytilahti @zewelor @shenxn @starkillerOG
homeassistant/components/yeelightsunflower/* @lindsaymarkward
homeassistant/components/yi/* @bachya
homeassistant/components/youless/* @gjong
homeassistant/components/zeroconf/* @bdraco
homeassistant/components/zerproc/* @emlove
homeassistant/components/zha/* @dmulcahey @adminiuga
+15
View File
@@ -16,6 +16,21 @@ RUN \
-e ./homeassistant \
&& python3 -m compileall homeassistant/homeassistant
# Fix Bug with Alpine 3.14 and sqlite 3.35
# https://gitlab.alpinelinux.org/alpine/aports/-/issues/12524
ARG BUILD_ARCH
RUN \
if [ "${BUILD_ARCH}" = "amd64" ]; then \
export APK_ARCH=x86_64; \
elif [ "${BUILD_ARCH}" = "i386" ]; then \
export APK_ARCH=x86; \
else \
export APK_ARCH=${BUILD_ARCH}; \
fi \
&& curl -O http://dl-cdn.alpinelinux.org/alpine/v3.13/main/${APK_ARCH}/sqlite-libs-3.34.1-r0.apk \
&& apk add --no-cache sqlite-libs-3.34.1-r0.apk \
&& rm -f sqlite-libs-3.34.1-r0.apk
# Home Assistant S6-Overlay
COPY rootfs /
+3 -1
View File
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.8
FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.9
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
@@ -6,6 +6,8 @@ RUN \
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
# Additional library needed by some tests and accordingly by VScode Tests Discovery
bluez \
libudev-dev \
libavformat-dev \
libavcodec-dev \
-232
View File
@@ -1,232 +0,0 @@
# https://dev.azure.com/home-assistant
trigger:
batch: true
branches:
include:
- rc
- dev
- master
pr:
- rc
- dev
- master
resources:
containers:
- container: 38
image: homeassistant/ci-azure:3.8
repositories:
- repository: azure
type: github
name: "home-assistant/ci-azure"
endpoint: "home-assistant"
variables:
- name: PythonMain
value: "38"
- name: versionHadolint
value: "v1.17.6"
stages:
- stage: "Overview"
jobs:
- job: "Lint"
pool:
vmImage: "ubuntu-latest"
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "requirements_test.txt | homeassistant/package_constraints.txt"
build: |
python -m venv venv
. venv/bin/activate
pip install -r requirements_test.txt
pre-commit install-hooks
- script: |
. venv/bin/activate
pre-commit run --hook-stage manual check-executables-have-shebangs --all-files
displayName: "Run executables check"
- script: |
. venv/bin/activate
pre-commit run codespell --all-files
displayName: "Run codespell"
- script: |
. venv/bin/activate
pre-commit run flake8 --all-files
displayName: "Run flake8"
- script: |
. venv/bin/activate
pre-commit run bandit --all-files
displayName: "Run bandit"
- script: |
. venv/bin/activate
pre-commit run isort --all-files --show-diff-on-failure
displayName: "Run isort"
- script: |
. venv/bin/activate
pre-commit run check-json --all-files
displayName: "Run check-json"
- script: |
. venv/bin/activate
pre-commit run yamllint --all-files
displayName: "Run yamllint"
- script: |
. venv/bin/activate
pre-commit run pyupgrade --all-files --show-diff-on-failure
displayName: "Run pyupgrade"
# Prettier seems to hang on Azure, unknown why yet.
# Temporarily disable the check to no block PRs
# - script: |
# . venv/bin/activate
# pre-commit run prettier --all-files --show-diff-on-failure
# displayName: 'Run prettier'
- job: "Validate"
pool:
vmImage: "ubuntu-latest"
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "homeassistant/package_constraints.txt"
build: |
python -m venv venv
. venv/bin/activate
pip install -e .
- script: |
. venv/bin/activate
python -m script.hassfest --action validate
displayName: "Validate manifests"
- script: |
. venv/bin/activate
./script/gen_requirements_all.py validate
displayName: "requirements_all validate"
- job: "CheckFormat"
pool:
vmImage: "ubuntu-latest"
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "requirements_test.txt | homeassistant/package_constraints.txt"
build: |
python -m venv venv
. venv/bin/activate
pip install -r requirements_test.txt
pre-commit install-hooks
- script: |
. venv/bin/activate
pre-commit run black --all-files --show-diff-on-failure
displayName: "Check Black formatting"
- job: "Docker"
pool:
vmImage: "ubuntu-latest"
steps:
- script: sudo docker pull hadolint/hadolint:$(versionHadolint)
displayName: "Install Hadolint"
- script: |
set -e
for dockerfile in Dockerfile Dockerfile.dev
do
echo "Linting: $dockerfile"
docker run --rm -i \
-v "$(pwd)/.hadolint.yaml:/.hadolint.yaml:ro" \
hadolint/hadolint:$(versionHadolint) < "$dockerfile"
done
displayName: "Run Hadolint"
- stage: "Tests"
dependsOn:
- "Overview"
jobs:
- job: "PyTest"
pool:
vmImage: "ubuntu-latest"
strategy:
maxParallel: 3
matrix:
Python38:
python.container: "38"
container: $[ variables['python.container'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "requirements_test_all.txt | requirements_test.txt | homeassistant/package_constraints.txt"
build: |
set -e
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools pytest-azurepipelines pytest-xdist -c homeassistant/package_constraints.txt
pip install -r requirements_test_all.txt
- script: |
. venv/bin/activate
pip install -e .
displayName: "Install Home Assistant"
- script: |
set -e
. venv/bin/activate
pytest --timeout=9 --durations=10 -n auto --dist=loadfile -qq -o console_output_style=count -p no:sugar tests
script/check_dirty
displayName: "Run pytest for python $(python.container)"
condition: and(succeeded(), ne(variables['python.container'], variables['PythonMain']))
- script: |
set -e
. venv/bin/activate
pytest --timeout=9 --durations=10 -n auto --dist=loadfile --cov homeassistant --cov-report html -qq -o console_output_style=count -p no:sugar tests
codecov --token $(codecovToken)
script/check_dirty
displayName: "Run pytest for python $(python.container) / coverage"
condition: and(succeeded(), eq(variables['python.container'], variables['PythonMain']))
- stage: "FullCheck"
dependsOn:
- "Overview"
jobs:
- job: "Pylint"
pool:
vmImage: "ubuntu-latest"
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "requirements_all.txt | requirements_test.txt | homeassistant/package_constraints.txt"
build: |
set -e
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools wheel
pip install -r requirements_all.txt
pip install -r requirements_test.txt
- script: |
. venv/bin/activate
pip install -e .
displayName: "Install Home Assistant"
- script: |
. venv/bin/activate
pylint homeassistant
displayName: "Run pylint"
- job: "Mypy"
pool:
vmImage: "ubuntu-latest"
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "requirements_test.txt | setup.py | homeassistant/package_constraints.txt"
build: |
python -m venv venv
. venv/bin/activate
pip install -e . -r requirements_test.txt
pre-commit install-hooks
- script: |
. venv/bin/activate
pre-commit run mypy --all-files
displayName: "Run mypy"
-65
View File
@@ -1,65 +0,0 @@
# https://dev.azure.com/home-assistant
trigger:
batch: true
branches:
include:
- dev
pr: none
schedules:
- cron: "0 0 * * *"
displayName: "translation update"
branches:
include:
- dev
always: true
variables:
- group: translation
resources:
repositories:
- repository: azure
type: github
name: 'home-assistant/ci-azure'
endpoint: 'home-assistant'
jobs:
- job: 'Upload'
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.8'
inputs:
versionSpec: '3.8'
- script: |
export LOKALISE_TOKEN="$(lokaliseToken)"
export AZURE_BRANCH="$(Build.SourceBranchName)"
python3 -m script.translations upload
displayName: 'Upload Translation'
- job: 'Download'
dependsOn:
- 'Upload'
condition: or(eq(variables['Build.Reason'], 'Schedule'), eq(variables['Build.Reason'], 'Manual'))
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.7'
inputs:
versionSpec: '3.7'
- template: templates/azp-step-git-init.yaml@azure
- script: |
export LOKALISE_TOKEN="$(lokaliseToken)"
python3 -m script.translations download
displayName: 'Download Translation'
- script: |
git checkout dev
git add homeassistant
git commit -am "[ci skip] Translation update"
git push
displayName: 'Update translation'
-100
View File
@@ -1,100 +0,0 @@
# https://dev.azure.com/home-assistant
trigger:
branches:
include:
- dev
- rc
paths:
include:
- requirements_all.txt
pr: none
schedules:
- cron: '0 */4 * * *'
displayName: 'daily builds'
branches:
include:
- dev
variables:
- name: versionWheels
value: '1.13.0-3.8-alpine3.12'
resources:
repositories:
- repository: azure
type: github
name: 'home-assistant/ci-azure'
endpoint: 'home-assistant'
jobs:
- template: templates/azp-job-wheels.yaml@azure
parameters:
builderVersion: '$(versionWheels)'
builderApk: 'build-base;cmake;git;linux-headers;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev'
builderPip: 'Cython;numpy'
skipBinary: 'aiohttp'
wheelsRequirement: 'requirements.txt'
wheelsRequirementDiff: 'requirements_diff.txt'
wheelsConstraint: 'homeassistant/package_constraints.txt'
jobName: 'Wheels_Core'
preBuild:
- script: |
if [[ "$(Build.Reason)" =~ (Schedule|Manual) ]]; then
exit 0
else
curl -s -o requirements_diff.txt https://raw.githubusercontent.com/home-assistant/core/master/requirements.txt
fi
displayName: 'Prepare requirements files for Home Assistant Core wheels'
- template: templates/azp-job-wheels.yaml@azure
parameters:
builderVersion: '$(versionWheels)'
builderApk: 'build-base;cmake;git;linux-headers;libexecinfo-dev;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;autoconf;automake;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev'
builderPip: 'Cython;numpy;scikit-build'
builderEnvFile: true
skipBinary: 'aiohttp'
wheelsRequirement: 'requirements_wheels.txt'
wheelsRequirementDiff: 'requirements_diff.txt'
wheelsConstraint: 'homeassistant/package_constraints.txt'
jobName: 'Wheels_Integrations'
preBuild:
- script: |
cp requirements_all.txt requirements_wheels.txt
if [[ "$(Build.Reason)" =~ (Schedule|Manual) ]]; then
touch requirements_diff.txt
else
curl -s -o requirements_diff.txt https://raw.githubusercontent.com/home-assistant/core/master/requirements_all.txt
fi
requirement_files="requirements_wheels.txt requirements_diff.txt"
for requirement_file in ${requirement_files}; do
sed -i "s|# pybluez|pybluez|g" ${requirement_file}
sed -i "s|# bluepy|bluepy|g" ${requirement_file}
sed -i "s|# beacontools|beacontools|g" ${requirement_file}
sed -i "s|# RPi.GPIO|RPi.GPIO|g" ${requirement_file}
sed -i "s|# raspihats|raspihats|g" ${requirement_file}
sed -i "s|# rpi-rf|rpi-rf|g" ${requirement_file}
sed -i "s|# blinkt|blinkt|g" ${requirement_file}
sed -i "s|# fritzconnection|fritzconnection|g" ${requirement_file}
sed -i "s|# pyuserinput|pyuserinput|g" ${requirement_file}
sed -i "s|# evdev|evdev|g" ${requirement_file}
sed -i "s|# smbus-cffi|smbus-cffi|g" ${requirement_file}
sed -i "s|# i2csense|i2csense|g" ${requirement_file}
sed -i "s|# python-eq3bt|python-eq3bt|g" ${requirement_file}
sed -i "s|# pycups|pycups|g" ${requirement_file}
sed -i "s|# homekit|homekit|g" ${requirement_file}
sed -i "s|# decora_wifi|decora_wifi|g" ${requirement_file}
sed -i "s|# decora|decora|g" ${requirement_file}
sed -i "s|# avion|avion|g" ${requirement_file}
sed -i "s|# PySwitchbot|PySwitchbot|g" ${requirement_file}
sed -i "s|# pySwitchmate|pySwitchmate|g" ${requirement_file}
sed -i "s|# face_recognition|face_recognition|g" ${requirement_file}
sed -i "s|# py_noaa|py_noaa|g" ${requirement_file}
sed -i "s|# bme680|bme680|g" ${requirement_file}
sed -i "s|# python-gammu|python-gammu|g" ${requirement_file}
done
# Write env for build settings
(
echo "GRPC_BUILD_WITH_BORING_SSL_ASM="
echo "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1"
) > .env_file
displayName: 'Prepare requirements files for Home Assistant wheels'
+6 -6
View File
@@ -2,11 +2,11 @@
"image": "homeassistant/{arch}-homeassistant",
"shadow_repository": "ghcr.io/home-assistant",
"build_from": {
"aarch64": "ghcr.io/home-assistant/aarch64-homeassistant-base:2021.04.3",
"armhf": "ghcr.io/home-assistant/armhf-homeassistant-base:2021.04.3",
"armv7": "ghcr.io/home-assistant/armv7-homeassistant-base:2021.04.3",
"amd64": "ghcr.io/home-assistant/amd64-homeassistant-base:2021.04.3",
"i386": "ghcr.io/home-assistant/i386-homeassistant-base:2021.04.3"
"aarch64": "ghcr.io/home-assistant/aarch64-homeassistant-base:2021.09.0",
"armhf": "ghcr.io/home-assistant/armhf-homeassistant-base:2021.09.0",
"armv7": "ghcr.io/home-assistant/armv7-homeassistant-base:2021.09.0",
"amd64": "ghcr.io/home-assistant/amd64-homeassistant-base:2021.09.0",
"i386": "ghcr.io/home-assistant/i386-homeassistant-base:2021.09.0"
},
"labels": {
"io.hass.type": "core",
@@ -19,4 +19,4 @@
"org.opencontainers.image.licenses": "Apache License 2.0"
},
"version_tag": true
}
}
-8
View File
@@ -118,14 +118,6 @@ homeassistant.util.pressure
:undoc-members:
:show-inheritance:
homeassistant.util.ruamel\_yaml
-------------------------------
.. automodule:: homeassistant.util.ruamel_yaml
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.ssl
----------------------
+18 -9
View File
@@ -2,6 +2,7 @@
from __future__ import annotations
import argparse
import faulthandler
import os
import platform
import subprocess
@@ -10,6 +11,8 @@ import threading
from homeassistant.const import REQUIRED_PYTHON_VER, RESTART_EXIT_CODE, __version__
FAULT_LOG_FILENAME = "home-assistant.log.fault"
def validate_python() -> None:
"""Validate that the right Python version is running."""
@@ -132,22 +135,20 @@ def get_arguments() -> argparse.Namespace:
def daemonize() -> None:
"""Move current process to daemon process."""
# Create first fork
pid = os.fork()
if pid > 0:
if os.fork() > 0:
sys.exit(0)
# Decouple fork
os.setsid()
# Create second fork
pid = os.fork()
if pid > 0:
if os.fork() > 0:
sys.exit(0)
# redirect standard file descriptors to devnull
# pylint: disable=consider-using-with
infd = open(os.devnull)
outfd = open(os.devnull, "a+")
infd = open(os.devnull, encoding="utf8")
outfd = open(os.devnull, "a+", encoding="utf8")
sys.stdout.flush()
sys.stderr.flush()
os.dup2(infd.fileno(), sys.stdin.fileno())
@@ -159,7 +160,7 @@ def check_pid(pid_file: str) -> None:
"""Check that Home Assistant is not already running."""
# Check pid file
try:
with open(pid_file) as file:
with open(pid_file, encoding="utf8") as file:
pid = int(file.readline())
except OSError:
# PID File does not exist
@@ -182,7 +183,7 @@ def write_pid(pid_file: str) -> None:
"""Create a PID File."""
pid = os.getpid()
try:
with open(pid_file, "w") as file:
with open(pid_file, "w", encoding="utf8") as file:
file.write(str(pid))
except OSError:
print(f"Fatal Error: Unable to write pid file {pid_file}")
@@ -311,7 +312,15 @@ def main() -> int:
open_ui=args.open_ui,
)
exit_code = runner.run(runtime_conf)
fault_file_name = os.path.join(config_dir, FAULT_LOG_FILENAME)
with open(fault_file_name, mode="a", encoding="utf8") as fault_file:
faulthandler.enable(fault_file)
exit_code = runner.run(runtime_conf)
faulthandler.disable()
if os.path.getsize(fault_file_name) == 0:
os.remove(fault_file_name)
if exit_code == RESTART_EXIT_CODE and not args.runner:
try_to_restart()
+9 -11
View File
@@ -9,13 +9,12 @@ from typing import Any, Dict, Mapping, Optional, Tuple, cast
import jwt
from homeassistant import data_entry_flow
from homeassistant.auth.const import ACCESS_TOKEN_EXPIRATION
from homeassistant.core import HomeAssistant, callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.util import dt as dt_util
from . import auth_store, models
from .const import GROUP_ID_ADMIN
from .const import ACCESS_TOKEN_EXPIRATION, GROUP_ID_ADMIN
from .mfa_modules import MultiFactorAuthModule, auth_mfa_module_from_config
from .providers import AuthProvider, LoginFlow, auth_provider_from_config
@@ -79,7 +78,7 @@ async def auth_manager_from_config(
class AuthManagerFlowManager(data_entry_flow.FlowManager):
"""Manage authentication flows."""
def __init__(self, hass: HomeAssistant, auth_manager: AuthManager):
def __init__(self, hass: HomeAssistant, auth_manager: AuthManager) -> None:
"""Init auth manager flows."""
super().__init__(hass)
self.auth_manager = auth_manager
@@ -342,8 +341,7 @@ class AuthManager:
"System generated users cannot enable multi-factor auth module."
)
module = self.get_auth_mfa_module(mfa_module_id)
if module is None:
if (module := self.get_auth_mfa_module(mfa_module_id)) is None:
raise ValueError(f"Unable find multi-factor auth module: {mfa_module_id}")
await module.async_setup_user(user.id, data)
@@ -357,8 +355,7 @@ class AuthManager:
"System generated users cannot disable multi-factor auth module."
)
module = self.get_auth_mfa_module(mfa_module_id)
if module is None:
if (module := self.get_auth_mfa_module(mfa_module_id)) is None:
raise ValueError(f"Unable find multi-factor auth module: {mfa_module_id}")
await module.async_depose_user(user.id)
@@ -467,7 +464,7 @@ class AuthManager:
},
refresh_token.jwt_key,
algorithm="HS256",
).decode()
)
@callback
def _async_resolve_provider(
@@ -499,8 +496,7 @@ class AuthManager:
Will raise InvalidAuthError on errors.
"""
provider = self._async_resolve_provider(refresh_token)
if provider:
if provider := self._async_resolve_provider(refresh_token):
provider.async_validate_refresh_token(refresh_token, remote_ip)
async def async_validate_access_token(
@@ -508,7 +504,9 @@ class AuthManager:
) -> models.RefreshToken | None:
"""Return refresh token if an access token is valid."""
try:
unverif_claims = jwt.decode(token, verify=False)
unverif_claims = jwt.decode(
token, algorithms=["HS256"], options={"verify_signature": False}
)
except jwt.InvalidTokenError:
return None
+7 -9
View File
@@ -17,6 +17,8 @@ from .const import GROUP_ID_ADMIN, GROUP_ID_READ_ONLY, GROUP_ID_USER
from .permissions import PermissionLookup, system_policies
from .permissions.types import PolicyType
# mypy: disallow-any-generics
STORAGE_VERSION = 1
STORAGE_KEY = "auth"
GROUP_NAME_ADMIN = "Administrators"
@@ -94,8 +96,7 @@ class AuthStore:
groups = []
for group_id in group_ids or []:
group = self._groups.get(group_id)
if group is None:
if (group := self._groups.get(group_id)) is None:
raise ValueError(f"Invalid group specified {group_id}")
groups.append(group)
@@ -158,8 +159,7 @@ class AuthStore:
if group_ids is not None:
groups = []
for grid in group_ids:
group = self._groups.get(grid)
if group is None:
if (group := self._groups.get(grid)) is None:
raise ValueError("Invalid group specified.")
groups.append(group)
@@ -444,16 +444,14 @@ class AuthStore:
)
continue
token_type = rt_dict.get("token_type")
if token_type is None:
if (token_type := rt_dict.get("token_type")) is None:
if rt_dict["client_id"] is None:
token_type = models.TOKEN_TYPE_SYSTEM
else:
token_type = models.TOKEN_TYPE_NORMAL
# old refresh_token don't have last_used_at (pre-0.78)
last_used_at_str = rt_dict.get("last_used_at")
if last_used_at_str:
if last_used_at_str := rt_dict.get("last_used_at"):
last_used_at = dt_util.parse_datetime(last_used_at_str)
else:
last_used_at = None
@@ -491,7 +489,7 @@ class AuthStore:
self._store.async_delay_save(self._data_to_save, 1)
@callback
def _data_to_save(self) -> dict:
def _data_to_save(self) -> dict[str, list[dict[str, Any]]]:
"""Return the data to store."""
assert self._users is not None
assert self._groups is not None
+3 -7
View File
@@ -118,9 +118,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
if self._user_settings is not None:
return
data = await self._user_store.async_load()
if data is None:
if (data := await self._user_store.async_load()) is None:
data = {STORAGE_USERS: {}}
self._user_settings = {
@@ -207,8 +205,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
await self._async_load()
assert self._user_settings is not None
notify_setting = self._user_settings.get(user_id)
if notify_setting is None:
if (notify_setting := self._user_settings.get(user_id)) is None:
return False
# user_input has been validate in caller
@@ -225,8 +222,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
await self._async_load()
assert self._user_settings is not None
notify_setting = self._user_settings.get(user_id)
if notify_setting is None:
if (notify_setting := self._user_settings.get(user_id)) is None:
raise ValueError("Cannot find user_id")
def generate_secret_and_one_time_password() -> str:
+2 -5
View File
@@ -92,9 +92,7 @@ class TotpAuthModule(MultiFactorAuthModule):
if self._users is not None:
return
data = await self._user_store.async_load()
if data is None:
if (data := await self._user_store.async_load()) is None:
data = {STORAGE_USERS: {}}
self._users = data.get(STORAGE_USERS, {})
@@ -163,8 +161,7 @@ class TotpAuthModule(MultiFactorAuthModule):
"""Validate two factor authentication code."""
import pyotp # pylint: disable=import-outside-toplevel
ota_secret = self._users.get(user_id) # type: ignore
if ota_secret is None:
if (ota_secret := self._users.get(user_id)) is None: # type: ignore
# even we cannot find user, we still do verify
# to make timing the same as if user was found.
pyotp.TOTP(DUMMY_SECRET).verify(code, valid_window=1)
+3 -4
View File
@@ -1,8 +1,9 @@
"""Permissions for Home Assistant."""
from __future__ import annotations
from collections.abc import Callable
import logging
from typing import Any, Callable
from typing import Any
import voluptuous as vol
@@ -33,9 +34,7 @@ class AbstractPermissions:
def check_entity(self, entity_id: str, key: str) -> bool:
"""Check if we can access entity."""
entity_func = self._cached_entity_func
if entity_func is None:
if (entity_func := self._cached_entity_func) is None:
entity_func = self._cached_entity_func = self._entity_func()
return entity_func(entity_id, key)
+1 -1
View File
@@ -2,7 +2,7 @@
from __future__ import annotations
from collections import OrderedDict
from typing import Callable
from collections.abc import Callable
import voluptuous as vol
+1 -2
View File
@@ -72,8 +72,7 @@ def compile_policy(
def apply_policy_funcs(object_id: str, key: str) -> bool:
"""Apply several policy functions."""
for func in funcs:
result = func(object_id, key)
if result is not None:
if (result := func(object_id, key)) is not None:
return result
return False
+4 -4
View File
@@ -22,6 +22,8 @@ from ..auth_store import AuthStore
from ..const import MFA_SESSION_EXPIRATION
from ..models import Credentials, RefreshToken, User, UserMeta
# mypy: disallow-any-generics
_LOGGER = logging.getLogger(__name__)
DATA_REQS = "auth_prov_reqs_processed"
@@ -96,7 +98,7 @@ class AuthProvider:
# Implement by extending class
async def async_login_flow(self, context: dict | None) -> LoginFlow:
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
"""Return the data flow for logging in with auth provider.
Auth provider should extend LoginFlow and return an instance.
@@ -167,9 +169,7 @@ async def load_auth_provider_module(
if hass.config.skip_pip or not hasattr(module, "REQUIREMENTS"):
return module
processed = hass.data.get(DATA_REQS)
if processed is None:
if (processed := hass.data.get(DATA_REQS)) is None:
processed = hass.data[DATA_REQS] = set()
elif provider in processed:
return module
+5 -3
View File
@@ -1,7 +1,7 @@
"""Auth provider that validates credentials via an external command."""
from __future__ import annotations
import asyncio.subprocess
import asyncio
import collections
from collections.abc import Mapping
import logging
@@ -17,6 +17,8 @@ from homeassistant.exceptions import HomeAssistantError
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from ..models import Credentials, UserMeta
# mypy: disallow-any-generics
CONF_ARGS = "args"
CONF_META = "meta"
@@ -56,7 +58,7 @@ class CommandLineAuthProvider(AuthProvider):
super().__init__(*args, **kwargs)
self._user_meta: dict[str, dict[str, Any]] = {}
async def async_login_flow(self, context: dict | None) -> LoginFlow:
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
"""Return a flow to login."""
return CommandLineLoginFlow(self)
@@ -64,7 +66,7 @@ class CommandLineAuthProvider(AuthProvider):
"""Validate a username and password."""
env = {"username": username, "password": password}
try:
process = await asyncio.subprocess.create_subprocess_exec( # pylint: disable=no-member
process = await asyncio.create_subprocess_exec(
self.config[CONF_COMMAND],
*self.config[CONF_ARGS],
env=env,
@@ -19,6 +19,8 @@ from homeassistant.exceptions import HomeAssistantError
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from ..models import Credentials, UserMeta
# mypy: disallow-any-generics
STORAGE_VERSION = 1
STORAGE_KEY = "auth_provider.homeassistant"
@@ -80,9 +82,7 @@ class Data:
async def async_load(self) -> None:
"""Load stored data."""
data = await self._store.async_load()
if data is None:
if (data := await self._store.async_load()) is None:
data = {"users": []}
seen: set[str] = set()
@@ -91,9 +91,7 @@ class Data:
username = user["username"]
# check if we have duplicates
folded = username.casefold()
if folded in seen:
if (folded := username.casefold()) in seen:
self.is_legacy = True
logging.getLogger(__name__).warning(
@@ -235,7 +233,7 @@ class HassAuthProvider(AuthProvider):
await data.async_load()
self.data = data
async def async_login_flow(self, context: dict | None) -> LoginFlow:
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
"""Return a flow to login."""
return HassLoginFlow(self)
@@ -4,7 +4,7 @@ from __future__ import annotations
from collections import OrderedDict
from collections.abc import Mapping
import hmac
from typing import cast
from typing import Any, cast
import voluptuous as vol
@@ -15,6 +15,8 @@ from homeassistant.exceptions import HomeAssistantError
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from ..models import Credentials, UserMeta
# mypy: disallow-any-generics
USER_SCHEMA = vol.Schema(
{
vol.Required("username"): str,
@@ -37,7 +39,7 @@ class InvalidAuthError(HomeAssistantError):
class ExampleAuthProvider(AuthProvider):
"""Example auth provider based on hardcoded usernames and passwords."""
async def async_login_flow(self, context: dict | None) -> LoginFlow:
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
"""Return a flow to login."""
return ExampleLoginFlow(self)
@@ -7,7 +7,7 @@ from __future__ import annotations
from collections.abc import Mapping
import hmac
from typing import cast
from typing import Any, cast
import voluptuous as vol
@@ -19,6 +19,8 @@ import homeassistant.helpers.config_validation as cv
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from ..models import Credentials, UserMeta
# mypy: disallow-any-generics
AUTH_PROVIDER_TYPE = "legacy_api_password"
CONF_API_PASSWORD = "api_password"
@@ -44,7 +46,7 @@ class LegacyApiPasswordAuthProvider(AuthProvider):
"""Return api_password."""
return str(self.config[CONF_API_PASSWORD])
async def async_login_flow(self, context: dict | None) -> LoginFlow:
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
"""Return a flow to login."""
return LegacyLoginFlow(self)
@@ -27,6 +27,8 @@ from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from .. import InvalidAuthError
from ..models import Credentials, RefreshToken, UserMeta
# mypy: disallow-any-generics
IPAddress = Union[IPv4Address, IPv6Address]
IPNetwork = Union[IPv4Network, IPv6Network]
@@ -81,12 +83,23 @@ class TrustedNetworksAuthProvider(AuthProvider):
"""Return trusted users per network."""
return cast(Dict[IPNetwork, Any], self.config[CONF_TRUSTED_USERS])
@property
def trusted_proxies(self) -> list[IPNetwork]:
"""Return trusted proxies in the system."""
if not self.hass.http:
return []
return [
ip_network(trusted_proxy)
for trusted_proxy in self.hass.http.trusted_proxies
]
@property
def support_mfa(self) -> bool:
"""Trusted Networks auth provider does not support MFA."""
return False
async def async_login_flow(self, context: dict | None) -> LoginFlow:
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
"""Return a flow to login."""
assert context is not None
ip_addr = cast(IPAddress, context.get("ip_address"))
@@ -95,31 +108,29 @@ class TrustedNetworksAuthProvider(AuthProvider):
user for user in users if not user.system_generated and user.is_active
]
for ip_net, user_or_group_list in self.trusted_users.items():
if ip_addr in ip_net:
user_list = [
user_id
for user_id in user_or_group_list
if isinstance(user_id, str)
]
group_list = [
group[CONF_GROUP]
for group in user_or_group_list
if isinstance(group, dict)
]
flattened_group_list = [
group for sublist in group_list for group in sublist
]
available_users = [
user
for user in available_users
if (
user.id in user_list
or any(
group.id in flattened_group_list for group in user.groups
)
)
]
break
if ip_addr not in ip_net:
continue
user_list = [
user_id for user_id in user_or_group_list if isinstance(user_id, str)
]
group_list = [
group[CONF_GROUP]
for group in user_or_group_list
if isinstance(group, dict)
]
flattened_group_list = [
group for sublist in group_list for group in sublist
]
available_users = [
user
for user in available_users
if (
user.id in user_list
or any(group.id in flattened_group_list for group in user.groups)
)
]
break
return TrustedNetworksLoginFlow(
self,
@@ -136,13 +147,22 @@ class TrustedNetworksAuthProvider(AuthProvider):
users = await self.store.async_get_users()
for user in users:
if not user.system_generated and user.is_active and user.id == user_id:
for credential in await self.async_credentials():
if credential.data["user_id"] == user_id:
return credential
cred = self.async_create_credentials({"user_id": user_id})
await self.store.async_link_user(user, cred)
return cred
if user.id != user_id:
continue
if user.system_generated:
continue
if not user.is_active:
continue
for credential in await self.async_credentials():
if credential.data["user_id"] == user_id:
return credential
cred = self.async_create_credentials({"user_id": user_id})
await self.store.async_link_user(user, cred)
return cred
# We only allow login as exist user
raise InvalidUserError
@@ -171,6 +191,9 @@ class TrustedNetworksAuthProvider(AuthProvider):
):
raise InvalidAuthError("Not in trusted_networks")
if any(ip_addr in trusted_proxy for trusted_proxy in self.trusted_proxies):
raise InvalidAuthError("Can't allow access from a proxy server")
@callback
def async_validate_refresh_token(
self, refresh_token: RefreshToken, remote_ip: str | None = None
+24 -26
View File
@@ -109,9 +109,8 @@ async def async_setup_hass(
config_dict = None
basic_setup_success = False
safe_mode = runtime_config.safe_mode
if not safe_mode:
if not (safe_mode := runtime_config.safe_mode):
await hass.async_add_executor_job(conf_util.process_ha_config_upgrade, hass)
try:
@@ -332,14 +331,20 @@ def async_enable_logging(
not err_path_exists and os.access(err_dir, os.W_OK)
):
err_handler: logging.handlers.RotatingFileHandler | logging.handlers.TimedRotatingFileHandler
if log_rotate_days:
err_handler: logging.FileHandler = (
logging.handlers.TimedRotatingFileHandler(
err_log_path, when="midnight", backupCount=log_rotate_days
)
err_handler = logging.handlers.TimedRotatingFileHandler(
err_log_path, when="midnight", backupCount=log_rotate_days
)
else:
err_handler = logging.FileHandler(err_log_path, mode="w", delay=True)
err_handler = logging.handlers.RotatingFileHandler(
err_log_path, backupCount=1
)
try:
err_handler.doRollover()
except OSError as err:
_LOGGER.error("Error rolling over log file: %s", err)
err_handler.setLevel(logging.INFO if verbose else logging.WARNING)
err_handler.setFormatter(logging.Formatter(fmt, datefmt=datefmt))
@@ -362,8 +367,7 @@ async def async_mount_local_lib_path(config_dir: str) -> str:
This function is a coroutine.
"""
deps_dir = os.path.join(config_dir, "deps")
lib_dir = await async_get_user_site(deps_dir)
if lib_dir not in sys.path:
if (lib_dir := await async_get_user_site(deps_dir)) not in sys.path:
sys.path.insert(0, lib_dir)
return deps_dir
@@ -488,17 +492,13 @@ async def _async_set_up_integrations(
_LOGGER.info("Domains to be set up: %s", domains_to_setup)
logging_domains = domains_to_setup & LOGGING_INTEGRATIONS
# Load logging as soon as possible
if logging_domains:
if logging_domains := domains_to_setup & LOGGING_INTEGRATIONS:
_LOGGER.info("Setting up logging: %s", logging_domains)
await async_setup_multi_components(hass, logging_domains, config)
# Start up debuggers. Start these first in case they want to wait.
debuggers = domains_to_setup & DEBUGGER_INTEGRATIONS
if debuggers:
if debuggers := domains_to_setup & DEBUGGER_INTEGRATIONS:
_LOGGER.debug("Setting up debuggers: %s", debuggers)
await async_setup_multi_components(hass, debuggers, config)
@@ -518,9 +518,7 @@ async def _async_set_up_integrations(
stage_1_domains.add(domain)
dep_itg = integration_cache.get(domain)
if dep_itg is None:
if (dep_itg := integration_cache.get(domain)) is None:
continue
deps_promotion.update(dep_itg.all_dependencies)
@@ -558,6 +556,14 @@ async def _async_set_up_integrations(
except asyncio.TimeoutError:
_LOGGER.warning("Setup timed out for stage 2 - moving forward")
# Wrap up startup
_LOGGER.debug("Waiting for startup to wrap up")
try:
async with hass.timeout.async_timeout(WRAP_UP_TIMEOUT, cool_down=COOLDOWN_TIME):
await hass.async_block_till_done()
except asyncio.TimeoutError:
_LOGGER.warning("Setup timed out for bootstrap - moving forward")
watch_task.cancel()
async_dispatcher_send(hass, SIGNAL_BOOTSTRAP_INTEGRATONS, {})
@@ -570,11 +576,3 @@ async def _async_set_up_integrations(
)
},
)
# Wrap up startup
_LOGGER.debug("Waiting for startup to wrap up")
try:
async with hass.timeout.async_timeout(WRAP_UP_TIMEOUT, cool_down=COOLDOWN_TIME):
await hass.async_block_till_done()
except asyncio.TimeoutError:
_LOGGER.warning("Setup timed out for bootstrap - moving forward")
+10 -60
View File
@@ -1,5 +1,4 @@
"""Support for the Abode Security System."""
from copy import deepcopy
from functools import partial
from abodepy import Abode
@@ -8,7 +7,6 @@ import abodepy.helpers.timeline as TIMELINE
from requests.exceptions import ConnectTimeout, HTTPError
import voluptuous as vol
from homeassistant.config_entries import SOURCE_IMPORT
from homeassistant.const import (
ATTR_ATTRIBUTION,
ATTR_DATE,
@@ -44,18 +42,7 @@ ATTR_APP_TYPE = "app_type"
ATTR_EVENT_BY = "event_by"
ATTR_VALUE = "value"
CONFIG_SCHEMA = vol.Schema(
{
DOMAIN: vol.Schema(
{
vol.Required(CONF_USERNAME): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
vol.Optional(CONF_POLLING, default=False): cv.boolean,
}
)
},
extra=vol.ALLOW_EXTRA,
)
CONFIG_SCHEMA = cv.deprecated(DOMAIN)
CHANGE_SETTING_SCHEMA = vol.Schema(
{vol.Required(ATTR_SETTING): cv.string, vol.Required(ATTR_VALUE): cv.string}
@@ -88,22 +75,6 @@ class AbodeSystem:
self.logout_listener = None
async def async_setup(hass, config):
"""Set up Abode integration."""
if DOMAIN not in config:
return True
conf = config[DOMAIN]
hass.async_create_task(
hass.config_entries.flow.async_init(
DOMAIN, context={"source": SOURCE_IMPORT}, data=deepcopy(conf)
)
)
return True
async def async_setup_entry(hass, config_entry):
"""Set up Abode integration from a config entry."""
username = config_entry.data.get(CONF_USERNAME)
@@ -280,17 +251,13 @@ class AbodeEntity(Entity):
"""Initialize Abode entity."""
self._data = data
self._available = True
self._attr_should_poll = data.polling
@property
def available(self):
"""Return the available state."""
return self._available
@property
def should_poll(self):
"""Return the polling state."""
return self._data.polling
async def async_added_to_hass(self):
"""Subscribe to Abode connection status updates."""
await self.hass.async_add_executor_job(
@@ -320,6 +287,8 @@ class AbodeDevice(AbodeEntity):
"""Initialize Abode device."""
super().__init__(data)
self._device = device
self._attr_name = device.name
self._attr_unique_id = device.device_uuid
async def async_added_to_hass(self):
"""Subscribe to device events."""
@@ -341,11 +310,6 @@ class AbodeDevice(AbodeEntity):
"""Update device state."""
self._device.refresh()
@property
def name(self):
"""Return the name of the device."""
return self._device.name
@property
def extra_state_attributes(self):
"""Return the state attributes."""
@@ -357,11 +321,6 @@ class AbodeDevice(AbodeEntity):
"device_type": self._device.type,
}
@property
def unique_id(self):
"""Return a unique ID to use for this device."""
return self._device.device_uuid
@property
def device_info(self):
"""Return device registry information for this entity."""
@@ -384,22 +343,13 @@ class AbodeAutomation(AbodeEntity):
"""Initialize for Abode automation."""
super().__init__(data)
self._automation = automation
self._attr_name = automation.name
self._attr_unique_id = automation.automation_id
self._attr_extra_state_attributes = {
ATTR_ATTRIBUTION: ATTRIBUTION,
"type": "CUE automation",
}
def update(self):
"""Update automation state."""
self._automation.refresh()
@property
def name(self):
"""Return the name of the automation."""
return self._automation.name
@property
def extra_state_attributes(self):
"""Return the state attributes."""
return {ATTR_ATTRIBUTION: ATTRIBUTION, "type": "CUE automation"}
@property
def unique_id(self):
"""Return a unique ID to use for this automation."""
return self._automation.automation_id
@@ -28,10 +28,9 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
class AbodeAlarm(AbodeDevice, alarm.AlarmControlPanelEntity):
"""An alarm_control_panel implementation for Abode."""
@property
def icon(self):
"""Return the icon."""
return ICON
_attr_icon = ICON
_attr_code_arm_required = False
_attr_supported_features = SUPPORT_ALARM_ARM_HOME | SUPPORT_ALARM_ARM_AWAY
@property
def state(self):
@@ -46,16 +45,6 @@ class AbodeAlarm(AbodeDevice, alarm.AlarmControlPanelEntity):
state = None
return state
@property
def code_arm_required(self):
"""Whether the code is required for arm actions."""
return False
@property
def supported_features(self) -> int:
"""Return the list of supported features."""
return SUPPORT_ALARM_ARM_HOME | SUPPORT_ALARM_ARM_AWAY
def alarm_disarm(self, code=None):
"""Send disarm command."""
self._device.set_standby()
+5 -1
View File
@@ -1,4 +1,6 @@
"""Support for Abode Security System cameras."""
from __future__ import annotations
from datetime import timedelta
import abodepy.helpers.constants as CONST
@@ -73,7 +75,9 @@ class AbodeCamera(AbodeDevice, Camera):
else:
self._response = None
def camera_image(self):
def camera_image(
self, width: int | None = None, height: int | None = None
) -> bytes | None:
"""Get a camera image."""
self.refresh_image()
@@ -18,7 +18,6 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
"""Config flow for Abode."""
VERSION = 1
CONNECTION_CLASS = config_entries.CONN_CLASS_LOCAL_POLL
def __init__(self):
"""Initialize."""
@@ -159,13 +158,3 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
self._password = user_input[CONF_PASSWORD]
return await self._async_abode_login(step_id="reauth_confirm")
async def async_step_import(self, import_config):
"""Import a config entry from configuration.yaml."""
if self._async_current_entries():
LOGGER.warning("Already configured; Only a single configuration possible")
return self.async_abort(reason="single_instance_allowed")
self._polling = import_config.get(CONF_POLLING, False)
return await self.async_step_user(import_config)
+42 -44
View File
@@ -1,7 +1,9 @@
"""Support for Abode Security System sensors."""
from __future__ import annotations
import abodepy.helpers.constants as CONST
from homeassistant.components.sensor import SensorEntity
from homeassistant.components.sensor import SensorEntity, SensorEntityDescription
from homeassistant.const import (
DEVICE_CLASS_HUMIDITY,
DEVICE_CLASS_ILLUMINANCE,
@@ -11,12 +13,23 @@ from homeassistant.const import (
from . import AbodeDevice
from .const import DOMAIN
# Sensor types: Name, icon
SENSOR_TYPES = {
CONST.TEMP_STATUS_KEY: ["Temperature", DEVICE_CLASS_TEMPERATURE],
CONST.HUMI_STATUS_KEY: ["Humidity", DEVICE_CLASS_HUMIDITY],
CONST.LUX_STATUS_KEY: ["Lux", DEVICE_CLASS_ILLUMINANCE],
}
SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
SensorEntityDescription(
key=CONST.TEMP_STATUS_KEY,
name="Temperature",
device_class=DEVICE_CLASS_TEMPERATURE,
),
SensorEntityDescription(
key=CONST.HUMI_STATUS_KEY,
name="Humidity",
device_class=DEVICE_CLASS_HUMIDITY,
),
SensorEntityDescription(
key=CONST.LUX_STATUS_KEY,
name="Lux",
device_class=DEVICE_CLASS_ILLUMINANCE,
),
)
async def async_setup_entry(hass, config_entry, async_add_entities):
@@ -26,10 +39,14 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
entities = []
for device in data.abode.get_devices(generic_type=CONST.TYPE_SENSOR):
for sensor_type in SENSOR_TYPES:
if sensor_type not in device.get_value(CONST.STATUSES_KEY):
continue
entities.append(AbodeSensor(data, device, sensor_type))
conditions = device.get_value(CONST.STATUSES_KEY)
entities.extend(
[
AbodeSensor(data, device, description)
for description in SENSOR_TYPES
if description.key in conditions
]
)
async_add_entities(entities)
@@ -37,44 +54,25 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
class AbodeSensor(AbodeDevice, SensorEntity):
"""A sensor implementation for Abode devices."""
def __init__(self, data, device, sensor_type):
def __init__(self, data, device, description: SensorEntityDescription):
"""Initialize a sensor for an Abode device."""
super().__init__(data, device)
self._sensor_type = sensor_type
self._name = f"{self._device.name} {SENSOR_TYPES[self._sensor_type][0]}"
self._device_class = SENSOR_TYPES[self._sensor_type][1]
self.entity_description = description
self._attr_name = f"{device.name} {description.name}"
self._attr_unique_id = f"{device.device_uuid}-{description.key}"
if description.key == CONST.TEMP_STATUS_KEY:
self._attr_native_unit_of_measurement = device.temp_unit
elif description.key == CONST.HUMI_STATUS_KEY:
self._attr_native_unit_of_measurement = device.humidity_unit
elif description.key == CONST.LUX_STATUS_KEY:
self._attr_native_unit_of_measurement = device.lux_unit
@property
def name(self):
"""Return the name of the sensor."""
return self._name
@property
def device_class(self):
"""Return the device class."""
return self._device_class
@property
def unique_id(self):
"""Return a unique ID to use for this device."""
return f"{self._device.device_uuid}-{self._sensor_type}"
@property
def state(self):
def native_value(self):
"""Return the state of the sensor."""
if self._sensor_type == CONST.TEMP_STATUS_KEY:
if self.entity_description.key == CONST.TEMP_STATUS_KEY:
return self._device.temp
if self._sensor_type == CONST.HUMI_STATUS_KEY:
if self.entity_description.key == CONST.HUMI_STATUS_KEY:
return self._device.humidity
if self._sensor_type == CONST.LUX_STATUS_KEY:
if self.entity_description.key == CONST.LUX_STATUS_KEY:
return self._device.lux
@property
def unit_of_measurement(self):
"""Return the units of measurement."""
if self._sensor_type == CONST.TEMP_STATUS_KEY:
return self._device.temp_unit
if self._sensor_type == CONST.HUMI_STATUS_KEY:
return self._device.humidity_unit
if self._sensor_type == CONST.LUX_STATUS_KEY:
return self._device.lux_unit
+25 -2
View File
@@ -1,21 +1,44 @@
capture_image:
name: Capture image
description: Request a new image capture from a camera device.
fields:
entity_id:
name: Entity
description: Entity id of the camera to request an image.
example: camera.downstairs_motion_camera
required: true
selector:
entity:
integration: abode
domain: camera
change_setting:
name: Change setting
description: Change an Abode system setting.
fields:
setting:
name: Setting
description: Setting to change.
required: true
example: beeper_mute
selector:
text:
value:
name: Value
description: Value of the setting.
required: true
example: "1"
selector:
text:
trigger_automation:
name: Trigger automation
description: Trigger an Abode automation.
fields:
entity_id:
name: Entity
description: Entity id of the automation to trigger.
example: switch.my_automation
required: true
selector:
entity:
integration: abode
domain: switch
+2 -5
View File
@@ -48,6 +48,8 @@ class AbodeSwitch(AbodeDevice, SwitchEntity):
class AbodeAutomationSwitch(AbodeAutomation, SwitchEntity):
"""A switch implementation for Abode automations."""
_attr_icon = ICON
async def async_added_to_hass(self):
"""Set up trigger automation service."""
await super().async_added_to_hass()
@@ -73,8 +75,3 @@ class AbodeAutomationSwitch(AbodeAutomation, SwitchEntity):
def is_on(self):
"""Return True if the automation is enabled."""
return self._automation.is_enabled
@property
def icon(self):
"""Return the robot icon to match Home Assistant automations."""
return ICON
@@ -26,7 +26,7 @@
"user": {
"data": {
"password": "Passwort",
"username": "E-Mail-Adresse"
"username": "E-Mail"
},
"title": "Gib deine Abode-Anmeldeinformationen ein"
}
@@ -1,9 +1,12 @@
{
"config": {
"abort": {
"reauth_successful": "La reautenticaci\u00f3n fue exitosa",
"single_instance_allowed": "Solo se permite una \u00fanica configuraci\u00f3n de Abode."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_auth": "Autenticaci\u00f3n inv\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA no v\u00e1lido"
},
"step": {
@@ -15,7 +18,8 @@
},
"reauth_confirm": {
"data": {
"password": "Contrase\u00f1a"
"password": "Contrase\u00f1a",
"username": "Correo electr\u00f3nico"
},
"title": "Complete su informaci\u00f3n de inicio de sesi\u00f3n de Abode"
},
@@ -2,7 +2,7 @@
"config": {
"abort": {
"reauth_successful": "La r\u00e9-authentification a r\u00e9ussi",
"single_instance_allowed": "D\u00e9ja configur\u00e9. Une seule configuration possible."
"single_instance_allowed": "D\u00e9j\u00e0 configur\u00e9. Une seule configuration possible."
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
@@ -1,10 +1,26 @@
{
"config": {
"abort": {
"reauth_successful": "\u05d4\u05d0\u05d9\u05de\u05d5\u05ea \u05de\u05d7\u05d3\u05e9 \u05d4\u05e6\u05dc\u05d9\u05d7",
"single_instance_allowed": "\u05ea\u05e6\u05d5\u05e8\u05ea\u05d5 \u05db\u05d1\u05e8 \u05e0\u05e7\u05d1\u05e2\u05d4. \u05e8\u05e7 \u05ea\u05e6\u05d5\u05e8\u05d4 \u05d0\u05d7\u05ea \u05d0\u05e4\u05e9\u05e8\u05d9\u05ea."
},
"error": {
"cannot_connect": "\u05d4\u05d4\u05ea\u05d7\u05d1\u05e8\u05d5\u05ea \u05e0\u05db\u05e9\u05dc\u05d4",
"invalid_auth": "\u05d0\u05d9\u05de\u05d5\u05ea \u05dc\u05d0 \u05d7\u05d5\u05e7\u05d9"
},
"step": {
"reauth_confirm": {
"data": {
"password": "\u05e1\u05d9\u05e1\u05de\u05d4",
"username": "\u05d3\u05d5\u05d0\"\u05dc"
}
},
"user": {
"data": {
"username": "\u05e9\u05dd \u05de\u05e9\u05ea\u05de\u05e9"
}
"password": "\u05e1\u05d9\u05e1\u05de\u05d4",
"username": "\u05d3\u05d5\u05d0\"\u05dc"
},
"title": "\u05d9\u05e9 \u05dc\u05de\u05dc\u05d0 \u05d0\u05ea \u05e4\u05e8\u05d8\u05d9 \u05d4\u05db\u05e0\u05d9\u05e1\u05d4 \u05e9\u05dc\u05da \u05dc\u05d0\u05d3\u05d5\u05d1\u05d9"
}
}
}
@@ -20,7 +20,8 @@
"data": {
"password": "Jelsz\u00f3",
"username": "E-mail"
}
},
"title": "T\u00f6ltse ki az Abode bejelentkez\u00e9si adatait"
},
"user": {
"data": {
@@ -1,33 +1,34 @@
"""The AccuWeather component."""
from __future__ import annotations
from datetime import timedelta
import logging
from typing import Any, Dict
from accuweather import AccuWeather, ApiError, InvalidApiKeyError, RequestsExceededError
from aiohttp import ClientSession
from aiohttp.client_exceptions import ClientConnectorError
from async_timeout import timeout
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import (
ATTR_FORECAST,
CONF_FORECAST,
COORDINATOR,
DOMAIN,
UNDO_UPDATE_LISTENER,
)
from .const import ATTR_FORECAST, CONF_FORECAST, DOMAIN
_LOGGER = logging.getLogger(__name__)
PLATFORMS = ["sensor", "weather"]
async def async_setup_entry(hass, config_entry) -> bool:
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up AccuWeather as config entry."""
api_key = config_entry.data[CONF_API_KEY]
location_key = config_entry.unique_id
forecast = config_entry.options.get(CONF_FORECAST, False)
api_key: str = entry.data[CONF_API_KEY]
assert entry.unique_id is not None
location_key = entry.unique_id
forecast: bool = entry.options.get(CONF_FORECAST, False)
_LOGGER.debug("Using location_key: %s, get forecast: %s", location_key, forecast)
@@ -38,41 +39,41 @@ async def async_setup_entry(hass, config_entry) -> bool:
)
await coordinator.async_config_entry_first_refresh()
undo_listener = config_entry.add_update_listener(update_listener)
entry.async_on_unload(entry.add_update_listener(update_listener))
hass.data.setdefault(DOMAIN, {})[config_entry.entry_id] = {
COORDINATOR: coordinator,
UNDO_UPDATE_LISTENER: undo_listener,
}
hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator
hass.config_entries.async_setup_platforms(config_entry, PLATFORMS)
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
return True
async def async_unload_entry(hass, config_entry):
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
unload_ok = await hass.config_entries.async_unload_platforms(
config_entry, PLATFORMS
)
hass.data[DOMAIN][config_entry.entry_id][UNDO_UPDATE_LISTENER]()
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
if unload_ok:
hass.data[DOMAIN].pop(config_entry.entry_id)
hass.data[DOMAIN].pop(entry.entry_id)
return unload_ok
async def update_listener(hass, config_entry):
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None:
"""Update listener."""
await hass.config_entries.async_reload(config_entry.entry_id)
await hass.config_entries.async_reload(entry.entry_id)
class AccuWeatherDataUpdateCoordinator(DataUpdateCoordinator):
class AccuWeatherDataUpdateCoordinator(DataUpdateCoordinator[Dict[str, Any]]):
"""Class to manage fetching AccuWeather data API."""
def __init__(self, hass, session, api_key, location_key, forecast: bool):
def __init__(
self,
hass: HomeAssistant,
session: ClientSession,
api_key: str,
location_key: str,
forecast: bool,
) -> None:
"""Initialize."""
self.location_key = location_key
self.forecast = forecast
@@ -91,7 +92,7 @@ class AccuWeatherDataUpdateCoordinator(DataUpdateCoordinator):
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval)
async def _async_update_data(self):
async def _async_update_data(self) -> dict[str, Any]:
"""Update data via library."""
try:
async with timeout(10):
@@ -108,5 +109,5 @@ class AccuWeatherDataUpdateCoordinator(DataUpdateCoordinator):
RequestsExceededError,
) as error:
raise UpdateFailed(error) from error
_LOGGER.debug("Requests remaining: %s", self.accuweather.requests_remaining)
_LOGGER.debug("Requests remaining: %d", self.accuweather.requests_remaining)
return {**current, **{ATTR_FORECAST: forecast}}
@@ -1,5 +1,8 @@
"""Adds config flow for AccuWeather."""
from __future__ import annotations
import asyncio
from typing import Any
from accuweather import AccuWeather, ApiError, InvalidApiKeyError, RequestsExceededError
from aiohttp import ClientError
@@ -8,8 +11,10 @@ from async_timeout import timeout
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, CONF_NAME
from homeassistant.core import callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
@@ -20,9 +25,10 @@ class AccuWeatherFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
"""Config flow for AccuWeather."""
VERSION = 1
CONNECTION_CLASS = config_entries.CONN_CLASS_CLOUD_POLL
async def async_step_user(self, user_input=None):
async def async_step_user(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
"""Handle a flow initialized by the user."""
# Under the terms of use of the API, one user can use one free API key. Due to
# the small number of requests allowed, we only allow one integration instance.
@@ -78,7 +84,9 @@ class AccuWeatherFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
@staticmethod
@callback
def async_get_options_flow(config_entry):
def async_get_options_flow(
config_entry: ConfigEntry,
) -> AccuWeatherOptionsFlowHandler:
"""Options callback for AccuWeather."""
return AccuWeatherOptionsFlowHandler(config_entry)
@@ -86,15 +94,19 @@ class AccuWeatherFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
class AccuWeatherOptionsFlowHandler(config_entries.OptionsFlow):
"""Config flow options for AccuWeather."""
def __init__(self, config_entry):
def __init__(self, entry: ConfigEntry) -> None:
"""Initialize AccuWeather options flow."""
self.config_entry = config_entry
self.config_entry = entry
async def async_step_init(self, user_input=None):
async def async_step_init(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
"""Manage the options."""
return await self.async_step_user()
async def async_step_user(self, user_input=None):
async def async_step_user(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
"""Handle a flow initialized by the user."""
if user_input is not None:
return self.async_create_entry(title="", data=user_input)
+275 -263
View File
@@ -1,4 +1,9 @@
"""Constants for AccuWeather integration."""
from __future__ import annotations
from typing import Final
from homeassistant.components.sensor import STATE_CLASS_MEASUREMENT
from homeassistant.components.weather import (
ATTR_CONDITION_CLEAR_NIGHT,
ATTR_CONDITION_CLOUDY,
@@ -16,8 +21,6 @@ from homeassistant.components.weather import (
ATTR_CONDITION_WINDY,
)
from homeassistant.const import (
ATTR_DEVICE_CLASS,
ATTR_ICON,
CONCENTRATION_PARTS_PER_CUBIC_METER,
DEVICE_CLASS_TEMPERATURE,
LENGTH_FEET,
@@ -33,18 +36,19 @@ from homeassistant.const import (
UV_INDEX,
)
ATTRIBUTION = "Data provided by AccuWeather"
ATTR_FORECAST = CONF_FORECAST = "forecast"
ATTR_LABEL = "label"
ATTR_UNIT_IMPERIAL = "Imperial"
ATTR_UNIT_METRIC = "Metric"
COORDINATOR = "coordinator"
DOMAIN = "accuweather"
MANUFACTURER = "AccuWeather, Inc."
NAME = "AccuWeather"
UNDO_UPDATE_LISTENER = "undo_update_listener"
from .model import AccuWeatherSensorDescription
CONDITION_CLASSES = {
API_IMPERIAL: Final = "Imperial"
API_METRIC: Final = "Metric"
ATTRIBUTION: Final = "Data provided by AccuWeather"
ATTR_FORECAST: Final = "forecast"
CONF_FORECAST: Final = "forecast"
DOMAIN: Final = "accuweather"
MANUFACTURER: Final = "AccuWeather, Inc."
MAX_FORECAST_DAYS: Final = 4
NAME: Final = "AccuWeather"
CONDITION_CLASSES: Final[dict[str, list[int]]] = {
ATTR_CONDITION_CLEAR_NIGHT: [33, 34, 37],
ATTR_CONDITION_CLOUDY: [7, 8, 38],
ATTR_CONDITION_EXCEPTIONAL: [24, 30, 31],
@@ -61,255 +65,263 @@ CONDITION_CLASSES = {
ATTR_CONDITION_WINDY: [32],
}
FORECAST_DAYS = [0, 1, 2, 3, 4]
FORECAST_SENSOR_TYPES = {
"CloudCoverDay": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-cloudy",
ATTR_LABEL: "Cloud Cover Day",
ATTR_UNIT_METRIC: PERCENTAGE,
ATTR_UNIT_IMPERIAL: PERCENTAGE,
},
"CloudCoverNight": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-cloudy",
ATTR_LABEL: "Cloud Cover Night",
ATTR_UNIT_METRIC: PERCENTAGE,
ATTR_UNIT_IMPERIAL: PERCENTAGE,
},
"Grass": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:grass",
ATTR_LABEL: "Grass Pollen",
ATTR_UNIT_METRIC: CONCENTRATION_PARTS_PER_CUBIC_METER,
ATTR_UNIT_IMPERIAL: CONCENTRATION_PARTS_PER_CUBIC_METER,
},
"HoursOfSun": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-partly-cloudy",
ATTR_LABEL: "Hours Of Sun",
ATTR_UNIT_METRIC: TIME_HOURS,
ATTR_UNIT_IMPERIAL: TIME_HOURS,
},
"Mold": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:blur",
ATTR_LABEL: "Mold Pollen",
ATTR_UNIT_METRIC: CONCENTRATION_PARTS_PER_CUBIC_METER,
ATTR_UNIT_IMPERIAL: CONCENTRATION_PARTS_PER_CUBIC_METER,
},
"Ozone": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:vector-triangle",
ATTR_LABEL: "Ozone",
ATTR_UNIT_METRIC: None,
ATTR_UNIT_IMPERIAL: None,
},
"Ragweed": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:sprout",
ATTR_LABEL: "Ragweed Pollen",
ATTR_UNIT_METRIC: CONCENTRATION_PARTS_PER_CUBIC_METER,
ATTR_UNIT_IMPERIAL: CONCENTRATION_PARTS_PER_CUBIC_METER,
},
"RealFeelTemperatureMax": {
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_ICON: None,
ATTR_LABEL: "RealFeel Temperature Max",
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"RealFeelTemperatureMin": {
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_ICON: None,
ATTR_LABEL: "RealFeel Temperature Min",
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"RealFeelTemperatureShadeMax": {
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_ICON: None,
ATTR_LABEL: "RealFeel Temperature Shade Max",
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"RealFeelTemperatureShadeMin": {
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_ICON: None,
ATTR_LABEL: "RealFeel Temperature Shade Min",
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"ThunderstormProbabilityDay": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-lightning",
ATTR_LABEL: "Thunderstorm Probability Day",
ATTR_UNIT_METRIC: PERCENTAGE,
ATTR_UNIT_IMPERIAL: PERCENTAGE,
},
"ThunderstormProbabilityNight": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-lightning",
ATTR_LABEL: "Thunderstorm Probability Night",
ATTR_UNIT_METRIC: PERCENTAGE,
ATTR_UNIT_IMPERIAL: PERCENTAGE,
},
"Tree": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:tree-outline",
ATTR_LABEL: "Tree Pollen",
ATTR_UNIT_METRIC: CONCENTRATION_PARTS_PER_CUBIC_METER,
ATTR_UNIT_IMPERIAL: CONCENTRATION_PARTS_PER_CUBIC_METER,
},
"UVIndex": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-sunny",
ATTR_LABEL: "UV Index",
ATTR_UNIT_METRIC: UV_INDEX,
ATTR_UNIT_IMPERIAL: UV_INDEX,
},
"WindGustDay": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-windy",
ATTR_LABEL: "Wind Gust Day",
ATTR_UNIT_METRIC: SPEED_KILOMETERS_PER_HOUR,
ATTR_UNIT_IMPERIAL: SPEED_MILES_PER_HOUR,
},
"WindGustNight": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-windy",
ATTR_LABEL: "Wind Gust Night",
ATTR_UNIT_METRIC: SPEED_KILOMETERS_PER_HOUR,
ATTR_UNIT_IMPERIAL: SPEED_MILES_PER_HOUR,
},
"WindDay": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-windy",
ATTR_LABEL: "Wind Day",
ATTR_UNIT_METRIC: SPEED_KILOMETERS_PER_HOUR,
ATTR_UNIT_IMPERIAL: SPEED_MILES_PER_HOUR,
},
"WindNight": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-windy",
ATTR_LABEL: "Wind Night",
ATTR_UNIT_METRIC: SPEED_KILOMETERS_PER_HOUR,
ATTR_UNIT_IMPERIAL: SPEED_MILES_PER_HOUR,
},
}
OPTIONAL_SENSORS = (
"ApparentTemperature",
"CloudCover",
"CloudCoverDay",
"CloudCoverNight",
"DewPoint",
"Grass",
"Mold",
"Ozone",
"Ragweed",
"RealFeelTemperatureShade",
"RealFeelTemperatureShadeMax",
"RealFeelTemperatureShadeMin",
"Tree",
"WetBulbTemperature",
"WindChillTemperature",
"WindGust",
"WindGustDay",
"WindGustNight",
FORECAST_SENSOR_TYPES: Final[tuple[AccuWeatherSensorDescription, ...]] = (
AccuWeatherSensorDescription(
key="CloudCoverDay",
icon="mdi:weather-cloudy",
name="Cloud Cover Day",
unit_metric=PERCENTAGE,
unit_imperial=PERCENTAGE,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="CloudCoverNight",
icon="mdi:weather-cloudy",
name="Cloud Cover Night",
unit_metric=PERCENTAGE,
unit_imperial=PERCENTAGE,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="Grass",
icon="mdi:grass",
name="Grass Pollen",
unit_metric=CONCENTRATION_PARTS_PER_CUBIC_METER,
unit_imperial=CONCENTRATION_PARTS_PER_CUBIC_METER,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="HoursOfSun",
icon="mdi:weather-partly-cloudy",
name="Hours Of Sun",
unit_metric=TIME_HOURS,
unit_imperial=TIME_HOURS,
),
AccuWeatherSensorDescription(
key="Mold",
icon="mdi:blur",
name="Mold Pollen",
unit_metric=CONCENTRATION_PARTS_PER_CUBIC_METER,
unit_imperial=CONCENTRATION_PARTS_PER_CUBIC_METER,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="Ozone",
icon="mdi:vector-triangle",
name="Ozone",
unit_metric=None,
unit_imperial=None,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="Ragweed",
icon="mdi:sprout",
name="Ragweed Pollen",
unit_metric=CONCENTRATION_PARTS_PER_CUBIC_METER,
unit_imperial=CONCENTRATION_PARTS_PER_CUBIC_METER,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="RealFeelTemperatureMax",
device_class=DEVICE_CLASS_TEMPERATURE,
name="RealFeel Temperature Max",
unit_metric=TEMP_CELSIUS,
unit_imperial=TEMP_FAHRENHEIT,
),
AccuWeatherSensorDescription(
key="RealFeelTemperatureMin",
device_class=DEVICE_CLASS_TEMPERATURE,
name="RealFeel Temperature Min",
unit_metric=TEMP_CELSIUS,
unit_imperial=TEMP_FAHRENHEIT,
),
AccuWeatherSensorDescription(
key="RealFeelTemperatureShadeMax",
device_class=DEVICE_CLASS_TEMPERATURE,
name="RealFeel Temperature Shade Max",
unit_metric=TEMP_CELSIUS,
unit_imperial=TEMP_FAHRENHEIT,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="RealFeelTemperatureShadeMin",
device_class=DEVICE_CLASS_TEMPERATURE,
name="RealFeel Temperature Shade Min",
unit_metric=TEMP_CELSIUS,
unit_imperial=TEMP_FAHRENHEIT,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="ThunderstormProbabilityDay",
icon="mdi:weather-lightning",
name="Thunderstorm Probability Day",
unit_metric=PERCENTAGE,
unit_imperial=PERCENTAGE,
),
AccuWeatherSensorDescription(
key="ThunderstormProbabilityNight",
icon="mdi:weather-lightning",
name="Thunderstorm Probability Night",
unit_metric=PERCENTAGE,
unit_imperial=PERCENTAGE,
),
AccuWeatherSensorDescription(
key="Tree",
icon="mdi:tree-outline",
name="Tree Pollen",
unit_metric=CONCENTRATION_PARTS_PER_CUBIC_METER,
unit_imperial=CONCENTRATION_PARTS_PER_CUBIC_METER,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="UVIndex",
icon="mdi:weather-sunny",
name="UV Index",
unit_metric=UV_INDEX,
unit_imperial=UV_INDEX,
),
AccuWeatherSensorDescription(
key="WindGustDay",
icon="mdi:weather-windy",
name="Wind Gust Day",
unit_metric=SPEED_KILOMETERS_PER_HOUR,
unit_imperial=SPEED_MILES_PER_HOUR,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="WindGustNight",
icon="mdi:weather-windy",
name="Wind Gust Night",
unit_metric=SPEED_KILOMETERS_PER_HOUR,
unit_imperial=SPEED_MILES_PER_HOUR,
entity_registry_enabled_default=False,
),
AccuWeatherSensorDescription(
key="WindDay",
icon="mdi:weather-windy",
name="Wind Day",
unit_metric=SPEED_KILOMETERS_PER_HOUR,
unit_imperial=SPEED_MILES_PER_HOUR,
),
AccuWeatherSensorDescription(
key="WindNight",
icon="mdi:weather-windy",
name="Wind Night",
unit_metric=SPEED_KILOMETERS_PER_HOUR,
unit_imperial=SPEED_MILES_PER_HOUR,
),
)
SENSOR_TYPES = {
"ApparentTemperature": {
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_ICON: None,
ATTR_LABEL: "Apparent Temperature",
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"Ceiling": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-fog",
ATTR_LABEL: "Cloud Ceiling",
ATTR_UNIT_METRIC: LENGTH_METERS,
ATTR_UNIT_IMPERIAL: LENGTH_FEET,
},
"CloudCover": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-cloudy",
ATTR_LABEL: "Cloud Cover",
ATTR_UNIT_METRIC: PERCENTAGE,
ATTR_UNIT_IMPERIAL: PERCENTAGE,
},
"DewPoint": {
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_ICON: None,
ATTR_LABEL: "Dew Point",
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"RealFeelTemperature": {
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_ICON: None,
ATTR_LABEL: "RealFeel Temperature",
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"RealFeelTemperatureShade": {
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_ICON: None,
ATTR_LABEL: "RealFeel Temperature Shade",
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"Precipitation": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-rainy",
ATTR_LABEL: "Precipitation",
ATTR_UNIT_METRIC: LENGTH_MILLIMETERS,
ATTR_UNIT_IMPERIAL: LENGTH_INCHES,
},
"PressureTendency": {
ATTR_DEVICE_CLASS: "accuweather__pressure_tendency",
ATTR_ICON: "mdi:gauge",
ATTR_LABEL: "Pressure Tendency",
ATTR_UNIT_METRIC: None,
ATTR_UNIT_IMPERIAL: None,
},
"UVIndex": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-sunny",
ATTR_LABEL: "UV Index",
ATTR_UNIT_METRIC: UV_INDEX,
ATTR_UNIT_IMPERIAL: UV_INDEX,
},
"WetBulbTemperature": {
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_ICON: None,
ATTR_LABEL: "Wet Bulb Temperature",
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"WindChillTemperature": {
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
ATTR_ICON: None,
ATTR_LABEL: "Wind Chill Temperature",
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"Wind": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-windy",
ATTR_LABEL: "Wind",
ATTR_UNIT_METRIC: SPEED_KILOMETERS_PER_HOUR,
ATTR_UNIT_IMPERIAL: SPEED_MILES_PER_HOUR,
},
"WindGust": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-windy",
ATTR_LABEL: "Wind Gust",
ATTR_UNIT_METRIC: SPEED_KILOMETERS_PER_HOUR,
ATTR_UNIT_IMPERIAL: SPEED_MILES_PER_HOUR,
},
}
SENSOR_TYPES: Final[tuple[AccuWeatherSensorDescription, ...]] = (
AccuWeatherSensorDescription(
key="ApparentTemperature",
device_class=DEVICE_CLASS_TEMPERATURE,
name="Apparent Temperature",
unit_metric=TEMP_CELSIUS,
unit_imperial=TEMP_FAHRENHEIT,
entity_registry_enabled_default=False,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="Ceiling",
icon="mdi:weather-fog",
name="Cloud Ceiling",
unit_metric=LENGTH_METERS,
unit_imperial=LENGTH_FEET,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="CloudCover",
icon="mdi:weather-cloudy",
name="Cloud Cover",
unit_metric=PERCENTAGE,
unit_imperial=PERCENTAGE,
entity_registry_enabled_default=False,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="DewPoint",
device_class=DEVICE_CLASS_TEMPERATURE,
name="Dew Point",
unit_metric=TEMP_CELSIUS,
unit_imperial=TEMP_FAHRENHEIT,
entity_registry_enabled_default=False,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="RealFeelTemperature",
device_class=DEVICE_CLASS_TEMPERATURE,
name="RealFeel Temperature",
unit_metric=TEMP_CELSIUS,
unit_imperial=TEMP_FAHRENHEIT,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="RealFeelTemperatureShade",
device_class=DEVICE_CLASS_TEMPERATURE,
name="RealFeel Temperature Shade",
unit_metric=TEMP_CELSIUS,
unit_imperial=TEMP_FAHRENHEIT,
entity_registry_enabled_default=False,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="Precipitation",
icon="mdi:weather-rainy",
name="Precipitation",
unit_metric=LENGTH_MILLIMETERS,
unit_imperial=LENGTH_INCHES,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="PressureTendency",
device_class="accuweather__pressure_tendency",
icon="mdi:gauge",
name="Pressure Tendency",
unit_metric=None,
unit_imperial=None,
),
AccuWeatherSensorDescription(
key="UVIndex",
icon="mdi:weather-sunny",
name="UV Index",
unit_metric=UV_INDEX,
unit_imperial=UV_INDEX,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="WetBulbTemperature",
device_class=DEVICE_CLASS_TEMPERATURE,
name="Wet Bulb Temperature",
unit_metric=TEMP_CELSIUS,
unit_imperial=TEMP_FAHRENHEIT,
entity_registry_enabled_default=False,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="WindChillTemperature",
device_class=DEVICE_CLASS_TEMPERATURE,
name="Wind Chill Temperature",
unit_metric=TEMP_CELSIUS,
unit_imperial=TEMP_FAHRENHEIT,
entity_registry_enabled_default=False,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="Wind",
icon="mdi:weather-windy",
name="Wind",
unit_metric=SPEED_KILOMETERS_PER_HOUR,
unit_imperial=SPEED_MILES_PER_HOUR,
state_class=STATE_CLASS_MEASUREMENT,
),
AccuWeatherSensorDescription(
key="WindGust",
icon="mdi:weather-windy",
name="Wind Gust",
unit_metric=SPEED_KILOMETERS_PER_HOUR,
unit_imperial=SPEED_MILES_PER_HOUR,
entity_registry_enabled_default=False,
state_class=STATE_CLASS_MEASUREMENT,
),
)
@@ -2,7 +2,7 @@
"domain": "accuweather",
"name": "AccuWeather",
"documentation": "https://www.home-assistant.io/integrations/accuweather/",
"requirements": ["accuweather==0.1.1"],
"requirements": ["accuweather==0.2.0"],
"codeowners": ["@bieniu"],
"config_flow": true,
"quality_scale": "platinum",
@@ -0,0 +1,14 @@
"""Type definitions for AccuWeather integration."""
from __future__ import annotations
from dataclasses import dataclass
from homeassistant.components.sensor import SensorEntityDescription
@dataclass
class AccuWeatherSensorDescription(SensorEntityDescription):
"""Class describing AccuWeather sensor entities."""
unit_metric: str | None = None
unit_imperial: str | None = None
+126 -114
View File
@@ -1,166 +1,178 @@
"""Support for the AccuWeather service."""
from __future__ import annotations
from typing import Any, cast
from homeassistant.components.sensor import SensorEntity
from homeassistant.const import (
ATTR_ATTRIBUTION,
ATTR_DEVICE_CLASS,
CONF_NAME,
DEVICE_CLASS_TEMPERATURE,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ATTR_ATTRIBUTION, CONF_NAME, DEVICE_CLASS_TEMPERATURE
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import StateType
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import AccuWeatherDataUpdateCoordinator
from .const import (
API_IMPERIAL,
API_METRIC,
ATTR_FORECAST,
ATTR_ICON,
ATTR_LABEL,
ATTRIBUTION,
COORDINATOR,
DOMAIN,
FORECAST_DAYS,
FORECAST_SENSOR_TYPES,
MANUFACTURER,
MAX_FORECAST_DAYS,
NAME,
OPTIONAL_SENSORS,
SENSOR_TYPES,
)
from .model import AccuWeatherSensorDescription
PARALLEL_UPDATES = 1
async def async_setup_entry(hass, config_entry, async_add_entities):
async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
) -> None:
"""Add AccuWeather entities from a config_entry."""
name = config_entry.data[CONF_NAME]
name: str = entry.data[CONF_NAME]
coordinator = hass.data[DOMAIN][config_entry.entry_id][COORDINATOR]
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
sensors = []
for sensor in SENSOR_TYPES:
sensors.append(AccuWeatherSensor(name, sensor, coordinator))
sensors: list[AccuWeatherSensor] = []
for description in SENSOR_TYPES:
sensors.append(AccuWeatherSensor(name, coordinator, description))
if coordinator.forecast:
for sensor in FORECAST_SENSOR_TYPES:
for day in FORECAST_DAYS:
for description in FORECAST_SENSOR_TYPES:
for day in range(MAX_FORECAST_DAYS + 1):
# Some air quality/allergy sensors are only available for certain
# locations.
if sensor in coordinator.data[ATTR_FORECAST][0]:
if description.key in coordinator.data[ATTR_FORECAST][0]:
sensors.append(
AccuWeatherSensor(name, sensor, coordinator, forecast_day=day)
AccuWeatherSensor(
name, coordinator, description, forecast_day=day
)
)
async_add_entities(sensors, False)
async_add_entities(sensors)
class AccuWeatherSensor(CoordinatorEntity, SensorEntity):
"""Define an AccuWeather entity."""
def __init__(self, name, kind, coordinator, forecast_day=None):
coordinator: AccuWeatherDataUpdateCoordinator
entity_description: AccuWeatherSensorDescription
def __init__(
self,
name: str,
coordinator: AccuWeatherDataUpdateCoordinator,
description: AccuWeatherSensorDescription,
forecast_day: int | None = None,
) -> None:
"""Initialize."""
super().__init__(coordinator)
self._name = name
self.kind = kind
self._device_class = None
self.entity_description = description
self._sensor_data = _get_sensor_data(
coordinator.data, forecast_day, description.key
)
self._attrs = {ATTR_ATTRIBUTION: ATTRIBUTION}
self._unit_system = "Metric" if self.coordinator.is_metric else "Imperial"
self.forecast_day = forecast_day
@property
def name(self):
"""Return the name."""
if self.forecast_day is not None:
return f"{self._name} {FORECAST_SENSOR_TYPES[self.kind][ATTR_LABEL]} {self.forecast_day}d"
return f"{self._name} {SENSOR_TYPES[self.kind][ATTR_LABEL]}"
@property
def unique_id(self):
"""Return a unique_id for this entity."""
if self.forecast_day is not None:
return f"{self.coordinator.location_key}-{self.kind}-{self.forecast_day}".lower()
return f"{self.coordinator.location_key}-{self.kind}".lower()
@property
def device_info(self):
"""Return the device info."""
return {
"identifiers": {(DOMAIN, self.coordinator.location_key)},
if forecast_day is not None:
self._attr_name = f"{name} {description.name} {forecast_day}d"
self._attr_unique_id = (
f"{coordinator.location_key}-{description.key}-{forecast_day}".lower()
)
else:
self._attr_name = f"{name} {description.name}"
self._attr_unique_id = (
f"{coordinator.location_key}-{description.key}".lower()
)
if coordinator.is_metric:
self._unit_system = API_METRIC
self._attr_native_unit_of_measurement = description.unit_metric
else:
self._unit_system = API_IMPERIAL
self._attr_native_unit_of_measurement = description.unit_imperial
self._attr_device_info = {
"identifiers": {(DOMAIN, coordinator.location_key)},
"name": NAME,
"manufacturer": MANUFACTURER,
"entry_type": "service",
}
self.forecast_day = forecast_day
@property
def state(self):
def native_value(self) -> StateType:
"""Return the state."""
if self.forecast_day is not None:
if (
FORECAST_SENSOR_TYPES[self.kind][ATTR_DEVICE_CLASS]
== DEVICE_CLASS_TEMPERATURE
):
return self.coordinator.data[ATTR_FORECAST][self.forecast_day][
self.kind
]["Value"]
if self.kind in ["WindDay", "WindNight", "WindGustDay", "WindGustNight"]:
return self.coordinator.data[ATTR_FORECAST][self.forecast_day][
self.kind
]["Speed"]["Value"]
if self.kind in ["Grass", "Mold", "Ragweed", "Tree", "UVIndex", "Ozone"]:
return self.coordinator.data[ATTR_FORECAST][self.forecast_day][
self.kind
]["Value"]
return self.coordinator.data[ATTR_FORECAST][self.forecast_day][self.kind]
if self.kind == "Ceiling":
return round(self.coordinator.data[self.kind][self._unit_system]["Value"])
if self.kind == "PressureTendency":
return self.coordinator.data[self.kind]["LocalizedText"].lower()
if SENSOR_TYPES[self.kind][ATTR_DEVICE_CLASS] == DEVICE_CLASS_TEMPERATURE:
return self.coordinator.data[self.kind][self._unit_system]["Value"]
if self.kind == "Precipitation":
return self.coordinator.data["PrecipitationSummary"][self.kind][
self._unit_system
]["Value"]
if self.kind in ["Wind", "WindGust"]:
return self.coordinator.data[self.kind]["Speed"][self._unit_system]["Value"]
return self.coordinator.data[self.kind]
if self.entity_description.device_class == DEVICE_CLASS_TEMPERATURE:
return cast(float, self._sensor_data["Value"])
if self.entity_description.key == "UVIndex":
return cast(int, self._sensor_data["Value"])
if self.entity_description.key in ("Grass", "Mold", "Ragweed", "Tree", "Ozone"):
return cast(int, self._sensor_data["Value"])
if self.entity_description.key == "Ceiling":
return round(self._sensor_data[self._unit_system]["Value"])
if self.entity_description.key == "PressureTendency":
return cast(str, self._sensor_data["LocalizedText"].lower())
if self.entity_description.device_class == DEVICE_CLASS_TEMPERATURE:
return cast(float, self._sensor_data[self._unit_system]["Value"])
if self.entity_description.key == "Precipitation":
return cast(float, self._sensor_data[self._unit_system]["Value"])
if self.entity_description.key in ("Wind", "WindGust"):
return cast(float, self._sensor_data["Speed"][self._unit_system]["Value"])
if self.entity_description.key in (
"WindDay",
"WindNight",
"WindGustDay",
"WindGustNight",
):
return cast(StateType, self._sensor_data["Speed"]["Value"])
return cast(StateType, self._sensor_data)
@property
def icon(self):
"""Return the icon."""
if self.forecast_day is not None:
return FORECAST_SENSOR_TYPES[self.kind][ATTR_ICON]
return SENSOR_TYPES[self.kind][ATTR_ICON]
@property
def device_class(self):
"""Return the device_class."""
if self.forecast_day is not None:
return FORECAST_SENSOR_TYPES[self.kind][ATTR_DEVICE_CLASS]
return SENSOR_TYPES[self.kind][ATTR_DEVICE_CLASS]
@property
def unit_of_measurement(self):
"""Return the unit the value is expressed in."""
if self.forecast_day is not None:
return FORECAST_SENSOR_TYPES[self.kind][self._unit_system]
return SENSOR_TYPES[self.kind][self._unit_system]
@property
def extra_state_attributes(self):
def extra_state_attributes(self) -> dict[str, Any]:
"""Return the state attributes."""
if self.forecast_day is not None:
if self.kind in ["WindDay", "WindNight", "WindGustDay", "WindGustNight"]:
self._attrs["direction"] = self.coordinator.data[ATTR_FORECAST][
self.forecast_day
][self.kind]["Direction"]["English"]
elif self.kind in ["Grass", "Mold", "Ragweed", "Tree", "UVIndex", "Ozone"]:
self._attrs["level"] = self.coordinator.data[ATTR_FORECAST][
self.forecast_day
][self.kind]["Category"]
if self.entity_description.key in (
"WindDay",
"WindNight",
"WindGustDay",
"WindGustNight",
):
self._attrs["direction"] = self._sensor_data["Direction"]["English"]
elif self.entity_description.key in (
"Grass",
"Mold",
"Ozone",
"Ragweed",
"Tree",
"UVIndex",
):
self._attrs["level"] = self._sensor_data["Category"]
return self._attrs
if self.kind == "UVIndex":
if self.entity_description.key == "UVIndex":
self._attrs["level"] = self.coordinator.data["UVIndexText"]
elif self.kind == "Precipitation":
elif self.entity_description.key == "Precipitation":
self._attrs["type"] = self.coordinator.data["PrecipitationType"]
return self._attrs
@property
def entity_registry_enabled_default(self):
"""Return if the entity should be enabled when first added to the entity registry."""
return bool(self.kind not in OPTIONAL_SENSORS)
@callback
def _handle_coordinator_update(self) -> None:
"""Handle data update."""
self._sensor_data = _get_sensor_data(
self.coordinator.data, self.forecast_day, self.entity_description.key
)
self.async_write_ha_state()
def _get_sensor_data(
sensors: dict[str, Any], forecast_day: int | None, kind: str
) -> Any:
"""Get sensor data."""
if forecast_day is not None:
return sensors[ATTR_FORECAST][forecast_day][kind]
if kind == "Precipitation":
return sensors["PrecipitationSummary"][kind]
return sensors[kind]
@@ -1,10 +1,14 @@
"""Provide info to system health."""
from __future__ import annotations
from typing import Any
from accuweather.const import ENDPOINT
from homeassistant.components import system_health
from homeassistant.core import HomeAssistant, callback
from .const import COORDINATOR, DOMAIN
from .const import DOMAIN
@callback
@@ -15,10 +19,10 @@ def async_register(
register.async_register_info(system_health_info)
async def system_health_info(hass):
async def system_health_info(hass: HomeAssistant) -> dict[str, Any]:
"""Get info for the info page."""
remaining_requests = list(hass.data[DOMAIN].values())[0][
COORDINATOR
remaining_requests = list(hass.data[DOMAIN].values())[
0
].accuweather.requests_remaining
return {
@@ -0,0 +1,30 @@
{
"config": {
"error": {
"requests_exceeded": "\u062a\u0645 \u062a\u062c\u0627\u0648\u0632 \u0627\u0644\u0639\u062f\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0645\u0646 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0625\u0644\u0649 Accuweather API. \u0639\u0644\u064a\u0643 \u0627\u0644\u0627\u0646\u062a\u0638\u0627\u0631 \u0623\u0648 \u062a\u063a\u064a\u064a\u0631 \u0645\u0641\u062a\u0627\u062d API."
},
"step": {
"user": {
"description": "\u0625\u0630\u0627 \u0643\u0646\u062a \u0628\u062d\u0627\u062c\u0629 \u0625\u0644\u0649 \u0645\u0633\u0627\u0639\u062f\u0629 \u0641\u064a \u0627\u0644\u062a\u0643\u0648\u064a\u0646 \u060c \u0641\u0642\u0645 \u0628\u0625\u0644\u0642\u0627\u0621 \u0646\u0638\u0631\u0629 \u0647\u0646\u0627: https://www.home-assistant.io/integrations/accuweather/ \n\n \u0644\u0627 \u064a\u062a\u0645 \u062a\u0645\u0643\u064a\u0646 \u0628\u0639\u0636 \u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0627\u0633\u062a\u0634\u0639\u0627\u0631 \u0628\u0634\u0643\u0644 \u0627\u0641\u062a\u0631\u0627\u0636\u064a. \u064a\u0645\u0643\u0646\u0643 \u062a\u0645\u0643\u064a\u0646\u0647\u0645 \u0641\u064a \u0633\u062c\u0644 \u0627\u0644\u0643\u064a\u0627\u0646 \u0628\u0639\u062f \u062a\u0643\u0648\u064a\u0646 \u0627\u0644\u062a\u0643\u0627\u0645\u0644.\n \u0644\u0627 \u064a\u062a\u0645 \u062a\u0645\u0643\u064a\u0646 \u062a\u0648\u0642\u0639\u0627\u062a \u0627\u0644\u0637\u0642\u0633 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u064b\u0627. \u064a\u0645\u0643\u0646\u0643 \u062a\u0645\u0643\u064a\u0646\u0647 \u0641\u064a \u062e\u064a\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u0643\u0627\u0645\u0644.",
"title": "AccuWeather"
}
}
},
"options": {
"step": {
"user": {
"data": {
"forecast": "\u0627\u0644\u0646\u0634\u0631\u0629 \u0627\u0644\u062c\u0648\u064a\u0629"
},
"description": "\u0646\u0638\u0631\u064b\u0627 \u0644\u0642\u064a\u0648\u062f \u0627\u0644\u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0645\u062c\u0627\u0646\u064a \u0645\u0646 \u0645\u0641\u062a\u0627\u062d AccuWeather API \u060c \u0639\u0646\u062f \u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u0646\u0628\u0624 \u0628\u0627\u0644\u0637\u0642\u0633 \u060c \u0633\u064a\u062a\u0645 \u0625\u062c\u0631\u0627\u0621 \u062a\u062d\u062f\u064a\u062b\u0627\u062a \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0643\u0644 80 \u062f\u0642\u064a\u0642\u0629 \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0643\u0644 40 \u062f\u0642\u064a\u0642\u0629.",
"title": "\u062e\u064a\u0627\u0631\u0627\u062a AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u062e\u0627\u062f\u0645 AccuWeather",
"remaining_requests": "\u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647\u0627"
}
}
}
@@ -6,7 +6,7 @@
"error": {
"cannot_connect": "Verbindung fehlgeschlagen",
"invalid_api_key": "Ung\u00fcltiger API-Schl\u00fcssel",
"requests_exceeded": "Die zul\u00e4ssige Anzahl von Anforderungen an die Accuweather-API wurde \u00fcberschritten. Sie m\u00fcssen warten oder den API-Schl\u00fcssel \u00e4ndern."
"requests_exceeded": "Die zul\u00e4ssige Anzahl von Anforderungen an die Accuweather-API wurde \u00fcberschritten. Du musst warten oder den API-Schl\u00fcssel \u00e4ndern."
},
"step": {
"user": {
@@ -1,6 +1,11 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ya configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_api_key": "Clave de API no v\u00e1lida",
"requests_exceeded": "Se super\u00f3 el n\u00famero permitido de solicitudes a la API de Accuweather. Tiene que esperar o cambiar la clave de API."
},
"step": {
@@ -14,7 +14,7 @@
"api_key": "Cl\u00e9 d'API",
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Nom de l'int\u00e9gration"
"name": "Nom"
},
"description": "Si vous avez besoin d'aide pour la configuration, consultez le site suivant : https://www.home-assistant.io/integrations/accuweather/\n\nCertains capteurs ne sont pas activ\u00e9s par d\u00e9faut. Vous pouvez les activer dans le registre des entit\u00e9s apr\u00e8s la configuration de l'int\u00e9gration.\nLes pr\u00e9visions m\u00e9t\u00e9orologiques ne sont pas activ\u00e9es par d\u00e9faut. Vous pouvez l'activer dans les options d'int\u00e9gration.",
"title": "AccuWeather"
@@ -1,11 +1,41 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u05ea\u05e6\u05d5\u05e8\u05ea\u05d5 \u05db\u05d1\u05e8 \u05e0\u05e7\u05d1\u05e2\u05d4. \u05e8\u05e7 \u05ea\u05e6\u05d5\u05e8\u05d4 \u05d0\u05d7\u05ea \u05d0\u05e4\u05e9\u05e8\u05d9\u05ea."
},
"error": {
"cannot_connect": "\u05d4\u05d4\u05ea\u05d7\u05d1\u05e8\u05d5\u05ea \u05e0\u05db\u05e9\u05dc\u05d4",
"invalid_api_key": "\u05de\u05e4\u05ea\u05d7 API \u05dc\u05d0 \u05d7\u05d5\u05e7\u05d9",
"requests_exceeded": "\u05d0\u05d9\u05e8\u05e2\u05d4 \u05d7\u05e8\u05d9\u05d2\u05d4 \u05de\u05de\u05e1\u05e4\u05e8 \u05d4\u05d1\u05e7\u05e9\u05d5\u05ea \u05d4\u05de\u05d5\u05ea\u05e8 \u05dc-API \u05e9\u05dc Accuweather. \u05e2\u05dc\u05d9\u05da \u05dc\u05d4\u05de\u05ea\u05d9\u05df \u05d0\u05d5 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e4\u05ea\u05d7 \u05d4-API."
},
"step": {
"user": {
"data": {
"longitude": "\u05e7\u05d5 \u05d0\u05d5\u05e8\u05da"
}
"api_key": "\u05de\u05e4\u05ea\u05d7 API",
"latitude": "\u05e7\u05d5 \u05e8\u05d5\u05d7\u05d1",
"longitude": "\u05e7\u05d5 \u05d0\u05d5\u05e8\u05da",
"name": "\u05e9\u05dd"
},
"description": "\u05d0\u05dd \u05d4\u05d9\u05e0\u05da \u05d6\u05e7\u05d5\u05e7 \u05dc\u05e2\u05d6\u05e8\u05d4 \u05e2\u05dd \u05d4\u05ea\u05e6\u05d5\u05e8\u05d4, \u05d9\u05e9 \u05dc\u05e2\u05d9\u05d9\u05df \u05db\u05d0\u05df: https://www.home-assistant.io/integrations/accuweather/\n\n\u05d7\u05d9\u05d9\u05e9\u05e0\u05d9\u05dd \u05de\u05e1\u05d5\u05d9\u05de\u05d9\u05dd \u05d0\u05d9\u05e0\u05dd \u05d6\u05de\u05d9\u05e0\u05d9\u05dd \u05db\u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc. \u05d1\u05d0\u05e4\u05e9\u05e8\u05d5\u05ea\u05da \u05dc\u05d4\u05e4\u05d5\u05da \u05d0\u05d5\u05ea\u05dd \u05dc\u05d6\u05de\u05d9\u05e0\u05d9\u05dd \u05d1\u05e8\u05d9\u05e9\u05d5\u05dd \u05d4\u05d9\u05e9\u05d5\u05d9\u05d5\u05ea \u05dc\u05d0\u05d7\u05e8 \u05e7\u05d1\u05d9\u05e2\u05ea \u05d4\u05ea\u05e6\u05d5\u05e8\u05d4 \u05e9\u05dc \u05d4\u05e9\u05d9\u05dc\u05d5\u05d1.\n\u05ea\u05d7\u05d6\u05d9\u05ea \u05de\u05d6\u05d2 \u05d4\u05d0\u05d5\u05d5\u05d9\u05e8 \u05d0\u05d9\u05e0\u05d4 \u05d6\u05de\u05d9\u05e0\u05d4 \u05db\u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc. \u05d1\u05d0\u05e4\u05e9\u05e8\u05d5\u05ea\u05da \u05dc\u05d4\u05e4\u05d5\u05da \u05d0\u05d5\u05ea\u05d5 \u05dc\u05d6\u05de\u05d9\u05df \u05d1\u05d0\u05e4\u05e9\u05e8\u05d5\u05d9\u05d5\u05ea \u05d4\u05e9\u05d9\u05dc\u05d5\u05d1.",
"title": "AccuWeather"
}
}
},
"options": {
"step": {
"user": {
"data": {
"forecast": "\u05ea\u05d7\u05d6\u05d9\u05ea \u05de\u05d6\u05d2 \u05d4\u05d0\u05d5\u05d5\u05d9\u05e8"
},
"description": "\u05d1\u05e9\u05dc \u05de\u05d2\u05d1\u05dc\u05d5\u05ea \u05d4\u05d2\u05d9\u05e8\u05e1\u05d4 \u05d4\u05d7\u05d9\u05e0\u05de\u05d9\u05ea \u05e9\u05dc \u05de\u05e4\u05ea\u05d7 \u05d4-API \u05e9\u05dc AccuWeather, \u05db\u05d0\u05e9\u05e8 \u05ea\u05e4\u05e2\u05d9\u05dc \u05ea\u05d7\u05d6\u05d9\u05ea \u05de\u05d6\u05d2 \u05d0\u05d5\u05d5\u05d9\u05e8, \u05e2\u05d3\u05db\u05d5\u05e0\u05d9 \u05e0\u05ea\u05d5\u05e0\u05d9\u05dd \u05d9\u05d1\u05d5\u05e6\u05e2\u05d5 \u05db\u05dc 80 \u05d3\u05e7\u05d5\u05ea \u05d1\u05de\u05e7\u05d5\u05dd \u05db\u05dc 40 \u05d3\u05e7\u05d5\u05ea.",
"title": "\u05d0\u05e4\u05e9\u05e8\u05d5\u05d9\u05d5\u05ea AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u05d4\u05e9\u05d2\u05ea \u05e9\u05e8\u05ea AccuWeather",
"remaining_requests": "\u05d4\u05d1\u05e7\u05e9\u05d5\u05ea \u05d4\u05e0\u05d5\u05ea\u05e8\u05d5\u05ea \u05de\u05d5\u05ea\u05e8\u05d5\u05ea"
}
}
}
@@ -5,7 +5,8 @@
},
"error": {
"cannot_connect": "Sikertelen csatlakoz\u00e1s",
"invalid_api_key": "\u00c9rv\u00e9nytelen API kulcs"
"invalid_api_key": "\u00c9rv\u00e9nytelen API kulcs",
"requests_exceeded": "T\u00fall\u00e9pt\u00e9k az Accuweather API-hoz beny\u00fajtott k\u00e9relmek megengedett sz\u00e1m\u00e1t. Meg kell v\u00e1rnia vagy m\u00f3dos\u00edtania kell az API-kulcsot."
},
"step": {
"user": {
@@ -15,6 +16,7 @@
"longitude": "Hossz\u00fas\u00e1g",
"name": "N\u00e9v"
},
"description": "Ha seg\u00edts\u00e9gre van sz\u00fcks\u00e9ge a konfigur\u00e1l\u00e1shoz, n\u00e9zze meg itt: https://www.home-assistant.io/integrations/accuweather/ \n\nEgyes \u00e9rz\u00e9kel\u0151k alap\u00e9rtelmez\u00e9s szerint nincsenek enged\u00e9lyezve. Az integr\u00e1ci\u00f3s konfigur\u00e1ci\u00f3 ut\u00e1n enged\u00e9lyezheti \u0151ket az entit\u00e1s-nyilv\u00e1ntart\u00e1sban.\nAz id\u0151j\u00e1r\u00e1s-el\u0151rejelz\u00e9s alap\u00e9rtelmez\u00e9s szerint nincs enged\u00e9lyezve. Ezt az integr\u00e1ci\u00f3s be\u00e1ll\u00edt\u00e1sokban enged\u00e9lyezheti.",
"title": "AccuWeather"
}
}
@@ -22,8 +24,18 @@
"options": {
"step": {
"user": {
"data": {
"forecast": "Id\u0151j\u00e1r\u00e1s el\u0151rejelz\u00e9s"
},
"description": "Az AccuWeather API kulcs ingyenes verzi\u00f3j\u00e1nak korl\u00e1tai miatt, amikor enged\u00e9lyezi az id\u0151j\u00e1r\u00e1s -el\u0151rejelz\u00e9st, az adatfriss\u00edt\u00e9seket 40 percenk\u00e9nt 80 percenk\u00e9nt hajtj\u00e1k v\u00e9gre.",
"title": "AccuWeather be\u00e1ll\u00edt\u00e1sok"
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u00c9rje el az AccuWeather szervert",
"remaining_requests": "Fennmarad\u00f3 enged\u00e9lyezett k\u00e9r\u00e9sek"
}
}
}
@@ -0,0 +1,9 @@
{
"state": {
"accuweather__pressure_tendency": {
"falling": "\u0647\u0628\u0648\u0637",
"rising": "\u0627\u0631\u062a\u0641\u0627\u0639",
"steady": "\u062b\u0627\u0628\u062a"
}
}
}
@@ -0,0 +1,9 @@
{
"state": {
"accuweather__pressure_tendency": {
"falling": "\u05d9\u05d5\u05e8\u05d3",
"rising": "\u05e2\u05d5\u05dc\u05d4",
"steady": "\u05d9\u05e6\u05d9\u05d1"
}
}
}
+56 -54
View File
@@ -1,5 +1,8 @@
"""Support for the AccuWeather service."""
from __future__ import annotations
from statistics import mean
from typing import Any, cast
from homeassistant.components.weather import (
ATTR_FORECAST_CONDITION,
@@ -10,17 +13,23 @@ from homeassistant.components.weather import (
ATTR_FORECAST_TIME,
ATTR_FORECAST_WIND_BEARING,
ATTR_FORECAST_WIND_SPEED,
Forecast,
WeatherEntity,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_NAME, TEMP_CELSIUS, TEMP_FAHRENHEIT
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from homeassistant.util.dt import utc_from_timestamp
from . import AccuWeatherDataUpdateCoordinator
from .const import (
API_IMPERIAL,
API_METRIC,
ATTR_FORECAST,
ATTRIBUTION,
CONDITION_CLASSES,
COORDINATOR,
DOMAIN,
MANUFACTURER,
NAME,
@@ -29,52 +38,43 @@ from .const import (
PARALLEL_UPDATES = 1
async def async_setup_entry(hass, config_entry, async_add_entities):
async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
) -> None:
"""Add a AccuWeather weather entity from a config_entry."""
name = config_entry.data[CONF_NAME]
name: str = entry.data[CONF_NAME]
coordinator = hass.data[DOMAIN][config_entry.entry_id][COORDINATOR]
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
async_add_entities([AccuWeatherEntity(name, coordinator)], False)
async_add_entities([AccuWeatherEntity(name, coordinator)])
class AccuWeatherEntity(CoordinatorEntity, WeatherEntity):
"""Define an AccuWeather entity."""
def __init__(self, name, coordinator):
coordinator: AccuWeatherDataUpdateCoordinator
def __init__(
self, name: str, coordinator: AccuWeatherDataUpdateCoordinator
) -> None:
"""Initialize."""
super().__init__(coordinator)
self._name = name
self._attrs = {}
self._unit_system = "Metric" if self.coordinator.is_metric else "Imperial"
@property
def name(self):
"""Return the name."""
return self._name
@property
def attribution(self):
"""Return the attribution."""
return ATTRIBUTION
@property
def unique_id(self):
"""Return a unique_id for this entity."""
return self.coordinator.location_key
@property
def device_info(self):
"""Return the device info."""
return {
"identifiers": {(DOMAIN, self.coordinator.location_key)},
self._unit_system = API_METRIC if coordinator.is_metric else API_IMPERIAL
self._attr_name = name
self._attr_unique_id = coordinator.location_key
self._attr_temperature_unit = (
TEMP_CELSIUS if coordinator.is_metric else TEMP_FAHRENHEIT
)
self._attr_attribution = ATTRIBUTION
self._attr_device_info = {
"identifiers": {(DOMAIN, coordinator.location_key)},
"name": NAME,
"manufacturer": MANUFACTURER,
"entry_type": "service",
}
@property
def condition(self):
def condition(self) -> str | None:
"""Return the current condition."""
try:
return [
@@ -86,57 +86,60 @@ class AccuWeatherEntity(CoordinatorEntity, WeatherEntity):
return None
@property
def temperature(self):
def temperature(self) -> float:
"""Return the temperature."""
return self.coordinator.data["Temperature"][self._unit_system]["Value"]
return cast(
float, self.coordinator.data["Temperature"][self._unit_system]["Value"]
)
@property
def temperature_unit(self):
"""Return the unit of measurement."""
return TEMP_CELSIUS if self.coordinator.is_metric else TEMP_FAHRENHEIT
@property
def pressure(self):
def pressure(self) -> float:
"""Return the pressure."""
return self.coordinator.data["Pressure"][self._unit_system]["Value"]
return cast(
float, self.coordinator.data["Pressure"][self._unit_system]["Value"]
)
@property
def humidity(self):
def humidity(self) -> int:
"""Return the humidity."""
return self.coordinator.data["RelativeHumidity"]
return cast(int, self.coordinator.data["RelativeHumidity"])
@property
def wind_speed(self):
def wind_speed(self) -> float:
"""Return the wind speed."""
return self.coordinator.data["Wind"]["Speed"][self._unit_system]["Value"]
return cast(
float, self.coordinator.data["Wind"]["Speed"][self._unit_system]["Value"]
)
@property
def wind_bearing(self):
def wind_bearing(self) -> int:
"""Return the wind bearing."""
return self.coordinator.data["Wind"]["Direction"]["Degrees"]
return cast(int, self.coordinator.data["Wind"]["Direction"]["Degrees"])
@property
def visibility(self):
def visibility(self) -> float:
"""Return the visibility."""
return self.coordinator.data["Visibility"][self._unit_system]["Value"]
return cast(
float, self.coordinator.data["Visibility"][self._unit_system]["Value"]
)
@property
def ozone(self):
def ozone(self) -> int | None:
"""Return the ozone level."""
# We only have ozone data for certain locations and only in the forecast data.
if self.coordinator.forecast and self.coordinator.data[ATTR_FORECAST][0].get(
"Ozone"
):
return self.coordinator.data[ATTR_FORECAST][0]["Ozone"]["Value"]
return cast(int, self.coordinator.data[ATTR_FORECAST][0]["Ozone"]["Value"])
return None
@property
def forecast(self):
def forecast(self) -> list[Forecast] | None:
"""Return the forecast array."""
if not self.coordinator.forecast:
return None
# remap keys from library to keys understood by the weather component
forecast = [
return [
{
ATTR_FORECAST_TIME: utc_from_timestamp(item["EpochDate"]).isoformat(),
ATTR_FORECAST_TEMP: item["TemperatureMax"]["Value"],
@@ -158,10 +161,9 @@ class AccuWeatherEntity(CoordinatorEntity, WeatherEntity):
}
for item in self.coordinator.data[ATTR_FORECAST]
]
return forecast
@staticmethod
def _calc_precipitation(day: dict) -> float:
def _calc_precipitation(day: dict[str, Any]) -> float:
"""Return sum of the precipitation."""
precip_sum = 0
precip_types = ["Rain", "Snow", "Ice"]
@@ -0,0 +1,34 @@
"""Use serial protocol of Acer projector to obtain state of the projector."""
from __future__ import annotations
from typing import Final
from homeassistant.const import STATE_OFF, STATE_ON
CONF_WRITE_TIMEOUT: Final = "write_timeout"
DEFAULT_NAME: Final = "Acer Projector"
DEFAULT_TIMEOUT: Final = 1
DEFAULT_WRITE_TIMEOUT: Final = 1
ECO_MODE: Final = "ECO Mode"
ICON: Final = "mdi:projector"
INPUT_SOURCE: Final = "Input Source"
LAMP: Final = "Lamp"
LAMP_HOURS: Final = "Lamp Hours"
MODEL: Final = "Model"
# Commands known to the projector
CMD_DICT: Final[dict[str, str]] = {
LAMP: "* 0 Lamp ?\r",
LAMP_HOURS: "* 0 Lamp\r",
INPUT_SOURCE: "* 0 Src ?\r",
ECO_MODE: "* 0 IR 052\r",
MODEL: "* 0 IR 035\r",
STATE_ON: "* 0 IR 001\r",
STATE_OFF: "* 0 IR 002\r",
}
@@ -1,6 +1,9 @@
"""Use serial protocol of Acer projector to obtain state of the projector."""
from __future__ import annotations
import logging
import re
from typing import Any
import serial
import voluptuous as vol
@@ -14,39 +17,26 @@ from homeassistant.const import (
STATE_ON,
STATE_UNKNOWN,
)
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from .const import (
CMD_DICT,
CONF_WRITE_TIMEOUT,
DEFAULT_NAME,
DEFAULT_TIMEOUT,
DEFAULT_WRITE_TIMEOUT,
ECO_MODE,
ICON,
INPUT_SOURCE,
LAMP,
LAMP_HOURS,
)
_LOGGER = logging.getLogger(__name__)
CONF_WRITE_TIMEOUT = "write_timeout"
DEFAULT_NAME = "Acer Projector"
DEFAULT_TIMEOUT = 1
DEFAULT_WRITE_TIMEOUT = 1
ECO_MODE = "ECO Mode"
ICON = "mdi:projector"
INPUT_SOURCE = "Input Source"
LAMP = "Lamp"
LAMP_HOURS = "Lamp Hours"
MODEL = "Model"
# Commands known to the projector
CMD_DICT = {
LAMP: "* 0 Lamp ?\r",
LAMP_HOURS: "* 0 Lamp\r",
INPUT_SOURCE: "* 0 Src ?\r",
ECO_MODE: "* 0 IR 052\r",
MODEL: "* 0 IR 035\r",
STATE_ON: "* 0 IR 001\r",
STATE_OFF: "* 0 IR 002\r",
}
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_FILENAME): cv.isdevice,
@@ -59,7 +49,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
)
def setup_platform(hass, config, add_entities, discovery_info=None):
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType,
) -> None:
"""Connect with serial port and return Acer Projector."""
serial_port = config[CONF_FILENAME]
name = config[CONF_NAME]
@@ -72,22 +67,28 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
class AcerSwitch(SwitchEntity):
"""Represents an Acer Projector as a switch."""
def __init__(self, serial_port, name, timeout, write_timeout, **kwargs):
_attr_icon = ICON
def __init__(
self,
serial_port: str,
name: str,
timeout: int,
write_timeout: int,
) -> None:
"""Init of the Acer projector."""
self.ser = serial.Serial(
port=serial_port, timeout=timeout, write_timeout=write_timeout, **kwargs
port=serial_port, timeout=timeout, write_timeout=write_timeout
)
self._serial_port = serial_port
self._name = name
self._state = False
self._available = False
self._attr_name = name
self._attributes = {
LAMP_HOURS: STATE_UNKNOWN,
INPUT_SOURCE: STATE_UNKNOWN,
ECO_MODE: STATE_UNKNOWN,
}
def _write_read(self, msg):
def _write_read(self, msg: str) -> str:
"""Write to the projector and read the return."""
ret = ""
# Sometimes the projector won't answer for no reason or the projector
@@ -96,8 +97,7 @@ class AcerSwitch(SwitchEntity):
try:
if not self.ser.is_open:
self.ser.open()
msg = msg.encode("utf-8")
self.ser.write(msg)
self.ser.write(msg.encode("utf-8"))
# Size is an experience value there is no real limit.
# AFAIK there is no limit and no end character so we will usually
# need to wait for timeout
@@ -107,7 +107,7 @@ class AcerSwitch(SwitchEntity):
self.ser.close()
return ret
def _write_read_format(self, msg):
def _write_read_format(self, msg: str) -> str:
"""Write msg, obtain answer and format output."""
# answers are formatted as ***\answer\r***
awns = self._write_read(msg)
@@ -116,53 +116,33 @@ class AcerSwitch(SwitchEntity):
return match.group(1)
return STATE_UNKNOWN
@property
def available(self):
"""Return if projector is available."""
return self._available
@property
def name(self):
"""Return name of the projector."""
return self._name
@property
def is_on(self):
"""Return if the projector is turned on."""
return self._state
@property
def extra_state_attributes(self):
"""Return state attributes."""
return self._attributes
def update(self):
def update(self) -> None:
"""Get the latest state from the projector."""
msg = CMD_DICT[LAMP]
awns = self._write_read_format(msg)
awns = self._write_read_format(CMD_DICT[LAMP])
if awns == "Lamp 1":
self._state = True
self._available = True
self._attr_is_on = True
self._attr_available = True
elif awns == "Lamp 0":
self._state = False
self._available = True
self._attr_is_on = False
self._attr_available = True
else:
self._available = False
self._attr_available = False
for key in self._attributes:
msg = CMD_DICT.get(key)
if msg:
awns = self._write_read_format(msg)
self._attributes[key] = awns
self._attr_extra_state_attributes = self._attributes
def turn_on(self, **kwargs):
def turn_on(self, **kwargs: Any) -> None:
"""Turn the projector on."""
msg = CMD_DICT[STATE_ON]
self._write_read(msg)
self._state = STATE_ON
self._attr_is_on = True
def turn_off(self, **kwargs):
def turn_off(self, **kwargs: Any) -> None:
"""Turn the projector off."""
msg = CMD_DICT[STATE_OFF]
self._write_read(msg)
self._state = STATE_OFF
self._attr_is_on = False
+1 -1
View File
@@ -13,7 +13,7 @@ from .const import ACMEDA_ENTITY_REMOVE, DOMAIN, LOGGER
class AcmedaBase(entity.Entity):
"""Base representation of an Acmeda roller."""
def __init__(self, roller: aiopulse.Roller):
def __init__(self, roller: aiopulse.Roller) -> None:
"""Initialize the roller."""
self.roller = roller
@@ -17,7 +17,6 @@ class AcmedaFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
"""Handle a Acmeda config flow."""
VERSION = 1
CONNECTION_CLASS = config_entries.CONN_CLASS_LOCAL_POLL
def __init__(self):
"""Initialize the config flow."""
+1 -1
View File
@@ -61,7 +61,7 @@ class AcmedaCover(AcmedaBase, CoverEntity):
None is unknown, 0 is closed, 100 is fully open.
"""
position = None
if self.roller.type in [7, 10]:
if self.roller.type in (7, 10):
position = 100 - self.roller.closed_percent
return position
+2 -2
View File
@@ -34,7 +34,7 @@ class AcmedaBattery(AcmedaBase, SensorEntity):
"""Representation of a Acmeda cover device."""
device_class = DEVICE_CLASS_BATTERY
unit_of_measurement = PERCENTAGE
_attr_native_unit_of_measurement = PERCENTAGE
@property
def name(self):
@@ -42,6 +42,6 @@ class AcmedaBattery(AcmedaBase, SensorEntity):
return f"{super().name} Battery"
@property
def state(self):
def native_value(self):
"""Return the state of the device."""
return self.roller.battery
@@ -0,0 +1,14 @@
{
"config": {
"abort": {
"no_devices_found": "\u05dc\u05d0 \u05e0\u05de\u05e6\u05d0\u05d5 \u05de\u05db\u05e9\u05d9\u05e8\u05d9\u05dd \u05d1\u05e8\u05e9\u05ea"
},
"step": {
"user": {
"data": {
"id": "\u05de\u05d6\u05d4\u05d4 \u05de\u05d0\u05e8\u05d7"
}
}
}
}
}
@@ -2,6 +2,14 @@
"config": {
"abort": {
"no_devices_found": "Nem tal\u00e1lhat\u00f3 eszk\u00f6z a h\u00e1l\u00f3zaton"
},
"step": {
"user": {
"data": {
"id": "Gazdag\u00e9p azonos\u00edt\u00f3"
},
"title": "V\u00e1lassza ki a hozz\u00e1adni k\u00edv\u00e1nt hubot"
}
}
}
}
@@ -0,0 +1,14 @@
"""Support for Actiontec MI424WR (Verizon FIOS) routers."""
from __future__ import annotations
import re
from typing import Final
# mypy: disallow-any-generics
LEASES_REGEX: Final[re.Pattern[str]] = re.compile(
r"(?P<ip>([0-9]{1,3}[\.]){3}[0-9]{1,3})"
+ r"\smac:\s(?P<mac>([0-9a-f]{2}[:-]){5}([0-9a-f]{2}))"
+ r"\svalid\sfor:\s(?P<timevalid>(-?\d+))"
+ r"\ssec"
)
@@ -1,30 +1,28 @@
"""Support for Actiontec MI424WR (Verizon FIOS) routers."""
from collections import namedtuple
from __future__ import annotations
import logging
import re
import telnetlib
from typing import Final
import voluptuous as vol
from homeassistant.components.device_tracker import (
DOMAIN,
PLATFORM_SCHEMA,
PLATFORM_SCHEMA as BASE_PLATFORM_SCHEMA,
DeviceScanner,
)
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv
import homeassistant.util.dt as dt_util
from homeassistant.helpers.typing import ConfigType
_LOGGER = logging.getLogger(__name__)
from .const import LEASES_REGEX
from .model import Device
_LEASES_REGEX = re.compile(
r"(?P<ip>([0-9]{1,3}[\.]){3}[0-9]{1,3})"
+ r"\smac:\s(?P<mac>([0-9a-f]{2}[:-]){5}([0-9a-f]{2}))"
+ r"\svalid\sfor:\s(?P<timevalid>(-?\d+))"
+ r"\ssec"
)
_LOGGER: Final = logging.getLogger(__name__)
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
PLATFORM_SCHEMA: Final = BASE_PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_HOST): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
@@ -33,43 +31,38 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
)
def get_scanner(hass, config):
def get_scanner(hass: HomeAssistant, config: ConfigType) -> DeviceScanner | None:
"""Validate the configuration and return an Actiontec scanner."""
scanner = ActiontecDeviceScanner(config[DOMAIN])
return scanner if scanner.success_init else None
Device = namedtuple("Device", ["mac", "ip", "last_update"])
class ActiontecDeviceScanner(DeviceScanner):
"""This class queries an actiontec router for connected devices."""
def __init__(self, config):
def __init__(self, config: ConfigType) -> None:
"""Initialize the scanner."""
self.host = config[CONF_HOST]
self.username = config[CONF_USERNAME]
self.password = config[CONF_PASSWORD]
self.last_results = []
self.host: str = config[CONF_HOST]
self.username: str = config[CONF_USERNAME]
self.password: str = config[CONF_PASSWORD]
self.last_results: list[Device] = []
data = self.get_actiontec_data()
self.success_init = data is not None
_LOGGER.info("Scanner initialized")
def scan_devices(self):
def scan_devices(self) -> list[str]:
"""Scan for new devices and return a list with found device IDs."""
self._update_info()
return [client.mac for client in self.last_results]
return [client.mac_address for client in self.last_results]
def get_device_name(self, device):
def get_device_name(self, device: str) -> str | None:
"""Return the name of the given device or None if we don't know."""
if not self.last_results:
return None
for client in self.last_results:
if client.mac == device:
return client.ip
if client.mac_address == device:
return client.ip_address
return None
def _update_info(self):
def _update_info(self) -> bool:
"""Ensure the information from the router is up to date.
Return boolean if scanning successful.
@@ -78,19 +71,16 @@ class ActiontecDeviceScanner(DeviceScanner):
if not self.success_init:
return False
now = dt_util.now()
actiontec_data = self.get_actiontec_data()
if not actiontec_data:
if actiontec_data is None:
return False
self.last_results = [
Device(data["mac"], name, now)
for name, data in actiontec_data.items()
if data["timevalid"] > -60
device for device in actiontec_data if device.timevalid > -60
]
_LOGGER.info("Scan successful")
return True
def get_actiontec_data(self):
def get_actiontec_data(self) -> list[Device] | None:
"""Retrieve data from Actiontec MI424WR and return parsed result."""
try:
telnet = telnetlib.Telnet(self.host)
@@ -106,18 +96,20 @@ class ActiontecDeviceScanner(DeviceScanner):
telnet.write(b"exit\n")
except EOFError:
_LOGGER.exception("Unexpected response from router")
return
return None
except ConnectionRefusedError:
_LOGGER.exception("Connection refused by router. Telnet enabled?")
return None
devices = {}
devices: list[Device] = []
for lease in leases_result:
match = _LEASES_REGEX.search(lease.decode("utf-8"))
match = LEASES_REGEX.search(lease.decode("utf-8"))
if match is not None:
devices[match.group("ip")] = {
"ip": match.group("ip"),
"mac": match.group("mac").upper(),
"timevalid": int(match.group("timevalid")),
}
devices.append(
Device(
match.group("ip"),
match.group("mac").upper(),
int(match.group("timevalid")),
)
)
return devices
@@ -0,0 +1,11 @@
"""Model definitions for Actiontec MI424WR (Verizon FIOS) routers."""
from dataclasses import dataclass
@dataclass
class Device:
"""Actiontec device class."""
ip_address: str
mac_address: str
timevalid: int
+18
View File
@@ -0,0 +1,18 @@
"""The Adax integration."""
from __future__ import annotations
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
PLATFORMS = ["climate"]
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up Adax from a config entry."""
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
+126
View File
@@ -0,0 +1,126 @@
"""Support for Adax wifi-enabled home heaters."""
from __future__ import annotations
import logging
from typing import Any
from adax import Adax
from homeassistant.components.climate import ClimateEntity
from homeassistant.components.climate.const import (
HVAC_MODE_HEAT,
HVAC_MODE_OFF,
SUPPORT_TARGET_TEMPERATURE,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
ATTR_TEMPERATURE,
CONF_PASSWORD,
PRECISION_WHOLE,
TEMP_CELSIUS,
)
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import ACCOUNT_ID
_LOGGER = logging.getLogger(__name__)
async def async_setup_entry(
hass: HomeAssistant,
entry: ConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up the Adax thermostat with config flow."""
adax_data_handler = Adax(
entry.data[ACCOUNT_ID],
entry.data[CONF_PASSWORD],
websession=async_get_clientsession(hass),
)
async_add_entities(
AdaxDevice(room, adax_data_handler)
for room in await adax_data_handler.get_rooms()
)
class AdaxDevice(ClimateEntity):
"""Representation of a heater."""
_attr_hvac_modes = [HVAC_MODE_HEAT, HVAC_MODE_OFF]
_attr_max_temp = 35
_attr_min_temp = 5
_attr_supported_features = SUPPORT_TARGET_TEMPERATURE
_attr_target_temperature_step = PRECISION_WHOLE
_attr_temperature_unit = TEMP_CELSIUS
def __init__(self, heater_data: dict[str, Any], adax_data_handler: Adax) -> None:
"""Initialize the heater."""
self._heater_data = heater_data
self._adax_data_handler = adax_data_handler
self._attr_unique_id = f"{heater_data['homeId']}_{heater_data['id']}"
@property
def name(self) -> str:
"""Return the name of the device, if any."""
return self._heater_data["name"]
@property
def hvac_mode(self) -> str:
"""Return hvac operation ie. heat, cool mode."""
if self._heater_data["heatingEnabled"]:
return HVAC_MODE_HEAT
return HVAC_MODE_OFF
@property
def icon(self) -> str:
"""Return nice icon for heater."""
if self.hvac_mode == HVAC_MODE_HEAT:
return "mdi:radiator"
return "mdi:radiator-off"
async def async_set_hvac_mode(self, hvac_mode: str) -> None:
"""Set hvac mode."""
if hvac_mode == HVAC_MODE_HEAT:
temperature = max(
self.min_temp, self._heater_data.get("targetTemperature", self.min_temp)
)
await self._adax_data_handler.set_room_target_temperature(
self._heater_data["id"], temperature, True
)
elif hvac_mode == HVAC_MODE_OFF:
await self._adax_data_handler.set_room_target_temperature(
self._heater_data["id"], self.min_temp, False
)
else:
return
await self._adax_data_handler.update()
@property
def current_temperature(self) -> float | None:
"""Return the current temperature."""
return self._heater_data.get("temperature")
@property
def target_temperature(self) -> int | None:
"""Return the temperature we try to reach."""
return self._heater_data.get("targetTemperature")
async def async_set_temperature(self, **kwargs: Any) -> None:
"""Set new target temperature."""
temperature = kwargs.get(ATTR_TEMPERATURE)
if temperature is None:
return
await self._adax_data_handler.set_room_target_temperature(
self._heater_data["id"], temperature, True
)
async def async_update(self) -> None:
"""Get the latest data."""
for room in await self._adax_data_handler.get_rooms():
if room["id"] == self._heater_data["id"]:
self._heater_data = room
return
@@ -0,0 +1,73 @@
"""Config flow for Adax integration."""
from __future__ import annotations
import logging
from typing import Any
import adax
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.const import CONF_PASSWORD
from homeassistant.core import HomeAssistant
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import ACCOUNT_ID, DOMAIN
_LOGGER = logging.getLogger(__name__)
STEP_USER_DATA_SCHEMA = vol.Schema(
{vol.Required(ACCOUNT_ID): int, vol.Required(CONF_PASSWORD): str}
)
async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> None:
"""Validate the user input allows us to connect."""
account_id = data[ACCOUNT_ID]
password = data[CONF_PASSWORD].replace(" ", "")
token = await adax.get_adax_token(
async_get_clientsession(hass), account_id, password
)
if token is None:
_LOGGER.info("Adax: Failed to login to retrieve token")
raise CannotConnect
class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
"""Handle a config flow for Adax."""
VERSION = 1
async def async_step_user(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
"""Handle the initial step."""
if user_input is None:
return self.async_show_form(
step_id="user", data_schema=STEP_USER_DATA_SCHEMA
)
errors = {}
await self.async_set_unique_id(user_input[ACCOUNT_ID])
self._abort_if_unique_id_configured()
try:
await validate_input(self.hass, user_input)
except CannotConnect:
errors["base"] = "cannot_connect"
else:
return self.async_create_entry(
title=user_input[ACCOUNT_ID], data=user_input
)
return self.async_show_form(
step_id="user", data_schema=STEP_USER_DATA_SCHEMA, errors=errors
)
class CannotConnect(HomeAssistantError):
"""Error to indicate we cannot connect."""
+5
View File
@@ -0,0 +1,5 @@
"""Constants for the Adax integration."""
from typing import Final
ACCOUNT_ID: Final = "account_id"
DOMAIN: Final = "adax"
@@ -0,0 +1,13 @@
{
"domain": "adax",
"name": "Adax",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/adax",
"requirements": [
"adax==0.1.1"
],
"codeowners": [
"@danielhiversen"
],
"iot_class": "cloud_polling"
}
@@ -0,0 +1,18 @@
{
"config": {
"step": {
"user": {
"data": {
"account_id": "Account ID",
"password": "[%key:common::config_flow::data::password%]"
}
}
},
"error": {
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
},
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]"
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "El dispositiu ja est\u00e0 configurat"
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3",
"invalid_auth": "Autenticaci\u00f3 inv\u00e0lida"
},
"step": {
"user": {
"data": {
"account_id": "ID del compte",
"host": "Amfitri\u00f3",
"password": "Contrasenya"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Za\u0159\u00edzen\u00ed je ji\u017e nastaveno"
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"invalid_auth": "Neplatn\u00e9 ov\u011b\u0159en\u00ed"
},
"step": {
"user": {
"data": {
"account_id": "ID \u00fa\u010dtu",
"host": "Hostitel",
"password": "Heslo"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Ger\u00e4t ist bereits konfiguriert"
},
"error": {
"cannot_connect": "Verbindung fehlgeschlagen",
"invalid_auth": "Ung\u00fcltige Authentifizierung"
},
"step": {
"user": {
"data": {
"account_id": "Konto-ID",
"host": "Host",
"password": "Passwort"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Device is already configured"
},
"error": {
"cannot_connect": "Failed to connect",
"invalid_auth": "Invalid authentication"
},
"step": {
"user": {
"data": {
"account_id": "Account ID",
"host": "Host",
"password": "Password"
}
}
}
}
}
@@ -0,0 +1,13 @@
{
"config": {
"step": {
"user": {
"data": {
"account_id": "ID de la cuenta",
"host": "Anfitri\u00f3n",
"password": "Contrase\u00f1a"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Seade on juba h\u00e4\u00e4lestatud"
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"invalid_auth": "Tuvastamise viga"
},
"step": {
"user": {
"data": {
"account_id": "Konto ID",
"host": "Host",
"password": "Salas\u00f5na"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "L'appareil est d\u00e9j\u00e0 configur\u00e9"
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"invalid_auth": "Authentification invalide"
},
"step": {
"user": {
"data": {
"account_id": "identifiant de compte",
"host": "H\u00f4te",
"password": "Mot de passe"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "\u05ea\u05e6\u05d5\u05e8\u05ea \u05d4\u05d4\u05ea\u05e7\u05df \u05db\u05d1\u05e8 \u05e0\u05e7\u05d1\u05e2\u05d4"
},
"error": {
"cannot_connect": "\u05d4\u05d4\u05ea\u05d7\u05d1\u05e8\u05d5\u05ea \u05e0\u05db\u05e9\u05dc\u05d4",
"invalid_auth": "\u05d0\u05d9\u05de\u05d5\u05ea \u05dc\u05d0 \u05d7\u05d5\u05e7\u05d9"
},
"step": {
"user": {
"data": {
"account_id": "\u05de\u05d6\u05d4\u05d4 \u05d7\u05e9\u05d1\u05d5\u05df",
"host": "\u05de\u05d0\u05e8\u05d7",
"password": "\u05e1\u05d9\u05e1\u05de\u05d4"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Az eszk\u00f6z m\u00e1r konfigur\u00e1lva van"
},
"error": {
"cannot_connect": "Nem siker\u00fclt csatlakozni",
"invalid_auth": "\u00c9rv\u00e9nytelen hiteles\u00edt\u00e9s"
},
"step": {
"user": {
"data": {
"account_id": "Fi\u00f3k ID",
"host": "Gazdag\u00e9p",
"password": "Jelsz\u00f3"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Il dispositivo \u00e8 gi\u00e0 configurato"
},
"error": {
"cannot_connect": "Impossibile connettersi",
"invalid_auth": "Autenticazione non valida"
},
"step": {
"user": {
"data": {
"account_id": "ID account",
"host": "Host",
"password": "Password"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Apparaat is al geconfigureerd"
},
"error": {
"cannot_connect": "Kan geen verbinding maken",
"invalid_auth": "Ongeldige authenticatie"
},
"step": {
"user": {
"data": {
"account_id": "Account ID",
"host": "Host",
"password": "Wachtwoord"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Enheten er allerede konfigurert"
},
"error": {
"cannot_connect": "Tilkobling mislyktes",
"invalid_auth": "Ugyldig godkjenning"
},
"step": {
"user": {
"data": {
"account_id": "Konto-ID",
"host": "Vert",
"password": "Passord"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Urz\u0105dzenie jest ju\u017c skonfigurowane"
},
"error": {
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
"invalid_auth": "Niepoprawne uwierzytelnienie"
},
"step": {
"user": {
"data": {
"account_id": "Identyfikator konta",
"host": "Nazwa hosta lub adres IP",
"password": "Has\u0142o"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "\u042d\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 Home Assistant."
},
"error": {
"cannot_connect": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f.",
"invalid_auth": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438."
},
"step": {
"user": {
"data": {
"account_id": "ID \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438",
"host": "\u0425\u043e\u0441\u0442",
"password": "\u041f\u0430\u0440\u043e\u043b\u044c"
}
}
}
}
}
@@ -0,0 +1,14 @@
{
"config": {
"error": {
"cannot_connect": "\u8fde\u63a5\u5931\u8d25"
},
"step": {
"user": {
"data": {
"password": "\u5bc6\u7801"
}
}
}
}
}
@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "\u88dd\u7f6e\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557",
"invalid_auth": "\u9a57\u8b49\u78bc\u7121\u6548"
},
"step": {
"user": {
"data": {
"account_id": "\u5e33\u865f ID",
"host": "\u4e3b\u6a5f\u7aef",
"password": "\u5bc6\u78bc"
}
}
}
}
}
+15 -15
View File
@@ -2,22 +2,10 @@
from __future__ import annotations
import logging
from typing import Any
from adguardhome import AdGuardHome, AdGuardHomeConnectionError, AdGuardHomeError
import voluptuous as vol
from homeassistant.components.adguard.const import (
CONF_FORCE,
DATA_ADGUARD_CLIENT,
DATA_ADGUARD_VERSION,
DOMAIN,
SERVICE_ADD_URL,
SERVICE_DISABLE_URL,
SERVICE_ENABLE_URL,
SERVICE_REFRESH,
SERVICE_REMOVE_URL,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
CONF_HOST,
@@ -33,7 +21,19 @@ from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.entity import Entity
from homeassistant.helpers.entity import DeviceInfo, Entity
from .const import (
CONF_FORCE,
DATA_ADGUARD_CLIENT,
DATA_ADGUARD_VERSION,
DOMAIN,
SERVICE_ADD_URL,
SERVICE_DISABLE_URL,
SERVICE_ENABLE_URL,
SERVICE_REFRESH,
SERVICE_REMOVE_URL,
)
_LOGGER = logging.getLogger(__name__)
@@ -194,11 +194,11 @@ class AdGuardHomeDeviceEntity(AdGuardHomeEntity):
"""Defines a AdGuard Home device entity."""
@property
def device_info(self) -> dict[str, Any]:
def device_info(self) -> DeviceInfo:
"""Return device information about this AdGuard Home instance."""
return {
"identifiers": {
(DOMAIN, self.adguard.host, self.adguard.port, self.adguard.base_path)
(DOMAIN, self.adguard.host, self.adguard.port, self.adguard.base_path) # type: ignore
},
"name": "AdGuard Home",
"manufacturer": "AdGuard Team",
@@ -6,7 +6,6 @@ from typing import Any
from adguardhome import AdGuardHome, AdGuardHomeConnectionError
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.config_entries import ConfigFlow
from homeassistant.const import (
CONF_HOST,
@@ -26,7 +25,6 @@ class AdGuardHomeFlowHandler(ConfigFlow, domain=DOMAIN):
"""Handle a AdGuard Home config flow."""
VERSION = 1
CONNECTION_CLASS = config_entries.CONN_CLASS_LOCAL_POLL
_hassio_discovery = None
@@ -53,6 +51,7 @@ class AdGuardHomeFlowHandler(ConfigFlow, domain=DOMAIN):
self, errors: dict[str, str] | None = None
) -> FlowResult:
"""Show the Hass.io confirmation form to the user."""
assert self._hassio_discovery
return self.async_show_form(
step_id="hassio_confirm",
description_placeholders={"addon": self._hassio_discovery["addon"]},
@@ -67,23 +66,21 @@ class AdGuardHomeFlowHandler(ConfigFlow, domain=DOMAIN):
if user_input is None:
return await self._show_setup_form(user_input)
entries = self._async_current_entries()
for entry in entries:
if (
entry.data[CONF_HOST] == user_input[CONF_HOST]
and entry.data[CONF_PORT] == user_input[CONF_PORT]
):
return self.async_abort(reason="already_configured")
self._async_abort_entries_match(
{CONF_HOST: user_input[CONF_HOST], CONF_PORT: user_input[CONF_PORT]}
)
errors = {}
session = async_get_clientsession(self.hass, user_input[CONF_VERIFY_SSL])
username: str | None = user_input.get(CONF_USERNAME)
password: str | None = user_input.get(CONF_PASSWORD)
adguard = AdGuardHome(
user_input[CONF_HOST],
port=user_input[CONF_PORT],
username=user_input.get(CONF_USERNAME),
password=user_input.get(CONF_PASSWORD),
username=username, # type:ignore[arg-type]
password=password, # type:ignore[arg-type]
tls=user_input[CONF_SSL],
verify_ssl=user_input[CONF_VERIFY_SSL],
session=session,
@@ -128,6 +125,7 @@ class AdGuardHomeFlowHandler(ConfigFlow, domain=DOMAIN):
session = async_get_clientsession(self.hass, False)
assert self._hassio_discovery
adguard = AdGuardHome(
self._hassio_discovery[CONF_HOST],
port=self._hassio_discovery[CONF_PORT],
+5 -6
View File
@@ -2,7 +2,6 @@
from __future__ import annotations
from datetime import timedelta
from typing import Callable
from adguardhome import AdGuardHome, AdGuardHomeConnectionError
@@ -11,7 +10,7 @@ from homeassistant.config_entries import ConfigEntry
from homeassistant.const import PERCENTAGE, TIME_MILLISECONDS
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import PlatformNotReady
from homeassistant.helpers.entity import Entity
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AdGuardHomeDeviceEntity
from .const import DATA_ADGUARD_CLIENT, DATA_ADGUARD_VERSION, DOMAIN
@@ -23,7 +22,7 @@ PARALLEL_UPDATES = 4
async def async_setup_entry(
hass: HomeAssistant,
entry: ConfigEntry,
async_add_entities: Callable[[list[Entity], bool], None],
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up AdGuard Home sensor based on a config entry."""
adguard = hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_CLIENT]
@@ -63,7 +62,7 @@ class AdGuardHomeSensor(AdGuardHomeDeviceEntity, SensorEntity):
enabled_default: bool = True,
) -> None:
"""Initialize AdGuard Home sensor."""
self._state = None
self._state: int | str | None = None
self._unit_of_measurement = unit_of_measurement
self.measurement = measurement
@@ -83,12 +82,12 @@ class AdGuardHomeSensor(AdGuardHomeDeviceEntity, SensorEntity):
)
@property
def state(self) -> str | None:
def native_value(self) -> int | str | None:
"""Return the state of the sensor."""
return self._state
@property
def unit_of_measurement(self) -> str | None:
def native_unit_of_measurement(self) -> str | None:
"""Return the unit this state is expressed in."""
return self._unit_of_measurement

Some files were not shown because too many files have changed in this diff Show More