Commit graph

589 commits

Author SHA1 Message Date
G Johansson 32b61e15a1
Strict typing Trafikverket Ferry (#72459) 2022-06-14 13:35:29 -10:00
J. Nick Koston 5863d57e73
Add strict typing to homekit locks (#73264) 2022-06-09 20:56:58 -07:00
BigMoby 0c21bf7c25
Remove iAlarm XR integration (#73083)
* fixing after MartinHjelmare review

* fixing after MartinHjelmare review conversion alarm state to hass state

* fixing after MartinHjelmare review conversion alarm state to hass state

* manage the status in the alarm control

* simplyfing return function

* Removing iAlarm XR integration because of Antifurto365 explicit request to remove after some issues in their cloud service
2022-06-06 22:23:10 -07:00
J. Nick Koston 1c334605b6
Enable strict typing to emulated_hue (#72676)
* Add typing to emulated_hue part 2

* cleanups

* adjust targets in test
2022-05-30 08:49:37 +02:00
G Johansson 24c34c0ef0
Strict typing Sensibo (#72454) 2022-05-28 13:26:50 -10:00
BigMoby 42c80dda85
Create iAlarmXR integration (#67817)
* Creating iAlarmXR integration

* fixing after review code

* fixing remaining review hints

* fixing remaining review hints

* updating underlying pyialarm library

* Creating iAlarmXR integration

* fixing after review code

* fixing remaining review hints

* fixing remaining review hints

* updating underlying pyialarm library

* fixing after iMicknl review

* Improving exception handling

* Updating pyialarmxr library

* fixing after merge dev

* fixing after iMicknl review

* Update CODEOWNERS

Co-authored-by: Ludovico de Nittis <git@denittis.one>

* fixing iot_class

* Update homeassistant/components/ialarmxr/config_flow.py

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

* fixing after bdraco review

* Update homeassistant/components/ialarmxr/config_flow.py

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

* reverting catching exception in setup step

* Update homeassistant/components/ialarmxr/__init__.py

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

* Update homeassistant/components/ialarmxr/__init__.py

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

* fixing after bdraco suggestions

* Update homeassistant/components/ialarmxr/alarm_control_panel.py

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

* Update homeassistant/components/ialarmxr/alarm_control_panel.py

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

* Update homeassistant/components/ialarmxr/config_flow.py

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

* Update homeassistant/components/ialarmxr/config_flow.py

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

* Update homeassistant/components/ialarmxr/__init__.py

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

* Update homeassistant/components/ialarmxr/__init__.py

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

* Update homeassistant/components/ialarmxr/utils.py

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

* regenerate translation and rename function to async_get_ialarmxr_mac

* removing and collapsing unused error messages

* fixing tests

* improve code coverage in tests

* improve code coverage in tests

* improve code coverage in tests

* fixing retry policy with new pyalarmxr library

* snake case fix

* renaming integration in ialarm_xr

* renaming control panel name

Co-authored-by: Ludovico de Nittis <git@denittis.one>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
2022-05-25 10:52:06 +02:00
Allen Porter e6ffae8bd3
Deprecate google calendar configuration.yaml (#72288)
* Deprecate google calendar configuration.yaml

* Remove unused translations

* Enable strict type checking and address pr feedback

* Move default hass.data init to `async_setup`
2022-05-22 14:29:11 -07:00
xLarry abf9aab18f
Add laundrify integration (#65090)
* First version of laundrify integration

* Code cleanup

* Code cleanup after review #2

* Move coordinator to its own file

* Save devices as dict and implement available prop as fn

* Validate token on init, abort if already configured

* Some more cleanup after review

* Add strict type hints

* Minor changes after code review

* Remove OptionsFlow (use default poll interval instead)

* Fix CODEOWNERS to pass hassfest job

* Fix formatting to pass prettier job

* Fix mypy typing error

* Update internal device property after fetching data

* Call parental update handler and remove obsolete code

* Add coordinator tests and fix some config flow tests

* Refactor tests

* Refactor fixtures

* Device unavailable if polling fails
2022-05-21 15:18:01 -04:00
epenet 4d8593402e
Fix no-implicit-reexport sorting issue (#72015) 2022-05-17 17:35:03 +02:00
Franck Nijhof c7b4aca998
Add more to no implicit reexport modules (#71947) 2022-05-17 15:29:22 +02:00
ollo69 1747061820
Enable NUT strict typing (#71913) 2022-05-16 18:51:30 -05:00
uvjustin 221b77297e
Declare exports from stream explicitly (#71898) 2022-05-15 17:58:57 +02:00
J. Nick Koston 51c6a68036
Add Big Ass Fans integration (#71498)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-05-14 17:22:47 -05:00
Rudolf Offereins 577b8cd976
Add Geocaching integration (#50284)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Reinder Reinders <reinder.reinders@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-05-12 12:12:47 +02:00
Álvaro Fernández Rojas d8e4f6d6e6
Add QNAP QSW to strict typing (#71603) 2022-05-09 12:57:27 -05:00
Álvaro Fernández Rojas b9b83c05e9
Add Airzone to strict typing (#71604) 2022-05-09 12:56:59 -05:00
J. Nick Koston eb77f8db85
Complete strict typing for recorder (#71274)
* Complete strict typing for recorder

* update tests

* Update tests/components/recorder/test_migrate.py

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

* Update tests/components/recorder/test_migrate.py

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

* Remove the asserts

* remove ignore comments

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-05-04 12:22:50 -05:00
J. Nick Koston e1be6dd34f
Move recorder services to services.py (#71249) 2022-05-03 10:38:44 -07:00
J. Nick Koston 29bda196b5
Break apart recorder into tasks and core modules (#71222) 2022-05-02 21:53:56 -07:00
J. Nick Koston b8442d9340
Add json decode caching to logbook (#71080) 2022-05-01 19:33:31 -05:00
J. Nick Koston 2d720973ee
Fix incomplete recorder typing (#71158) 2022-05-01 19:53:47 +03:00
Marc Mueller 283c04e424
Improve typing [helpers.entity] (#70890) 2022-04-28 10:52:42 +02:00
Marc Mueller 93cbb331e5
Update Mypy to 0.950 (#70948)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-04-27 20:49:54 -05:00
Marc Mueller 9a3908d21d
Improve typing [util.logging] (#70894) 2022-04-27 22:26:56 +02:00
Marc Mueller 02ddfd513a
Improve typing [util.location] (#70893) 2022-04-27 17:20:56 +02:00
Marc Mueller 964c764dae
Improve typing [helpers.sun] (#70892) 2022-04-27 17:19:46 +02:00
Marc Mueller 7dfe8591c4
Improve typing [helpers.event] (#70891) 2022-04-27 17:19:06 +02:00
Marc Mueller c15c22655b
Enable strict typing [fritzbox_callmonitor] (#70815) 2022-04-26 20:39:42 +02:00
Robert Svensson 69f4aeaf42
Enable strict typing of deconz_device (#70341)
* Enable strict typing of deconz_device completing strict typing of deconz integration
2022-04-22 09:19:35 +02:00
ollo69 74b50a8009
Enable AsusWRT strict typing (#70396)
* Enable AsusWRT strict typing

* Fix myPi errors
2022-04-22 10:14:13 +03:00
Glenn Waters 2abe551eef
Complete strict typing for ElkM1 integration (#70334) 2022-04-20 09:04:11 -10:00
Glenn Waters 2a99084911
ElkM1 integration, add strict types to config_flow (#70323) 2022-04-20 10:46:36 -07:00
Robert Svensson 78b02fe0ce
Enable strict typing for deCONZ platforms (#70290) 2022-04-20 09:03:53 +02:00
Glenn Waters 1492ea1fe3
Elk types 4 (#70305) 2022-04-19 16:45:45 -10:00
Glenn Waters cec2a40602
ElkM1 integration adding types, part 3 (#70214)
* ElkM1 integration adding types, part 3

* Fix default _state value.

* Tweak fan get.

* change get to dict access.
2022-04-19 10:52:46 -10:00
Robert Svensson 7bc9d01520
Enable strict typing for deCONZ platforms cover+lock+siren+switch (#69930) 2022-04-19 18:14:56 +02:00
Robert Svensson 506be5a818
Enable strict typing for deCONZ platforms binary_sensor+fan+logbook+number (#70171) 2022-04-19 10:32:57 +02:00
Glenn Waters 24e817a173
ElkM1 integration add types, part 2 (#70210) 2022-04-17 14:31:37 -10:00
Robert Svensson b6cf65decb
Improve typing of deCONZ sensor platform (#70161) 2022-04-17 20:58:42 +03:00
Glenn Waters c80853496d
Improve Elk-M1 Control typing (#69924)
* Add types to __init__.py

* Fixup typing.

* Fix type error.

* Bump lib to fix login error.

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-04-16 00:14:45 +03:00
Milan Meulemans c932407560
Add SENZ OAuth2 integration (#61233) 2022-04-14 15:29:31 -07:00
Robert Svensson 66265b6e9a
Improve typing of deCONZ light platform (#69886)
homeassistant/components/deconz/light.py:66: error: Incompatible types in assignment (expression has type "List[Union[ConfigurationTool, Cover, Fan, Light, Lock, Siren]]", variable has type "Optional[List[Light]]")  [assignment]
homeassistant/components/deconz/light.py:68: error: Item "None" of "Optional[List[Light]]" has no attribute "__iter__" (not iterable)  [union-attr]
homeassistant/components/deconz/light.py:159: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "color_mode"  [union-attr]
homeassistant/components/deconz/light.py:159: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "color_mode"  [union-attr]
homeassistant/components/deconz/light.py:161: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "color_mode"  [union-attr]
homeassistant/components/deconz/light.py:161: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "color_mode"  [union-attr]
homeassistant/components/deconz/light.py:163: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "color_mode"  [union-attr]
homeassistant/components/deconz/light.py:163: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "color_mode"  [union-attr]
homeassistant/components/deconz/light.py:165: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "brightness"  [union-attr]
homeassistant/components/deconz/light.py:165: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "brightness"  [union-attr]
homeassistant/components/deconz/light.py:174: error: Unused "type: ignore" comment
homeassistant/components/deconz/light.py:174: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "brightness"  [union-attr]
homeassistant/components/deconz/light.py:174: note: Error code "union-attr" not covered by "type: ignore" comment
homeassistant/components/deconz/light.py:174: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "brightness"  [union-attr]
homeassistant/components/deconz/light.py:179: error: Unused "type: ignore" comment
homeassistant/components/deconz/light.py:179: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "color_temp"  [union-attr]
homeassistant/components/deconz/light.py:179: note: Error code "union-attr" not covered by "type: ignore" comment
homeassistant/components/deconz/light.py:179: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "color_temp"  [union-attr]
homeassistant/components/deconz/light.py:179: error: Incompatible return value type (got "Union[int, None, Any]", expected "int")  [return-value]
homeassistant/components/deconz/light.py:179: note: Error code "return-value" not covered by "type: ignore" comment
homeassistant/components/deconz/light.py:184: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "hue"  [union-attr]
homeassistant/components/deconz/light.py:184: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "hue"  [union-attr]
homeassistant/components/deconz/light.py:184: error: Unsupported operand types for / ("None" and "int")  [operator]
homeassistant/components/deconz/light.py:184: note: Left operand is of type "Union[int, None, Any]"
homeassistant/components/deconz/light.py:184: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "saturation"  [union-attr]
homeassistant/components/deconz/light.py:184: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "saturation"  [union-attr]
homeassistant/components/deconz/light.py:189: error: Unused "type: ignore" comment
homeassistant/components/deconz/light.py:189: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "xy"  [union-attr]
homeassistant/components/deconz/light.py:189: note: Error code "union-attr" not covered by "type: ignore" comment
homeassistant/components/deconz/light.py:189: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "xy"  [union-attr]
homeassistant/components/deconz/light.py:194: error: Unused "type: ignore" comment
homeassistant/components/deconz/light.py:194: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "state"  [union-attr]
homeassistant/components/deconz/light.py:194: note: Error code "union-attr" not covered by "type: ignore" comment
homeassistant/components/deconz/light.py:194: error: Incompatible return value type (got "Union[bool, None, Any]", expected "bool")  [return-value]
homeassistant/components/deconz/light.py:194: note: Error code "return-value" not covered by "type: ignore" comment
homeassistant/components/deconz/light.py:228: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "set_state"  [union-attr]
homeassistant/components/deconz/light.py:228: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "set_state"  [union-attr]
homeassistant/components/deconz/light.py:228: error: Argument 1 to "set_state" of "Group" has incompatible type "**Dict[str, Union[bool, float, int, str, Tuple[float, float]]]"; expected "Union[str, None, Literal['none', 'select', 'lselect']]"  [arg-type]
homeassistant/components/deconz/light.py:228: error: Argument 1 to "set_state" of "Group" has incompatible type "**Dict[str, Union[bool, float, int, str, Tuple[float, float]]]"; expected "Optional[int]"  [arg-type]
homeassistant/components/deconz/light.py:228: error: Argument 1 to "set_state" of "Group" has incompatible type "**Dict[str, Union[bool, float, int, str, Tuple[float, float]]]"; expected "Union[str, None, Literal['colorloop', 'none']]"  [arg-type]
homeassistant/components/deconz/light.py:228: error: Argument 1 to "set_state" of "Group" has incompatible type "**Dict[str, Union[bool, float, int, str, Tuple[float, float]]]"; expected "Optional[bool]"  [arg-type]
homeassistant/components/deconz/light.py:228: error: Argument 1 to "set_state" of "Group" has incompatible type "**Dict[str, Union[bool, float, int, str, Tuple[float, float]]]"; expected "Optional[Tuple[float, float]]"  [arg-type]
homeassistant/components/deconz/light.py:232: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "state"  [union-attr]
homeassistant/components/deconz/light.py:245: error: Item "LightBase" of "Union[Group, LightBase, SensorBase]" has no attribute "set_state"  [union-attr]
homeassistant/components/deconz/light.py:245: error: Item "SensorBase" of "Union[Group, LightBase, SensorBase]" has no attribute "set_state"  [union-attr]
homeassistant/components/deconz/light.py:245: error: Argument 1 to "set_state" of "Group" has incompatible type "**Dict[str, Union[bool, int, str]]"; expected "Union[str, None, Literal['none', 'select', 'lselect']]"  [arg-type]
homeassistant/components/deconz/light.py:245: error: Argument 1 to "set_state" of "Group" has incompatible type "**Dict[str, Union[bool, int, str]]"; expected "Optional[int]"  [arg-type]
homeassistant/components/deconz/light.py:245: error: Argument 1 to "set_state" of "Group" has incompatible type "**Dict[str, Union[bool, int, str]]"; expected "Union[str, None, Literal['colorloop', 'none']]"  [arg-type]
homeassistant/components/deconz/light.py:245: error: Argument 1 to "set_state" of "Group" has incompatible type "**Dict[str, Union[bool, int, str]]"; expected "Optional[bool]"  [arg-type]
homeassistant/components/deconz/light.py:245: error: Argument 1 to "set_state" of "Group" has incompatible type "**Dict[str, Union[bool, int, str]]"; expected "Optional[Tuple[float, float]]"  [arg-type]
2022-04-14 23:31:48 +03:00
Robert Svensson 87551b7880
Improve typing of deCONZ climate platform (#69882)
* Improve typing of deCONZ climate platform

homeassistant/components/deconz/climate.py:153: error: Dict entry 0 has incompatible type "str": "bool"; expected "str": "str"  [dict-item]
homeassistant/components/deconz/climate.py:154: error: Dict entry 1 has incompatible type "str": "bool"; expected "str": "str"  [dict-item]
homeassistant/components/deconz/climate.py:176: error: Argument 1 to "get" of "Mapping" has incompatible type "Optional[Literal['off', 'low', 'medium', 'high', 'on', 'auto', 'smart']]"; expected "str"  [arg-type]
homeassistant/components/deconz/climate.py:200: error: Argument 1 to "get" of "Mapping" has incompatible type "Optional[Literal['off', 'auto', 'cool', 'heat', 'emergency heating', 'precooling', 'fan only', 'dry', 'sleep']]"; expected "str"  [arg-type]
homeassistant/components/deconz/climate.py:218: error: Argument 1 to "set_config" of "Thermostat" has incompatible type "**Dict[str, str]"; expected "Optional[int]"  [arg-type]
homeassistant/components/deconz/climate.py:218: error: Argument 1 to "set_config" of "Thermostat" has incompatible type "**Dict[str, str]"; expected "Optional[bool]"  [arg-type]
homeassistant/components/deconz/climate.py:218: error: Argument 1 to "set_config" of "Thermostat" has incompatible type "**Dict[str, str]"; expected "Optional[List[str]]"  [arg-type]
homeassistant/components/deconz/climate.py:225: error: Argument 1 to "get" of "Mapping" has incompatible type "Optional[Literal['holiday', 'auto', 'manual', 'comfort', 'eco', 'boost', 'complex']]"; expected "str"  [arg-type]
homeassistant/components/deconz/climate.py:244: error: Unused "type: ignore" comment
homeassistant/components/deconz/climate.py:250: error: Unused "type: ignore" comment
homeassistant/components/deconz/climate.py:253: error: Unused "type: ignore" comment

* Simplify populating supported_hvac_modes
Fix tests
2022-04-14 23:19:42 +03:00
Robert Svensson 81a55703bf
Improve typing of deCONZ alarm control panel (#69680)
* Improve typing of deCONZ alarm control panel

* Fix review comments
2022-04-11 16:19:54 +02:00
epenet 9231819532
Add type hints to yeelight (#69213) 2022-04-04 10:58:44 +02:00
epenet db10c313b5
Add type hints to here_travel_time (#69216)
* Add type hints to here_travel_time

* Adjust
2022-04-03 23:14:11 +03:00
epenet f6ec0a6323
Add type hints to honeywell (#69217) 2022-04-03 22:06:53 +02:00
J. Nick Koston d75f577b88
Additional strict typing for recorder (#68860) 2022-03-30 09:20:44 -07:00
J. Nick Koston af6a62ca79
Strict typing for homekit part 1 (#67657)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-03-30 11:21:07 +02:00
J. Nick Koston d7634d1cb1
Additional strict typing for additional recorder internals (#68689)
* Strict typing for additional recorder internals

* revert

* fix refactoring error
2022-03-29 09:45:25 +02:00
J. Nick Koston 225f7a989b
Add strict typing for recorder util (#68681) 2022-03-25 15:03:46 -07:00
G Johansson 67cf053260
Implement config flow for filesize (#67668)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-03-25 09:30:28 -10:00
J. Nick Koston c5c34bc0d7
Typing and code quality for recorder history (#68647) 2022-03-24 17:58:38 -07:00
Franck Nijhof 1c2b8ee606
Add typing to Alert integration (#68365) 2022-03-22 14:48:36 +01:00
IceBotYT a43505a0a3
Add PECO power outage counter integration (#65194)
* Create a new NWS Alerts integration

* Create a new NWS Alerts integration

* Create new PECO integration

* Remove empty keys

* Revert "Create a new NWS Alerts integration"

This reverts commit 38309c5a87.

* Revert "Create a new NWS Alerts integration"

This reverts commit aeabdd37b8.

* Fix test with new mock data

* Add init and sensor to .coveragerc and more tests for config flow

* Small fixes and replacing patch with pytest.raises in testing invalid county

* Add type defs and fix test_config_flow to use MultipleValid instead

* Fix  issues with 'typing.Dict'

* Move API communication to seperate PyPI library

* Switch PyPI library from httpx to aiohttp to allow for passing in websessions

* Commit file changes requested by farmio as listed here: d267e4300a

* Add suggestions requested by farmio as listed here: 586d8ffa42

* Move native_unit_of_measurement from prop to attr

* Update PLATFORMS constant type annotation

Co-authored-by: Matthias Alphart <farmio@alphart.net>

* Add peco to .strict-typing

I am from school so I can't run mypy atm

* Forgot to import Final

* Do as requested [here](https://github.com/home-assistant/core/runs/5070634928?check_suite_focus=true)

* Updated mypy.ini, checks should pass now

* Fix to conform to mypy restrictions https://github.com/home-assistant/core/runs/5072861837\?check_suite_focus\=true

* Fix type annotations

* Fix tests

* Use cast in async_update_data

* Add data type to CoordinatorEntity and DataUpdateCoordinator

* More cleanup from suggestions here: https://github.com/home-assistant/core/pull/65194\#pullrequestreview-908183493

* Fix tests for new code

* Cleaning up a speck of dust

* Remove unused variable from the peco sensor

* Add rounding to percentage, and extra clean-up

* Final suggestions from @farmio

* Update SCAN_INTERVAL to be a little bit faster

* Change the SCAN_INTERVAL to be somewhat near the update interval of the outage map, as noted by farmio

* New UpdateCoordinator typing
2022-03-21 23:56:53 +01:00
Franck Nijhof 073fb40b79
Add update entity platform (#68248)
Co-authored-by: Glenn Waters <glenn@watrs.ca>
2022-03-21 11:02:48 +01:00
G Johansson 89cfb4e86f
Add yale_smart_alarm to strict typing (#68422)
* Add yale_smart_alarm to strict typing

* Type as Any
2022-03-20 19:50:37 +02: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
Marc Mueller 7ab9e5cf0f
Improve sonos error decorator typing (#67199) 2022-03-15 09:24:52 +01:00
Franck Nijhof 57c33a5cf0
Remove deprecated OpenZWave integration (#68054) 2022-03-14 17:33:04 +01:00
Marc Mueller 41df798375
Bump mypy to 0.940 (#68007) 2022-03-11 15:57:38 -08:00
epenet 8260767e8f
Enable basic type checking in upnp (#66253)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-03-08 07:51:23 +01:00
Joakim Sørensen 6b3b21bcfd
Revert "Add update integration (#66552)" (#67641) 2022-03-07 15:52:15 -08:00
Steve Easley ea82f2e293
Add Kaleidescape integration (#67711) 2022-03-08 00:16:43 +01:00
Robert Hillis 6a92081e83
Add strict typing to adguard (#67775) 2022-03-07 11:43:21 +01:00
Franck Nijhof 02391663c1
Add config flow to Moon (#67444) 2022-03-03 15:12:33 -08:00
Joakim Sørensen 1a78e18eeb
Add update integration (#66552)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-03-03 08:27:09 -08:00
J. Nick Koston ad87d06d1f
Enable strict typing for usb (#67466)
* Enable strict typing for usb

* Enable strict typing for usb

* Enable strict typing for usb

* adjust

* coverage

* Update tests/components/usb/test_init.py
2022-03-03 07:59:31 +01:00
Joakim Sørensen d018cbab3d
Enable strict typing for backup integration (#67427) 2022-03-01 13:16:10 +02:00
J. Nick Koston 076fe97110
Strict typing for dhcp (#67361) 2022-02-28 18:49:44 -10:00
Franck Nijhof 2ca97f6309
Code quality improvements for Worldclock (#67392) 2022-02-28 11:03:43 -08:00
Martin Hjelmare d299915c1a
Fix netgear typing (#67287) 2022-02-26 14:00:33 -08:00
Marc Mueller ec980a574b
Improve typing [util.decorator] (#67087) 2022-02-23 20:58:42 +01:00
Marc Mueller 8b7639940e
Fix type issues [mobile_app] (#67091) 2022-02-23 08:47:54 -08:00
Robert Svensson dd88a05cb4
Make type checking pass for deCONZ init, gateway and services (#66054)
* Type and enable type checking for init, config_flow, diagnostics, gateway and services

* Fix import

* Fix review comment
2022-02-23 13:10:35 +01:00
J. Nick Koston e1989e2858
Enable strict typing for powerwall (#65577) 2022-02-23 12:15:31 +01:00
Marc Mueller 4fecd5d8af
Fix type issues [fireservicerota] (#67094)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-02-23 11:53:02 +01:00
Marc Mueller b6572d1cab
Fix type issues [geniushub] (#67095) 2022-02-23 09:55:26 +01:00
Marc Mueller c11663344d
Fix type issues [firmata] (#67093) 2022-02-23 08:57:06 +01:00
Marc Mueller 636d791b37
Fix type issues [litterrobot] (#67092) 2022-02-23 08:44:35 +01:00
Klaas Schoute 6c2d6fde66
Add Pure Energie integration (#66846) 2022-02-19 17:53:25 +01: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
Franck Nijhof 00221f1d66
Cleanup and strict typing for MJPEG integration (#66526) 2022-02-15 12:32:14 +01:00
Marc Mueller 80394e3de6
Improve util.async_ typing (#66510) 2022-02-14 15:41:09 +01:00
Jc2k 0daf20c0cc
Prepare for new aiohomekit lifecycle API (#66340) 2022-02-11 19:26:35 +00:00
epenet 47d6f75c17
Enable basic type checking in template (#66222)
* Fix binary_sensor

* Adjust button

* Adjust fan

* Adjust select

* Adjust template_entity

* Adjust trigger_entity

* Adjust weather

* Adjust init

* Adjust number

* Adjust None check
2022-02-10 10:59:54 +01:00
epenet ea325ef027
Enable basic type checking in demo platforms (#66212)
* Adjust type hints in demo platforms

* Adjust mypy config

* Adjust name
2022-02-10 10:05:58 +01:00
epenet f17d66228c
Enable basic type checking in demo init (#66218)
* Enable basic type checking in demo init

* Remove from mypy ignore list
2022-02-10 09:04:36 +01:00
Erik Montnemery 83a10cca53
Enable basic type checking for config (#66197) 2022-02-09 19:09:55 +01:00
Franck Nijhof b9f21d4e07
Improve typing of Spotify (#66109)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-08 23:07:13 +01:00
Chris Talkington 15e5f516d2
Update rokuecp to 0.13.1 (#65814) 2022-02-05 22:17:31 -06:00
J. Nick Koston 342f5182b9
WiZ cleanups part 1 (#65746)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-02-05 09:23:19 -06:00
Jc2k 714a952d73
Enable types from aiohomekit to be used by mypy for homekit_controller (#65433) 2022-02-03 10:18:03 -06:00
J. Nick Koston 6c38a6b569
Enable strict typing for isy994 (#65439)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-03 17:02:05 +01:00
epenet f95183f6a8
Make mypy IGNORED_MODULES file specific (#65416)
* Make mypy IGNORED_MODULES file specific

* Adjust sonos type hints

* Remove legacy nest from IGNORED_MODULES

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-02-03 14:21:06 +01:00
epenet 9fde84ab41
Remove freebox from mypy ignore list (#65126)
* Add type hints to freebox

* Remove freebox from mypy ignore list

* Adjust type hints

* Refactor FreeboxRouter setup/close

* Remove unnecessary assert

* Remove unused constant

* Rework unload routine

* Bring back close method

* Suppress NotOpenError

* Use async_on_unload on signal_device_new

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-02-03 10:01:41 +01:00
epenet 913d6f6ea1
Remove sonos media_player from strict typing (#65419)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-02-03 06:59:21 +01:00
epenet 8325188ed2
Remove nest legacy from mypy ignored modules (#65421)
* Remove nest legacy from mypy ignored modules

* Set type-ignore inside the files

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-02-03 06:57:44 +01:00
Jc2k dd5bcafab7
Enable mypy checks for homekit_controller (#65358) 2022-02-01 11:27:35 +00:00
Marc Mueller f6c679699f
Add plugin option [hassfest] (#65024) 2022-01-26 20:52:09 -08:00
Marc Mueller 5e633498d2
Enable no_implicit_reexport for core files [mypy] (#63820) 2022-01-26 10:55:06 +01:00
epenet 3f8032c635
Remove ring from mypy ignore list (#64522)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 12:31:28 -08:00
epenet 51c8e041ea
Remove plugwise from mypy ignore list (#64525)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 10:14:52 +01:00
epenet a1ed2a57e9
Remove smartthings from mypy ignore list (#64511)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 10:13:04 +01:00
epenet 3393b78e08
Remove plaato from mypy ignore list (#64516)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 09:58:12 +01:00
epenet e2a9ff5ecd
Remove system_log from mypy ignore list (#64469) 2022-01-20 09:51:10 +01:00
epenet 3e4883b175
Remove stt from mypy ignore list (#64468) 2022-01-20 09:49:34 +01:00
epenet 3ef2eadaf5
Remove plum lightpad from mypy ignore list (#64523)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 09:47:42 +01:00
epenet 66c2520a94
Remove sharkiq from mypy ignore list (#64509)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 09:45:47 +01:00
epenet 921a554b9e
Remove pioneer from mypy ignore list (#64515)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 09:44:45 +01:00
epenet bb7653e477
Remove point from mypy ignore list (#64524)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 09:35:31 +01:00
epenet 15bbff960e
Remove sense from mypy ignore list (#64508)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 09:35:10 +01:00
epenet 3ab9dc9b0e
Remove search from mypy ignore list (#64507)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 09:24:48 +01:00
epenet fceeafb5de
Remove ruckus unleashed from mypy ignore list (#64513)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 09:18:09 +01:00
epenet e56c64db07
Remove screenlogic from mypy ignore list (#64512)
* Adjust screenlogic

* Adjust mypy_config

* Adjust coordinator cast

* Move cast higher up

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 09:06:44 +01:00
epenet ca6dd09fc2
Remove rachio from mypy ignore list (#64521)
* Adjust rachio

* Adjust mypy-config

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-20 08:53:16 +01:00
epenet e248ef1dd7
Remove sma from mypy ignore list (#64510) 2022-01-20 09:22:18 +02:00
epenet 03bf2cdd56
Remove vera from mypy ignore list (#64474)
* Remove vera from mypy ignore list

* Fix pylint
2022-01-20 07:46:26 +01:00
epenet 29ec65f924
Remove verisure from mypy ignore list (#64475) 2022-01-19 22:56:31 +01:00
epenet 7592347715
Remove somfy from mypy ignore list (#64462)
* Adjust somfy

* Remove somfy from mypy-config

* Fix pylint
2022-01-19 21:46:26 +01:00
epenet 211b99e22d
Remove ping from mypy ignored modules (#64439)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-19 20:59:20 +01:00
G Johansson 4a102d6b2a
Improve code quality trafikverket_train (#62677) 2022-01-19 20:57:05 +01:00
epenet edaf75321e
Remove integrations from mypy ignored modules (part 4) (#64435)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-19 13:29:24 +01:00
epenet f6bc21d2aa
Remove integrations from mypy ignored modules (part 3) (#64414)
* Adjust kaiterra

* Adjust keenetic_ndms2

* Adjust kodi

* Adjust kulersky

* Adjust litejet

* Adjust motion_blinds

* Cleanup mypy_config

* Adjust kulersky

* Adjust keenetic_ndms2

* Adjust kodi

* Adjust motion_blinds

* Introduce RequiredKeysMixin in kaiterra

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-19 10:49:46 +01:00
epenet 2f8d99bf5d
Remove integrations from mypy ignored modules (part 2) (#64367)
* Adjust dhcp

* Adjust growatt_server

* Adjust habitica

* Adjust home_connect

* Adjust iaqualink

* Adjust incomfort

* Adjust input_number

* Adjust ipp

* Adjust mypy_config

* Unindent input-number

* Fix type hint in home_connect

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-19 09:00:09 +01:00
epenet 45313e3f7a
Remove integrations from mypy ignored modules (#64358)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-18 13:26:12 +01:00
epenet d1a2ce4b78
Cleanup mypy ignored modules (#64341)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-18 12:10:49 +01:00
epenet 24c07ccf15
Remove tado from mypy ignored modules (#64333)
* Remove tado from mypy ignored modules

* Adjust typing

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-17 19:20:12 -08:00
G Johansson bbb29ab455
Code quality improvements smhi (#64312) 2022-01-17 20:27:23 +01:00
Shay Levy 32d4f104ff
Enable strict typing in webostv (#64193)
* Enable strict typing in webostv

Enable strict typing in webostv

* Apply review comments
2022-01-16 22:07:29 +01:00
G Johansson 1a5716efc4
Enable strict typing for trafikverket_weatherstation (#64080) 2022-01-13 23:04:15 +01:00
Franck Nijhof 7a699480d4
Add strict typing to LaMetric (#63891)
* Add strict typing to LaMetric

* Forgot about Pylint 🙈
2022-01-12 13:39:12 +01:00
Marc Mueller 240c9979c7
Move disallow-any-generics to mypy.ini (#63917) 2022-01-11 13:33:25 -08:00
Franck Nijhof cb66685174
Drop Python 3.8 support (#63883) 2022-01-11 12:00:53 +01:00
Duco Sebel 8f6e24aa1e
Add HomeWizard Energy integration (#55812)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-01-10 16:23:31 -08:00
Robert Hillis 7c51d2f159
Add strict typing to abode (#57673) 2022-01-10 15:54:09 +01:00
Marc Mueller 912ff76fda
Enable strict typing for core.py (#63244) 2022-01-10 12:07:22 +01:00
epenet 36dd8ca09a
Enable strict typing in browser (#63760)
* Add setup type hints to browser

* Add browser to script-typing
2022-01-10 04:02:50 +01:00
J. Nick Koston 943aaaeb3f
Add SenseME integration (#62909)
Co-authored-by: Big Mike <mikelawrence@users.noreply.github.com>
2022-01-07 22:53:05 -10:00
J. Nick Koston 4283b2358c
Add support for Steamist steam showers (#63251)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-01-06 02:55:57 +01:00
Franck Nijhof 2fe08d2b9b
Complete strict typing to Humidifier entity platform (#61021) 2022-01-04 18:09:32 +01:00
J. Nick Koston 724f5dbf1a
Add Oncue by Kohler integration (#63203) 2022-01-02 09:15:39 -10:00
Allen Porter c7b991f56b
Add rtsptowebrtc integration (#59660)
* Add initial version of the webrtc integration

Add the webrtc integration. This integration proxies the
signal 'offer' from the client to a RTSPtoWebRTCP server that
returns an 'answer'.

The RTSPtoWebRTC server is a go binary based on pion, and this is
what is currently used by the WebRTC custom_component:
https://github.com/AlexxIT/WebRTC
https://github.com/deepch/RTSPtoWebRTC

* Readability improvements for webrtc

* Reach 100% test coverage

* Use rtsp-to-webrtc client library package

* Rename webrtc to rtstptowebrtc

This is to reflect naming as one type of approach to webrtc since other webrtc integrations would look very different.

* Remove internal quality scale

* Bump rtsptowebrtc to support heartbeats

* Shorten server url variable and remove const.py

* Add config flow validation for RTSPtoWebRTC server

* Add RTSPtoWebRTC server health checks

* Accept translation suggestion

* Apply suggestions from code review

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

* Update rtsptowebrtc to use new camera registry API

Update rtsptowebrtc to use new API added in #62962

* Remove unused variable

* Fix lint and typing errors for python 3.8

* Rename to rtsp_to_webrtc to follow standards

* Use async_on_unload for unsubscribing camera webrtc provider

* Remove unnecessary translations in config flow

* Remove unnecessary configuration setup

* Cleanup test setup and typing

* Patch integration setup to avoid starting the whole integration

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-01-01 12:36:31 -08:00
Mick Vleeshouwer 4eb077b6b4
Enable strict typing for Overkiz integration (#63108) 2021-12-31 07:35:15 -10:00
Phil Cole 54d1e20948
Add type hints to nissan_leaf integration (#62967) 2021-12-29 12:23:54 +01:00
Franck Nijhof 43dc12b1c8
Add strict typing to Whois (#62959) 2021-12-28 21:25:09 +01:00
Franck Nijhof 7b5a159899
Add strict typing to CPU Speed (#62924) 2021-12-28 13:19:36 +01:00
Christopher Bailey e982e7403a
Add unifiprotect integration (#62697)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-12-25 20:12:57 -10:00
Franck Nijhof 79627526c7
Add strict typing to PVOutput (#62628) 2021-12-23 06:25:05 +01:00
Franck Nijhof 4805b67300
Add strict typing to Luftdaten (#62588) 2021-12-22 12:20:35 +01:00
Franck Nijhof fc6c0b1d4a
Add input_button (#62008)
* Add input_button

* Update homeassistant/components/input_button/__init__.py

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

* Improve test coverage

* Add reload test: not affecting state

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-12-20 16:18:58 +01:00
Thomas Dietrich 28af0b4092
Statistics component typing (#60997)
* Implement optional manually defined uniqueid

* Fix test case via mocked environment

* Add typing to statistics component

* Fix minor inconsistency

* Fix linter issues

* Execute hassfest

* Fix stricter mypy warnings

* Fix maxsplit warning

* Make binary value range explicit check

* Add basic typing to statistics tests

* Add empty config testcase

* Minor improvements

* Improve after comments

* Remove unnecessary test case

* Fix changed type

* Remove dict.get default
2021-12-20 14:53:51 +01:00
Eric Severance 1318597370
Fix typing for wemo (#62157) 2021-12-19 18:09:30 -06:00
Franck Nijhof 0dbd948867
Add Open-Meteo integration (second attempt) (#61742) 2021-12-16 21:12:33 +01:00
epenet 97d292133f
Revert "Add Open-Meteo integration (#60379)" (#61130)
This reverts commit d802f3a82f.
2021-12-06 23:35:14 +01:00
Franck Nijhof d802f3a82f
Add Open-Meteo integration (#60379)
Co-authored-by: MatthewFlamm <39341281+MatthewFlamm@users.noreply.github.com>
2021-12-06 10:01:12 -08:00
Milan Meulemans a7e129a952
Add Aseko Pool Live integration (#56299) 2021-12-05 17:02:46 -10:00
Erik Montnemery e50a47621f
Enable basic type checking for climacell (#55334) 2021-12-03 10:08:23 -08:00
Franck Nijhof 6a8c732b37
Add Tailscale integration (#59764)
* Add Tailscale integration

* Use DeviceEntryType

* Fix tests

* Adjust to new Pylint version

* Use enums for device classes

* Update homeassistant/components/tailscale/config_flow.py

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

* Pass empty string as default

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-12-01 14:40:38 +01:00
Matthias Lohr a399037a46
Add TOLO Sauna (tolo) integration (#55619) 2021-11-24 20:45:13 +01:00
Matthias Alphart 3dac661480
Rewrite Fronius integration (#59686)
* Add unique_id and use DataUpdateCoordinator in Fronius (#57879)

* initial refactoring commit - meters

- config_flow (no strings, no tests yet)
- import yaml config
- FroniusSolarNet class for holding Fronius object , coordinators and some common data
- meter descriptions
- update coordinator
- entities (including devices)

* storage controllers

* error handling on init; inverter unique_id

* inverters

* power_flow

* fix VA, var, varh not valid for device_class power/energy

and add custom icons

* add SolarNet device for system wide values

* cleanup

* config_flow strings

* test config_flow

* use pyfronius 0.7.0

* enable strict typing

* remove TODO comments

* fix lint errors; move FroniusSensorEntity to sensor.py

* power_flow as optional coordinator

API V0 doesn't support power_flow endpoint

* show error message in logs

* prevent parallel requests to one host

* logger_info coordinator

* store FroniusSolarNet reference directly in coordinator

* cleanup coordinators when unloading entry

* round floats returned by Fronius API

* default icons for grid im/export tariffs

* small typing fix

* Update homeassistant/components/fronius/sensor.py

Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>

* DC icons

* prepend names with "Fronius" and device type

to get more reasonable default entity_ids (eg. have them next to each other when alphabetically sorted)

* remove config_flow and devices

* rename _FroniusUpdateCoordinator to FroniusCoordinatorBase

and mark ABC

* move SensorEntityDescriptions to sensor.py

* Revert "move SensorEntityDescriptions to sensor.py"

This reverts commit 2e5a726eb6.

* Don't raise ConfigEntryNotReady and use regular refresh method

* move bridge initialization out of helper class

* no coverage tests

* power_flow update interval 10 seconds

* move SensorEntityDescriptions to sensor.py

without introducing a circular dependency

* deprecation warning for CONF_MONITORED_CONDITIONS

* remove extra_state_attributes form meter sensor entities

* readd diagnostic entities

* decouple default entity_id from default name

* use key instead of name for entity_id

and make deprecated config key optional

* adjust tests

* use old entity_ids

these changes are now backwards compatible

* check coverage

* simplify entity description definitions

* restore entity names of previous implementation

Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>

* Add config_flow for Fronius integration (#59677)

* Cleanup Fronius config_flow and tests (#60094)

* Add devices to Fronius integration (#60104)

* New entity names for Fronius entities (#60215)

* Adaptive update interval for Fronius coordinators (#60192)

Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>
2021-11-24 02:04:36 +01:00
Erik Montnemery 135778fe91
Enable basic type checking for awair (#55046) 2021-11-23 22:49:42 +01:00
Marc Mueller 6089aef072
Enable strict typing - wallbox (#59301) 2021-11-23 22:30:22 +01:00
Erik Montnemery dec54488e8
Enable basic type checking for cloud (#55337)
* Enable basic type checking for cloud

* Update mypy settings

* Address review comment

* Fix rebase mistakes

* Correct decorator order
2021-11-17 09:07:01 +01:00
Franck Nijhof 28a0ba4df3
Modernize/Simplify Twente Milieu (#59632) 2021-11-13 15:34:09 +01:00
j-stienstra 0ae5b9e880
Add Jellyfin integration (#44401)
* Initial commit after scaffold setup

* Add initial config flow

* Create initial entity

* Ready for testing

* Can browse, no result yet

* Further improvements. Browsing is working.
Now need to work on proper stream URL

* Two valid URLs. Do not play in HA

* First working version for music

* Add thumbnail

* Includes Artist->Album hierarchy

* Add sorting of artists, albums and tracks

* Remove code for video libraries

* Improved code styling

* Optimize configuration flow

* Fix unit tests for config flow

* Fix import order

* Conform to style requirements

* Use empty string as media type for non playables

* 100% code coverage config_flow

* Type async_get_media_source

* Final docsctring fix after rebase

* Add __init__ and media_source files to .coveragerc

* Fix testing issues after rebase

* Fix string format issues and relative const import

* Remove unused manifest entries

* Raise ConfigEntry exceptions, not log errors

* Upgrade dependency to avoid WARNING on startup

* Change to builtin tuple and list (deprecation)

* Log broad exceptions

* Add strict typing

* Further type fixes after rebase

* Retry when cannot connect, otherwise fail setup

* Remove unused CONFIG_SCHEMA

* Enable strict typing checks

* FlowResultDict -> FlowResult

* Code quality improvements

* Resolve mypy.ini merge conflict

* Use unique userid generated by Jellyfin

* Update homeassistant/components/jellyfin/config_flow.py

Remove connection class from config flow

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

* Minor changes for additional checks after rebase

* Remove title from string and translations

* Changes wrt review

* Fixes based on rebase and review suggestions

* Move client initialization to separate file

* Remove persistent_notification, add test const.py

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
2021-11-12 14:57:40 +01:00
Maikel Punie 6a21b241c0
Velbus typing part 2 (#59148) 2021-11-11 13:46:35 +01:00
Paulus Schoutsen 296f678d52
Add Evil Genius Labs integration (#58720)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-11-08 08:56:27 -08:00
Franck Nijhof fdf1bfa140
Add RDW Vehicle information integration (#59240) 2021-11-06 19:34:51 +01:00
Martin Hjelmare c0801c1233
Type vlc_telnet strictly (#59154) 2021-11-05 14:42:08 +01:00
Franck Nijhof d126d88977
Add Button entity component platform (#57642)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-11-04 16:50:43 +01:00
Aaron Bach f7dea3aa1d
Add Ridwell integration (#57590) 2021-10-30 08:27:48 -06:00
Jonathan Keljo 687c40a622
Enable strict typing for greeneye_monitor (#58571)
* Enable strict typing for greeneye_monitor

* Fix pylint
2021-10-29 18:54:40 -07:00
Guido Schmitz f1884d34e9
Add devolo home network integration (#45866)
Co-authored-by: Markus Bong <2Fake1987@gmail.com>
Co-authored-by: Markus Bong <Markus.Bong@devolo.de>
2021-10-28 22:42:10 +02:00
Marc Mueller ced89d8f29
Enable strict typing - bmw_connected_drive (#58506) 2021-10-27 12:32:10 -05:00
Marc Mueller b60934b10d
Enable type checking - bmw_connected_drive (#58310) 2021-10-26 13:27:26 -05:00
Franck Nijhof 65b19da3ff
Refactor input_select (#53334) 2021-10-25 20:38:06 -07:00
Allen Porter 31aa168bbb
Fix bug in MediaSource definintion and enable strict type checking (#58321) 2021-10-24 11:39:39 +02:00
Yuval Aboulafia a9ccd70e71
Fully type Jewish Calendar (#56232) 2021-10-22 23:11:41 +02:00
Robert Hillis 23710d1496
Add strict typing to modem_callerid (#57683) 2021-10-22 22:04:06 +02:00
J. Nick Koston c7b4542624
Enable strict typing in lookin (#58238) 2021-10-22 20:14:33 +02:00
Robert Hillis da7b67cc29
Add strict typing to efergy (#57682) 2021-10-22 18:20:39 +02:00
Robert Hillis 19d812602e
Activate strict typing for nfandroidtv (#57743)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-10-15 10:27:26 +02:00
Robert Hillis abf6720cd3
Add strict typing to goalzero (#57680) 2021-10-15 00:20:08 +02:00
Franck Nijhof 82160fa350
Add config flow to Stookalert (#57119) 2021-10-08 11:34:22 +02:00
Aaron Bach 2ba8e1030c
Ensure that WattTime is strictly typed (#57130) 2021-10-07 12:40:10 +02:00
Tomasz 08cebb247f
Activate mypy for rpi_power (#57047) 2021-10-04 22:13:11 +02:00
Maciej Bieniek f3c76fb859
Add strict typing to Tractive integration (#56948)
* Strict typing

* Add few missing types

* Run hassfest

* Fix mypy errors

* Use List instead of list
2021-10-03 09:13:12 +02:00
icemanch a95c6b10f7
Flux led config flow (#56354)
Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-10-02 07:19:36 -10:00
Milan Meulemans e757cb2ab4
Strictly type Nanoleaf (#56852) 2021-09-30 16:48:28 -05:00
jan iversen 19685ecff0
Set strict typing for modbus. (#56779) 2021-09-29 16:15:55 +03: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
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
Andre Richter a5c6a65161
Activate mypy for Vallox (#55874) 2021-09-23 10:59:28 -07:00
Joakim Sørensen 98d0c84468
Enable strict typing for the tautulli integration (#55448) 2021-09-23 16:56:21 +02: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
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
jan iversen 476d04e2fb
Activate mypy. (#55965) 2021-09-18 10:02:24 +01: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
jan iversen 94f06f86cf
Activate mypy for gpmdp. (#55967) 2021-09-16 20:05:08 +03: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
Ricardo Steijn 2a51bb5bba
Add Crownstone integration (#50677) 2021-09-14 09:46:52 -10: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
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
jan iversen 9d2861afe3
Add mypy to elkm1. (#55964) 2021-09-09 13:14:28 +02:00
Alan Tse 98ecf2888c
Remove tesla integration (#55988)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-09-08 22:12:03 -07:00
Erik Montnemery 8b436c43f7
Enable basic type checking for cert_expiry (#55335) 2021-08-29 10:57:18 -06: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 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
jan iversen e2b1122eec
Activate mypy in gtfs (followup on reverted #54328) (#55195) 2021-08-25 10:30:29 +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 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 iversen dae40530bd
Activate mypy for synology_srm (#55059) 2021-08-23 22:57:33 +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
jan iversen d5c26aece1
Activate mypy for tuya (#55057) 2021-08-23 21:30:04 +02:00
jan iversen a5c1fbcb1a
Activate mypy for velbus (#55055) 2021-08-23 20:57:37 +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
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
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
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
jan iversen f872594e26
Activate mypy for homematicip_cloud (#54950)
* Please mypy.

* Review comments.

* Review comments.
2021-08-21 20:19:56 +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
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
jan iversen 20b7125620
Activate mypy for Panasonic_viera (#54547) 2021-08-18 15:34:50 +02:00
jan iversen 69bc6bbe48
Activate mypy for google_pubsub (#54649) 2021-08-17 10:10:56 +02:00
jan iversen 7524acc38c
Activate mypy for sesame (#54546) 2021-08-17 00:19:12 +02:00
jan iversen 85ff5e34cd
Active mypy for netio (#54543) 2021-08-16 23:25:41 +02:00
jan iversen b72ed68d61
Activate mypy in sabnzbd (#54539) 2021-08-16 22:55:52 +02:00
jan iversen 045b1ca6ae
Activate mypy in lifx (#54540) 2021-08-16 12:41:35 +02:00
jan iversen adcbd8b115
Activate mypy for Trådfri (#54416)
* Activate mypy.
2021-08-11 08:31:52 +02:00
jan iversen 1d40a6e407
Activate mypy from amcrest and make the needed changes (#54392) 2021-08-10 14:57:57 +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
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
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
Milan Meulemans debcc6689f
Activate mypy for Cloudflare (#54041) 2021-08-05 13:01:12 +02:00