Commit Graph

456 Commits (6da25c733e014624564140a761af5201e3bf0adc)

Author SHA1 Message Date
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