Commit graph

646 commits

Author SHA1 Message Date
epenet 1725948d4a
Use instance attributes in minecraft_server (#75157)
* Remove minecraft_server from mypy ignore list

* Use new entity naming style
2022-07-14 18:06:33 +02:00
epenet e16bd1e471
Remove evohome climate from mypy ignore list (#75169)
* Remove evohome climate from mypy ignore list

* Raise error
2022-07-14 13:46:37 +02:00
epenet c260413e2a
Remove lovelace from mypy ignore list (#75167)
* Remove lovelace from mypy ignore list

* Raise error on failed config
2022-07-14 13:08:50 +02:00
epenet debd475a6d
Remove onvif from mypy ignore list (#75162) 2022-07-14 11:55:43 +02:00
epenet 51c17197c5
Remove nzbget from mypy ignore list (#75158) 2022-07-14 11:40:10 +02:00
epenet 14baaf4b67
Remove plex from mypy ignore list (#74984) 2022-07-11 20:02:44 +02:00
epenet 28a34a1f89
Remove withings from mypy ignore list (#74966) 2022-07-11 19:14:23 +02:00
epenet ba18e11308
Remove profiler from mypy ignore list (#74453) 2022-07-11 18:34:27 +02:00
epenet 7e0515b119
Remove conversation from mypy ignore list (#74991) 2022-07-11 17:47:33 +02:00
epenet 63706d2f67
Remove blueprint from mypy ignore list (#74990) 2022-07-11 17:46:32 +02:00
Paulus Schoutsen 6fd47d035e
Add basic Rhasspy integration (#74942)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-07-11 08:40:52 -07:00
epenet 6ac05784a6
Remove icloud from mypy ignore list (#75007) 2022-07-11 17:33:20 +02:00
epenet fa51a39f1d
Use instance attributes in evohome (#74996) 2022-07-11 17:24:35 +02:00
epenet 73a8ae35c2
Remove izone from mypy ignore list (#75005) 2022-07-11 16:53:14 +02:00
epenet 06a4c226fd
Remove konnected from mypy ignore list (#75003) 2022-07-11 16:44:44 +02:00
epenet 5f4713a200
Remove solaredge from mypy ignore list (#74983) 2022-07-11 15:07:54 +02:00
epenet ab9950621b
Remove toon from mypy ignore list (#74968) 2022-07-11 13:40:54 +02:00
epenet 36bb34f391
Remove kostal_plenticore from mypy ignore list (#74433) 2022-07-09 23:18:53 +02:00
epenet 3922141f5c
Remove omnilogic from mypy ignore list (#74452) 2022-07-09 23:11:55 +02:00
epenet da133a7f05
Remove xbox from mypy ignore list (#74504) 2022-07-09 23:09:15 +02:00
epenet 0b1f29b2b9
Remove nilu from mypy ignore list (#74412) 2022-07-09 20:01:39 +02:00
epenet 5360e56d09
Remove xiaomi_miio from mypy ignore list (#74669) 2022-07-09 19:59:11 +02:00
epenet 0f33c08dca
Remove telegram_bot from mypy ignore list (#74661) 2022-07-09 19:52:26 +02:00
J. Nick Koston a697672944
Add bluetooth integration (#74653)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-07-08 18:55:31 -05:00
Erik Montnemery 0e3f7bc63a
Resolution center MVP (#74243)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-07-07 20:49:07 -07:00
epenet c6bff8ae18
Remove philips_js from mypy ignore list (#74659)
* Remove philips_js from mypy ignore list

* Use class attribute
2022-07-07 22:00:19 +02:00
epenet bd43f0393c
Remove influxdb from mypy ignore list (#74612) 2022-07-07 20:51:38 +03:00
epenet dc0c41982f
Remove meteo_france from mypy ignore list (#74613) 2022-07-07 20:50:08 +03:00
epenet 6540ba6239
Remove hassio from mypy ignore list (#74603)
* Remove hassio from mypy ignore list

* Avoid if TYPE_CHECKING
2022-07-07 15:14:36 +02:00
epenet f19c542d6d
Remove denonavr from mypy ignore list (#74580) 2022-07-07 12:14:46 +02:00
epenet 5ae593672e
Remove google_assistant from mypy ignore list (#74587) 2022-07-07 11:35:45 +02:00
epenet 5e63a44e71
Remove home_plus_control from mypy ignore list (#74448) 2022-07-06 22:45:54 +03:00
epenet 8fb9b45e42
Remove input_datetime from mypy ignore list (#74447)
* Remove input_datetime from mypy ignore list

* Use assert

* Use cast

* Use common logic for initial parsing
2022-07-06 10:26:24 +02:00
epenet a27d483009
Remove unifi from mypy ignore list (#74456)
* Remove unifi diagnostics from mypy ignore list

* Remove unifi init from mypy ignore list

* Remove unifi device tracker from mypy ignore list

* Adjust doc string

* Adjust doc string

* Remove unifi entity base from mypy ignore list

* Keep comprehension

* Remove unifi config flow from mypy ignore list

* Fix circular import
2022-07-06 10:25:53 +02:00
epenet cbe9eda0a8
Remove lyric from mypy ignore list (#74451) 2022-07-05 13:24:18 -05:00
epenet 110d9232cd
Remove melcloud from mypy ignore list (#74410) 2022-07-04 23:05:53 -07:00
epenet 560fbd1a0e
Remove lutron_caseta from mypy ignore list (#74427) 2022-07-04 14:10:26 -05:00
epenet 1536936177
Remove harmony from mypy ignore list (#74425) 2022-07-04 13:39:14 -05:00
avee87 b3fec4c401
Typehints and cleanup for metoffice (#74338)
* Typehints and cleanup for metoffice

* add myself as owner
2022-07-04 19:12:41 +03:00
epenet e3bd63934b
Remove gree from mypy ignore list (#74411) 2022-07-04 16:47:35 +02:00
epenet 035e96a79b
Remove system_health from mypy ignore list (#74415) 2022-07-04 16:46:59 +02:00
epenet 8bed2e6459
Remove zha from mypy ignore list (#73603) 2022-06-28 13:53:20 +02:00
epenet 87b46a699a
Fix mypy issues in zha store (#74032) 2022-06-28 08:52:20 +02:00
epenet fb10853358
Fix mypy issues in zha core modules (#74028)
* Fix mypy issues in zha gateway, group and helpers

* Cleanup device

* Apply suggestion

* Raise ValueError

* Use hass.config.path
2022-06-28 08:50:16 +02:00
epenet b880a05e45
Fix type hints in zha remaining channels (#73778)
* Fix hvac channel type hints

* Fix security channel type hints

* Fix homeautomation channel type hints

* Fix type hints in zha base channel

* Adjust select entity

* Remove unused arg
2022-06-24 10:35:38 -04:00
epenet 754fe86dd9
Add fan to strict typing (#73820)
* Add fan to strict typing

* Adjust state_attributes

* Adjust capability_attributes

* Adjust is_on

* Adjust vallox component

* Revert "Adjust is_on"

This reverts commit 48d207f250.

* Fix is_on property
2022-06-22 14:15:44 +02:00
epenet 33a84838b4
Fix type hints in zha smartenergy channel (#73775)
* Fix type hints in zha smartenergy channel

* Adjust unit_of_measurement
2022-06-22 07:41:28 -04:00
epenet 243905ae3e
Fix cover, light, select, sensor, switch type hints in zha (#73770)
* Fix zha sensor type hints

* Fix zha entity type hints

* Fix switch type hints

* Fix light type hints

* Fix cover type hints

* Fix select type hints
2022-06-21 21:04:24 -04:00
epenet 6c83ed4c9d
Fix api, button and climate type hints in zha (#73771)
* Fix zha api type hints

* Fix zha button type hints

* Fix zha climate type hints
2022-06-21 21:02:08 -04:00
epenet 21275669d5
Fix inheritance in zha general channel (#73774)
Fix general channel type hints in zha
2022-06-21 21:00:58 -04:00
epenet 4bc1314499
Fix REPORT_CONFIG type hint in zha (#73762)
Fix REPORT_CONFIG type hint
2022-06-20 18:32:32 -04:00
epenet f43cc18aa3
Fix type hints in zha platforms (#73745)
* Adjust binary_sensor

* Adjust device_action

* Adjust device_tracker

* Adjust fan

* Adjust lock

* Adjust siren
2022-06-20 11:31:16 -04:00
epenet be2aa44559
Fix mypy issues in zha config_flow (#73744) 2022-06-20 16:25:24 +02:00
epenet b318b9b196
Improve onvif type hints (#73642)
* Remove onvif from mypy ignore list

* Adjust parsers

* Adjust event

* Adjust config_flow
2022-06-20 12:07:33 +02:00
epenet 06e45893aa
Remove invalid type definitions in zha (#73596) 2022-06-20 11:28:53 +02:00
epenet a92105171c
Remove vizio from mypy ignore list (#73585)
* Remove vizio config_flow from mypy ignore list

* Fix mypy errors

* Adjust media_player

* Add space
2022-06-19 21:39:24 +02:00
epenet 94a8fe0052
Remove xiaomi_aqara from mypy ignore list (#73526) 2022-06-15 10:45:47 +02:00
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