Commit Graph

552 Commits (314154d5c56235a962228273f4b44406d8a9ded7)

Author SHA1 Message Date
Baptiste Candellier a136cf7086
Remove SmartHab integration (#67874) 2022-03-20 19:00:16 +01:00
Raman Gupta 4cd4fbefbf
Add new tomorrow.io integration to replace Climacell (#68156)
* Add new tomorrow.io integration to replace Climacell - Part 1/3 (#57121)

* Add new tomorrow.io integration to replace Climacell - Part 1/3

* remove unused code

* remove extra test

* remove more unused code

* Remove even more unused code

* Feedback

* clean up options flow

* clean up options flow

* tweaks and fix tests

* remove device_class from tomorrowio entity description class

* use timestep

* fix tests

* always use default name but add zone name if location is in a zone

* revert change that will go into future PR

* review comments

* move code out of try block

* bump max requests to 500 as per docs

* fix tests

* Add new tomorrow.io integration to replace Climacell - Part 2/3 (#57124)

* Add new tomorrow.io integration to replace Climacell - Part 2/3

* translations

* set config flow to false in manifest

* Cleanup more code and re-add options flow test

* fixes

* patch I/O calls

* Update tests/components/climacell/test_config_flow.py

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

* remove unused import

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

* Fix codeowners

* fix mypy and pylint

* Switch to DeviceInfo

* Fix fixture location and improve sensor entities in tomorrowio integration (#63527)

* Add new tomorrow.io integration to replace Climacell - Part 3/3 (#59698)

* Switch to DeviceInfo

* Add new tomorrow.io integration to replace Climacell - Part 1/3 (#57121)

* Add new tomorrow.io integration to replace Climacell - Part 1/3

* remove unused code

* remove extra test

* remove more unused code

* Remove even more unused code

* Feedback

* clean up options flow

* clean up options flow

* tweaks and fix tests

* remove device_class from tomorrowio entity description class

* use timestep

* fix tests

* always use default name but add zone name if location is in a zone

* revert change that will go into future PR

* review comments

* move code out of try block

* bump max requests to 500 as per docs

* fix tests

* Migrate ClimaCell entries to Tomorrow.io

* tweaks

* pylint

* Apply fix from #60454 to tomorrowio integration

* lint and mypy

* use speed conversion instead of distance conversion

* Use SensorDeviceClass enum

* Use built in conversions and remove unused loggers

* fix requirements

* Update homeassistant/components/tomorrowio/__init__.py

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

* Use constants

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

* Black

* Update logic and add coverage

* remove extra line

* Do patching correctly

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-03-19 08:42:22 +01:00
Franck Nijhof 2686be921c
Remove deprecated (old) Z-Wave integration (#67221)
* Remove deprecated (old) Z-Wave integration

* Mark migration tests as skip, for later cleanup
2022-03-18 13:09:10 +01:00
Erik Montnemery 5bb271c9fb
Add config flow for derivative sensor (#68268) 2022-03-18 12:14:38 +01:00
Erik Montnemery 2fcced333d
Add config flow for sun (#68295)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-03-18 10:12:15 +01:00
Erik Montnemery 0655ebbd84
Add config flow for integration sensor (#68288) 2022-03-18 09:52:17 +01:00
Allen Porter 7876ffe9e3
Update google calendar integration with a config flow (#68010)
* Convert google calendar to config flow and async

* Call correct exchange method

* Fix async method and reduce unnecessary diffs

* Wording improvements

* Reduce unnecessary diffs

* Run load/update config from executor

* Update homeassistant/components/google/calendar.py

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

* Remove unnecessary updating of unexpected multiple config entries.

* Remove unnecessary unique_id checks

* Improve readability with comments about device code expiration

* Update homeassistant/components/google/calendar.py

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

* Update homeassistant/components/google/calendar.py

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

* Update homeassistant/components/google/api.py

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

* Add comment for when code is none on timeout

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-03-15 07:51:02 +01:00
Franck Nijhof 57c33a5cf0
Remove deprecated OpenZWave integration (#68054) 2022-03-14 17:33:04 +01:00
Franck Nijhof 0467dc55fe
Add config flow to Uptime (#67408) 2022-03-12 12:36:08 +01:00
Erik Montnemery cb7e492e81
Add switch_as_x integration (#67878)
* Add switch_as_x integration

* Address review comments

* Add translation strings

* Rename entity_type option to target_domain

* Move LightSwitch class definition to switch_as_x/light.py

* Update manifest

* Move tests
2022-03-10 12:23:01 +01:00
Álvaro Fernández Rojas 8549e31b27
Add Airzone HVAC Zoning Systems (#67666) 2022-03-08 22:28:39 +01:00
Steve Easley ea82f2e293
Add Kaleidescape integration (#67711) 2022-03-08 00:16:43 +01:00
Franck Nijhof 9d42a425fc
Add config flow to Season (#67413) 2022-03-07 18:58:29 +01:00
Erik Montnemery a9cc2d2322
Add config flow for cover, fan, light and media_player groups (#67660)
* Add options flow support to HelperConfigFlowHandler

* Add config flow for cover, fan, light and media_player groups

* Update according to review comments

* Update translation strings

* Update translation strings

* Copy schema before adding suggested values
2022-03-07 13:05:04 +01:00
Erik Montnemery 0c12914548
Add config flow for switch.light (#67447)
* Add config flow for switch.light

* Refactor according to code review

* Setup light switch from config entry

* Improve async_resolve_entity

* Prepare for multiple steps

* Remove name and options flow from switch light

* Check type before adding description to schema keys

* Remove options flow enabler

* Copy name from the switch

* Move helper flows to new file

* Improve test coverage

* Fix name

* Remove dead code from abstract method

* Remove manifest 'helper' option

* Validate registry entry id before forwarding to light platform

* Improve test

* Add translations

* Improve config entry setup

* Log when config entry fails setup

* Update homeassistant/components/switch/__init__.py

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

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-03-04 20:02:17 +01:00
Franck Nijhof 02391663c1
Add config flow to Moon (#67444) 2022-03-03 15:12:33 -08:00
J. Nick Koston 9950e543df
Add newly discovered samsungtv OUI (#67059) 2022-02-22 20:15:35 +01:00
Michael Chisholm b19bf9b147
Add dlna_dms integration to support DLNA Digital Media Servers (#66437) 2022-02-21 15:14:08 -08:00
Franck Nijhof d839febbe7
Add Radio Browser integration (#66950) 2022-02-21 09:13:02 -08:00
J. Nick Koston 7b334d1755
Add additional WiZ OUIs (#66991) 2022-02-21 18:02:09 +01:00
Klaas Schoute 6c2d6fde66
Add Pure Energie integration (#66846) 2022-02-19 17:53:25 +01:00
Franck Nijhof e26488b1ca
Add config flow to MJPEG IP Camera (#66607) 2022-02-18 00:03:41 -08:00
Mike Fugate 0bd0b4766e
Refactor sleepiq as async with config flow (#64850)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-02-16 08:51:29 -06:00
J. Nick Koston 470936a63a
Enable dhcp flows for samsungtv registered devices (#66589) 2022-02-16 13:01:44 +01:00
J. Nick Koston 21f2c664d9
Enable dhcp flows for elkm1 registered devices (#66583) 2022-02-16 12:13:16 +01:00
J. Nick Koston fd96d81563
Enable dhcp flows for flux_led registered devices (#66585) 2022-02-16 12:09:00 +01:00
J. Nick Koston 59cb1444a5
Enable dhcp flows for broadlink registered devices (#66582) 2022-02-16 12:04:46 +01:00
J. Nick Koston ce4daab833
Enable dhcp flows for goalzero registered devices (#66586) 2022-02-16 11:59:57 +01:00
J. Nick Koston dad4cdb45d
Enable dhcp flows for isy994 registered devices (#66588) 2022-02-15 18:46:09 -06:00
J. Nick Koston 6a690b41b1
Enable dhcp flows for screenlogic registered devices (#66591) 2022-02-15 18:45:53 -06:00
J. Nick Koston 6b7eea5454
Enable dhcp flows for senseme registered devices (#66590) 2022-02-15 18:45:41 -06:00
J. Nick Koston 7c508c2a44
Enable dhcp flows for hunterdouglas_powerview registered devices (#66587) 2022-02-16 01:30:52 +01:00
J. Nick Koston 491f8d0f0b
Enable dhcp flows for steamist registered devices (#66593) 2022-02-16 01:26:17 +01:00
J. Nick Koston c6a4139716
Enable dhcp flows for emonitor registered devices (#66584) 2022-02-15 23:17:06 +01:00
J. Nick Koston 6134a224dd
Enable dhcp flows for wiz registered devices (#66595) 2022-02-15 23:14:52 +01:00
J. Nick Koston c5ae43144d
Enable dhcp flows for axis registered devices (#66581)
References:
https://github.com/home-assistant/developers.home-assistant/pull/1212
https://github.com/home-assistant/core/pull/66528

I am doing these one at a time to make sure codeowners are aware
and do not glance over the PR because it has a lot of integrations
in it
2022-02-15 21:32:10 +01:00
J. Nick Koston 9f1c58cda3
Enable dhcp flows for tplink registered devices (#66592)
References:
https://github.com/home-assistant/developers.home-assistant/pull/1212
https://github.com/home-assistant/core/pull/66528

I am doing these one at a time to make sure codeowners are aware
and do not glance over the PR because it has a lot of integrations
in it
2022-02-15 20:33:45 +01:00
J. Nick Koston f069a37f7d
Allow integrations to request dhcp discovery flows for registered devices (#66528) 2022-02-15 11:02:52 -06:00
Joshua Roys e5ef192f1a
Specify specific Nanoleaf models in the manifest (#66326) 2022-02-12 09:56:38 -06:00
J. Nick Koston cc0fb5d9db
Add dhcp discovery to Sensibo for non-HomeKit devices (#66350) 2022-02-11 16:27:00 -06:00
J. Nick Koston f8fec3d990
Add additional oui to blink (#66348) 2022-02-11 16:26:39 -06:00
J. Nick Koston 018975bbb9
Add additional OUI for G3 wifi cameras to unifiprotect (#66349) 2022-02-11 16:26:11 -06:00
j-a-n 243d003acc
Add Moehlenhoff Alpha2 underfloor heating system integration (#42771)
* Add Moehlenhoff Alpha2 underfloor heating system integration

* isort changes

* flake8 changes

* Do not exclude config_flow.py

* pylint changes

* Add config_flow test

* correct requirements_test_all.txt

* more tests

* Update test description

* Test connection and catch TimeoutError in async_setup_entry

* Add version to manifest file

* Remove version from manifest file

* Replace tests.async_mock.patch by unittest.mock.patch

* Update moehlenhoff-alpha2 to version 1.0.1

* Update requirements for moehlenhoff-alpha2 1.0.1

* Update moehlenhoff-alpha2 to 1.0.2

* Use async_setup_platforms

* Use async_unload_platforms

* Separate connection and devices for each entry_id

* Use async_track_time_interval to schedule updates

* Check if input is valid before checking uniqueness

* Move Exception handling to validate_input

* Catch aiohttp.client_exceptions.ClientConnectorError

* Remove translation files

* Mock TimeoutError

* Fix data update

* Replace current callback implementation with ha dispatcher

* Return False in should_poll

* Remove unused argument

* Remove CONNECTION_CLASS

* Use _async_current_entries

* Call async_schedule_update_ha_state after data update

* Remove unneeded async_setup

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

* Remove unneeded async_setup_platform

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

* Set Schema attribute host required

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

* Remove unused Exception class

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

* Update manifest.json

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

* pylint constructor return type None

* Replace properties by class variables

* use pass instead of return

* Remove unused sync update method

* remove property hvac_action

* remove pass

* rework exception handling

* Update homeassistant/components/moehlenhoff_alpha2/config_flow.py

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

* Correct indentation

* catch Exception in validate_input

* Replace HomeAssistantType with HomeAssistant

* Update to moehlenhoff-alpha2 1.0.3

* Allow to switch between heating and cooling mode

* Update moehlenhoff-alpha2 to version 1.0.4

* Update heatarea data after setting target temperature

* Support hvac_action

* Fix heatarea update with multiple bases

* Update data after setting preset mode

* Use custom preset modes like defined by device

* Fix config flow test

* Fix test_duplicate_error

* Rename property to extra_state_attributes

Rename property device_state_attributes to extra_state_attributes and
return lowercase keys in dict.

* Refactor using DataUpdateCoordinator

* Remove _attr_should_poll

* Raise HomeAssistantError on communication error

Catch HTTPError instead of broad except and reraise as HomeAssistantError

* Change DataUpdateCoordinator name to alpha2_base

* Refresh coordinator before setting data

* Raise ValueError on invalid heat area mode

* Rename heatarea to heat_area

* Set type annotation in class attribute

* Move coordinator to top

* Move exception handling to the coordinator

* Use heat_area_id directly

* Sore get_cooling() result into local var

* Add explanation of status attributes

and remove BLOCK_HC

* Fix pylint warnings

* from __future__ import annotations

* Use Platform Enum

* Move data handling to coordinator

* Remove property extra_state_attributes

* Add missing annotations

* Update moehlenhoff-alpha2 to version 1.1.2

* Rework tests based on the scaffold template

* Set also heat/cool/day/night temp with target temp

* Remove unneeded code from tests

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
2022-02-10 08:28:52 +01:00
J. Nick Koston d62e9c2b92
Loosen wiz discovery matching (#66095) 2022-02-08 19:57:21 +01:00
Sander Jochems 0ea82bdbfb
Fivem integration (#65089)
* Initial fivem integration setup

* Use licenseKey for unique ID

* Create FiveMServer class

* Create FiveMStatusBinarySensor

* Fix platform loading

* Create sensor platform

* Remove config flow tests

* Update manifest.json

* Use attr_ instead or properties in sensors.py

* Use entry_id as unique_id

* Move device info to _attr instead of property

* Register callback in FiveMEntity

* Create config flow tests

* Add loggin to fivem

* Use FiveM in config_flow

* Use update_coordinator instead of dispatcher

* Bump fivem-api to 0.1.2

* Remove leftovers

* More tests for config flow

* Add component files to .coveragerc

* Fix simple comments

* Add gamename check to config flow

* Use entity descriptions for sensors

* Move extra attributes to init

* Use [] instead of get() for server info

* Fix error in gamename test
2022-02-08 11:27:11 +02:00
J. Nick Koston f943f30492
Add discovery support to elkm1 (#65205) 2022-02-07 16:25:26 -08:00
Poltorak Serguei 3c5a667d97
Add Z-Wave.Me integration (#65473)
* Add support of Z-Wave.Me Z-Way and RaZberry server (#61182)

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: LawfulChaos <kerbalspacema@gmail.com>

* Add switch platform to Z-Wave.Me integration (#64957)

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

* Add button platform to Z-Wave.Me integration (#65109)

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Fix button controller access (#65117)

* Add lock platform to Z-Wave.Me integration #65109 (#65114)

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Add sensor platform to Z-Wave.Me integration (#65132)

* Sensor Entity

* Sensor fixes

* Apply suggestions from code review

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

* Inline descriotion according to review proposal

* State Classes for sensor

* Generic sensor

* Generic sensor

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

* Add binary sensor platform to Z-Wave.Me integration (#65306)

* Binary Sensor Entity

* Update docstring

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

* Add Light Entity platform to Z-Wave.Me integration (#65331)

* Light Entity

* mypy fix

* Fixes, ZWaveMePlatforms enum

* Apply suggestions from code review

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

* Fixes

* Fixes

* Fixes

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

* Add Thermostat platform to Z-Wave.Me integration #65331 (#65371)

* Climate entity

* Climate entity

* Apply suggestions from code review

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

* Climate entity fix

* Clean up

* cleanup

* Import order fix

* Correct naming

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

* Correct zwave_me .coveragerc (#65491)

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: LawfulChaos <kerbalspacema@gmail.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-02-07 16:27:11 +01:00
J. Nick Koston 2bcd4f8f93
Add discovery support to WiZ Part 1 (#65752) 2022-02-05 10:36:44 -06:00
Stephan Traub 432d9a8f19
Introduce wiz integration for the WiZ Platform (#44779)
Co-authored-by: Marvin Wichmann <marvin@fam-wichmann.de>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jan Stienstra <65826735+j-stienstra@users.noreply.github.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-02-04 16:20:21 -08:00
J. Nick Koston 3d8d507ed9
Migrate powerwall from using ip address as unique id (#65257)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-03 18:39:57 +01:00