diff --git a/mypy.ini b/mypy.ini index 636bb1589cb4..30fe27177a6c 100644 --- a/mypy.ini +++ b/mypy.ini @@ -35,7 +35,579 @@ warn_return_any = false warn_unreachable = false warn_unused_ignores = false -[mypy-homeassistant.components,homeassistant.components.automation.*,homeassistant.components.binary_sensor.*,homeassistant.components.bond.*,homeassistant.components.brother.*,homeassistant.components.calendar.*,homeassistant.components.cover.*,homeassistant.components.device_automation.*,homeassistant.components.elgato.*,homeassistant.components.frontend.*,homeassistant.components.geo_location.*,homeassistant.components.group.*,homeassistant.components.history.*,homeassistant.components.http.*,homeassistant.components.huawei_lte.*,homeassistant.components.hyperion.*,homeassistant.components.image_processing.*,homeassistant.components.integration.*,homeassistant.components.knx.*,homeassistant.components.light.*,homeassistant.components.lock.*,homeassistant.components.mailbox.*,homeassistant.components.media_player.*,homeassistant.components.notify.*,homeassistant.components.number.*,homeassistant.components.persistent_notification.*,homeassistant.components.proximity.*,homeassistant.components.recorder.purge,homeassistant.components.recorder.repack,homeassistant.components.remote.*,homeassistant.components.scene.*,homeassistant.components.sensor.*,homeassistant.components.slack.*,homeassistant.components.sonos.media_player,homeassistant.components.sun.*,homeassistant.components.switch.*,homeassistant.components.systemmonitor.*,homeassistant.components.tts.*,homeassistant.components.vacuum.*,homeassistant.components.water_heater.*,homeassistant.components.weather.*,homeassistant.components.websocket_api.*,homeassistant.components.zeroconf.*,homeassistant.components.zone.*,homeassistant.components.zwave_js.*] +[mypy-homeassistant.components] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.automation.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.binary_sensor.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.bond.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.brother.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.calendar.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.cover.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.device_automation.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.elgato.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.frontend.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.geo_location.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.group.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.history.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.http.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.huawei_lte.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.hyperion.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.image_processing.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.integration.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.knx.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.light.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.lock.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.mailbox.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.media_player.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.notify.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.number.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.persistent_notification.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.proximity.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.recorder.purge] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.recorder.repack] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.remote.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.scene.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.sensor.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.slack.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.sonos.media_player] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.sun.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.switch.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.systemmonitor.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.tts.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.vacuum.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.water_heater.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.weather.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.websocket_api.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.zeroconf.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.zone.*] +check_untyped_defs = true +disallow_incomplete_defs = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_decorators = true +disallow_untyped_defs = true +no_implicit_optional = true +strict_equality = true +warn_return_any = true +warn_unreachable = true +warn_unused_ignores = true + +[mypy-homeassistant.components.zwave_js.*] check_untyped_defs = true disallow_incomplete_defs = true disallow_subclassing_any = true @@ -61,5 +633,719 @@ warn_return_any = false warn_unreachable = false warn_unused_ignores = false -[mypy-homeassistant.components.adguard.*,homeassistant.components.aemet.*,homeassistant.components.airly.*,homeassistant.components.alarmdecoder.*,homeassistant.components.alexa.*,homeassistant.components.almond.*,homeassistant.components.amcrest.*,homeassistant.components.analytics.*,homeassistant.components.asuswrt.*,homeassistant.components.atag.*,homeassistant.components.aurora.*,homeassistant.components.awair.*,homeassistant.components.azure_devops.*,homeassistant.components.azure_event_hub.*,homeassistant.components.blueprint.*,homeassistant.components.bluetooth_tracker.*,homeassistant.components.bmw_connected_drive.*,homeassistant.components.bsblan.*,homeassistant.components.camera.*,homeassistant.components.canary.*,homeassistant.components.cast.*,homeassistant.components.cert_expiry.*,homeassistant.components.climacell.*,homeassistant.components.climate.*,homeassistant.components.cloud.*,homeassistant.components.cloudflare.*,homeassistant.components.config.*,homeassistant.components.control4.*,homeassistant.components.conversation.*,homeassistant.components.deconz.*,homeassistant.components.demo.*,homeassistant.components.denonavr.*,homeassistant.components.device_tracker.*,homeassistant.components.devolo_home_control.*,homeassistant.components.dhcp.*,homeassistant.components.directv.*,homeassistant.components.doorbird.*,homeassistant.components.dsmr.*,homeassistant.components.dynalite.*,homeassistant.components.eafm.*,homeassistant.components.edl21.*,homeassistant.components.elkm1.*,homeassistant.components.emonitor.*,homeassistant.components.enphase_envoy.*,homeassistant.components.entur_public_transport.*,homeassistant.components.esphome.*,homeassistant.components.evohome.*,homeassistant.components.fan.*,homeassistant.components.filter.*,homeassistant.components.fints.*,homeassistant.components.fireservicerota.*,homeassistant.components.firmata.*,homeassistant.components.fitbit.*,homeassistant.components.flo.*,homeassistant.components.fortios.*,homeassistant.components.foscam.*,homeassistant.components.freebox.*,homeassistant.components.fritz.*,homeassistant.components.fritzbox.*,homeassistant.components.garmin_connect.*,homeassistant.components.geniushub.*,homeassistant.components.gios.*,homeassistant.components.glances.*,homeassistant.components.gogogate2.*,homeassistant.components.google_assistant.*,homeassistant.components.google_maps.*,homeassistant.components.google_pubsub.*,homeassistant.components.gpmdp.*,homeassistant.components.gree.*,homeassistant.components.growatt_server.*,homeassistant.components.gtfs.*,homeassistant.components.guardian.*,homeassistant.components.habitica.*,homeassistant.components.harmony.*,homeassistant.components.hassio.*,homeassistant.components.hdmi_cec.*,homeassistant.components.here_travel_time.*,homeassistant.components.hisense_aehw4a1.*,homeassistant.components.home_connect.*,homeassistant.components.home_plus_control.*,homeassistant.components.homeassistant.*,homeassistant.components.homekit.*,homeassistant.components.homekit_controller.*,homeassistant.components.homematicip_cloud.*,homeassistant.components.honeywell.*,homeassistant.components.hue.*,homeassistant.components.huisbaasje.*,homeassistant.components.humidifier.*,homeassistant.components.iaqualink.*,homeassistant.components.icloud.*,homeassistant.components.image.*,homeassistant.components.incomfort.*,homeassistant.components.influxdb.*,homeassistant.components.input_boolean.*,homeassistant.components.input_datetime.*,homeassistant.components.input_number.*,homeassistant.components.insteon.*,homeassistant.components.ipp.*,homeassistant.components.isy994.*,homeassistant.components.izone.*,homeassistant.components.kaiterra.*,homeassistant.components.keenetic_ndms2.*,homeassistant.components.kodi.*,homeassistant.components.konnected.*,homeassistant.components.kostal_plenticore.*,homeassistant.components.kulersky.*,homeassistant.components.lifx.*,homeassistant.components.litejet.*,homeassistant.components.litterrobot.*,homeassistant.components.lovelace.*,homeassistant.components.luftdaten.*,homeassistant.components.lutron_caseta.*,homeassistant.components.lyric.*,homeassistant.components.marytts.*,homeassistant.components.media_source.*,homeassistant.components.melcloud.*,homeassistant.components.meteo_france.*,homeassistant.components.metoffice.*,homeassistant.components.minecraft_server.*,homeassistant.components.mobile_app.*,homeassistant.components.modbus.*,homeassistant.components.motion_blinds.*,homeassistant.components.motioneye.*,homeassistant.components.mqtt.*,homeassistant.components.mullvad.*,homeassistant.components.mysensors.*,homeassistant.components.n26.*,homeassistant.components.neato.*,homeassistant.components.ness_alarm.*,homeassistant.components.nest.*,homeassistant.components.netatmo.*,homeassistant.components.netio.*,homeassistant.components.nightscout.*,homeassistant.components.nilu.*,homeassistant.components.nmap_tracker.*,homeassistant.components.norway_air.*,homeassistant.components.notion.*,homeassistant.components.nsw_fuel_station.*,homeassistant.components.nuki.*,homeassistant.components.nws.*,homeassistant.components.nzbget.*,homeassistant.components.omnilogic.*,homeassistant.components.onboarding.*,homeassistant.components.ondilo_ico.*,homeassistant.components.onewire.*,homeassistant.components.onvif.*,homeassistant.components.ovo_energy.*,homeassistant.components.ozw.*,homeassistant.components.panasonic_viera.*,homeassistant.components.philips_js.*,homeassistant.components.pilight.*,homeassistant.components.ping.*,homeassistant.components.pioneer.*,homeassistant.components.plaato.*,homeassistant.components.plex.*,homeassistant.components.plugwise.*,homeassistant.components.plum_lightpad.*,homeassistant.components.point.*,homeassistant.components.profiler.*,homeassistant.components.proxmoxve.*,homeassistant.components.rachio.*,homeassistant.components.rainmachine.*,homeassistant.components.recollect_waste.*,homeassistant.components.recorder.*,homeassistant.components.reddit.*,homeassistant.components.ring.*,homeassistant.components.rituals_perfume_genie.*,homeassistant.components.roku.*,homeassistant.components.rpi_power.*,homeassistant.components.ruckus_unleashed.*,homeassistant.components.sabnzbd.*,homeassistant.components.screenlogic.*,homeassistant.components.script.*,homeassistant.components.search.*,homeassistant.components.sense.*,homeassistant.components.sentry.*,homeassistant.components.sesame.*,homeassistant.components.sharkiq.*,homeassistant.components.shelly.*,homeassistant.components.sma.*,homeassistant.components.smart_meter_texas.*,homeassistant.components.smartthings.*,homeassistant.components.smarttub.*,homeassistant.components.smarty.*,homeassistant.components.smhi.*,homeassistant.components.solaredge.*,homeassistant.components.solarlog.*,homeassistant.components.somfy.*,homeassistant.components.somfy_mylink.*,homeassistant.components.sonarr.*,homeassistant.components.songpal.*,homeassistant.components.sonos.*,homeassistant.components.spotify.*,homeassistant.components.stream.*,homeassistant.components.stt.*,homeassistant.components.surepetcare.*,homeassistant.components.switchbot.*,homeassistant.components.switcher_kis.*,homeassistant.components.synology_dsm.*,homeassistant.components.synology_srm.*,homeassistant.components.system_health.*,homeassistant.components.system_log.*,homeassistant.components.tado.*,homeassistant.components.tasmota.*,homeassistant.components.tcp.*,homeassistant.components.telegram_bot.*,homeassistant.components.template.*,homeassistant.components.tesla.*,homeassistant.components.timer.*,homeassistant.components.todoist.*,homeassistant.components.toon.*,homeassistant.components.tplink.*,homeassistant.components.trace.*,homeassistant.components.tradfri.*,homeassistant.components.tuya.*,homeassistant.components.twentemilieu.*,homeassistant.components.unifi.*,homeassistant.components.upcloud.*,homeassistant.components.updater.*,homeassistant.components.upnp.*,homeassistant.components.velbus.*,homeassistant.components.vera.*,homeassistant.components.verisure.*,homeassistant.components.vizio.*,homeassistant.components.volumio.*,homeassistant.components.webostv.*,homeassistant.components.wemo.*,homeassistant.components.wink.*,homeassistant.components.withings.*,homeassistant.components.wled.*,homeassistant.components.wunderground.*,homeassistant.components.xbox.*,homeassistant.components.xiaomi_aqara.*,homeassistant.components.xiaomi_miio.*,homeassistant.components.yamaha.*,homeassistant.components.yeelight.*,homeassistant.components.zerproc.*,homeassistant.components.zha.*,homeassistant.components.zwave.*] +[mypy-homeassistant.components.adguard.*] +ignore_errors = true + +[mypy-homeassistant.components.aemet.*] +ignore_errors = true + +[mypy-homeassistant.components.airly.*] +ignore_errors = true + +[mypy-homeassistant.components.alarmdecoder.*] +ignore_errors = true + +[mypy-homeassistant.components.alexa.*] +ignore_errors = true + +[mypy-homeassistant.components.almond.*] +ignore_errors = true + +[mypy-homeassistant.components.amcrest.*] +ignore_errors = true + +[mypy-homeassistant.components.analytics.*] +ignore_errors = true + +[mypy-homeassistant.components.asuswrt.*] +ignore_errors = true + +[mypy-homeassistant.components.atag.*] +ignore_errors = true + +[mypy-homeassistant.components.aurora.*] +ignore_errors = true + +[mypy-homeassistant.components.awair.*] +ignore_errors = true + +[mypy-homeassistant.components.azure_devops.*] +ignore_errors = true + +[mypy-homeassistant.components.azure_event_hub.*] +ignore_errors = true + +[mypy-homeassistant.components.blueprint.*] +ignore_errors = true + +[mypy-homeassistant.components.bluetooth_tracker.*] +ignore_errors = true + +[mypy-homeassistant.components.bmw_connected_drive.*] +ignore_errors = true + +[mypy-homeassistant.components.bsblan.*] +ignore_errors = true + +[mypy-homeassistant.components.camera.*] +ignore_errors = true + +[mypy-homeassistant.components.canary.*] +ignore_errors = true + +[mypy-homeassistant.components.cast.*] +ignore_errors = true + +[mypy-homeassistant.components.cert_expiry.*] +ignore_errors = true + +[mypy-homeassistant.components.climacell.*] +ignore_errors = true + +[mypy-homeassistant.components.climate.*] +ignore_errors = true + +[mypy-homeassistant.components.cloud.*] +ignore_errors = true + +[mypy-homeassistant.components.cloudflare.*] +ignore_errors = true + +[mypy-homeassistant.components.config.*] +ignore_errors = true + +[mypy-homeassistant.components.control4.*] +ignore_errors = true + +[mypy-homeassistant.components.conversation.*] +ignore_errors = true + +[mypy-homeassistant.components.deconz.*] +ignore_errors = true + +[mypy-homeassistant.components.demo.*] +ignore_errors = true + +[mypy-homeassistant.components.denonavr.*] +ignore_errors = true + +[mypy-homeassistant.components.device_tracker.*] +ignore_errors = true + +[mypy-homeassistant.components.devolo_home_control.*] +ignore_errors = true + +[mypy-homeassistant.components.dhcp.*] +ignore_errors = true + +[mypy-homeassistant.components.directv.*] +ignore_errors = true + +[mypy-homeassistant.components.doorbird.*] +ignore_errors = true + +[mypy-homeassistant.components.dsmr.*] +ignore_errors = true + +[mypy-homeassistant.components.dynalite.*] +ignore_errors = true + +[mypy-homeassistant.components.eafm.*] +ignore_errors = true + +[mypy-homeassistant.components.edl21.*] +ignore_errors = true + +[mypy-homeassistant.components.elkm1.*] +ignore_errors = true + +[mypy-homeassistant.components.emonitor.*] +ignore_errors = true + +[mypy-homeassistant.components.enphase_envoy.*] +ignore_errors = true + +[mypy-homeassistant.components.entur_public_transport.*] +ignore_errors = true + +[mypy-homeassistant.components.esphome.*] +ignore_errors = true + +[mypy-homeassistant.components.evohome.*] +ignore_errors = true + +[mypy-homeassistant.components.fan.*] +ignore_errors = true + +[mypy-homeassistant.components.filter.*] +ignore_errors = true + +[mypy-homeassistant.components.fints.*] +ignore_errors = true + +[mypy-homeassistant.components.fireservicerota.*] +ignore_errors = true + +[mypy-homeassistant.components.firmata.*] +ignore_errors = true + +[mypy-homeassistant.components.fitbit.*] +ignore_errors = true + +[mypy-homeassistant.components.flo.*] +ignore_errors = true + +[mypy-homeassistant.components.fortios.*] +ignore_errors = true + +[mypy-homeassistant.components.foscam.*] +ignore_errors = true + +[mypy-homeassistant.components.freebox.*] +ignore_errors = true + +[mypy-homeassistant.components.fritz.*] +ignore_errors = true + +[mypy-homeassistant.components.fritzbox.*] +ignore_errors = true + +[mypy-homeassistant.components.garmin_connect.*] +ignore_errors = true + +[mypy-homeassistant.components.geniushub.*] +ignore_errors = true + +[mypy-homeassistant.components.gios.*] +ignore_errors = true + +[mypy-homeassistant.components.glances.*] +ignore_errors = true + +[mypy-homeassistant.components.gogogate2.*] +ignore_errors = true + +[mypy-homeassistant.components.google_assistant.*] +ignore_errors = true + +[mypy-homeassistant.components.google_maps.*] +ignore_errors = true + +[mypy-homeassistant.components.google_pubsub.*] +ignore_errors = true + +[mypy-homeassistant.components.gpmdp.*] +ignore_errors = true + +[mypy-homeassistant.components.gree.*] +ignore_errors = true + +[mypy-homeassistant.components.growatt_server.*] +ignore_errors = true + +[mypy-homeassistant.components.gtfs.*] +ignore_errors = true + +[mypy-homeassistant.components.guardian.*] +ignore_errors = true + +[mypy-homeassistant.components.habitica.*] +ignore_errors = true + +[mypy-homeassistant.components.harmony.*] +ignore_errors = true + +[mypy-homeassistant.components.hassio.*] +ignore_errors = true + +[mypy-homeassistant.components.hdmi_cec.*] +ignore_errors = true + +[mypy-homeassistant.components.here_travel_time.*] +ignore_errors = true + +[mypy-homeassistant.components.hisense_aehw4a1.*] +ignore_errors = true + +[mypy-homeassistant.components.home_connect.*] +ignore_errors = true + +[mypy-homeassistant.components.home_plus_control.*] +ignore_errors = true + +[mypy-homeassistant.components.homeassistant.*] +ignore_errors = true + +[mypy-homeassistant.components.homekit.*] +ignore_errors = true + +[mypy-homeassistant.components.homekit_controller.*] +ignore_errors = true + +[mypy-homeassistant.components.homematicip_cloud.*] +ignore_errors = true + +[mypy-homeassistant.components.honeywell.*] +ignore_errors = true + +[mypy-homeassistant.components.hue.*] +ignore_errors = true + +[mypy-homeassistant.components.huisbaasje.*] +ignore_errors = true + +[mypy-homeassistant.components.humidifier.*] +ignore_errors = true + +[mypy-homeassistant.components.iaqualink.*] +ignore_errors = true + +[mypy-homeassistant.components.icloud.*] +ignore_errors = true + +[mypy-homeassistant.components.image.*] +ignore_errors = true + +[mypy-homeassistant.components.incomfort.*] +ignore_errors = true + +[mypy-homeassistant.components.influxdb.*] +ignore_errors = true + +[mypy-homeassistant.components.input_boolean.*] +ignore_errors = true + +[mypy-homeassistant.components.input_datetime.*] +ignore_errors = true + +[mypy-homeassistant.components.input_number.*] +ignore_errors = true + +[mypy-homeassistant.components.insteon.*] +ignore_errors = true + +[mypy-homeassistant.components.ipp.*] +ignore_errors = true + +[mypy-homeassistant.components.isy994.*] +ignore_errors = true + +[mypy-homeassistant.components.izone.*] +ignore_errors = true + +[mypy-homeassistant.components.kaiterra.*] +ignore_errors = true + +[mypy-homeassistant.components.keenetic_ndms2.*] +ignore_errors = true + +[mypy-homeassistant.components.kodi.*] +ignore_errors = true + +[mypy-homeassistant.components.konnected.*] +ignore_errors = true + +[mypy-homeassistant.components.kostal_plenticore.*] +ignore_errors = true + +[mypy-homeassistant.components.kulersky.*] +ignore_errors = true + +[mypy-homeassistant.components.lifx.*] +ignore_errors = true + +[mypy-homeassistant.components.litejet.*] +ignore_errors = true + +[mypy-homeassistant.components.litterrobot.*] +ignore_errors = true + +[mypy-homeassistant.components.lovelace.*] +ignore_errors = true + +[mypy-homeassistant.components.luftdaten.*] +ignore_errors = true + +[mypy-homeassistant.components.lutron_caseta.*] +ignore_errors = true + +[mypy-homeassistant.components.lyric.*] +ignore_errors = true + +[mypy-homeassistant.components.marytts.*] +ignore_errors = true + +[mypy-homeassistant.components.media_source.*] +ignore_errors = true + +[mypy-homeassistant.components.melcloud.*] +ignore_errors = true + +[mypy-homeassistant.components.meteo_france.*] +ignore_errors = true + +[mypy-homeassistant.components.metoffice.*] +ignore_errors = true + +[mypy-homeassistant.components.minecraft_server.*] +ignore_errors = true + +[mypy-homeassistant.components.mobile_app.*] +ignore_errors = true + +[mypy-homeassistant.components.modbus.*] +ignore_errors = true + +[mypy-homeassistant.components.motion_blinds.*] +ignore_errors = true + +[mypy-homeassistant.components.motioneye.*] +ignore_errors = true + +[mypy-homeassistant.components.mqtt.*] +ignore_errors = true + +[mypy-homeassistant.components.mullvad.*] +ignore_errors = true + +[mypy-homeassistant.components.mysensors.*] +ignore_errors = true + +[mypy-homeassistant.components.n26.*] +ignore_errors = true + +[mypy-homeassistant.components.neato.*] +ignore_errors = true + +[mypy-homeassistant.components.ness_alarm.*] +ignore_errors = true + +[mypy-homeassistant.components.nest.*] +ignore_errors = true + +[mypy-homeassistant.components.netatmo.*] +ignore_errors = true + +[mypy-homeassistant.components.netio.*] +ignore_errors = true + +[mypy-homeassistant.components.nightscout.*] +ignore_errors = true + +[mypy-homeassistant.components.nilu.*] +ignore_errors = true + +[mypy-homeassistant.components.nmap_tracker.*] +ignore_errors = true + +[mypy-homeassistant.components.norway_air.*] +ignore_errors = true + +[mypy-homeassistant.components.notion.*] +ignore_errors = true + +[mypy-homeassistant.components.nsw_fuel_station.*] +ignore_errors = true + +[mypy-homeassistant.components.nuki.*] +ignore_errors = true + +[mypy-homeassistant.components.nws.*] +ignore_errors = true + +[mypy-homeassistant.components.nzbget.*] +ignore_errors = true + +[mypy-homeassistant.components.omnilogic.*] +ignore_errors = true + +[mypy-homeassistant.components.onboarding.*] +ignore_errors = true + +[mypy-homeassistant.components.ondilo_ico.*] +ignore_errors = true + +[mypy-homeassistant.components.onewire.*] +ignore_errors = true + +[mypy-homeassistant.components.onvif.*] +ignore_errors = true + +[mypy-homeassistant.components.ovo_energy.*] +ignore_errors = true + +[mypy-homeassistant.components.ozw.*] +ignore_errors = true + +[mypy-homeassistant.components.panasonic_viera.*] +ignore_errors = true + +[mypy-homeassistant.components.philips_js.*] +ignore_errors = true + +[mypy-homeassistant.components.pilight.*] +ignore_errors = true + +[mypy-homeassistant.components.ping.*] +ignore_errors = true + +[mypy-homeassistant.components.pioneer.*] +ignore_errors = true + +[mypy-homeassistant.components.plaato.*] +ignore_errors = true + +[mypy-homeassistant.components.plex.*] +ignore_errors = true + +[mypy-homeassistant.components.plugwise.*] +ignore_errors = true + +[mypy-homeassistant.components.plum_lightpad.*] +ignore_errors = true + +[mypy-homeassistant.components.point.*] +ignore_errors = true + +[mypy-homeassistant.components.profiler.*] +ignore_errors = true + +[mypy-homeassistant.components.proxmoxve.*] +ignore_errors = true + +[mypy-homeassistant.components.rachio.*] +ignore_errors = true + +[mypy-homeassistant.components.rainmachine.*] +ignore_errors = true + +[mypy-homeassistant.components.recollect_waste.*] +ignore_errors = true + +[mypy-homeassistant.components.recorder.*] +ignore_errors = true + +[mypy-homeassistant.components.reddit.*] +ignore_errors = true + +[mypy-homeassistant.components.ring.*] +ignore_errors = true + +[mypy-homeassistant.components.rituals_perfume_genie.*] +ignore_errors = true + +[mypy-homeassistant.components.roku.*] +ignore_errors = true + +[mypy-homeassistant.components.rpi_power.*] +ignore_errors = true + +[mypy-homeassistant.components.ruckus_unleashed.*] +ignore_errors = true + +[mypy-homeassistant.components.sabnzbd.*] +ignore_errors = true + +[mypy-homeassistant.components.screenlogic.*] +ignore_errors = true + +[mypy-homeassistant.components.script.*] +ignore_errors = true + +[mypy-homeassistant.components.search.*] +ignore_errors = true + +[mypy-homeassistant.components.sense.*] +ignore_errors = true + +[mypy-homeassistant.components.sentry.*] +ignore_errors = true + +[mypy-homeassistant.components.sesame.*] +ignore_errors = true + +[mypy-homeassistant.components.sharkiq.*] +ignore_errors = true + +[mypy-homeassistant.components.shelly.*] +ignore_errors = true + +[mypy-homeassistant.components.sma.*] +ignore_errors = true + +[mypy-homeassistant.components.smart_meter_texas.*] +ignore_errors = true + +[mypy-homeassistant.components.smartthings.*] +ignore_errors = true + +[mypy-homeassistant.components.smarttub.*] +ignore_errors = true + +[mypy-homeassistant.components.smarty.*] +ignore_errors = true + +[mypy-homeassistant.components.smhi.*] +ignore_errors = true + +[mypy-homeassistant.components.solaredge.*] +ignore_errors = true + +[mypy-homeassistant.components.solarlog.*] +ignore_errors = true + +[mypy-homeassistant.components.somfy.*] +ignore_errors = true + +[mypy-homeassistant.components.somfy_mylink.*] +ignore_errors = true + +[mypy-homeassistant.components.sonarr.*] +ignore_errors = true + +[mypy-homeassistant.components.songpal.*] +ignore_errors = true + +[mypy-homeassistant.components.sonos.*] +ignore_errors = true + +[mypy-homeassistant.components.spotify.*] +ignore_errors = true + +[mypy-homeassistant.components.stream.*] +ignore_errors = true + +[mypy-homeassistant.components.stt.*] +ignore_errors = true + +[mypy-homeassistant.components.surepetcare.*] +ignore_errors = true + +[mypy-homeassistant.components.switchbot.*] +ignore_errors = true + +[mypy-homeassistant.components.switcher_kis.*] +ignore_errors = true + +[mypy-homeassistant.components.synology_dsm.*] +ignore_errors = true + +[mypy-homeassistant.components.synology_srm.*] +ignore_errors = true + +[mypy-homeassistant.components.system_health.*] +ignore_errors = true + +[mypy-homeassistant.components.system_log.*] +ignore_errors = true + +[mypy-homeassistant.components.tado.*] +ignore_errors = true + +[mypy-homeassistant.components.tasmota.*] +ignore_errors = true + +[mypy-homeassistant.components.tcp.*] +ignore_errors = true + +[mypy-homeassistant.components.telegram_bot.*] +ignore_errors = true + +[mypy-homeassistant.components.template.*] +ignore_errors = true + +[mypy-homeassistant.components.tesla.*] +ignore_errors = true + +[mypy-homeassistant.components.timer.*] +ignore_errors = true + +[mypy-homeassistant.components.todoist.*] +ignore_errors = true + +[mypy-homeassistant.components.toon.*] +ignore_errors = true + +[mypy-homeassistant.components.tplink.*] +ignore_errors = true + +[mypy-homeassistant.components.trace.*] +ignore_errors = true + +[mypy-homeassistant.components.tradfri.*] +ignore_errors = true + +[mypy-homeassistant.components.tuya.*] +ignore_errors = true + +[mypy-homeassistant.components.twentemilieu.*] +ignore_errors = true + +[mypy-homeassistant.components.unifi.*] +ignore_errors = true + +[mypy-homeassistant.components.upcloud.*] +ignore_errors = true + +[mypy-homeassistant.components.updater.*] +ignore_errors = true + +[mypy-homeassistant.components.upnp.*] +ignore_errors = true + +[mypy-homeassistant.components.velbus.*] +ignore_errors = true + +[mypy-homeassistant.components.vera.*] +ignore_errors = true + +[mypy-homeassistant.components.verisure.*] +ignore_errors = true + +[mypy-homeassistant.components.vizio.*] +ignore_errors = true + +[mypy-homeassistant.components.volumio.*] +ignore_errors = true + +[mypy-homeassistant.components.webostv.*] +ignore_errors = true + +[mypy-homeassistant.components.wemo.*] +ignore_errors = true + +[mypy-homeassistant.components.wink.*] +ignore_errors = true + +[mypy-homeassistant.components.withings.*] +ignore_errors = true + +[mypy-homeassistant.components.wled.*] +ignore_errors = true + +[mypy-homeassistant.components.wunderground.*] +ignore_errors = true + +[mypy-homeassistant.components.xbox.*] +ignore_errors = true + +[mypy-homeassistant.components.xiaomi_aqara.*] +ignore_errors = true + +[mypy-homeassistant.components.xiaomi_miio.*] +ignore_errors = true + +[mypy-homeassistant.components.yamaha.*] +ignore_errors = true + +[mypy-homeassistant.components.yeelight.*] +ignore_errors = true + +[mypy-homeassistant.components.zerproc.*] +ignore_errors = true + +[mypy-homeassistant.components.zha.*] +ignore_errors = true + +[mypy-homeassistant.components.zwave.*] ignore_errors = true diff --git a/script/hassfest/mypy_config.py b/script/hassfest/mypy_config.py index 3f6f46ab894e..05763fb65179 100644 --- a/script/hassfest/mypy_config.py +++ b/script/hassfest/mypy_config.py @@ -350,10 +350,11 @@ def generate_and_validate(config: Config) -> str: for key in STRICT_SETTINGS: mypy_config.set(components_section, key, "false") - strict_section = "mypy-" + ",".join(strict_modules) - mypy_config.add_section(strict_section) - for key in STRICT_SETTINGS: - mypy_config.set(strict_section, key, "true") + for strict_module in strict_modules: + strict_section = f"mypy-{strict_module}" + mypy_config.add_section(strict_section) + for key in STRICT_SETTINGS: + mypy_config.set(strict_section, key, "true") # Disable strict checks for tests tests_section = "mypy-tests.*" @@ -361,9 +362,10 @@ def generate_and_validate(config: Config) -> str: for key in STRICT_SETTINGS: mypy_config.set(tests_section, key, "false") - ignored_section = "mypy-" + ",".join(IGNORED_MODULES) - mypy_config.add_section(ignored_section) - mypy_config.set(ignored_section, "ignore_errors", "true") + for ignored_module in IGNORED_MODULES: + ignored_section = f"mypy-{ignored_module}" + mypy_config.add_section(ignored_section) + mypy_config.set(ignored_section, "ignore_errors", "true") with io.StringIO() as fp: mypy_config.write(fp)