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
@@ -0,0 +1,27 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
7
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
8
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
+
from pyegps.powerstrip import PowerStrip as PowerStrip
|
10
|
+
from typing import Any
|
11
|
+
|
12
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
13
|
+
|
14
|
+
class EGPowerStripSocket(SwitchEntity):
|
15
|
+
_attr_device_class: Incomplete
|
16
|
+
_attr_has_entity_name: bool
|
17
|
+
_attr_translation_key: str
|
18
|
+
_dev: Incomplete
|
19
|
+
_socket: Incomplete
|
20
|
+
_attr_translation_placeholders: Incomplete
|
21
|
+
_attr_unique_id: Incomplete
|
22
|
+
_attr_device_info: Incomplete
|
23
|
+
def __init__(self, dev: PowerStrip, socket: int) -> None: ...
|
24
|
+
def turn_on(self, **kwargs: Any) -> None: ...
|
25
|
+
def turn_off(self, **kwargs: Any) -> None: ...
|
26
|
+
_attr_is_on: Incomplete
|
27
|
+
def update(self) -> None: ...
|
@@ -2,7 +2,7 @@ import asyncio
|
|
2
2
|
from .const import DOMAIN as DOMAIN
|
3
3
|
from .data import EnergyManager as EnergyManager, async_get_manager as async_get_manager
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from collections.abc import Callable as Callable
|
5
|
+
from collections.abc import Callable as Callable, Mapping
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from homeassistant.components.sensor import ATTR_LAST_RESET as ATTR_LAST_RESET, ATTR_STATE_CLASS as ATTR_STATE_CLASS, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
|
8
8
|
from homeassistant.components.sensor.recorder import reset_detected as reset_detected
|
@@ -42,7 +42,7 @@ class SensorManager:
|
|
42
42
|
def __init__(self, manager: EnergyManager, async_add_entities: AddEntitiesCallback) -> None: ...
|
43
43
|
async def async_start(self) -> None: ...
|
44
44
|
async def _process_manager_data(self) -> None: ...
|
45
|
-
def _process_sensor_data(self, adapter: SourceAdapter, config:
|
45
|
+
def _process_sensor_data(self, adapter: SourceAdapter, config: Mapping[str, Any], to_add: list[EnergyCostSensor], to_remove: dict[tuple[str, str | None, str], EnergyCostSensor]) -> None: ...
|
46
46
|
|
47
47
|
def _set_result_unless_done(future: asyncio.Future[None]) -> None: ...
|
48
48
|
|
@@ -58,7 +58,7 @@ class EnergyCostSensor(SensorEntity):
|
|
58
58
|
_config: Incomplete
|
59
59
|
_last_energy_sensor_state: Incomplete
|
60
60
|
add_finished: Incomplete
|
61
|
-
def __init__(self, adapter: SourceAdapter, config:
|
61
|
+
def __init__(self, adapter: SourceAdapter, config: Mapping[str, Any]) -> None: ...
|
62
62
|
_attr_native_value: float
|
63
63
|
_attr_last_reset: Incomplete
|
64
64
|
def _reset(self, energy_state: State) -> None: ...
|
@@ -68,7 +68,7 @@ class EnergyCostSensor(SensorEntity):
|
|
68
68
|
def _async_state_changed_listener(self, *_: Any) -> None: ...
|
69
69
|
def add_to_platform_abort(self) -> None: ...
|
70
70
|
async def async_will_remove_from_hass(self) -> None: ...
|
71
|
-
def update_config(self, config:
|
71
|
+
def update_config(self, config: Mapping[str, Any]) -> None: ...
|
72
72
|
@property
|
73
73
|
def native_unit_of_measurement(self) -> str | None: ...
|
74
74
|
@property
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from .data import DEVICE_CONSUMPTION_SCHEMA as DEVICE_CONSUMPTION_SCHEMA, ENERGY_SOURCE_SCHEMA as ENERGY_SOURCE_SCHEMA, EnergyManager as EnergyManager, EnergyPreferencesUpdate as EnergyPreferencesUpdate, async_get_manager as async_get_manager
|
3
|
-
from .types import EnergyPlatform as EnergyPlatform, GetSolarForecastType as GetSolarForecastType
|
3
|
+
from .types import EnergyPlatform as EnergyPlatform, GetSolarForecastType as GetSolarForecastType, SolarForecastType as SolarForecastType
|
4
4
|
from .validate import async_validate as async_validate
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from homeassistant.components import recorder as recorder, websocket_api as websocket_api
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
|
7
|
+
|
8
|
+
PLATFORMS: Incomplete
|
9
|
+
|
10
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
11
|
+
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from .const import CONF_DEEP_STANDBY as CONF_DEEP_STANDBY, CONF_SOURCE_BOUQUET as CONF_SOURCE_BOUQUET, CONF_USE_CHANNEL_ICON as CONF_USE_CHANNEL_ICON, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_USER as SOURCE_USER
|
4
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
5
|
+
from homeassistant.helpers import selector as selector
|
6
|
+
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
|
7
|
+
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
8
|
+
from typing import Any
|
9
|
+
|
10
|
+
CONFIG_SCHEMA: Incomplete
|
11
|
+
|
12
|
+
class Enigma2ConfigFlowHandler(ConfigFlow, domain=DOMAIN):
|
13
|
+
DATA_KEYS: Incomplete
|
14
|
+
OPTIONS_KEYS: Incomplete
|
15
|
+
async def validate_user_input(self, user_input: dict[str, Any]) -> dict[str, str] | None: ...
|
16
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
|
+
async def async_step_import(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
|
@@ -1,14 +1,14 @@
|
|
1
|
-
from .const import CONF_DEEP_STANDBY as CONF_DEEP_STANDBY, CONF_MAC_ADDRESS as CONF_MAC_ADDRESS, CONF_SOURCE_BOUQUET as CONF_SOURCE_BOUQUET, CONF_USE_CHANNEL_ICON as CONF_USE_CHANNEL_ICON, DEFAULT_DEEP_STANDBY as DEFAULT_DEEP_STANDBY, DEFAULT_MAC_ADDRESS as DEFAULT_MAC_ADDRESS, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PASSWORD as DEFAULT_PASSWORD, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_SOURCE_BOUQUET as DEFAULT_SOURCE_BOUQUET, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_USERNAME as DEFAULT_USERNAME, DEFAULT_USE_CHANNEL_ICON as DEFAULT_USE_CHANNEL_ICON
|
1
|
+
from .const import CONF_DEEP_STANDBY as CONF_DEEP_STANDBY, CONF_MAC_ADDRESS as CONF_MAC_ADDRESS, CONF_SOURCE_BOUQUET as CONF_SOURCE_BOUQUET, CONF_USE_CHANNEL_ICON as CONF_USE_CHANNEL_ICON, DEFAULT_DEEP_STANDBY as DEFAULT_DEEP_STANDBY, DEFAULT_MAC_ADDRESS as DEFAULT_MAC_ADDRESS, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PASSWORD as DEFAULT_PASSWORD, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_SOURCE_BOUQUET as DEFAULT_SOURCE_BOUQUET, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_USERNAME as DEFAULT_USERNAME, DEFAULT_USE_CHANNEL_ICON as DEFAULT_USE_CHANNEL_ICON, DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.components.media_player import MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
|
4
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
-
from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
|
7
|
-
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
|
8
7
|
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA
|
8
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
10
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
11
|
-
from openwebif.api import OpenWebIfDevice
|
11
|
+
from openwebif.api import OpenWebIfDevice as OpenWebIfDevice
|
12
12
|
|
13
13
|
ATTR_MEDIA_CURRENTLY_RECORDING: str
|
14
14
|
ATTR_MEDIA_DESCRIPTION: str
|
@@ -17,15 +17,18 @@ ATTR_MEDIA_START_TIME: str
|
|
17
17
|
_LOGGER: Incomplete
|
18
18
|
|
19
19
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
20
21
|
|
21
22
|
class Enigma2Device(MediaPlayerEntity):
|
22
23
|
_attr_has_entity_name: bool
|
24
|
+
_attr_name: Incomplete
|
23
25
|
_attr_media_content_type: Incomplete
|
24
26
|
_attr_supported_features: Incomplete
|
25
27
|
_device: Incomplete
|
26
|
-
|
28
|
+
_entry: Incomplete
|
27
29
|
_attr_unique_id: Incomplete
|
28
|
-
|
30
|
+
_attr_device_info: Incomplete
|
31
|
+
def __init__(self, entry: ConfigEntry, device: OpenWebIfDevice, about: dict) -> None: ...
|
29
32
|
_attr_available: bool
|
30
33
|
async def async_turn_off(self) -> None: ...
|
31
34
|
async def async_turn_on(self) -> None: ...
|
@@ -30,3 +30,4 @@ class EnphaseUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
30
30
|
async def _async_setup_and_authenticate(self) -> None: ...
|
31
31
|
def _async_update_saved_token(self) -> None: ...
|
32
32
|
async def _async_update_data(self) -> dict[str, Any]: ...
|
33
|
+
def async_cancel_token_refresh(self) -> None: ...
|
@@ -0,0 +1,18 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, SIGNAL_THERMOSTAT_CONNECTED as SIGNAL_THERMOSTAT_CONNECTED, SIGNAL_THERMOSTAT_DISCONNECTED as SIGNAL_THERMOSTAT_DISCONNECTED
|
2
|
+
from .models import Eq3Config as Eq3Config, Eq3ConfigEntryData as Eq3ConfigEntryData
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.components import bluetooth as bluetooth
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
+
from homeassistant.const import Platform as Platform
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
9
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
10
|
+
|
11
|
+
PLATFORMS: Incomplete
|
12
|
+
_LOGGER: Incomplete
|
13
|
+
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
15
|
+
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
16
|
+
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
17
|
+
async def _async_run_thermostat(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
18
|
+
async def _async_reconnect_thermostat(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
@@ -0,0 +1,55 @@
|
|
1
|
+
from .const import CurrentTemperatureSelector as CurrentTemperatureSelector, DEVICE_MODEL as DEVICE_MODEL, DOMAIN as DOMAIN, EQ_TO_HA_HVAC as EQ_TO_HA_HVAC, HA_TO_EQ_HVAC as HA_TO_EQ_HVAC, MANUFACTURER as MANUFACTURER, Preset as Preset, SIGNAL_THERMOSTAT_CONNECTED as SIGNAL_THERMOSTAT_CONNECTED, SIGNAL_THERMOSTAT_DISCONNECTED as SIGNAL_THERMOSTAT_DISCONNECTED, TargetTemperatureSelector as TargetTemperatureSelector
|
2
|
+
from .entity import Eq3Entity as Eq3Entity
|
3
|
+
from .models import Eq3Config as Eq3Config, Eq3ConfigEntryData as Eq3ConfigEntryData
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from eq3btsmart import Thermostat as Thermostat
|
6
|
+
from eq3btsmart.const import EQ3BT_MAX_TEMP, EQ3BT_OFF_TEMP
|
7
|
+
from homeassistant.components.climate import ATTR_HVAC_MODE as ATTR_HVAC_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_NONE as PRESET_NONE
|
8
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
|
+
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_HALVES as PRECISION_HALVES, UnitOfTemperature as UnitOfTemperature
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
11
|
+
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
12
|
+
from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo, async_get as async_get, format_mac as format_mac
|
13
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
14
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
|
+
from homeassistant.util import slugify as slugify
|
16
|
+
from typing import Any
|
17
|
+
|
18
|
+
_LOGGER: Incomplete
|
19
|
+
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
21
|
+
|
22
|
+
class Eq3Climate(Eq3Entity, ClimateEntity):
|
23
|
+
_attr_name: Incomplete
|
24
|
+
_attr_supported_features: Incomplete
|
25
|
+
_attr_temperature_unit: Incomplete
|
26
|
+
_attr_min_temp = EQ3BT_OFF_TEMP
|
27
|
+
_attr_max_temp = EQ3BT_MAX_TEMP
|
28
|
+
_attr_precision = PRECISION_HALVES
|
29
|
+
_attr_hvac_modes: Incomplete
|
30
|
+
_attr_preset_modes: Incomplete
|
31
|
+
_attr_should_poll: bool
|
32
|
+
_attr_available: bool
|
33
|
+
_attr_hvac_mode: HVACMode | None
|
34
|
+
_attr_hvac_action: HVACAction | None
|
35
|
+
_attr_preset_mode: str | None
|
36
|
+
_target_temperature: float | None
|
37
|
+
_attr_unique_id: Incomplete
|
38
|
+
_attr_device_info: Incomplete
|
39
|
+
def __init__(self, eq3_config: Eq3Config, thermostat: Thermostat) -> None: ...
|
40
|
+
async def async_added_to_hass(self) -> None: ...
|
41
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
42
|
+
def _async_on_disconnected(self) -> None: ...
|
43
|
+
def _async_on_connected(self) -> None: ...
|
44
|
+
def _async_on_updated(self) -> None: ...
|
45
|
+
_attr_current_temperature: Incomplete
|
46
|
+
_attr_target_temperature: Incomplete
|
47
|
+
def _async_on_status_updated(self) -> None: ...
|
48
|
+
def _async_on_device_updated(self) -> None: ...
|
49
|
+
def _get_current_temperature(self) -> float | None: ...
|
50
|
+
def _get_target_temperature(self) -> float | None: ...
|
51
|
+
def _get_current_preset_mode(self) -> str: ...
|
52
|
+
def _get_current_hvac_action(self) -> HVACAction: ...
|
53
|
+
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
54
|
+
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
55
|
+
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .schemas import SCHEMA_MAC as SCHEMA_MAC
|
3
|
+
from homeassistant.components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
|
4
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
|
+
from homeassistant.const import CONF_MAC as CONF_MAC
|
6
|
+
from homeassistant.helpers.device_registry import format_mac as format_mac
|
7
|
+
from homeassistant.util import slugify as slugify
|
8
|
+
from typing import Any
|
9
|
+
|
10
|
+
class EQ3ConfigFlow(ConfigFlow, domain=DOMAIN):
|
11
|
+
mac_address: str
|
12
|
+
def __init__(self) -> None: ...
|
13
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
14
|
+
async def async_step_bluetooth(self, discovery_info: BluetoothServiceInfoBleak) -> ConfigFlowResult: ...
|
15
|
+
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
16
|
+
|
17
|
+
def validate_mac(mac: str) -> bool: ...
|
@@ -0,0 +1,38 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from enum import Enum
|
3
|
+
from eq3btsmart.const import OperationMode
|
4
|
+
from homeassistant.components.climate import HVACMode as HVACMode, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_NONE as PRESET_NONE
|
5
|
+
|
6
|
+
DOMAIN: str
|
7
|
+
MANUFACTURER: str
|
8
|
+
DEVICE_MODEL: str
|
9
|
+
GET_DEVICE_TIMEOUT: int
|
10
|
+
EQ_TO_HA_HVAC: dict[OperationMode, HVACMode]
|
11
|
+
HA_TO_EQ_HVAC: Incomplete
|
12
|
+
|
13
|
+
class Preset(str, Enum):
|
14
|
+
NONE = PRESET_NONE
|
15
|
+
ECO = PRESET_ECO
|
16
|
+
COMFORT = PRESET_COMFORT
|
17
|
+
BOOST = PRESET_BOOST
|
18
|
+
AWAY = PRESET_AWAY
|
19
|
+
OPEN: str
|
20
|
+
LOW_BATTERY: str
|
21
|
+
WINDOW_OPEN: str
|
22
|
+
|
23
|
+
class CurrentTemperatureSelector(str, Enum):
|
24
|
+
NOTHING: str
|
25
|
+
UI: str
|
26
|
+
DEVICE: str
|
27
|
+
VALVE: str
|
28
|
+
ENTITY: str
|
29
|
+
|
30
|
+
class TargetTemperatureSelector(str, Enum):
|
31
|
+
TARGET: str
|
32
|
+
LAST_REPORTED: str
|
33
|
+
|
34
|
+
DEFAULT_CURRENT_TEMP_SELECTOR: Incomplete
|
35
|
+
DEFAULT_TARGET_TEMP_SELECTOR: Incomplete
|
36
|
+
DEFAULT_SCAN_INTERVAL: int
|
37
|
+
SIGNAL_THERMOSTAT_DISCONNECTED: Incomplete
|
38
|
+
SIGNAL_THERMOSTAT_CONNECTED: Incomplete
|
@@ -0,0 +1,10 @@
|
|
1
|
+
from .models import Eq3Config as Eq3Config
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from eq3btsmart.thermostat import Thermostat as Thermostat
|
4
|
+
from homeassistant.helpers.entity import Entity as Entity
|
5
|
+
|
6
|
+
class Eq3Entity(Entity):
|
7
|
+
_attr_has_entity_name: bool
|
8
|
+
_eq3_config: Incomplete
|
9
|
+
_thermostat: Incomplete
|
10
|
+
def __init__(self, eq3_config: Eq3Config, thermostat: Thermostat) -> None: ...
|
@@ -0,0 +1,20 @@
|
|
1
|
+
from .const import CurrentTemperatureSelector as CurrentTemperatureSelector, DEFAULT_CURRENT_TEMP_SELECTOR as DEFAULT_CURRENT_TEMP_SELECTOR, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DEFAULT_TARGET_TEMP_SELECTOR as DEFAULT_TARGET_TEMP_SELECTOR, TargetTemperatureSelector as TargetTemperatureSelector
|
2
|
+
from dataclasses import dataclass
|
3
|
+
from eq3btsmart.thermostat import Thermostat as Thermostat
|
4
|
+
|
5
|
+
@dataclass(slots=True)
|
6
|
+
class Eq3Config:
|
7
|
+
mac_address: str
|
8
|
+
current_temp_selector: CurrentTemperatureSelector = ...
|
9
|
+
target_temp_selector: TargetTemperatureSelector = ...
|
10
|
+
external_temp_sensor: str = ...
|
11
|
+
scan_interval: int = ...
|
12
|
+
default_away_hours: float = ...
|
13
|
+
default_away_temperature: float = ...
|
14
|
+
def __init__(self, mac_address, current_temp_selector, target_temp_selector, external_temp_sensor, scan_interval, default_away_hours, default_away_temperature) -> None: ...
|
15
|
+
|
16
|
+
@dataclass(slots=True)
|
17
|
+
class Eq3ConfigEntryData:
|
18
|
+
eq3_config: Eq3Config
|
19
|
+
thermostat: Thermostat
|
20
|
+
def __init__(self, eq3_config, thermostat) -> None: ...
|
@@ -0,0 +1,14 @@
|
|
1
|
+
from .entity import EsphomeEntity as EsphomeEntity, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
|
2
|
+
from aioesphomeapi import DateTimeInfo, DateTimeState
|
3
|
+
from datetime import datetime
|
4
|
+
from homeassistant.components.datetime import DateTimeEntity as DateTimeEntity
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
8
|
+
|
9
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
10
|
+
|
11
|
+
class EsphomeDateTime(EsphomeEntity[DateTimeInfo, DateTimeState], DateTimeEntity):
|
12
|
+
@property
|
13
|
+
def native_value(self) -> datetime | None: ...
|
14
|
+
async def async_set_value(self, value: datetime) -> None: ...
|
@@ -9,9 +9,7 @@ from dataclasses import dataclass
|
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
10
|
from homeassistant.const import Platform as Platform
|
11
11
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
12
|
-
from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
|
13
12
|
from homeassistant.helpers.storage import Store as Store
|
14
|
-
from homeassistant.util.signal_type import SignalType as SignalType
|
15
13
|
from typing import Any, Final, TypedDict
|
16
14
|
|
17
15
|
INFO_TO_COMPONENT_TYPE: Final[Incomplete]
|
@@ -46,6 +44,7 @@ class RuntimeEntryData:
|
|
46
44
|
disconnect_callbacks: set[CALLBACK_TYPE] = ...
|
47
45
|
state_subscriptions: dict[tuple[type[EntityState], int], CALLBACK_TYPE] = ...
|
48
46
|
device_update_subscriptions: set[CALLBACK_TYPE] = ...
|
47
|
+
static_info_update_subscriptions: set[Callable[[list[EntityInfo]], None]] = ...
|
49
48
|
loaded_platforms: set[Platform] = ...
|
50
49
|
platform_load_lock: asyncio.Lock = ...
|
51
50
|
_storage_contents: StoreData | None = ...
|
@@ -59,8 +58,6 @@ class RuntimeEntryData:
|
|
59
58
|
def name(self) -> str: ...
|
60
59
|
@property
|
61
60
|
def friendly_name(self) -> str: ...
|
62
|
-
@property
|
63
|
-
def signal_static_info_updated(self) -> SignalType[list[EntityInfo]]: ...
|
64
61
|
def async_register_static_info_callback(self, entity_info_type: type[EntityInfo], callback_: Callable[[list[EntityInfo]], None]) -> CALLBACK_TYPE: ...
|
65
62
|
def _async_unsubscribe_register_static_info(self, callbacks: list[Callable[[list[EntityInfo]], None]], callback_: Callable[[list[EntityInfo]], None]) -> None: ...
|
66
63
|
def async_register_key_static_info_updated_callback(self, static_info: EntityInfo, callback_: Callable[[EntityInfo], None]) -> CALLBACK_TYPE: ...
|
@@ -74,6 +71,8 @@ class RuntimeEntryData:
|
|
74
71
|
async def async_update_static_infos(self, hass: HomeAssistant, entry: ConfigEntry, infos: list[EntityInfo], mac: str) -> None: ...
|
75
72
|
def async_subscribe_device_updated(self, callback_: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
|
76
73
|
def _async_unsubscribe_device_update(self, callback_: CALLBACK_TYPE) -> None: ...
|
74
|
+
def async_subscribe_static_info_updated(self, callback_: Callable[[list[EntityInfo]], None]) -> CALLBACK_TYPE: ...
|
75
|
+
def _async_unsubscribe_static_info_updated(self, callback_: Callable[[list[EntityInfo]], None]) -> None: ...
|
77
76
|
def async_subscribe_state_update(self, state_type: type[EntityState], state_key: int, entity_callback: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
|
78
77
|
def _async_unsubscribe_state_update(self, subscription_key: tuple[type[EntityState], int]) -> None: ...
|
79
78
|
def async_update_state(self, state: EntityState) -> None: ...
|
@@ -84,4 +83,4 @@ class RuntimeEntryData:
|
|
84
83
|
async def async_update_listener(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
85
84
|
def async_on_disconnect(self) -> None: ...
|
86
85
|
def async_on_connect(self, device_info: DeviceInfo, api_version: APIVersion) -> None: ...
|
87
|
-
def __init__(self, entry_id, title, client, store, state, stale_state, info, services, available, expected_disconnect, device_info, bluetooth_device, api_version, cleanup_callbacks, disconnect_callbacks, state_subscriptions, device_update_subscriptions, loaded_platforms, platform_load_lock, _storage_contents, _pending_storage, assist_pipeline_update_callbacks, assist_pipeline_state, entity_info_callbacks, entity_info_key_updated_callbacks, original_options) -> None: ...
|
86
|
+
def __init__(self, entry_id, title, client, store, state, stale_state, info, services, available, expected_disconnect, device_info, bluetooth_device, api_version, cleanup_callbacks, disconnect_callbacks, state_subscriptions, device_update_subscriptions, static_info_update_subscriptions, loaded_platforms, platform_load_lock, _storage_contents, _pending_storage, assist_pipeline_update_callbacks, assist_pipeline_state, entity_info_callbacks, entity_info_key_updated_callbacks, original_options) -> None: ...
|
@@ -0,0 +1,16 @@
|
|
1
|
+
from .entity import EsphomeEntity as EsphomeEntity, platform_async_setup_entry as platform_async_setup_entry
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from aioesphomeapi import EntityInfo as EntityInfo, Event, EventInfo
|
4
|
+
from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
8
|
+
from homeassistant.util.enum import try_parse_enum as try_parse_enum
|
9
|
+
|
10
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
11
|
+
|
12
|
+
class EsphomeEvent(EsphomeEntity[EventInfo, Event], EventEntity):
|
13
|
+
_attr_event_types: Incomplete
|
14
|
+
_attr_device_class: Incomplete
|
15
|
+
def _on_static_info_update(self, static_info: EntityInfo) -> None: ...
|
16
|
+
def _on_state_update(self) -> None: ...
|
@@ -3,17 +3,17 @@ from .const import CONF_ALLOW_SERVICE_CALLS as CONF_ALLOW_SERVICE_CALLS, CONF_DE
|
|
3
3
|
from .dashboard import async_get_dashboard as async_get_dashboard
|
4
4
|
from .domain_data import DomainData as DomainData
|
5
5
|
from .entry_data import RuntimeEntryData as RuntimeEntryData
|
6
|
-
from .voice_assistant import
|
6
|
+
from .voice_assistant import VoiceAssistantAPIPipeline as VoiceAssistantAPIPipeline, VoiceAssistantPipeline as VoiceAssistantPipeline, VoiceAssistantUDPPipeline as VoiceAssistantUDPPipeline
|
7
7
|
from _typeshed import Incomplete
|
8
8
|
from aioesphomeapi import APIClient as APIClient, APIVersion as APIVersion, DeviceInfo as EsphomeDeviceInfo, EntityInfo as EntityInfo, HomeassistantServiceCall as HomeassistantServiceCall, UserService as UserService, VoiceAssistantAudioSettings as VoiceAssistantAudioSettings
|
9
9
|
from homeassistant.components import tag as tag, zeroconf as zeroconf
|
10
10
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
11
11
|
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_MODE as CONF_MODE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED
|
12
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, State as State, callback as callback
|
12
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, State as State, callback as callback
|
13
13
|
from homeassistant.exceptions import TemplateError as TemplateError
|
14
14
|
from homeassistant.helpers import template as template
|
15
15
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
16
|
-
from homeassistant.helpers.event import
|
16
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
17
17
|
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
|
18
18
|
from homeassistant.helpers.service import async_set_service_schema as async_set_service_schema
|
19
19
|
from homeassistant.helpers.template import Template as Template
|
@@ -34,7 +34,7 @@ class ESPHomeManager:
|
|
34
34
|
cli: Incomplete
|
35
35
|
device_id: Incomplete
|
36
36
|
domain_data: Incomplete
|
37
|
-
|
37
|
+
voice_assistant_pipeline: Incomplete
|
38
38
|
reconnect_logic: Incomplete
|
39
39
|
zeroconf_instance: Incomplete
|
40
40
|
entry_data: Incomplete
|
@@ -49,6 +49,7 @@ class ESPHomeManager:
|
|
49
49
|
def _handle_pipeline_finished(self) -> None: ...
|
50
50
|
async def _handle_pipeline_start(self, conversation_id: str, flags: int, audio_settings: VoiceAssistantAudioSettings, wake_word_phrase: str | None) -> int | None: ...
|
51
51
|
async def _handle_pipeline_stop(self) -> None: ...
|
52
|
+
async def _handle_audio(self, data: bytes) -> None: ...
|
52
53
|
async def on_connect(self) -> None: ...
|
53
54
|
async def _on_connnect(self) -> None: ...
|
54
55
|
async def on_disconnect(self, expected_disconnect: bool) -> None: ...
|
@@ -8,7 +8,6 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
8
8
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
9
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
10
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
11
|
-
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
12
11
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
13
12
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
14
13
|
from typing import Any
|
@@ -0,0 +1,30 @@
|
|
1
|
+
from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from aioesphomeapi import EntityInfo as EntityInfo, ValveInfo, ValveState
|
4
|
+
from homeassistant.components.valve import ValveDeviceClass as ValveDeviceClass, ValveEntity as ValveEntity, ValveEntityFeature as ValveEntityFeature
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
8
|
+
from homeassistant.util.enum import try_parse_enum as try_parse_enum
|
9
|
+
from typing import Any
|
10
|
+
|
11
|
+
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
12
|
+
|
13
|
+
class EsphomeValve(EsphomeEntity[ValveInfo, ValveState], ValveEntity):
|
14
|
+
_attr_supported_features: Incomplete
|
15
|
+
_attr_device_class: Incomplete
|
16
|
+
_attr_assumed_state: Incomplete
|
17
|
+
_attr_reports_position: Incomplete
|
18
|
+
def _on_static_info_update(self, static_info: EntityInfo) -> None: ...
|
19
|
+
@property
|
20
|
+
def is_closed(self) -> bool: ...
|
21
|
+
@property
|
22
|
+
def is_opening(self) -> bool: ...
|
23
|
+
@property
|
24
|
+
def is_closing(self) -> bool: ...
|
25
|
+
@property
|
26
|
+
def current_valve_position(self) -> int | None: ...
|
27
|
+
async def async_open_valve(self, **kwargs: Any) -> None: ...
|
28
|
+
async def async_close_valve(self, **kwargs: Any) -> None: ...
|
29
|
+
async def async_stop_valve(self, **kwargs: Any) -> None: ...
|
30
|
+
async def async_set_valve_position(self, position: float) -> None: ...
|
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN
|
|
3
3
|
from .entry_data import RuntimeEntryData as RuntimeEntryData
|
4
4
|
from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from aioesphomeapi import VoiceAssistantAudioSettings, VoiceAssistantEventType
|
6
|
+
from aioesphomeapi import APIClient as APIClient, VoiceAssistantAudioSettings, VoiceAssistantEventType
|
7
7
|
from collections.abc import AsyncIterable, Callable as Callable
|
8
8
|
from homeassistant.components import stt as stt, tts as tts
|
9
9
|
from homeassistant.components.assist_pipeline import AudioSettings as AudioSettings, PipelineEvent as PipelineEvent, PipelineEventType as PipelineEventType, PipelineNotFound as PipelineNotFound, PipelineStage as PipelineStage, WakeWordSettings as WakeWordSettings, async_pipeline_from_audio_stream as async_pipeline_from_audio_stream
|
@@ -16,11 +16,9 @@ UDP_PORT: int
|
|
16
16
|
UDP_MAX_PACKET_SIZE: int
|
17
17
|
_VOICE_ASSISTANT_EVENT_TYPES: EsphomeEnumMapper[VoiceAssistantEventType, PipelineEventType]
|
18
18
|
|
19
|
-
class
|
19
|
+
class VoiceAssistantPipeline:
|
20
20
|
started: bool
|
21
21
|
stop_requested: bool
|
22
|
-
transport: asyncio.DatagramTransport | None
|
23
|
-
remote_addr: tuple[str, int] | None
|
24
22
|
context: Incomplete
|
25
23
|
hass: Incomplete
|
26
24
|
entry_data: Incomplete
|
@@ -33,13 +31,31 @@ class VoiceAssistantUDPServer(asyncio.DatagramProtocol):
|
|
33
31
|
def __init__(self, hass: HomeAssistant, entry_data: RuntimeEntryData, handle_event: Callable[[VoiceAssistantEventType, dict[str, str] | None], None], handle_finished: Callable[[], None]) -> None: ...
|
34
32
|
@property
|
35
33
|
def is_running(self) -> bool: ...
|
34
|
+
async def _iterate_packets(self) -> AsyncIterable[bytes]: ...
|
35
|
+
def _event_callback(self, event: PipelineEvent) -> None: ...
|
36
|
+
async def run_pipeline(self, device_id: str, conversation_id: str | None, flags: int = 0, audio_settings: VoiceAssistantAudioSettings | None = None, wake_word_phrase: str | None = None) -> None: ...
|
37
|
+
async def _send_tts(self, media_id: str) -> None: ...
|
38
|
+
def send_audio_bytes(self, data: bytes) -> None: ...
|
39
|
+
def stop(self) -> None: ...
|
40
|
+
|
41
|
+
class VoiceAssistantUDPPipeline(asyncio.DatagramProtocol, VoiceAssistantPipeline):
|
42
|
+
transport: asyncio.DatagramTransport | None
|
43
|
+
remote_addr: tuple[str, int] | None
|
44
|
+
started: bool
|
36
45
|
async def start_server(self) -> int: ...
|
37
46
|
def connection_made(self, transport: asyncio.BaseTransport) -> None: ...
|
38
47
|
def datagram_received(self, data: bytes, addr: tuple[str, int]) -> None: ...
|
39
48
|
def error_received(self, exc: Exception) -> None: ...
|
40
49
|
def stop(self) -> None: ...
|
50
|
+
stop_requested: bool
|
41
51
|
def close(self) -> None: ...
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
52
|
+
def send_audio_bytes(self, data: bytes) -> None: ...
|
53
|
+
|
54
|
+
class VoiceAssistantAPIPipeline(VoiceAssistantPipeline):
|
55
|
+
api_client: Incomplete
|
56
|
+
started: bool
|
57
|
+
def __init__(self, hass: HomeAssistant, entry_data: RuntimeEntryData, handle_event: Callable[[VoiceAssistantEventType, dict[str, str] | None], None], handle_finished: Callable[[], None], api_client: APIClient) -> None: ...
|
58
|
+
def send_audio_bytes(self, data: bytes) -> None: ...
|
59
|
+
def receive_audio_bytes(self, data: bytes) -> None: ...
|
60
|
+
stop_requested: bool
|
61
|
+
def stop(self) -> None: ...
|
@@ -5,9 +5,9 @@ from datetime import datetime, timedelta
|
|
5
5
|
from homeassistant.components.recorder import get_instance as get_instance, history as history
|
6
6
|
from homeassistant.components.sensor import ATTR_STATE_CLASS as ATTR_STATE_CLASS, PLATFORM_SCHEMA as PLATFORM_SCHEMA, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
|
7
7
|
from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_ICON as ATTR_ICON, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
8
|
-
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback
|
8
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
-
from homeassistant.helpers.event import
|
10
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
11
11
|
from homeassistant.helpers.reload import async_setup_reload_service as async_setup_reload_service
|
12
12
|
from homeassistant.helpers.start import async_at_started as async_at_started
|
13
13
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, StateType as StateType
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from .common import AvmWrapper as AvmWrapper, FritzData as FritzData
|
2
|
-
from .const import DATA_FRITZ as DATA_FRITZ, DOMAIN as DOMAIN, FRITZ_AUTH_EXCEPTIONS as FRITZ_AUTH_EXCEPTIONS, FRITZ_EXCEPTIONS as FRITZ_EXCEPTIONS, PLATFORMS as PLATFORMS
|
2
|
+
from .const import DATA_FRITZ as DATA_FRITZ, DEFAULT_SSL as DEFAULT_SSL, DOMAIN as DOMAIN, FRITZ_AUTH_EXCEPTIONS as FRITZ_AUTH_EXCEPTIONS, FRITZ_EXCEPTIONS as FRITZ_EXCEPTIONS, PLATFORMS as PLATFORMS
|
3
3
|
from .services import async_setup_services as async_setup_services, async_unload_services as async_unload_services
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
-
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
|
6
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
9
9
|
|
@@ -1,13 +1,14 @@
|
|
1
|
-
from .common import AvmWrapper as AvmWrapper
|
2
|
-
from .const import DOMAIN as DOMAIN
|
1
|
+
from .common import AvmWrapper as AvmWrapper, FritzData as FritzData, FritzDevice as FritzDevice, FritzDeviceBase as FritzDeviceBase, _is_tracked as _is_tracked
|
2
|
+
from .const import BUTTON_TYPE_WOL as BUTTON_TYPE_WOL, CONNECTION_TYPE_LAN as CONNECTION_TYPE_LAN, DATA_FRITZ as DATA_FRITZ, DOMAIN as DOMAIN, MeshRoles as MeshRoles
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Callable as Callable
|
5
5
|
from dataclasses import dataclass
|
6
6
|
from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.const import EntityCategory as EntityCategory
|
9
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
10
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
11
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
11
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
13
|
from typing import Final
|
13
14
|
|
@@ -30,3 +31,15 @@ class FritzButton(ButtonEntity):
|
|
30
31
|
_attr_device_info: Incomplete
|
31
32
|
def __init__(self, avm_wrapper: AvmWrapper, device_friendly_name: str, description: FritzButtonDescription) -> None: ...
|
32
33
|
async def async_press(self) -> None: ...
|
34
|
+
|
35
|
+
def _async_wol_buttons_list(avm_wrapper: AvmWrapper, data_fritz: FritzData) -> list[FritzBoxWOLButton]: ...
|
36
|
+
|
37
|
+
class FritzBoxWOLButton(FritzDeviceBase, ButtonEntity):
|
38
|
+
_attr_icon: str
|
39
|
+
_attr_entity_registry_enabled_default: bool
|
40
|
+
_name: Incomplete
|
41
|
+
_attr_unique_id: Incomplete
|
42
|
+
_is_available: bool
|
43
|
+
_attr_device_info: Incomplete
|
44
|
+
def __init__(self, avm_wrapper: AvmWrapper, device: FritzDevice) -> None: ...
|
45
|
+
async def async_press(self) -> None: ...
|