homeassistant-stubs 2024.4.3__py3-none-any.whl → 2024.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/auth/__init__.pyi +3 -1
- homeassistant-stubs/auth/jwt_wrapper.pyi +1 -1
- homeassistant-stubs/auth/permissions/__init__.pyi +1 -2
- homeassistant-stubs/auth/permissions/events.pyi +3 -2
- homeassistant-stubs/auth/session.pyi +46 -0
- homeassistant-stubs/backports/enum.pyi +6 -2
- homeassistant-stubs/backports/functools.pyi +5 -15
- homeassistant-stubs/block_async_io.pyi +8 -1
- homeassistant-stubs/bootstrap.pyi +7 -1
- homeassistant-stubs/components/accuweather/__init__.pyi +9 -13
- homeassistant-stubs/components/accuweather/config_flow.pyi +2 -10
- homeassistant-stubs/components/accuweather/const.pyi +2 -2
- homeassistant-stubs/components/accuweather/coordinator.pyi +27 -0
- homeassistant-stubs/components/accuweather/diagnostics.pyi +1 -1
- homeassistant-stubs/components/accuweather/sensor.pyi +29 -8
- homeassistant-stubs/components/accuweather/weather.pyi +9 -5
- homeassistant-stubs/components/adax/climate.pyi +3 -1
- homeassistant-stubs/components/adguard/__init__.pyi +9 -1
- homeassistant-stubs/components/adguard/const.pyi +0 -2
- homeassistant-stubs/components/adguard/entity.pyi +4 -3
- homeassistant-stubs/components/adguard/sensor.pyi +3 -3
- homeassistant-stubs/components/adguard/switch.pyi +3 -3
- homeassistant-stubs/components/airthings/sensor.pyi +2 -0
- homeassistant-stubs/components/airtouch5/config_flow.pyi +3 -3
- homeassistant-stubs/components/airzone_cloud/entity.pyi +7 -0
- homeassistant-stubs/components/airzone_cloud/select.pyi +38 -0
- homeassistant-stubs/components/airzone_cloud/water_heater.pyi +35 -0
- homeassistant-stubs/components/alert/__init__.pyi +2 -2
- homeassistant-stubs/components/alexa/config.pyi +2 -0
- homeassistant-stubs/components/alexa/entities.pyi +0 -2
- homeassistant-stubs/components/alexa/intent.pyi +2 -1
- homeassistant-stubs/components/alexa/resources.pyi +3 -3
- homeassistant-stubs/components/alexa/state_report.pyi +3 -4
- homeassistant-stubs/components/ambient_network/__init__.pyi +10 -0
- homeassistant-stubs/components/ambient_network/config_flow.pyi +22 -0
- homeassistant-stubs/components/ambient_network/const.pyi +12 -0
- homeassistant-stubs/components/ambient_network/coordinator.pyi +18 -0
- homeassistant-stubs/components/ambient_network/entity.pyi +20 -0
- homeassistant-stubs/components/ambient_network/helper.pyi +4 -0
- homeassistant-stubs/components/ambient_network/sensor.pyi +46 -0
- homeassistant-stubs/components/ambient_station/sensor.pyi +3 -1
- homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -2
- homeassistant-stubs/components/apcupsd/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +1 -0
- homeassistant-stubs/components/api/__init__.pyi +2 -2
- homeassistant-stubs/components/apple_tv/remote.pyi +1 -1
- homeassistant-stubs/components/arris_tg2492lg/device_tracker.pyi +5 -4
- homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -3
- homeassistant-stubs/components/auth/__init__.pyi +9 -2
- homeassistant-stubs/components/auth/login_flow.pyi +2 -2
- homeassistant-stubs/components/auth/mfa_setup_flow.pyi +1 -1
- homeassistant-stubs/components/automation/__init__.pyi +7 -9
- homeassistant-stubs/components/automation/logbook.pyi +3 -1
- homeassistant-stubs/components/axis/hub/event_source.pyi +23 -0
- homeassistant-stubs/components/axis/hub/hub.pyi +4 -9
- homeassistant-stubs/components/baf/fan.pyi +1 -0
- homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/bluetooth/config_flow.pyi +6 -0
- homeassistant-stubs/components/bluetooth/diagnostics.pyi +1 -1
- homeassistant-stubs/components/bluetooth/util.pyi +2 -1
- homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/bmw_connected_drive/const.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +4 -3
- homeassistant-stubs/components/camera/__init__.pyi +2 -2
- homeassistant-stubs/components/cloud/__init__.pyi +9 -4
- homeassistant-stubs/components/cloud/alexa_config.pyi +2 -2
- homeassistant-stubs/components/cloud/const.pyi +2 -1
- homeassistant-stubs/components/cloud/google_config.pyi +3 -3
- homeassistant-stubs/components/cloud/http_api.pyi +2 -2
- homeassistant-stubs/components/cloud/prefs.pyi +5 -3
- homeassistant-stubs/components/cloud/stt.pyi +1 -0
- homeassistant-stubs/components/cloud/tts.pyi +1 -0
- homeassistant-stubs/components/cloud/util.pyi +7 -0
- homeassistant-stubs/components/command_line/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/command_line/const.pyi +4 -1
- homeassistant-stubs/components/command_line/cover.pyi +3 -3
- homeassistant-stubs/components/command_line/sensor.pyi +4 -5
- homeassistant-stubs/components/command_line/switch.pyi +3 -3
- homeassistant-stubs/components/config/__init__.pyi +1 -1
- homeassistant-stubs/components/deconz/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/demo/notify.pyi +12 -10
- homeassistant-stubs/components/demo/sensor.pyi +1 -1
- homeassistant-stubs/components/derivative/sensor.pyi +2 -2
- homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
- homeassistant-stubs/components/device_tracker/legacy.pyi +2 -1
- homeassistant-stubs/components/dhcp/__init__.pyi +2 -2
- homeassistant-stubs/components/dlna_dms/dms.pyi +2 -1
- homeassistant-stubs/components/ecovacs/event.pyi +1 -0
- homeassistant-stubs/components/ecovacs/select.pyi +1 -1
- homeassistant-stubs/components/ecovacs/util.pyi +5 -1
- homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -0
- homeassistant-stubs/components/emulated_hue/config.pyi +2 -2
- homeassistant-stubs/components/emulated_hue/hue_api.pyi +2 -2
- homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +12 -0
- homeassistant-stubs/components/energenie_power_sockets/config_flow.pyi +6 -0
- homeassistant-stubs/components/energenie_power_sockets/const.pyi +5 -0
- homeassistant-stubs/components/energenie_power_sockets/switch.pyi +27 -0
- homeassistant-stubs/components/energy/data.pyi +1 -0
- homeassistant-stubs/components/energy/sensor.pyi +4 -4
- homeassistant-stubs/components/energy/websocket_api.pyi +1 -1
- homeassistant-stubs/components/enigma2/__init__.pyi +11 -0
- homeassistant-stubs/components/enigma2/config_flow.pyi +17 -0
- homeassistant-stubs/components/enigma2/const.pyi +1 -0
- homeassistant-stubs/components/enigma2/media_player.pyi +9 -6
- homeassistant-stubs/components/enphase_envoy/coordinator.pyi +1 -0
- homeassistant-stubs/components/eq3btsmart/__init__.pyi +18 -0
- homeassistant-stubs/components/eq3btsmart/climate.pyi +55 -0
- homeassistant-stubs/components/eq3btsmart/config_flow.pyi +17 -0
- homeassistant-stubs/components/eq3btsmart/const.pyi +38 -0
- homeassistant-stubs/components/eq3btsmart/entity.pyi +10 -0
- homeassistant-stubs/components/eq3btsmart/models.pyi +20 -0
- homeassistant-stubs/components/eq3btsmart/schemas.pyi +6 -0
- homeassistant-stubs/components/esphome/datetime.pyi +14 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +4 -5
- homeassistant-stubs/components/esphome/event.pyi +16 -0
- homeassistant-stubs/components/esphome/manager.pyi +5 -4
- homeassistant-stubs/components/esphome/update.pyi +0 -1
- homeassistant-stubs/components/esphome/valve.pyi +30 -0
- homeassistant-stubs/components/esphome/voice_assistant.pyi +24 -8
- homeassistant-stubs/components/filter/sensor.pyi +2 -2
- homeassistant-stubs/components/fritz/__init__.pyi +2 -2
- homeassistant-stubs/components/fritz/button.pyi +16 -3
- homeassistant-stubs/components/fritz/common.pyi +6 -3
- homeassistant-stubs/components/fritz/config_flow.pyi +7 -2
- homeassistant-stubs/components/fritz/const.pyi +5 -1
- homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
- homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -0
- homeassistant-stubs/components/fritzbox/coordinator.pyi +4 -2
- homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +4 -2
- homeassistant-stubs/components/generic_thermostat/climate.pyi +2 -2
- homeassistant-stubs/components/geo_location/trigger.pyi +2 -2
- homeassistant-stubs/components/glances/coordinator.pyi +1 -0
- homeassistant-stubs/components/glances/sensor.pyi +6 -5
- homeassistant-stubs/components/group/entity.pyi +6 -12
- homeassistant-stubs/components/group/event.pyi +2 -2
- homeassistant-stubs/components/group/media_player.pyi +2 -2
- homeassistant-stubs/components/group/notify.pyi +2 -1
- homeassistant-stubs/components/group/registry.pyi +6 -4
- homeassistant-stubs/components/history/websocket_api.pyi +6 -6
- homeassistant-stubs/components/history_stats/coordinator.pyi +2 -2
- homeassistant-stubs/components/history_stats/data.pyi +1 -2
- homeassistant-stubs/components/homeassistant/logbook.pyi +5 -3
- homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -2
- homeassistant-stubs/components/homeassistant/triggers/state.pyi +2 -2
- homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -2
- homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +3 -1
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +7 -9
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +61 -6
- homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +8 -0
- homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +23 -2
- homeassistant-stubs/components/homekit/accessories.pyi +2 -2
- homeassistant-stubs/components/homekit/type_cameras.pyi +3 -2
- homeassistant-stubs/components/homekit/type_covers.pyi +2 -2
- homeassistant-stubs/components/homekit/type_humidifiers.pyi +2 -2
- homeassistant-stubs/components/homekit/type_thermostats.pyi +2 -2
- homeassistant-stubs/components/homekit/util.pyi +3 -4
- homeassistant-stubs/components/homeworks/__init__.pyi +7 -2
- homeassistant-stubs/components/homeworks/button.pyi +1 -1
- homeassistant-stubs/components/http/__init__.pyi +9 -6
- homeassistant-stubs/components/http/auth.pyi +11 -3
- homeassistant-stubs/components/http/const.pyi +7 -0
- homeassistant-stubs/components/http/session.pyi +29 -0
- homeassistant-stubs/components/hydrawise/__init__.pyi +3 -6
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -4
- homeassistant-stubs/components/hydrawise/config_flow.pyi +8 -9
- homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
- homeassistant-stubs/components/hydrawise/switch.pyi +2 -5
- homeassistant-stubs/components/image/__init__.pyi +2 -2
- homeassistant-stubs/components/imap/__init__.pyi +20 -4
- homeassistant-stubs/components/imap/config_flow.pyi +2 -1
- homeassistant-stubs/components/imap/const.pyi +5 -2
- homeassistant-stubs/components/imap/coordinator.pyi +5 -2
- homeassistant-stubs/components/integration/sensor.pyi +12 -13
- homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -3
- homeassistant-stubs/components/islamic_prayer_times/coordinator.pyi +4 -4
- homeassistant-stubs/components/isy994/helpers.pyi +1 -1
- homeassistant-stubs/components/jvc_projector/select.pyi +30 -0
- homeassistant-stubs/components/knx/expose.pyi +2 -2
- homeassistant-stubs/components/knx/helpers/__init__.pyi +0 -0
- homeassistant-stubs/components/knx/notify.pyi +16 -3
- homeassistant-stubs/components/knx/repairs.pyi +7 -0
- homeassistant-stubs/components/local_todo/todo.pyi +1 -0
- homeassistant-stubs/components/logbook/__init__.pyi +1 -0
- homeassistant-stubs/components/logbook/helpers.pyi +5 -4
- homeassistant-stubs/components/logbook/models.pyi +4 -3
- homeassistant-stubs/components/logbook/processor.pyi +3 -2
- homeassistant-stubs/components/logger/helpers.pyi +4 -1
- homeassistant-stubs/components/matter/config_flow.pyi +4 -0
- homeassistant-stubs/components/matter/light.pyi +3 -0
- homeassistant-stubs/components/media_extractor/__init__.pyi +4 -4
- homeassistant-stubs/components/media_extractor/const.pyi +5 -0
- homeassistant-stubs/components/min_max/sensor.pyi +2 -2
- homeassistant-stubs/components/minecraft_server/sensor.pyi +2 -2
- homeassistant-stubs/components/modbus/__init__.pyi +2 -2
- homeassistant-stubs/components/modbus/base_platform.pyi +1 -1
- homeassistant-stubs/components/modbus/climate.pyi +9 -3
- homeassistant-stubs/components/modbus/const.pyi +7 -0
- homeassistant-stubs/components/modbus/modbus.pyi +1 -0
- homeassistant-stubs/components/modbus/validators.pyi +2 -1
- homeassistant-stubs/components/mqtt/__init__.pyi +1 -2
- homeassistant-stubs/components/mqtt/client.pyi +37 -12
- homeassistant-stubs/components/mqtt/config_flow.pyi +9 -1
- homeassistant-stubs/components/mqtt/mixins.pyi +7 -4
- homeassistant-stubs/components/mqtt/models.pyi +1 -1
- homeassistant-stubs/components/mqtt/notify.pyi +31 -0
- homeassistant-stubs/components/mysensors/gateway.pyi +1 -0
- homeassistant-stubs/components/netatmo/__init__.pyi +2 -0
- homeassistant-stubs/components/netatmo/binary_sensor.pyi +20 -0
- homeassistant-stubs/components/netatmo/camera.pyi +8 -11
- homeassistant-stubs/components/netatmo/climate.pyi +11 -19
- homeassistant-stubs/components/netatmo/cover.pyi +5 -7
- homeassistant-stubs/components/netatmo/entity.pyi +40 -10
- homeassistant-stubs/components/netatmo/fan.pyi +5 -8
- homeassistant-stubs/components/netatmo/light.pyi +11 -19
- homeassistant-stubs/components/netatmo/select.pyi +4 -7
- homeassistant-stubs/components/netatmo/sensor.pyi +36 -49
- homeassistant-stubs/components/netatmo/switch.pyi +5 -7
- homeassistant-stubs/components/nextdns/__init__.pyi +1 -38
- homeassistant-stubs/components/nextdns/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/nextdns/button.pyi +1 -1
- homeassistant-stubs/components/nextdns/coordinator.pyi +42 -0
- homeassistant-stubs/components/nextdns/sensor.pyi +1 -1
- homeassistant-stubs/components/nextdns/switch.pyi +1 -1
- homeassistant-stubs/components/nfandroidtv/notify.pyi +2 -1
- homeassistant-stubs/components/notify/__init__.pyi +31 -2
- homeassistant-stubs/components/notify/const.pyi +2 -0
- homeassistant-stubs/components/number/const.pyi +1 -0
- homeassistant-stubs/components/number/significant_change.pyi +1 -1
- homeassistant-stubs/components/oncue/__init__.pyi +2 -1
- homeassistant-stubs/components/oncue/config_flow.pyi +7 -1
- homeassistant-stubs/components/onewire/model.pyi +1 -1
- homeassistant-stubs/components/onewire/onewirehub.pyi +2 -2
- homeassistant-stubs/components/open_meteo/weather.pyi +2 -1
- homeassistant-stubs/components/prometheus/__init__.pyi +1 -2
- homeassistant-stubs/components/proximity/__init__.pyi +1 -1
- homeassistant-stubs/components/proximity/coordinator.pyi +2 -2
- homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
- homeassistant-stubs/components/rabbitair/config_flow.pyi +4 -4
- homeassistant-stubs/components/recorder/__init__.pyi +1 -0
- homeassistant-stubs/components/recorder/auto_repairs/states/__init__.pyi +0 -0
- homeassistant-stubs/components/recorder/core.pyi +6 -5
- homeassistant-stubs/components/recorder/db_schema.pyi +3 -3
- homeassistant-stubs/components/recorder/history/__init__.pyi +5 -6
- homeassistant-stubs/components/recorder/history/legacy.pyi +7 -7
- homeassistant-stubs/components/recorder/history/modern.pyi +7 -7
- homeassistant-stubs/components/recorder/models/event.pyi +4 -1
- homeassistant-stubs/components/recorder/pool.pyi +1 -1
- homeassistant-stubs/components/recorder/services.pyi +1 -0
- homeassistant-stubs/components/recorder/statistics.pyi +4 -4
- homeassistant-stubs/components/recorder/table_managers/__init__.pyi +4 -3
- homeassistant-stubs/components/recorder/table_managers/event_types.pyi +5 -3
- homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +3 -3
- homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +2 -2
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +3 -3
- homeassistant-stubs/components/recorder/tasks.pyi +2 -1
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/rest/__init__.pyi +2 -2
- homeassistant-stubs/components/rest/const.pyi +1 -0
- homeassistant-stubs/components/rest/data.pyi +1 -0
- homeassistant-stubs/components/rest/schema.pyi +1 -1
- homeassistant-stubs/components/rfxtrx/__init__.pyi +1 -1
- homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -2
- homeassistant-stubs/components/rfxtrx/event.pyi +1 -0
- homeassistant-stubs/components/ring/__init__.pyi +25 -0
- homeassistant-stubs/components/ring/binary_sensor.pyi +35 -0
- homeassistant-stubs/components/ring/button.pyi +20 -0
- homeassistant-stubs/components/ring/camera.pyi +43 -0
- homeassistant-stubs/components/ring/config_flow.pyi +26 -0
- homeassistant-stubs/components/ring/const.pyi +12 -0
- homeassistant-stubs/components/ring/coordinator.pyi +25 -0
- homeassistant-stubs/components/ring/diagnostics.pyi +11 -0
- homeassistant-stubs/components/ring/entity.pyi +33 -0
- homeassistant-stubs/components/ring/light.pyi +34 -0
- homeassistant-stubs/components/ring/sensor.pyi +39 -0
- homeassistant-stubs/components/ring/siren.pyi +23 -0
- homeassistant-stubs/components/ring/switch.pyi +31 -0
- homeassistant-stubs/components/romy/binary_sensor.pyi +19 -0
- homeassistant-stubs/components/romy/config_flow.pyi +7 -7
- homeassistant-stubs/components/romy/sensor.pyi +20 -0
- homeassistant-stubs/components/sensor/__init__.pyi +1 -1
- homeassistant-stubs/components/sensor/significant_change.pyi +1 -1
- homeassistant-stubs/components/shelly/__init__.pyi +2 -4
- homeassistant-stubs/components/shelly/coordinator.pyi +8 -7
- homeassistant-stubs/components/shelly/switch.pyi +1 -1
- homeassistant-stubs/components/shelly/utils.pyi +1 -0
- homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
- homeassistant-stubs/components/statistics/sensor.pyi +2 -2
- homeassistant-stubs/components/switch/light.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/__init__.pyi +2 -2
- homeassistant-stubs/components/synology_dsm/camera.pyi +3 -2
- homeassistant-stubs/components/synology_dsm/common.pyi +6 -2
- homeassistant-stubs/components/synology_dsm/coordinator.pyi +4 -4
- homeassistant-stubs/components/synology_dsm/diagnostics.pyi +0 -1
- homeassistant-stubs/components/system_log/__init__.pyi +3 -3
- homeassistant-stubs/components/threshold/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tibber/sensor.pyi +1 -0
- homeassistant-stubs/components/tplink/coordinator.pyi +2 -0
- homeassistant-stubs/components/tplink/entity.pyi +1 -0
- homeassistant-stubs/components/tplink/light.pyi +1 -1
- homeassistant-stubs/components/tplink/sensor.pyi +4 -3
- homeassistant-stubs/components/tplink_omada/switch.pyi +12 -14
- homeassistant-stubs/components/trend/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/unifi/__init__.pyi +2 -0
- homeassistant-stubs/components/unifi/button.pyi +2 -1
- homeassistant-stubs/components/unifi/hub/entity_helper.pyi +44 -0
- homeassistant-stubs/components/unifi/hub/hub.pyi +8 -13
- homeassistant-stubs/components/unifi/sensor.pyi +2 -1
- homeassistant-stubs/components/velbus/cover.pyi +2 -0
- homeassistant-stubs/components/weather/significant_change.pyi +1 -1
- homeassistant-stubs/components/websocket_api/commands.pyi +2 -2
- homeassistant-stubs/components/websocket_api/messages.pyi +1 -2
- homeassistant-stubs/components/websocket_api/sensor.pyi +3 -7
- homeassistant-stubs/components/withings/__init__.pyi +2 -8
- homeassistant-stubs/components/withings/config_flow.pyi +1 -1
- homeassistant-stubs/components/withings/const.pyi +0 -2
- homeassistant-stubs/components/withings/coordinator.pyi +1 -0
- homeassistant-stubs/components/zone/__init__.pyi +8 -10
- homeassistant-stubs/components/zone/trigger.pyi +2 -2
- homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -1
- homeassistant-stubs/config.pyi +1 -1
- homeassistant-stubs/config_entries.pyi +32 -29
- homeassistant-stubs/const.pyi +11 -6
- homeassistant-stubs/core.pyi +57 -24
- homeassistant-stubs/data_entry_flow.pyi +3 -3
- homeassistant-stubs/exceptions.pyi +4 -2
- homeassistant-stubs/helpers/aiohttp_client.pyi +1 -0
- homeassistant-stubs/helpers/area_registry.pyi +28 -6
- homeassistant-stubs/helpers/backports/__init__.pyi +0 -0
- homeassistant-stubs/helpers/backports/aiohttp_resolver.pyi +21 -0
- homeassistant-stubs/helpers/category_registry.pyi +16 -6
- homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
- homeassistant-stubs/helpers/deprecation.pyi +5 -0
- homeassistant-stubs/helpers/device_registry.pyi +25 -12
- homeassistant-stubs/helpers/dispatcher.pyi +1 -1
- homeassistant-stubs/helpers/entity.pyi +6 -3
- homeassistant-stubs/helpers/entity_registry.pyi +24 -16
- homeassistant-stubs/helpers/event.pyi +10 -17
- homeassistant-stubs/helpers/floor_registry.pyi +14 -3
- homeassistant-stubs/helpers/frame.pyi +2 -2
- homeassistant-stubs/helpers/httpx_client.pyi +1 -1
- homeassistant-stubs/helpers/icon.pyi +3 -2
- homeassistant-stubs/helpers/intent.pyi +1 -2
- homeassistant-stubs/helpers/label_registry.pyi +14 -3
- homeassistant-stubs/helpers/network.pyi +2 -2
- homeassistant-stubs/helpers/normalized_name_base_registry.pyi +4 -6
- homeassistant-stubs/helpers/registry.pyi +19 -4
- homeassistant-stubs/helpers/reload.pyi +1 -1
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -2
- homeassistant-stubs/helpers/script.pyi +2 -1
- homeassistant-stubs/helpers/service.pyi +4 -1
- homeassistant-stubs/helpers/significant_change.pyi +4 -4
- homeassistant-stubs/helpers/start.pyi +3 -1
- homeassistant-stubs/helpers/template.pyi +6 -3
- homeassistant-stubs/helpers/translation.pyi +5 -9
- homeassistant-stubs/helpers/typing.pyi +11 -7
- homeassistant-stubs/helpers/update_coordinator.pyi +2 -1
- homeassistant-stubs/requirements.pyi +2 -0
- homeassistant-stubs/setup.pyi +1 -0
- homeassistant-stubs/util/async_.pyi +1 -6
- homeassistant-stubs/util/dt.pyi +5 -4
- homeassistant-stubs/util/event_type.pyi +14 -0
- homeassistant-stubs/util/logging.pyi +3 -4
- homeassistant-stubs/util/loop.pyi +15 -0
- homeassistant-stubs/util/signal_type.pyi +1 -1
- homeassistant-stubs/util/timeout.pyi +6 -6
- homeassistant-stubs/util/yaml/loader.pyi +3 -4
- homeassistant-stubs/util/yaml/objects.pyi +12 -2
- {homeassistant_stubs-2024.4.3.dist-info → homeassistant_stubs-2024.5.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.4.3.dist-info → homeassistant_stubs-2024.5.0.dist-info}/RECORD +374 -317
- {homeassistant_stubs-2024.4.3.dist-info → homeassistant_stubs-2024.5.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.4.3.dist-info → homeassistant_stubs-2024.5.0.dist-info}/WHEEL +0 -0
@@ -1,6 +1,27 @@
|
|
1
|
-
from .const import HardwareVariant as HardwareVariant
|
1
|
+
from .const import HardwareVariant as HardwareVariant, OTBR_ADDON_MANAGER_DATA as OTBR_ADDON_MANAGER_DATA, OTBR_ADDON_NAME as OTBR_ADDON_NAME, OTBR_ADDON_SLUG as OTBR_ADDON_SLUG, ZHA_DOMAIN as ZHA_DOMAIN, ZIGBEE_FLASHER_ADDON_MANAGER_DATA as ZIGBEE_FLASHER_ADDON_MANAGER_DATA, ZIGBEE_FLASHER_ADDON_NAME as ZIGBEE_FLASHER_ADDON_NAME, ZIGBEE_FLASHER_ADDON_SLUG as ZIGBEE_FLASHER_ADDON_SLUG
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from dataclasses import dataclass
|
2
4
|
from homeassistant.components import usb as usb
|
3
|
-
from homeassistant.
|
5
|
+
from homeassistant.components.hassio import AddonError as AddonError, AddonState as AddonState, is_hassio as is_hassio
|
6
|
+
from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import WaitingAddonManager as WaitingAddonManager, get_multiprotocol_addon_manager as get_multiprotocol_addon_manager
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
|
+
from homeassistant.helpers.singleton import singleton as singleton
|
10
|
+
from universal_silabs_flasher.const import ApplicationType
|
11
|
+
|
12
|
+
_LOGGER: Incomplete
|
4
13
|
|
5
14
|
def get_usb_service_info(config_entry: ConfigEntry) -> usb.UsbServiceInfo: ...
|
6
15
|
def get_hardware_variant(config_entry: ConfigEntry) -> HardwareVariant: ...
|
16
|
+
def get_zha_device_path(config_entry: ConfigEntry) -> str: ...
|
17
|
+
def get_otbr_addon_manager(hass: HomeAssistant) -> WaitingAddonManager: ...
|
18
|
+
def get_zigbee_flasher_addon_manager(hass: HomeAssistant) -> WaitingAddonManager: ...
|
19
|
+
|
20
|
+
@dataclass(slots=True, kw_only=True)
|
21
|
+
class FirmwareGuess:
|
22
|
+
is_running: bool
|
23
|
+
firmware_type: ApplicationType
|
24
|
+
source: str
|
25
|
+
def __init__(self, *, is_running, firmware_type, source) -> None: ...
|
26
|
+
|
27
|
+
async def guess_firmware_type(hass: HomeAssistant, device_path: str) -> FirmwareGuess: ...
|
@@ -8,9 +8,9 @@ from homeassistant.components.remote import RemoteEntityFeature as RemoteEntityF
|
|
8
8
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
|
9
9
|
from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass
|
10
10
|
from homeassistant.const import ATTR_BATTERY_CHARGING as ATTR_BATTERY_CHARGING, ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_SERVICE as ATTR_SERVICE, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, ATTR_SW_VERSION as ATTR_SW_VERSION, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_TYPE as CONF_TYPE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature, __version__ as __version__
|
11
|
-
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, Event as Event, HomeAssistant as HomeAssistant, State as State, split_entity_id as split_entity_id
|
11
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, Event as Event, EventStateChangedData as EventStateChangedData, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, split_entity_id as split_entity_id
|
12
12
|
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
13
|
-
from homeassistant.helpers.event import
|
13
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
14
14
|
from homeassistant.util.decorator import Registry as Registry
|
15
15
|
from pyhap.accessory import Accessory, Bridge
|
16
16
|
from pyhap.accessory_driver import AccessoryDriver
|
@@ -6,8 +6,9 @@ from _typeshed import Incomplete
|
|
6
6
|
from homeassistant.components import camera as camera
|
7
7
|
from homeassistant.components.ffmpeg import get_ffmpeg_manager as get_ffmpeg_manager
|
8
8
|
from homeassistant.const import STATE_ON as STATE_ON
|
9
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback
|
10
|
-
from homeassistant.helpers.event import
|
9
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, callback as callback
|
10
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event, async_track_time_interval as async_track_time_interval
|
11
|
+
from homeassistant.util.async_ import create_eager_task as create_eager_task
|
11
12
|
from pyhap.camera import Camera as PyhapCamera
|
12
13
|
from typing import Any
|
13
14
|
|
@@ -3,8 +3,8 @@ from .const import ATTR_OBSTRUCTION_DETECTED as ATTR_OBSTRUCTION_DETECTED, CHAR_
|
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.cover import ATTR_CURRENT_POSITION as ATTR_CURRENT_POSITION, ATTR_CURRENT_TILT_POSITION as ATTR_CURRENT_TILT_POSITION, ATTR_POSITION as ATTR_POSITION, ATTR_TILT_POSITION as ATTR_TILT_POSITION, CoverEntityFeature as CoverEntityFeature, DOMAIN as DOMAIN
|
5
5
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER, SERVICE_SET_COVER_POSITION as SERVICE_SET_COVER_POSITION, SERVICE_SET_COVER_TILT_POSITION as SERVICE_SET_COVER_TILT_POSITION, SERVICE_STOP_COVER as SERVICE_STOP_COVER, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_ON as STATE_ON, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
|
6
|
-
from homeassistant.core import Event as Event, State as State, callback as callback
|
7
|
-
from homeassistant.helpers.event import
|
6
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HassJobType as HassJobType, State as State, callback as callback
|
7
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
8
8
|
from pyhap.service import Service as Service
|
9
9
|
from typing import Any
|
10
10
|
|
@@ -3,8 +3,8 @@ from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_CURRENT_HUMIDIFIER_DEHUMIDIF
|
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.humidifier import ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, DEFAULT_MAX_HUMIDITY as DEFAULT_MAX_HUMIDITY, DEFAULT_MIN_HUMIDITY as DEFAULT_MIN_HUMIDITY, DOMAIN as DOMAIN, HumidifierDeviceClass as HumidifierDeviceClass, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY
|
5
5
|
from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_ID as ATTR_ENTITY_ID, PERCENTAGE as PERCENTAGE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON
|
6
|
-
from homeassistant.core import Event as Event, State as State, callback as callback
|
7
|
-
from homeassistant.helpers.event import
|
6
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HassJobType as HassJobType, State as State, callback as callback
|
7
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
8
8
|
from typing import Any
|
9
9
|
|
10
10
|
_LOGGER: Incomplete
|
@@ -64,8 +64,8 @@ class Thermostat(HomeAccessory):
|
|
64
64
|
def _get_on_mode(self) -> str: ...
|
65
65
|
def _set_fan_active(self, active: int) -> None: ...
|
66
66
|
def _set_fan_auto(self, auto: int) -> None: ...
|
67
|
-
def _temperature_to_homekit(self, temp: float
|
68
|
-
def _temperature_to_states(self, temp: float
|
67
|
+
def _temperature_to_homekit(self, temp: float) -> float: ...
|
68
|
+
def _temperature_to_states(self, temp: float) -> float: ...
|
69
69
|
def _set_chars(self, char_values: dict[str, Any]) -> None: ...
|
70
70
|
hc_homekit_to_hass: Incomplete
|
71
71
|
hc_hass_to_homekit: Incomplete
|
@@ -6,8 +6,7 @@ from homeassistant.components import binary_sensor as binary_sensor, media_playe
|
|
6
6
|
from homeassistant.components.media_player import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature
|
7
7
|
from homeassistant.components.remote import RemoteEntityFeature as RemoteEntityFeature
|
8
8
|
from homeassistant.const import ATTR_CODE as ATTR_CODE, ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE, UnitOfTemperature as UnitOfTemperature
|
9
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
|
10
|
-
from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData
|
9
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
|
11
10
|
from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
|
12
11
|
from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
|
13
12
|
from pyhap.accessory import Accessory as Accessory
|
@@ -38,8 +37,8 @@ def async_dismiss_setup_message(hass: HomeAssistant, entry_id: str) -> None: ...
|
|
38
37
|
def convert_to_float(state: Any) -> float | None: ...
|
39
38
|
def coerce_int(state: str) -> int: ...
|
40
39
|
def cleanup_name_for_homekit(name: str | None) -> str: ...
|
41
|
-
def temperature_to_homekit(temperature: float
|
42
|
-
def temperature_to_states(temperature: float
|
40
|
+
def temperature_to_homekit(temperature: float, unit: str) -> float: ...
|
41
|
+
def temperature_to_states(temperature: float, unit: str) -> float: ...
|
43
42
|
def density_to_air_quality(density: float) -> int: ...
|
44
43
|
def density_to_air_quality_pm10(density: float) -> int: ...
|
45
44
|
def density_to_air_quality_nitrogen_dioxide(density: float) -> int: ...
|
@@ -1,10 +1,11 @@
|
|
1
1
|
from .const import CONF_ADDR as CONF_ADDR, CONF_CONTROLLER_ID as CONF_CONTROLLER_ID, CONF_DIMMERS as CONF_DIMMERS, CONF_KEYPADS as CONF_KEYPADS, CONF_RATE as CONF_RATE, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
|
+
from collections.abc import Mapping
|
3
4
|
from dataclasses import dataclass
|
4
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
|
5
6
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_ID as CONF_ID, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
6
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
7
|
-
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
7
|
+
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
8
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, ServiceValidationError as ServiceValidationError
|
8
9
|
from homeassistant.helpers.debounce import Debouncer as Debouncer
|
9
10
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, dispatcher_send as dispatcher_send
|
10
11
|
from homeassistant.helpers.entity import Entity as Entity
|
@@ -15,6 +16,7 @@ from typing import Any
|
|
15
16
|
|
16
17
|
_LOGGER: Incomplete
|
17
18
|
PLATFORMS: list[Platform]
|
19
|
+
CONF_COMMAND: str
|
18
20
|
EVENT_BUTTON_PRESS: str
|
19
21
|
EVENT_BUTTON_RELEASE: str
|
20
22
|
DEFAULT_FADE_RATE: float
|
@@ -23,6 +25,7 @@ CV_FADE_RATE: Incomplete
|
|
23
25
|
DIMMER_SCHEMA: Incomplete
|
24
26
|
KEYPAD_SCHEMA: Incomplete
|
25
27
|
CONFIG_SCHEMA: Incomplete
|
28
|
+
SERVICE_SEND_COMMAND_SCHEMA: Incomplete
|
26
29
|
|
27
30
|
@dataclass
|
28
31
|
class HomeworksData:
|
@@ -31,6 +34,8 @@ class HomeworksData:
|
|
31
34
|
keypads: dict[str, HomeworksKeypad]
|
32
35
|
def __init__(self, controller, controller_id, keypads) -> None: ...
|
33
36
|
|
37
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
38
|
+
async def async_send_command(hass: HomeAssistant, data: Mapping[str, Any]) -> None: ...
|
34
39
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
35
40
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
36
41
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -15,4 +15,4 @@ class HomeworksButton(HomeworksEntity, ButtonEntity):
|
|
15
15
|
_attr_device_info: Incomplete
|
16
16
|
_release_delay: Incomplete
|
17
17
|
def __init__(self, controller: Homeworks, controller_id: str, addr: str, keypad_name: str, button_name: str, button_number: int, release_delay: float) -> None: ...
|
18
|
-
def
|
18
|
+
async def async_press(self) -> None: ...
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import asyncio
|
2
2
|
import ssl
|
3
|
-
from .auth import async_setup_auth as async_setup_auth
|
3
|
+
from .auth import async_setup_auth as async_setup_auth, async_sign_path as async_sign_path
|
4
4
|
from .ban import setup_bans as setup_bans
|
5
|
-
from .const import KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID, KEY_HASS_USER as KEY_HASS_USER
|
5
|
+
from .const import DOMAIN as DOMAIN, KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID, KEY_HASS_USER as KEY_HASS_USER, StrictConnectionMode as StrictConnectionMode
|
6
6
|
from .cors import setup_cors as setup_cors
|
7
7
|
from .decorators import require_admin as require_admin
|
8
8
|
from .forwarded import async_setup_forwarded as async_setup_forwarded
|
@@ -21,8 +21,8 @@ from aiohttp.web_exceptions import HTTPRedirection as HTTPRedirection
|
|
21
21
|
from aiohttp.web_protocol import RequestHandler as RequestHandler
|
22
22
|
from homeassistant.components.network import async_get_source_ip as async_get_source_ip
|
23
23
|
from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, SERVER_PORT as SERVER_PORT
|
24
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
|
25
|
-
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
24
|
+
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, callback as callback
|
25
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError, Unauthorized as Unauthorized, UnknownUser as UnknownUser
|
26
26
|
from homeassistant.helpers import storage as storage
|
27
27
|
from homeassistant.helpers.http import HomeAssistantView as HomeAssistantView, KEY_ALLOW_CONFIGRED_CORS as KEY_ALLOW_CONFIGRED_CORS, KEY_AUTHENTICATED as KEY_AUTHENTICATED, KEY_HASS as KEY_HASS, current_request as current_request
|
28
28
|
from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
|
@@ -34,7 +34,6 @@ from homeassistant.util.json import json_loads as json_loads
|
|
34
34
|
from ipaddress import IPv4Network, IPv6Network
|
35
35
|
from typing import Any, Final, TypedDict
|
36
36
|
|
37
|
-
DOMAIN: Final[str]
|
38
37
|
CONF_SERVER_HOST: Final[str]
|
39
38
|
CONF_SERVER_PORT: Final[str]
|
40
39
|
CONF_BASE_URL: Final[str]
|
@@ -48,6 +47,7 @@ CONF_TRUSTED_PROXIES: Final[str]
|
|
48
47
|
CONF_LOGIN_ATTEMPTS_THRESHOLD: Final[str]
|
49
48
|
CONF_IP_BAN_ENABLED: Final[str]
|
50
49
|
CONF_SSL_PROFILE: Final[str]
|
50
|
+
CONF_STRICT_CONNECTION: Final[str]
|
51
51
|
SSL_MODERN: Final[str]
|
52
52
|
SSL_INTERMEDIATE: Final[str]
|
53
53
|
_LOGGER: Final[Incomplete]
|
@@ -59,6 +59,8 @@ MAX_LINE_SIZE: Final[int]
|
|
59
59
|
STORAGE_KEY: Final[Incomplete]
|
60
60
|
STORAGE_VERSION: Final[int]
|
61
61
|
SAVE_DELAY: Final[int]
|
62
|
+
_HAS_IPV6: Incomplete
|
63
|
+
_DEFAULT_BIND: Incomplete
|
62
64
|
HTTP_SCHEMA: Final[Incomplete]
|
63
65
|
CONFIG_SCHEMA: Final[Incomplete]
|
64
66
|
|
@@ -108,7 +110,7 @@ class HomeAssistantHTTP:
|
|
108
110
|
site: Incomplete
|
109
111
|
context: Incomplete
|
110
112
|
def __init__(self, hass: HomeAssistant, ssl_certificate: str | None, ssl_peer_certificate: str | None, ssl_key: str | None, server_host: list[str] | None, server_port: int, trusted_proxies: list[IPv4Network | IPv6Network], ssl_profile: str) -> None: ...
|
111
|
-
async def async_initialize(self, *, cors_origins: list[str], use_x_forwarded_for: bool, login_threshold: int, is_ban_enabled: bool, use_x_frame_options: bool) -> None: ...
|
113
|
+
async def async_initialize(self, *, cors_origins: list[str], use_x_forwarded_for: bool, login_threshold: int, is_ban_enabled: bool, use_x_frame_options: bool, strict_connection_non_cloud: StrictConnectionMode) -> None: ...
|
112
114
|
def register_view(self, view: HomeAssistantView | type[HomeAssistantView]) -> None: ...
|
113
115
|
def register_redirect(self, url: str, redirect_to: StrOrURL, *, redirect_exc: type[HTTPRedirection] = ...) -> None: ...
|
114
116
|
def register_static_path(self, url_path: str, path: str, cache_headers: bool = True) -> None: ...
|
@@ -118,3 +120,4 @@ class HomeAssistantHTTP:
|
|
118
120
|
async def stop(self) -> None: ...
|
119
121
|
|
120
122
|
async def start_http_server_and_save_config(hass: HomeAssistant, conf: dict, server: HomeAssistantHTTP) -> None: ...
|
123
|
+
def _setup_services(hass: HomeAssistant, conf: ConfData) -> None: ...
|
@@ -1,4 +1,5 @@
|
|
1
|
-
from .const import KEY_AUTHENTICATED as KEY_AUTHENTICATED, KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID, KEY_HASS_USER as KEY_HASS_USER
|
1
|
+
from .const import DOMAIN as DOMAIN, KEY_AUTHENTICATED as KEY_AUTHENTICATED, KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID, KEY_HASS_USER as KEY_HASS_USER, StrictConnectionMode as StrictConnectionMode
|
2
|
+
from .session import HomeAssistantCookieStorage as HomeAssistantCookieStorage
|
2
3
|
from _typeshed import Incomplete
|
3
4
|
from aiohttp.web import Application as Application, Request as Request, StreamResponse as StreamResponse
|
4
5
|
from collections.abc import Callable as Callable
|
@@ -8,6 +9,7 @@ from homeassistant.auth.const import GROUP_ID_READ_ONLY as GROUP_ID_READ_ONLY
|
|
8
9
|
from homeassistant.auth.models import User as User
|
9
10
|
from homeassistant.components import websocket_api as websocket_api
|
10
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
12
|
+
from homeassistant.helpers import singleton as singleton
|
11
13
|
from homeassistant.helpers.http import current_request as current_request
|
12
14
|
from homeassistant.helpers.json import json_bytes as json_bytes
|
13
15
|
from homeassistant.helpers.network import is_cloud_connection as is_cloud_connection
|
@@ -23,7 +25,13 @@ SAFE_QUERY_PARAMS: Final[Incomplete]
|
|
23
25
|
STORAGE_VERSION: int
|
24
26
|
STORAGE_KEY: str
|
25
27
|
CONTENT_USER_NAME: str
|
28
|
+
STRICT_CONNECTION_EXCLUDED_PATH: str
|
29
|
+
STRICT_CONNECTION_GUARD_PAGE_NAME: str
|
30
|
+
STRICT_CONNECTION_GUARD_PAGE: Incomplete
|
26
31
|
|
27
|
-
def async_sign_path(hass: HomeAssistant, path: str, expiration: timedelta, *, refresh_token_id: str | None = None) -> str: ...
|
32
|
+
def async_sign_path(hass: HomeAssistant, path: str, expiration: timedelta, *, refresh_token_id: str | None = None, use_content_user: bool = False) -> str: ...
|
28
33
|
def async_user_not_allowed_do_auth(hass: HomeAssistant, user: User, request: Request | None = None) -> str | None: ...
|
29
|
-
async def async_setup_auth(hass: HomeAssistant, app: Application) -> None: ...
|
34
|
+
async def async_setup_auth(hass: HomeAssistant, app: Application, strict_connection_mode_non_cloud: StrictConnectionMode) -> None: ...
|
35
|
+
async def _async_perform_strict_connection_action_on_non_local(hass: HomeAssistant, request: Request, guard_page: bool) -> StreamResponse | None: ...
|
36
|
+
async def _async_perform_strict_connection_action(hass: HomeAssistant, request: Request, guard_page: bool) -> StreamResponse | None: ...
|
37
|
+
async def _read_strict_connection_guard_page(hass: HomeAssistant) -> str: ...
|
@@ -1,5 +1,12 @@
|
|
1
|
+
from enum import StrEnum
|
1
2
|
from homeassistant.helpers.http import KEY_AUTHENTICATED as KEY_AUTHENTICATED, KEY_HASS as KEY_HASS
|
2
3
|
from typing import Final
|
3
4
|
|
5
|
+
DOMAIN: Final[str]
|
4
6
|
KEY_HASS_USER: Final[str]
|
5
7
|
KEY_HASS_REFRESH_TOKEN_ID: Final[str]
|
8
|
+
|
9
|
+
class StrictConnectionMode(StrEnum):
|
10
|
+
DISABLED: str
|
11
|
+
GUARD_PAGE: str
|
12
|
+
DROP_CONNECTION: str
|
@@ -0,0 +1,29 @@
|
|
1
|
+
from .ban import process_wrong_login as process_wrong_login
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from aiohttp.web import Request as Request, StreamResponse as StreamResponse
|
4
|
+
from aiohttp_session import Session
|
5
|
+
from aiohttp_session.cookie_storage import EncryptedCookieStorage
|
6
|
+
from homeassistant.auth.const import REFRESH_TOKEN_EXPIRATION as REFRESH_TOKEN_EXPIRATION
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.helpers.json import json_dumps as json_dumps
|
9
|
+
from homeassistant.helpers.network import is_cloud_connection as is_cloud_connection
|
10
|
+
from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads
|
11
|
+
|
12
|
+
_LOGGER: Incomplete
|
13
|
+
COOKIE_NAME: str
|
14
|
+
PREFIXED_COOKIE_NAME: Incomplete
|
15
|
+
SESSION_CACHE_SIZE: int
|
16
|
+
|
17
|
+
def _get_cookie_name(is_secure: bool) -> str: ...
|
18
|
+
|
19
|
+
class HomeAssistantCookieStorage(EncryptedCookieStorage):
|
20
|
+
_hass: Incomplete
|
21
|
+
def __init__(self, hass: HomeAssistant) -> None: ...
|
22
|
+
def _secure_connection(self, request: Request) -> bool: ...
|
23
|
+
def load_cookie(self, request: Request) -> str | None: ...
|
24
|
+
def _decrypt_cookie(self, cookie: str) -> Session | None: ...
|
25
|
+
async def new_session(self) -> Session: ...
|
26
|
+
async def load_session(self, request: Request) -> Session: ...
|
27
|
+
async def save_session(self, request: Request, response: StreamResponse, session: Session) -> None: ...
|
28
|
+
@staticmethod
|
29
|
+
def _add_cache_control_header(response: StreamResponse) -> None: ...
|
@@ -1,14 +1,11 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, SCAN_INTERVAL as SCAN_INTERVAL
|
2
2
|
from .coordinator import HydrawiseDataUpdateCoordinator as HydrawiseDataUpdateCoordinator
|
3
|
-
from
|
4
|
-
from homeassistant.
|
5
|
-
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_API_KEY as CONF_API_KEY, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, Platform as Platform
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
+
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
6
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
-
from homeassistant.
|
6
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
8
7
|
|
9
|
-
CONFIG_SCHEMA: Incomplete
|
10
8
|
PLATFORMS: list[Platform]
|
11
9
|
|
12
|
-
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
13
10
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
14
11
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -2,19 +2,16 @@ from .const import DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import HydrawiseDataUpdateCoordinator as HydrawiseDataUpdateCoordinator
|
3
3
|
from .entity import HydrawiseEntity as HydrawiseEntity
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
5
|
+
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
-
from homeassistant.const import CONF_MONITORED_CONDITIONS as CONF_MONITORED_CONDITIONS
|
8
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
8
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
11
9
|
from pydrawise.schema import Zone as Zone
|
12
10
|
|
13
11
|
BINARY_SENSOR_STATUS: Incomplete
|
14
12
|
BINARY_SENSOR_TYPES: tuple[BinarySensorEntityDescription, ...]
|
15
13
|
BINARY_SENSOR_KEYS: list[str]
|
16
14
|
|
17
|
-
def setup_platform(hass: HomeAssistant, config: ConfigType, add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
18
15
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
19
16
|
|
20
17
|
class HydrawiseBinarySensor(HydrawiseEntity, BinarySensorEntity):
|
@@ -1,16 +1,15 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
|
-
from
|
3
|
-
from
|
4
|
-
from homeassistant.
|
5
|
-
from homeassistant.
|
6
|
-
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from collections.abc import Callable as Callable, Mapping
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
|
+
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
7
6
|
from typing import Any
|
8
7
|
|
9
8
|
class HydrawiseConfigFlow(ConfigFlow, domain=DOMAIN):
|
10
9
|
VERSION: int
|
11
|
-
|
12
|
-
def
|
13
|
-
def
|
10
|
+
reauth_entry: Incomplete
|
11
|
+
def __init__(self) -> None: ...
|
12
|
+
async def _create_or_update_entry(self, username: str, password: str, *, on_failure: Callable[[str], ConfigFlowResult]) -> ConfigFlowResult: ...
|
14
13
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
15
14
|
def _show_form(self, error_type: str | None = None) -> ConfigFlowResult: ...
|
16
|
-
async def
|
15
|
+
async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
|
@@ -2,12 +2,11 @@ from .const import DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import HydrawiseDataUpdateCoordinator as HydrawiseDataUpdateCoordinator
|
3
3
|
from .entity import HydrawiseEntity as HydrawiseEntity
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from homeassistant.components.sensor import
|
5
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
-
from homeassistant.const import
|
7
|
+
from homeassistant.const import UnitOfTime as UnitOfTime
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
11
10
|
from pydrawise.schema import Zone as Zone
|
12
11
|
|
13
12
|
SENSOR_TYPES: tuple[SensorEntityDescription, ...]
|
@@ -15,7 +14,6 @@ SENSOR_KEYS: list[str]
|
|
15
14
|
TWO_YEAR_SECONDS: Incomplete
|
16
15
|
WATERING_TIME_ICON: str
|
17
16
|
|
18
|
-
def setup_platform(hass: HomeAssistant, config: ConfigType, add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
19
17
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
20
18
|
|
21
19
|
class HydrawiseSensor(HydrawiseEntity, SensorEntity):
|
@@ -1,19 +1,16 @@
|
|
1
|
-
from .const import
|
1
|
+
from .const import DEFAULT_WATERING_TIME as DEFAULT_WATERING_TIME, DOMAIN as DOMAIN
|
2
2
|
from .coordinator import HydrawiseDataUpdateCoordinator as HydrawiseDataUpdateCoordinator
|
3
3
|
from .entity import HydrawiseEntity as HydrawiseEntity
|
4
|
-
from homeassistant.components.switch import
|
4
|
+
from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
-
from homeassistant.const import CONF_MONITORED_CONDITIONS as CONF_MONITORED_CONDITIONS
|
7
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
7
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
10
8
|
from pydrawise.schema import Zone as Zone
|
11
9
|
from typing import Any
|
12
10
|
|
13
11
|
SWITCH_TYPES: tuple[SwitchEntityDescription, ...]
|
14
12
|
SWITCH_KEYS: list[str]
|
15
13
|
|
16
|
-
def setup_platform(hass: HomeAssistant, config: ConfigType, add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
17
14
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
18
15
|
|
19
16
|
class HydrawiseSwitch(HydrawiseEntity, SwitchEntity):
|
@@ -8,12 +8,12 @@ from functools import cached_property as cached_property
|
|
8
8
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_AUTHENTICATED as KEY_AUTHENTICATED, KEY_HASS as KEY_HASS
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
10
|
from homeassistant.const import CONTENT_TYPE_MULTIPART as CONTENT_TYPE_MULTIPART, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
11
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
11
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
|
12
12
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
13
13
|
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
|
14
14
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
15
15
|
from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
|
16
|
-
from homeassistant.helpers.event import
|
16
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event, async_track_time_interval as async_track_time_interval
|
17
17
|
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
18
18
|
from homeassistant.helpers.typing import ConfigType as ConfigType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
19
19
|
from typing import Final
|
@@ -1,13 +1,29 @@
|
|
1
1
|
from .const import CONF_ENABLE_PUSH as CONF_ENABLE_PUSH, DOMAIN as DOMAIN
|
2
|
-
from .coordinator import ImapPollingDataUpdateCoordinator as ImapPollingDataUpdateCoordinator, ImapPushDataUpdateCoordinator as ImapPushDataUpdateCoordinator, connect_to_server as connect_to_server
|
2
|
+
from .coordinator import ImapMessage as ImapMessage, ImapPollingDataUpdateCoordinator as ImapPollingDataUpdateCoordinator, ImapPushDataUpdateCoordinator as ImapPushDataUpdateCoordinator, connect_to_server as connect_to_server
|
3
3
|
from .errors import InvalidAuth as InvalidAuth, InvalidFolder as InvalidFolder
|
4
|
-
from
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from aioimaplib import IMAP4_SSL as IMAP4_SSL, Response as Response
|
5
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
7
|
from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
7
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
-
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
9
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady, ServiceValidationError as ServiceValidationError
|
10
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
9
11
|
|
10
12
|
PLATFORMS: list[Platform]
|
13
|
+
CONF_ENTRY: str
|
14
|
+
CONF_SEEN: str
|
15
|
+
CONF_UID: str
|
16
|
+
CONF_TARGET_FOLDER: str
|
17
|
+
_LOGGER: Incomplete
|
18
|
+
CONFIG_SCHEMA: Incomplete
|
19
|
+
_SERVICE_UID_SCHEMA: Incomplete
|
20
|
+
SERVICE_SEEN_SCHEMA = _SERVICE_UID_SCHEMA
|
21
|
+
SERVICE_MOVE_SCHEMA: Incomplete
|
22
|
+
SERVICE_DELETE_SCHEMA = _SERVICE_UID_SCHEMA
|
23
|
+
SERVICE_FETCH_TEXT_SCHEMA = _SERVICE_UID_SCHEMA
|
11
24
|
|
25
|
+
async def async_get_imap_client(hass: HomeAssistant, entry_id: str) -> IMAP4_SSL: ...
|
26
|
+
def raise_on_error(response: Response, translation_key: str) -> None: ...
|
27
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
12
28
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
13
29
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import CONF_CHARSET as CONF_CHARSET, CONF_CUSTOM_EVENT_DATA_TEMPLATE as CONF_CUSTOM_EVENT_DATA_TEMPLATE, CONF_ENABLE_PUSH as CONF_ENABLE_PUSH, CONF_FOLDER as CONF_FOLDER, CONF_MAX_MESSAGE_SIZE as CONF_MAX_MESSAGE_SIZE, CONF_SEARCH as CONF_SEARCH, CONF_SERVER as CONF_SERVER, CONF_SSL_CIPHER_LIST as CONF_SSL_CIPHER_LIST, DEFAULT_MAX_MESSAGE_SIZE as DEFAULT_MAX_MESSAGE_SIZE, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, MAX_MESSAGE_SIZE_LIMIT as MAX_MESSAGE_SIZE_LIMIT
|
1
|
+
from .const import CONF_CHARSET as CONF_CHARSET, CONF_CUSTOM_EVENT_DATA_TEMPLATE as CONF_CUSTOM_EVENT_DATA_TEMPLATE, CONF_ENABLE_PUSH as CONF_ENABLE_PUSH, CONF_EVENT_MESSAGE_DATA as CONF_EVENT_MESSAGE_DATA, CONF_FOLDER as CONF_FOLDER, CONF_MAX_MESSAGE_SIZE as CONF_MAX_MESSAGE_SIZE, CONF_SEARCH as CONF_SEARCH, CONF_SERVER as CONF_SERVER, CONF_SSL_CIPHER_LIST as CONF_SSL_CIPHER_LIST, DEFAULT_MAX_MESSAGE_SIZE as DEFAULT_MAX_MESSAGE_SIZE, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, MAX_MESSAGE_SIZE_LIMIT as MAX_MESSAGE_SIZE_LIMIT, MESSAGE_DATA_OPTIONS as MESSAGE_DATA_OPTIONS
|
2
2
|
from .coordinator import connect_to_server as connect_to_server
|
3
3
|
from .errors import InvalidAuth as InvalidAuth, InvalidFolder as InvalidFolder
|
4
4
|
from _typeshed import Incomplete
|
@@ -14,6 +14,7 @@ from typing import Any
|
|
14
14
|
BOOLEAN_SELECTOR: Incomplete
|
15
15
|
CIPHER_SELECTOR: Incomplete
|
16
16
|
TEMPLATE_SELECTOR: Incomplete
|
17
|
+
EVENT_MESSAGE_DATA_SELECTOR: Incomplete
|
17
18
|
CONFIG_SCHEMA: Incomplete
|
18
19
|
CONFIG_SCHEMA_ADVANCED: Incomplete
|
19
20
|
OPTIONS_SCHEMA: Incomplete
|
@@ -1,3 +1,4 @@
|
|
1
|
+
from _typeshed import Incomplete
|
1
2
|
from typing import Final
|
2
3
|
|
3
4
|
DOMAIN: Final[str]
|
@@ -5,10 +6,12 @@ CONF_SERVER: Final[str]
|
|
5
6
|
CONF_FOLDER: Final[str]
|
6
7
|
CONF_SEARCH: Final[str]
|
7
8
|
CONF_CHARSET: Final[str]
|
8
|
-
|
9
|
+
CONF_EVENT_MESSAGE_DATA: Final[str]
|
10
|
+
CONF_MAX_MESSAGE_SIZE: Final[str]
|
9
11
|
CONF_CUSTOM_EVENT_DATA_TEMPLATE: Final[str]
|
10
12
|
CONF_SSL_CIPHER_LIST: Final[str]
|
11
13
|
CONF_ENABLE_PUSH: Final[str]
|
12
14
|
DEFAULT_PORT: Final[int]
|
13
15
|
DEFAULT_MAX_MESSAGE_SIZE: int
|
14
|
-
|
16
|
+
MESSAGE_DATA_OPTIONS: Final[Incomplete]
|
17
|
+
MAX_MESSAGE_SIZE_LIMIT: Final[int]
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import CONF_CHARSET as CONF_CHARSET, CONF_CUSTOM_EVENT_DATA_TEMPLATE as CONF_CUSTOM_EVENT_DATA_TEMPLATE, CONF_FOLDER as CONF_FOLDER, CONF_MAX_MESSAGE_SIZE as CONF_MAX_MESSAGE_SIZE, CONF_SEARCH as CONF_SEARCH, CONF_SERVER as CONF_SERVER, CONF_SSL_CIPHER_LIST as CONF_SSL_CIPHER_LIST, DEFAULT_MAX_MESSAGE_SIZE as DEFAULT_MAX_MESSAGE_SIZE, DOMAIN as DOMAIN
|
1
|
+
from .const import CONF_CHARSET as CONF_CHARSET, CONF_CUSTOM_EVENT_DATA_TEMPLATE as CONF_CUSTOM_EVENT_DATA_TEMPLATE, CONF_EVENT_MESSAGE_DATA as CONF_EVENT_MESSAGE_DATA, CONF_FOLDER as CONF_FOLDER, CONF_MAX_MESSAGE_SIZE as CONF_MAX_MESSAGE_SIZE, CONF_SEARCH as CONF_SEARCH, CONF_SERVER as CONF_SERVER, CONF_SSL_CIPHER_LIST as CONF_SSL_CIPHER_LIST, DEFAULT_MAX_MESSAGE_SIZE as DEFAULT_MAX_MESSAGE_SIZE, DOMAIN as DOMAIN, MESSAGE_DATA_OPTIONS as MESSAGE_DATA_OPTIONS
|
2
2
|
from .errors import InvalidAuth as InvalidAuth, InvalidFolder as InvalidFolder
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from aioimaplib import IMAP4_SSL
|
@@ -30,7 +30,7 @@ class ImapMessage:
|
|
30
30
|
@staticmethod
|
31
31
|
def _decode_payload(part: Message) -> str: ...
|
32
32
|
@property
|
33
|
-
def headers(self) -> dict[str, tuple[str]]: ...
|
33
|
+
def headers(self) -> dict[str, tuple[str, ...]]: ...
|
34
34
|
@property
|
35
35
|
def message_id(self) -> str | None: ...
|
36
36
|
@property
|
@@ -50,6 +50,8 @@ class ImapDataUpdateCoordinator(DataUpdateCoordinator[int | None]):
|
|
50
50
|
_last_message_uid: Incomplete
|
51
51
|
_last_message_id: Incomplete
|
52
52
|
_diagnostics_data: Incomplete
|
53
|
+
_event_data_keys: Incomplete
|
54
|
+
_max_event_size: Incomplete
|
53
55
|
def __init__(self, hass: HomeAssistant, imap_client: IMAP4_SSL, entry: ConfigEntry, update_interval: timedelta | None) -> None: ...
|
54
56
|
async def async_start(self) -> None: ...
|
55
57
|
async def _async_reconnect_if_needed(self) -> None: ...
|
@@ -68,6 +70,7 @@ class ImapPollingDataUpdateCoordinator(ImapDataUpdateCoordinator):
|
|
68
70
|
|
69
71
|
class ImapPushDataUpdateCoordinator(ImapDataUpdateCoordinator):
|
70
72
|
_push_wait_task: Incomplete
|
73
|
+
number_of_messages: Incomplete
|
71
74
|
def __init__(self, hass: HomeAssistant, imap_client: IMAP4_SSL, entry: ConfigEntry) -> None: ...
|
72
75
|
async def _async_update_data(self) -> int | None: ...
|
73
76
|
async def async_start(self) -> None: ...
|
@@ -7,11 +7,10 @@ from decimal import Decimal
|
|
7
7
|
from homeassistant.components.sensor import PLATFORM_SCHEMA as PLATFORM_SCHEMA, RestoreSensor as RestoreSensor, SensorDeviceClass as SensorDeviceClass, SensorExtraStoredData as SensorExtraStoredData, SensorStateClass as SensorStateClass
|
8
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
9
|
from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_METHOD as CONF_METHOD, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTime as UnitOfTime
|
10
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback
|
11
|
-
from homeassistant.helpers import condition as condition
|
10
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback
|
12
11
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
13
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
14
|
-
from homeassistant.helpers.event import
|
13
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
15
14
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
16
15
|
from typing import Any, Final, Self
|
17
16
|
|
@@ -25,24 +24,24 @@ class _IntegrationMethod(ABC, metaclass=abc.ABCMeta):
|
|
25
24
|
@staticmethod
|
26
25
|
def from_name(method_name: str) -> _IntegrationMethod: ...
|
27
26
|
@abstractmethod
|
28
|
-
def validate_states(self, left: State, right: State) ->
|
27
|
+
def validate_states(self, left: State, right: State) -> tuple[Decimal, Decimal] | None: ...
|
29
28
|
@abstractmethod
|
30
|
-
def calculate_area_with_two_states(self, elapsed_time:
|
31
|
-
def calculate_area_with_one_state(self, elapsed_time:
|
29
|
+
def calculate_area_with_two_states(self, elapsed_time: Decimal, left: Decimal, right: Decimal) -> Decimal: ...
|
30
|
+
def calculate_area_with_one_state(self, elapsed_time: Decimal, constant_state: Decimal) -> Decimal: ...
|
32
31
|
|
33
32
|
class _Trapezoidal(_IntegrationMethod):
|
34
|
-
def calculate_area_with_two_states(self, elapsed_time:
|
35
|
-
def validate_states(self, left: State, right: State) ->
|
33
|
+
def calculate_area_with_two_states(self, elapsed_time: Decimal, left: Decimal, right: Decimal) -> Decimal: ...
|
34
|
+
def validate_states(self, left: State, right: State) -> tuple[Decimal, Decimal] | None: ...
|
36
35
|
|
37
36
|
class _Left(_IntegrationMethod):
|
38
|
-
def calculate_area_with_two_states(self, elapsed_time:
|
39
|
-
def validate_states(self, left: State, right: State) ->
|
37
|
+
def calculate_area_with_two_states(self, elapsed_time: Decimal, left: Decimal, right: Decimal) -> Decimal: ...
|
38
|
+
def validate_states(self, left: State, right: State) -> tuple[Decimal, Decimal] | None: ...
|
40
39
|
|
41
40
|
class _Right(_IntegrationMethod):
|
42
|
-
def calculate_area_with_two_states(self, elapsed_time:
|
43
|
-
def validate_states(self, left: State, right: State) ->
|
41
|
+
def calculate_area_with_two_states(self, elapsed_time: Decimal, left: Decimal, right: Decimal) -> Decimal: ...
|
42
|
+
def validate_states(self, left: State, right: State) -> tuple[Decimal, Decimal] | None: ...
|
44
43
|
|
45
|
-
def
|
44
|
+
def _decimal_state(state: str) -> Decimal | None: ...
|
46
45
|
|
47
46
|
_NAME_TO_INTEGRATION_METHOD: dict[str, type[_IntegrationMethod]]
|
48
47
|
|
@@ -2,12 +2,10 @@ from .const import CALC_METHODS as CALC_METHODS, CONF_CALC_METHOD as CONF_CALC_M
|
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
4
4
|
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME
|
5
|
-
from homeassistant.core import
|
5
|
+
from homeassistant.core import callback as callback
|
6
6
|
from homeassistant.helpers.selector import LocationSelector as LocationSelector, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TextSelector as TextSelector
|
7
7
|
from typing import Any
|
8
8
|
|
9
|
-
async def async_validate_location(hass: HomeAssistant, lat: float, lon: float) -> dict[str, str]: ...
|
10
|
-
|
11
9
|
class IslamicPrayerFlowHandler(ConfigFlow, domain=DOMAIN):
|
12
10
|
VERSION: int
|
13
11
|
MINOR_VERSION: int
|