homeassistant-stubs 2025.3.3__py3-none-any.whl → 2025.4.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/bootstrap.pyi +3 -2
- homeassistant-stubs/components/accuweather/const.pyi +3 -1
- homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
- homeassistant-stubs/components/anova/config_flow.pyi +4 -1
- homeassistant-stubs/components/anthemav/media_player.pyi +2 -0
- homeassistant-stubs/components/arwn/sensor.pyi +3 -2
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +14 -5
- homeassistant-stubs/components/assist_satellite/const.pyi +3 -0
- homeassistant-stubs/components/assist_satellite/entity.pyi +6 -4
- homeassistant-stubs/components/azure_storage/__init__.pyi +1 -1
- homeassistant-stubs/components/azure_storage/backup.pyi +1 -1
- homeassistant-stubs/components/azure_storage/config_flow.pyi +7 -0
- homeassistant-stubs/components/backup/__init__.pyi +2 -2
- homeassistant-stubs/components/backup/agent.pyi +1 -1
- homeassistant-stubs/components/backup/backup.pyi +1 -1
- homeassistant-stubs/components/backup/config_flow.pyi +7 -0
- homeassistant-stubs/components/backup/coordinator.pyi +28 -0
- homeassistant-stubs/components/backup/diagnostics.pyi +7 -0
- homeassistant-stubs/components/backup/entity.pyi +13 -0
- homeassistant-stubs/components/backup/http.pyi +1 -0
- homeassistant-stubs/components/backup/manager.pyi +8 -3
- homeassistant-stubs/components/backup/sensor.pyi +23 -0
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +12 -0
- homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +31 -0
- homeassistant-stubs/components/bosch_alarm/config_flow.pyi +20 -0
- homeassistant-stubs/components/bosch_alarm/const.pyi +4 -0
- homeassistant-stubs/components/bring/diagnostics.pyi +5 -0
- homeassistant-stubs/components/brother/__init__.pyi +1 -0
- homeassistant-stubs/components/brother/coordinator.pyi +1 -0
- homeassistant-stubs/components/cloud/backup.pyi +3 -3
- homeassistant-stubs/components/cloud/http_api.pyi +6 -3
- homeassistant-stubs/components/cloud/tts.pyi +2 -2
- homeassistant-stubs/components/comelit/__init__.pyi +11 -0
- homeassistant-stubs/components/comelit/alarm_control_panel.pyi +44 -0
- homeassistant-stubs/components/comelit/binary_sensor.pyi +22 -0
- homeassistant-stubs/components/comelit/climate.pyi +60 -0
- homeassistant-stubs/components/comelit/config_flow.pyi +28 -0
- homeassistant-stubs/components/comelit/const.pyi +7 -0
- homeassistant-stubs/components/comelit/coordinator.pyi +38 -0
- homeassistant-stubs/components/comelit/cover.pyi +39 -0
- homeassistant-stubs/components/comelit/diagnostics.pyi +10 -0
- homeassistant-stubs/components/comelit/humidifier.pyi +61 -0
- homeassistant-stubs/components/comelit/light.pyi +28 -0
- homeassistant-stubs/components/comelit/sensor.pyi +45 -0
- homeassistant-stubs/components/comelit/switch.pyi +27 -0
- homeassistant-stubs/components/cover/reproduce_state.pyi +17 -6
- homeassistant-stubs/components/demo/valve.pyi +30 -0
- homeassistant-stubs/components/discovergy/__init__.pyi +1 -1
- homeassistant-stubs/components/energy/data.pyi +1 -0
- homeassistant-stubs/components/enigma2/config_flow.pyi +1 -0
- homeassistant-stubs/components/esphome/__init__.pyi +1 -1
- homeassistant-stubs/components/esphome/assist_satellite.pyi +2 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +1 -0
- homeassistant-stubs/components/esphome/const.pyi +1 -0
- homeassistant-stubs/components/esphome/diagnostics.pyi +0 -1
- homeassistant-stubs/components/esphome/event.pyi +2 -0
- homeassistant-stubs/components/esphome/manager.pyi +1 -1
- homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
- homeassistant-stubs/components/frontend/__init__.pyi +9 -10
- homeassistant-stubs/components/frontend/storage.pyi +2 -1
- homeassistant-stubs/components/gios/__init__.pyi +1 -0
- homeassistant-stubs/components/gios/config_flow.pyi +1 -0
- homeassistant-stubs/components/gios/coordinator.pyi +2 -2
- homeassistant-stubs/components/google/calendar.pyi +3 -2
- homeassistant-stubs/components/google_drive/backup.pyi +2 -2
- homeassistant-stubs/components/habitica/const.pyi +25 -0
- homeassistant-stubs/components/habitica/services.pyi +6 -2
- homeassistant-stubs/components/heos/const.pyi +1 -0
- homeassistant-stubs/components/heos/coordinator.pyi +5 -5
- homeassistant-stubs/components/heos/media_player.pyi +18 -8
- homeassistant-stubs/components/home_connect/__init__.pyi +6 -17
- homeassistant-stubs/components/home_connect/button.pyi +0 -2
- homeassistant-stubs/components/home_connect/const.pyi +1 -6
- homeassistant-stubs/components/home_connect/coordinator.pyi +4 -2
- homeassistant-stubs/components/home_connect/entity.pyi +7 -2
- homeassistant-stubs/components/home_connect/light.pyi +1 -1
- homeassistant-stubs/components/home_connect/number.pyi +4 -3
- homeassistant-stubs/components/home_connect/select.pyi +7 -3
- homeassistant-stubs/components/home_connect/sensor.pyi +3 -1
- homeassistant-stubs/components/home_connect/services.pyi +35 -0
- homeassistant-stubs/components/home_connect/switch.pyi +2 -1
- homeassistant-stubs/components/home_connect/time.pyi +6 -1
- homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +15 -0
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +2 -1
- homeassistant-stubs/components/homeassistant_hardware/update.pyi +68 -0
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +6 -1
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +7 -1
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +10 -0
- homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +29 -0
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/const.pyi +4 -0
- homeassistant-stubs/components/homeassistant_yellow/update.pyi +29 -0
- homeassistant-stubs/components/homee/binary_sensor.pyi +21 -0
- homeassistant-stubs/components/homee/button.pyi +1 -0
- homeassistant-stubs/components/homee/cover.pyi +1 -0
- homeassistant-stubs/components/homee/light.pyi +1 -0
- homeassistant-stubs/components/homee/lock.pyi +25 -0
- homeassistant-stubs/components/homee/number.pyi +1 -0
- homeassistant-stubs/components/homee/select.pyi +23 -0
- homeassistant-stubs/components/homee/sensor.pyi +2 -0
- homeassistant-stubs/components/homee/switch.pyi +2 -0
- homeassistant-stubs/components/homee/valve.pyi +1 -0
- homeassistant-stubs/components/homekit/__init__.pyi +3 -1
- homeassistant-stubs/components/homekit/accessories.pyi +1 -0
- homeassistant-stubs/components/homekit/type_switches.pyi +6 -0
- homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +7 -7
- homeassistant-stubs/components/incomfort/config_flow.pyi +1 -0
- homeassistant-stubs/components/iron_os/coordinator.pyi +2 -0
- homeassistant-stubs/components/iron_os/number.pyi +2 -0
- homeassistant-stubs/components/iron_os/select.pyi +3 -0
- homeassistant-stubs/components/jewish_calendar/__init__.pyi +9 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/jewish_calendar/const.pyi +3 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -2
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +5 -6
- homeassistant-stubs/components/jewish_calendar/service.pyi +10 -0
- homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -0
- homeassistant-stubs/components/linkplay/entity.pyi +0 -1
- homeassistant-stubs/components/linkplay/media_player.pyi +3 -2
- homeassistant-stubs/components/linkplay/utils.pyi +0 -32
- homeassistant-stubs/components/lovelace/__init__.pyi +3 -1
- homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
- homeassistant-stubs/components/mastodon/config_flow.pyi +2 -1
- homeassistant-stubs/components/mastodon/const.pyi +0 -7
- homeassistant-stubs/components/mastodon/coordinator.pyi +5 -5
- homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -1
- homeassistant-stubs/components/mastodon/entity.pyi +1 -1
- homeassistant-stubs/components/mastodon/notify.pyi +3 -2
- homeassistant-stubs/components/mastodon/sensor.pyi +2 -3
- homeassistant-stubs/components/mastodon/services.pyi +1 -0
- homeassistant-stubs/components/mastodon/utils.pyi +3 -2
- homeassistant-stubs/components/mcp/coordinator.pyi +2 -9
- homeassistant-stubs/components/mcp_server/config_flow.pyi +1 -1
- homeassistant-stubs/components/mcp_server/const.pyi +1 -2
- homeassistant-stubs/components/mcp_server/server.pyi +1 -0
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/climate.pyi +6 -2
- homeassistant-stubs/components/modbus/const.pyi +10 -0
- homeassistant-stubs/components/mqtt/config_flow.pyi +95 -7
- homeassistant-stubs/components/mqtt/const.pyi +65 -0
- homeassistant-stubs/components/mqtt/cover.pyi +2 -0
- homeassistant-stubs/components/mqtt/entity.pyi +4 -4
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -2
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -48
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -14
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +3 -14
- homeassistant-stubs/components/mqtt/models.pyi +25 -1
- homeassistant-stubs/components/mqtt/sensor.pyi +6 -5
- homeassistant-stubs/components/mqtt/update.pyi +1 -1
- homeassistant-stubs/components/mqtt/util.pyi +2 -0
- homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
- homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/mysensors/climate.pyi +0 -1
- homeassistant-stubs/components/mysensors/const.pyi +0 -1
- homeassistant-stubs/components/mysensors/cover.pyi +1 -2
- homeassistant-stubs/components/mysensors/device_tracker.pyi +0 -1
- homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
- homeassistant-stubs/components/mysensors/helpers.pyi +1 -3
- homeassistant-stubs/components/mysensors/light.pyi +4 -5
- homeassistant-stubs/components/mysensors/remote.pyi +0 -1
- homeassistant-stubs/components/mysensors/sensor.pyi +0 -1
- homeassistant-stubs/components/mysensors/switch.pyi +1 -2
- homeassistant-stubs/components/mysensors/text.pyi +0 -1
- homeassistant-stubs/components/nam/button.pyi +2 -0
- homeassistant-stubs/components/nam/const.pyi +1 -0
- homeassistant-stubs/components/nam/sensor.pyi +2 -2
- homeassistant-stubs/components/nest/media_source.pyi +5 -0
- homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
- homeassistant-stubs/components/nextdns/button.pyi +2 -0
- homeassistant-stubs/components/nextdns/config_flow.pyi +1 -0
- homeassistant-stubs/components/nextdns/switch.pyi +1 -0
- homeassistant-stubs/components/nut/__init__.pyi +1 -0
- homeassistant-stubs/components/nut/button.pyi +14 -0
- homeassistant-stubs/components/nut/entity.pyi +19 -0
- homeassistant-stubs/components/nut/sensor.pyi +8 -13
- homeassistant-stubs/components/nut/switch.pyi +18 -0
- homeassistant-stubs/components/onboarding/views.pyi +2 -1
- homeassistant-stubs/components/onedrive/__init__.pyi +4 -0
- homeassistant-stubs/components/onedrive/backup.pyi +1 -1
- homeassistant-stubs/components/onedrive/services.pyi +15 -0
- homeassistant-stubs/components/openai_conversation/__init__.pyi +5 -1
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +5 -2
- homeassistant-stubs/components/openai_conversation/const.pyi +22 -11
- homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -7
- homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +1 -0
- homeassistant-stubs/components/overkiz/water_heater/atlantic_domestic_hot_water_production_v2_io_component.pyi +41 -0
- homeassistant-stubs/components/purpleair/__init__.pyi +5 -10
- homeassistant-stubs/components/purpleair/const.pyi +6 -4
- homeassistant-stubs/components/purpleair/coordinator.pyi +3 -2
- homeassistant-stubs/components/purpleair/diagnostics.pyi +2 -4
- homeassistant-stubs/components/purpleair/entity.pyi +2 -3
- homeassistant-stubs/components/purpleair/sensor.pyi +4 -5
- homeassistant-stubs/components/pyload/__init__.pyi +12 -0
- homeassistant-stubs/components/pyload/button.pyi +32 -0
- homeassistant-stubs/components/pyload/config_flow.pyi +23 -0
- homeassistant-stubs/components/pyload/const.pyi +6 -0
- homeassistant-stubs/components/pyload/coordinator.pyi +34 -0
- homeassistant-stubs/components/pyload/diagnostics.pyi +10 -0
- homeassistant-stubs/components/pyload/entity.pyi +13 -0
- homeassistant-stubs/components/pyload/sensor.pyi +33 -0
- homeassistant-stubs/components/pyload/switch.pyi +37 -0
- homeassistant-stubs/components/qbus/climate.pyi +41 -0
- homeassistant-stubs/components/qbus/light.pyi +3 -3
- homeassistant-stubs/components/recorder/const.pyi +1 -0
- homeassistant-stubs/components/recorder/core.pyi +1 -2
- homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
- homeassistant-stubs/components/recorder/migration.pyi +16 -2
- homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
- homeassistant-stubs/components/recorder/models/statistics.pyi +10 -2
- homeassistant-stubs/components/recorder/statistics.pyi +27 -9
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/remote_calendar/__init__.pyi +11 -0
- homeassistant-stubs/components/remote_calendar/calendar.pyi +26 -0
- homeassistant-stubs/components/remote_calendar/config_flow.pyi +13 -0
- homeassistant-stubs/components/remote_calendar/const.pyi +2 -0
- homeassistant-stubs/components/remote_calendar/coordinator.pyi +20 -0
- homeassistant-stubs/components/remote_calendar/diagnostics.pyi +5 -0
- homeassistant-stubs/components/renault/config_flow.pyi +1 -0
- homeassistant-stubs/components/reolink/__init__.pyi +1 -1
- homeassistant-stubs/components/reolink/binary_sensor.pyi +17 -1
- homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
- homeassistant-stubs/components/reolink/const.pyi +1 -0
- homeassistant-stubs/components/reolink/host.pyi +4 -4
- homeassistant-stubs/components/reolink/number.pyi +21 -1
- homeassistant-stubs/components/reolink/select.pyi +17 -1
- homeassistant-stubs/components/reolink/update.pyi +2 -1
- homeassistant-stubs/components/reolink/util.pyi +7 -0
- homeassistant-stubs/components/roborock/__init__.pyi +5 -3
- homeassistant-stubs/components/roborock/binary_sensor.pyi +4 -1
- homeassistant-stubs/components/roborock/button.pyi +11 -1
- homeassistant-stubs/components/roborock/config_flow.pyi +7 -3
- homeassistant-stubs/components/roborock/const.pyi +7 -1
- homeassistant-stubs/components/roborock/coordinator.pyi +18 -3
- homeassistant-stubs/components/roborock/entity.pyi +3 -1
- homeassistant-stubs/components/roborock/image.pyi +2 -7
- homeassistant-stubs/components/roborock/models.pyi +7 -0
- homeassistant-stubs/components/roborock/number.pyi +1 -0
- homeassistant-stubs/components/roborock/select.pyi +7 -5
- homeassistant-stubs/components/roborock/sensor.pyi +14 -1
- homeassistant-stubs/components/roborock/switch.pyi +2 -0
- homeassistant-stubs/components/roborock/time.pyi +1 -0
- homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
- homeassistant-stubs/components/sensor/const.pyi +2 -0
- homeassistant-stubs/components/sensor/recorder.pyi +15 -3
- homeassistant-stubs/components/shelly/__init__.pyi +2 -2
- homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +4 -2
- homeassistant-stubs/components/shelly/button.pyi +22 -7
- homeassistant-stubs/components/shelly/climate.pyi +1 -1
- homeassistant-stubs/components/shelly/config_flow.pyi +5 -5
- homeassistant-stubs/components/shelly/const.pyi +0 -1
- homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
- homeassistant-stubs/components/shelly/diagnostics.pyi +1 -2
- homeassistant-stubs/components/shelly/entity.pyi +1 -3
- homeassistant-stubs/components/shelly/event.pyi +1 -1
- homeassistant-stubs/components/shelly/number.pyi +1 -1
- homeassistant-stubs/components/shelly/sensor.pyi +2 -2
- homeassistant-stubs/components/shelly/switch.pyi +14 -14
- homeassistant-stubs/components/shelly/update.pyi +1 -1
- homeassistant-stubs/components/shelly/utils.pyi +6 -2
- homeassistant-stubs/components/skybell/config_flow.pyi +3 -0
- homeassistant-stubs/components/smlight/__init__.pyi +0 -2
- homeassistant-stubs/components/smlight/sensor.pyi +5 -2
- homeassistant-stubs/components/smlight/update.pyi +0 -1
- homeassistant-stubs/components/squeezebox/browse_media.pyi +6 -11
- homeassistant-stubs/components/squeezebox/button.pyi +31 -0
- homeassistant-stubs/components/squeezebox/entity.pyi +8 -2
- homeassistant-stubs/components/squeezebox/media_player.pyi +3 -5
- homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -7
- homeassistant-stubs/components/synology_dsm/backup.pyi +3 -4
- homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -5
- homeassistant-stubs/components/synology_dsm/button.pyi +2 -3
- homeassistant-stubs/components/synology_dsm/camera.pyi +2 -4
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +3 -2
- homeassistant-stubs/components/synology_dsm/coordinator.pyi +15 -5
- homeassistant-stubs/components/synology_dsm/diagnostics.pyi +3 -4
- homeassistant-stubs/components/synology_dsm/media_source.pyi +3 -1
- homeassistant-stubs/components/synology_dsm/repairs.pyi +2 -3
- homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -5
- homeassistant-stubs/components/synology_dsm/service.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/switch.pyi +2 -4
- homeassistant-stubs/components/synology_dsm/update.pyi +2 -5
- homeassistant-stubs/components/tibber/coordinator.pyi +1 -1
- homeassistant-stubs/components/todo/intent.pyi +8 -0
- homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -0
- homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -0
- homeassistant-stubs/components/tts/__init__.pyi +66 -51
- homeassistant-stubs/components/tts/entity.pyi +54 -0
- homeassistant-stubs/components/tts/media_source.pyi +1 -1
- homeassistant-stubs/components/update/__init__.pyi +2 -2
- homeassistant-stubs/components/usb/__init__.pyi +1 -5
- homeassistant-stubs/components/usb/utils.pyi +2 -0
- homeassistant-stubs/components/vodafone_station/__init__.pyi +11 -0
- homeassistant-stubs/components/vodafone_station/button.pyi +31 -0
- homeassistant-stubs/components/vodafone_station/config_flow.pyi +29 -0
- homeassistant-stubs/components/vodafone_station/const.pyi +9 -0
- homeassistant-stubs/components/vodafone_station/coordinator.pyi +43 -0
- homeassistant-stubs/components/vodafone_station/device_tracker.pyi +30 -0
- homeassistant-stubs/components/vodafone_station/diagnostics.pyi +10 -0
- homeassistant-stubs/components/vodafone_station/helpers.pyi +8 -0
- homeassistant-stubs/components/vodafone_station/sensor.pyi +38 -0
- homeassistant-stubs/components/zwave_js/__init__.pyi +5 -9
- homeassistant-stubs/components/zwave_js/api.pyi +15 -0
- homeassistant-stubs/components/zwave_js/config_flow.pyi +0 -1
- homeassistant-stubs/config_entries.pyi +2 -5
- homeassistant-stubs/helpers/backup.pyi +4 -1
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +14 -0
- homeassistant-stubs/helpers/config_validation.pyi +5 -2
- homeassistant-stubs/helpers/frame.pyi +14 -5
- homeassistant-stubs/helpers/intent.pyi +13 -4
- homeassistant-stubs/helpers/llm.pyi +7 -1
- homeassistant-stubs/helpers/script.pyi +1 -1
- homeassistant-stubs/helpers/selector.pyi +1 -0
- homeassistant-stubs/helpers/template.pyi +14 -1
- homeassistant-stubs/loader.pyi +18 -8
- homeassistant-stubs/scripts/check_config.pyi +0 -1
- homeassistant-stubs/util/logging.pyi +18 -1
- homeassistant-stubs/util/unit_conversion.pyi +3 -0
- homeassistant-stubs/util/unit_system.pyi +12 -10
- homeassistant-stubs/util/yaml/__init__.pyi +3 -4
- homeassistant-stubs/util/yaml/dumper.pyi +2 -8
- homeassistant-stubs/util/yaml/input.pyi +2 -9
- homeassistant-stubs/util/yaml/loader.pyi +4 -72
- homeassistant-stubs/util/yaml/objects.pyi +2 -26
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/RECORD +331 -270
- homeassistant-stubs/components/mcp_server/llm_api.pyi +0 -15
- homeassistant-stubs/components/synology_dsm/models.pyi +0 -10
- homeassistant-stubs/util/yaml/const.pyi +0 -1
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,11 +1,11 @@
|
|
1
|
-
from .const import ATTR_BME280_HUMIDITY as ATTR_BME280_HUMIDITY, ATTR_BME280_PRESSURE as ATTR_BME280_PRESSURE, ATTR_BME280_TEMPERATURE as ATTR_BME280_TEMPERATURE, ATTR_BMP180_PRESSURE as ATTR_BMP180_PRESSURE, ATTR_BMP180_TEMPERATURE as ATTR_BMP180_TEMPERATURE, ATTR_BMP280_PRESSURE as ATTR_BMP280_PRESSURE, ATTR_BMP280_TEMPERATURE as ATTR_BMP280_TEMPERATURE, ATTR_DHT22_HUMIDITY as ATTR_DHT22_HUMIDITY, ATTR_DHT22_TEMPERATURE as ATTR_DHT22_TEMPERATURE, ATTR_DS18B20_TEMPERATURE as ATTR_DS18B20_TEMPERATURE, ATTR_HECA_HUMIDITY as ATTR_HECA_HUMIDITY, ATTR_HECA_TEMPERATURE as ATTR_HECA_TEMPERATURE, ATTR_MHZ14A_CARBON_DIOXIDE as ATTR_MHZ14A_CARBON_DIOXIDE, ATTR_PMSX003_CAQI as ATTR_PMSX003_CAQI, ATTR_PMSX003_CAQI_LEVEL as ATTR_PMSX003_CAQI_LEVEL, ATTR_PMSX003_P0 as ATTR_PMSX003_P0, ATTR_PMSX003_P1 as ATTR_PMSX003_P1, ATTR_PMSX003_P2 as ATTR_PMSX003_P2, ATTR_SDS011_CAQI as ATTR_SDS011_CAQI, ATTR_SDS011_CAQI_LEVEL as ATTR_SDS011_CAQI_LEVEL, ATTR_SDS011_P1 as ATTR_SDS011_P1, ATTR_SDS011_P2 as ATTR_SDS011_P2, ATTR_SHT3X_HUMIDITY as ATTR_SHT3X_HUMIDITY, ATTR_SHT3X_TEMPERATURE as ATTR_SHT3X_TEMPERATURE, ATTR_SIGNAL_STRENGTH as ATTR_SIGNAL_STRENGTH, ATTR_SPS30_CAQI as ATTR_SPS30_CAQI, ATTR_SPS30_CAQI_LEVEL as ATTR_SPS30_CAQI_LEVEL, ATTR_SPS30_P0 as ATTR_SPS30_P0, ATTR_SPS30_P1 as ATTR_SPS30_P1, ATTR_SPS30_P2 as ATTR_SPS30_P2, ATTR_SPS30_P4 as ATTR_SPS30_P4, ATTR_UPTIME as ATTR_UPTIME, DOMAIN as DOMAIN, MIGRATION_SENSORS as MIGRATION_SENSORS
|
1
|
+
from .const import ATTR_BH1750_ILLUMINANCE as ATTR_BH1750_ILLUMINANCE, ATTR_BME280_HUMIDITY as ATTR_BME280_HUMIDITY, ATTR_BME280_PRESSURE as ATTR_BME280_PRESSURE, ATTR_BME280_TEMPERATURE as ATTR_BME280_TEMPERATURE, ATTR_BMP180_PRESSURE as ATTR_BMP180_PRESSURE, ATTR_BMP180_TEMPERATURE as ATTR_BMP180_TEMPERATURE, ATTR_BMP280_PRESSURE as ATTR_BMP280_PRESSURE, ATTR_BMP280_TEMPERATURE as ATTR_BMP280_TEMPERATURE, ATTR_DHT22_HUMIDITY as ATTR_DHT22_HUMIDITY, ATTR_DHT22_TEMPERATURE as ATTR_DHT22_TEMPERATURE, ATTR_DS18B20_TEMPERATURE as ATTR_DS18B20_TEMPERATURE, ATTR_HECA_HUMIDITY as ATTR_HECA_HUMIDITY, ATTR_HECA_TEMPERATURE as ATTR_HECA_TEMPERATURE, ATTR_MHZ14A_CARBON_DIOXIDE as ATTR_MHZ14A_CARBON_DIOXIDE, ATTR_PMSX003_CAQI as ATTR_PMSX003_CAQI, ATTR_PMSX003_CAQI_LEVEL as ATTR_PMSX003_CAQI_LEVEL, ATTR_PMSX003_P0 as ATTR_PMSX003_P0, ATTR_PMSX003_P1 as ATTR_PMSX003_P1, ATTR_PMSX003_P2 as ATTR_PMSX003_P2, ATTR_SDS011_CAQI as ATTR_SDS011_CAQI, ATTR_SDS011_CAQI_LEVEL as ATTR_SDS011_CAQI_LEVEL, ATTR_SDS011_P1 as ATTR_SDS011_P1, ATTR_SDS011_P2 as ATTR_SDS011_P2, ATTR_SHT3X_HUMIDITY as ATTR_SHT3X_HUMIDITY, ATTR_SHT3X_TEMPERATURE as ATTR_SHT3X_TEMPERATURE, ATTR_SIGNAL_STRENGTH as ATTR_SIGNAL_STRENGTH, ATTR_SPS30_CAQI as ATTR_SPS30_CAQI, ATTR_SPS30_CAQI_LEVEL as ATTR_SPS30_CAQI_LEVEL, ATTR_SPS30_P0 as ATTR_SPS30_P0, ATTR_SPS30_P1 as ATTR_SPS30_P1, ATTR_SPS30_P2 as ATTR_SPS30_P2, ATTR_SPS30_P4 as ATTR_SPS30_P4, ATTR_UPTIME as ATTR_UPTIME, DOMAIN as DOMAIN, MIGRATION_SENSORS as MIGRATION_SENSORS
|
2
2
|
from .coordinator import NAMConfigEntry as NAMConfigEntry, NAMDataUpdateCoordinator as NAMDataUpdateCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Callable as Callable
|
5
5
|
from dataclasses import dataclass
|
6
6
|
from datetime import datetime
|
7
7
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
8
|
-
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature
|
8
|
+
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
11
|
from homeassistant.helpers.typing import StateType as StateType
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import datetime
|
1
2
|
from .const import DOMAIN as DOMAIN
|
2
3
|
from .device_info import NestDeviceInfo as NestDeviceInfo, async_nest_devices_by_device_id as async_nest_devices_by_device_id
|
3
4
|
from .events import EVENT_NAME_MAP as EVENT_NAME_MAP, MEDIA_SOURCE_EVENT_TITLE_MAP as MEDIA_SOURCE_EVENT_TITLE_MAP
|
@@ -13,6 +14,7 @@ from homeassistant.components.ffmpeg import get_ffmpeg_manager as get_ffmpeg_man
|
|
13
14
|
from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass, MediaType as MediaType
|
14
15
|
from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
|
15
16
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
17
|
+
from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
|
16
18
|
from homeassistant.helpers.storage import Store as Store
|
17
19
|
from homeassistant.helpers.template import DATE_STR_FORMAT as DATE_STR_FORMAT
|
18
20
|
from typing import Any
|
@@ -28,6 +30,7 @@ STORAGE_VERSION: int
|
|
28
30
|
STORAGE_SAVE_DELAY_SECONDS: int
|
29
31
|
MEDIA_PATH: Incomplete
|
30
32
|
DISK_READ_LRU_MAX_SIZE: int
|
33
|
+
ORPHANED_MEDIA_AGE_CUTOFF: Incomplete
|
31
34
|
|
32
35
|
async def async_get_media_event_store(hass: HomeAssistant, subscriber: GoogleNestSubscriber) -> EventMediaStore: ...
|
33
36
|
async def async_get_transcoder(hass: HomeAssistant) -> Transcoder: ...
|
@@ -52,6 +55,8 @@ class NestEventMediaStore(EventMediaStore):
|
|
52
55
|
async def async_save_media(self, media_key: str, content: bytes) -> None: ...
|
53
56
|
async def async_remove_media(self, media_key: str) -> None: ...
|
54
57
|
async def _get_devices(self) -> Mapping[str, str]: ...
|
58
|
+
async def async_remove_orphaned_media(self, now: datetime.datetime) -> None: ...
|
59
|
+
async def _get_valid_event_timestamps(self) -> dict[str, set[int]]: ...
|
55
60
|
|
56
61
|
async def async_get_media_source(hass: HomeAssistant) -> MediaSource: ...
|
57
62
|
@callback
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import ATTR_CONNECTION as ATTR_CONNECTION, ATTR_DNSSEC as ATTR_DNSSEC, ATTR_ENCRYPTION as ATTR_ENCRYPTION, ATTR_IP_VERSIONS as ATTR_IP_VERSIONS, ATTR_PROTOCOLS as ATTR_PROTOCOLS, ATTR_SETTINGS as ATTR_SETTINGS, ATTR_STATUS as ATTR_STATUS, CONF_PROFILE_ID as CONF_PROFILE_ID, UPDATE_INTERVAL_ANALYTICS as UPDATE_INTERVAL_ANALYTICS, UPDATE_INTERVAL_CONNECTION as UPDATE_INTERVAL_CONNECTION, UPDATE_INTERVAL_SETTINGS as UPDATE_INTERVAL_SETTINGS
|
1
|
+
from .const import ATTR_CONNECTION as ATTR_CONNECTION, ATTR_DNSSEC as ATTR_DNSSEC, ATTR_ENCRYPTION as ATTR_ENCRYPTION, ATTR_IP_VERSIONS as ATTR_IP_VERSIONS, ATTR_PROTOCOLS as ATTR_PROTOCOLS, ATTR_SETTINGS as ATTR_SETTINGS, ATTR_STATUS as ATTR_STATUS, CONF_PROFILE_ID as CONF_PROFILE_ID, DOMAIN as DOMAIN, UPDATE_INTERVAL_ANALYTICS as UPDATE_INTERVAL_ANALYTICS, UPDATE_INTERVAL_CONNECTION as UPDATE_INTERVAL_CONNECTION, UPDATE_INTERVAL_SETTINGS as UPDATE_INTERVAL_SETTINGS
|
2
2
|
from .coordinator import NextDnsConnectionUpdateCoordinator as NextDnsConnectionUpdateCoordinator, NextDnsDnssecUpdateCoordinator as NextDnsDnssecUpdateCoordinator, NextDnsEncryptionUpdateCoordinator as NextDnsEncryptionUpdateCoordinator, NextDnsIpVersionsUpdateCoordinator as NextDnsIpVersionsUpdateCoordinator, NextDnsProtocolsUpdateCoordinator as NextDnsProtocolsUpdateCoordinator, NextDnsSettingsUpdateCoordinator as NextDnsSettingsUpdateCoordinator, NextDnsStatusUpdateCoordinator as NextDnsStatusUpdateCoordinator, NextDnsUpdateCoordinator as NextDnsUpdateCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from dataclasses import dataclass
|
@@ -1,9 +1,11 @@
|
|
1
1
|
from . import NextDnsConfigEntry as NextDnsConfigEntry
|
2
|
+
from .const import DOMAIN as DOMAIN
|
2
3
|
from .coordinator import NextDnsUpdateCoordinator as NextDnsUpdateCoordinator
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
5
6
|
from homeassistant.const import EntityCategory as EntityCategory
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
7
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
8
10
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
9
11
|
from nextdns import AnalyticsStatus
|
@@ -41,6 +41,7 @@ class PyNUTData:
|
|
41
41
|
_alias: Incomplete
|
42
42
|
_client: Incomplete
|
43
43
|
ups_list: dict[str, str] | None
|
44
|
+
device_name: str | None
|
44
45
|
_status: dict[str, str] | None
|
45
46
|
_device_info: NUTDeviceInfo | None
|
46
47
|
def __init__(self, host: str, port: int, alias: str | None, username: str | None, password: str | None, persistent: bool = True) -> None: ...
|
@@ -0,0 +1,14 @@
|
|
1
|
+
from . import NutConfigEntry as NutConfigEntry
|
2
|
+
from .entity import NUTBaseEntity as NUTBaseEntity
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
7
|
+
|
8
|
+
_LOGGER: Incomplete
|
9
|
+
PARALLEL_UPDATES: int
|
10
|
+
|
11
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: NutConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
12
|
+
|
13
|
+
class NUTButton(NUTBaseEntity, ButtonEntity):
|
14
|
+
async def async_press(self) -> None: ...
|
@@ -0,0 +1,19 @@
|
|
1
|
+
from . import PyNUTData as PyNUTData
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.const import ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_SERIAL_NUMBER as ATTR_SERIAL_NUMBER, ATTR_SW_VERSION as ATTR_SW_VERSION
|
5
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
6
|
+
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
7
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
|
8
|
+
|
9
|
+
NUT_DEV_INFO_TO_DEV_INFO: dict[str, str]
|
10
|
+
|
11
|
+
class NUTBaseEntity(CoordinatorEntity[DataUpdateCoordinator]):
|
12
|
+
_attr_has_entity_name: bool
|
13
|
+
entity_description: Incomplete
|
14
|
+
_attr_unique_id: Incomplete
|
15
|
+
pynut_data: Incomplete
|
16
|
+
_attr_device_info: Incomplete
|
17
|
+
def __init__(self, coordinator: DataUpdateCoordinator, entity_description: EntityDescription, data: PyNUTData, unique_id: str) -> None: ...
|
18
|
+
|
19
|
+
def _get_nut_device_info(data: PyNUTData) -> DeviceInfo: ...
|
@@ -1,28 +1,23 @@
|
|
1
|
-
from . import NutConfigEntry as NutConfigEntry
|
2
|
-
from .const import
|
1
|
+
from . import NutConfigEntry as NutConfigEntry
|
2
|
+
from .const import KEY_STATUS as KEY_STATUS, KEY_STATUS_DISPLAY as KEY_STATUS_DISPLAY, STATE_TYPES as STATE_TYPES
|
3
|
+
from .entity import NUTBaseEntity as NUTBaseEntity
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
5
|
-
from homeassistant.const import
|
6
|
+
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
-
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
8
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
|
-
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
|
10
9
|
from typing import Final
|
11
10
|
|
12
|
-
|
11
|
+
PARALLEL_UPDATES: int
|
12
|
+
AMBIENT_PRESENT: str
|
13
|
+
AMBIENT_SENSORS: Incomplete
|
13
14
|
AMBIENT_THRESHOLD_STATUS_OPTIONS: Incomplete
|
14
15
|
_LOGGER: Incomplete
|
15
16
|
SENSOR_TYPES: Final[dict[str, SensorEntityDescription]]
|
16
17
|
|
17
|
-
def _get_nut_device_info(data: PyNUTData) -> DeviceInfo: ...
|
18
18
|
async def async_setup_entry(hass: HomeAssistant, config_entry: NutConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
19
19
|
|
20
|
-
class NUTSensor(
|
21
|
-
_attr_has_entity_name: bool
|
22
|
-
entity_description: Incomplete
|
23
|
-
_attr_unique_id: Incomplete
|
24
|
-
_attr_device_info: Incomplete
|
25
|
-
def __init__(self, coordinator: DataUpdateCoordinator[dict[str, str]], sensor_description: SensorEntityDescription, data: PyNUTData, unique_id: str) -> None: ...
|
20
|
+
class NUTSensor(NUTBaseEntity, SensorEntity):
|
26
21
|
@property
|
27
22
|
def native_value(self) -> str | None: ...
|
28
23
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
from . import NutConfigEntry as NutConfigEntry
|
2
|
+
from .entity import NUTBaseEntity as NUTBaseEntity
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
7
|
+
from typing import Any
|
8
|
+
|
9
|
+
_LOGGER: Incomplete
|
10
|
+
PARALLEL_UPDATES: int
|
11
|
+
|
12
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: NutConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
13
|
+
|
14
|
+
class NUTSwitch(NUTBaseEntity, SwitchEntity):
|
15
|
+
@property
|
16
|
+
def is_on(self) -> bool | None: ...
|
17
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
18
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
@@ -15,7 +15,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
15
15
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
16
16
|
from homeassistant.helpers.system_info import async_get_system_info as async_get_system_info
|
17
17
|
from homeassistant.helpers.translation import async_get_translations as async_get_translations
|
18
|
-
from homeassistant.setup import async_setup_component as async_setup_component
|
18
|
+
from homeassistant.setup import SetupPhases as SetupPhases, async_pause_setup as async_pause_setup, async_setup_component as async_setup_component
|
19
19
|
from typing import Any, Concatenate
|
20
20
|
|
21
21
|
async def async_setup(hass: HomeAssistant, data: OnboardingStoreData, store: OnboardingStorage) -> None: ...
|
@@ -97,5 +97,6 @@ class UploadBackupView(BackupOnboardingView, backup_http.UploadBackupView):
|
|
97
97
|
@with_backup_manager
|
98
98
|
async def post(self, manager: BackupManager, request: web.Request) -> web.Response: ...
|
99
99
|
|
100
|
+
async def setup_cloud_views(hass: HomeAssistant, data: OnboardingStoreData) -> None: ...
|
100
101
|
@callback
|
101
102
|
def _async_get_hass_provider(hass: HomeAssistant) -> HassAuthProvider: ...
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from .const import CONF_FOLDER_ID as CONF_FOLDER_ID, CONF_FOLDER_NAME as CONF_FOLDER_NAME, DATA_BACKUP_AGENT_LISTENERS as DATA_BACKUP_AGENT_LISTENERS, DOMAIN as DOMAIN
|
2
2
|
from .coordinator import OneDriveConfigEntry as OneDriveConfigEntry, OneDriveRuntimeData as OneDriveRuntimeData, OneDriveUpdateCoordinator as OneDriveUpdateCoordinator
|
3
|
+
from .services import async_register_services as async_register_services
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from collections.abc import Awaitable, Callable as Callable
|
5
6
|
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, Platform as Platform
|
@@ -7,12 +8,15 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
8
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
8
9
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
9
10
|
from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
|
11
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
10
12
|
from onedrive_personal_sdk import OneDriveClient
|
11
13
|
from onedrive_personal_sdk.models.items import Item as Item
|
12
14
|
|
15
|
+
CONFIG_SCHEMA: Incomplete
|
13
16
|
PLATFORMS: Incomplete
|
14
17
|
_LOGGER: Incomplete
|
15
18
|
|
19
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
16
20
|
async def async_setup_entry(hass: HomeAssistant, entry: OneDriveConfigEntry) -> bool: ...
|
17
21
|
async def async_unload_entry(hass: HomeAssistant, entry: OneDriveConfigEntry) -> bool: ...
|
18
22
|
async def _migrate_backup_files(client: OneDriveClient, backup_folder_id: str) -> None: ...
|
@@ -46,5 +46,5 @@ class OneDriveBackupAgent(BackupAgent):
|
|
46
46
|
@handle_backup_errors
|
47
47
|
async def async_list_backups(self, **kwargs: Any) -> list[AgentBackup]: ...
|
48
48
|
@handle_backup_errors
|
49
|
-
async def async_get_backup(self, backup_id: str, **kwargs: Any) -> AgentBackup
|
49
|
+
async def async_get_backup(self, backup_id: str, **kwargs: Any) -> AgentBackup: ...
|
50
50
|
async def _list_cached_backups(self) -> dict[str, OneDriveBackup]: ...
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import OneDriveConfigEntry as OneDriveConfigEntry
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.const import CONF_FILENAME as CONF_FILENAME
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
|
6
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
7
|
+
|
8
|
+
CONF_CONFIG_ENTRY_ID: str
|
9
|
+
CONF_DESTINATION_FOLDER: str
|
10
|
+
UPLOAD_SERVICE: str
|
11
|
+
UPLOAD_SERVICE_SCHEMA: Incomplete
|
12
|
+
CONTENT_SIZE_LIMIT: Incomplete
|
13
|
+
|
14
|
+
def _read_file_contents(hass: HomeAssistant, filenames: list[str]) -> list[tuple[str, bytes]]: ...
|
15
|
+
def async_register_services(hass: HomeAssistant) -> None: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import openai
|
2
|
-
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
|
+
from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_FILENAMES as CONF_FILENAMES, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_PROMPT as CONF_PROMPT, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, DOMAIN as DOMAIN, LOGGER as LOGGER, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, Platform as Platform
|
@@ -8,12 +8,16 @@ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady,
|
|
8
8
|
from homeassistant.helpers import selector as selector
|
9
9
|
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
10
10
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
11
|
+
from openai.types.images_response import ImagesResponse as ImagesResponse
|
12
|
+
from openai.types.responses import Response as Response, ResponseInputMessageContentListParam as ResponseInputMessageContentListParam, ResponseInputParam as ResponseInputParam
|
11
13
|
|
12
14
|
SERVICE_GENERATE_IMAGE: str
|
15
|
+
SERVICE_GENERATE_CONTENT: str
|
13
16
|
PLATFORMS: Incomplete
|
14
17
|
CONFIG_SCHEMA: Incomplete
|
15
18
|
type OpenAIConfigEntry = ConfigEntry[openai.AsyncClient]
|
16
19
|
|
20
|
+
def encode_file(file_path: str) -> tuple[str, str]: ...
|
17
21
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
18
22
|
async def async_setup_entry(hass: HomeAssistant, entry: OpenAIConfigEntry) -> bool: ...
|
19
23
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -1,9 +1,11 @@
|
|
1
|
-
from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_PROMPT as CONF_PROMPT, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_RECOMMENDED as CONF_RECOMMENDED, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, DOMAIN as DOMAIN, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P, UNSUPPORTED_MODELS as UNSUPPORTED_MODELS
|
1
|
+
from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_PROMPT as CONF_PROMPT, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_RECOMMENDED as CONF_RECOMMENDED, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, CONF_WEB_SEARCH as CONF_WEB_SEARCH, CONF_WEB_SEARCH_CITY as CONF_WEB_SEARCH_CITY, CONF_WEB_SEARCH_CONTEXT_SIZE as CONF_WEB_SEARCH_CONTEXT_SIZE, CONF_WEB_SEARCH_COUNTRY as CONF_WEB_SEARCH_COUNTRY, CONF_WEB_SEARCH_REGION as CONF_WEB_SEARCH_REGION, CONF_WEB_SEARCH_TIMEZONE as CONF_WEB_SEARCH_TIMEZONE, CONF_WEB_SEARCH_USER_LOCATION as CONF_WEB_SEARCH_USER_LOCATION, DOMAIN as DOMAIN, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P, RECOMMENDED_WEB_SEARCH as RECOMMENDED_WEB_SEARCH, RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE as RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE, RECOMMENDED_WEB_SEARCH_USER_LOCATION as RECOMMENDED_WEB_SEARCH_USER_LOCATION, UNSUPPORTED_MODELS as UNSUPPORTED_MODELS
|
2
2
|
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.zone import ENTITY_ID_HOME as ENTITY_ID_HOME
|
3
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
4
|
-
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LLM_HASS_API as CONF_LLM_HASS_API
|
5
|
+
from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_API_KEY as CONF_API_KEY, CONF_LLM_HASS_API as CONF_LLM_HASS_API
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
7
|
from homeassistant.helpers import llm as llm
|
8
|
+
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
7
9
|
from homeassistant.helpers.selector import NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig, SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TemplateSelector as TemplateSelector
|
8
10
|
from homeassistant.helpers.typing import VolDictType as VolDictType
|
9
11
|
from types import MappingProxyType
|
@@ -25,5 +27,6 @@ class OpenAIOptionsFlow(OptionsFlow):
|
|
25
27
|
last_rendered_recommended: Incomplete
|
26
28
|
def __init__(self, config_entry: ConfigEntry) -> None: ...
|
27
29
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
30
|
+
async def get_location_data(self) -> dict[str, str]: ...
|
28
31
|
|
29
32
|
def openai_config_option_schema(hass: HomeAssistant, options: dict[str, Any] | MappingProxyType[str, Any]) -> VolDictType: ...
|
@@ -1,17 +1,28 @@
|
|
1
|
-
|
1
|
+
import logging
|
2
2
|
|
3
3
|
DOMAIN: str
|
4
|
-
LOGGER:
|
5
|
-
CONF_RECOMMENDED: str
|
6
|
-
CONF_PROMPT: str
|
4
|
+
LOGGER: logging.Logger
|
7
5
|
CONF_CHAT_MODEL: str
|
8
|
-
|
6
|
+
CONF_FILENAMES: str
|
9
7
|
CONF_MAX_TOKENS: str
|
10
|
-
|
11
|
-
CONF_TOP_P: str
|
12
|
-
RECOMMENDED_TOP_P: float
|
13
|
-
CONF_TEMPERATURE: str
|
14
|
-
RECOMMENDED_TEMPERATURE: float
|
8
|
+
CONF_PROMPT: str
|
15
9
|
CONF_REASONING_EFFORT: str
|
10
|
+
CONF_RECOMMENDED: str
|
11
|
+
CONF_TEMPERATURE: str
|
12
|
+
CONF_TOP_P: str
|
13
|
+
CONF_WEB_SEARCH: str
|
14
|
+
CONF_WEB_SEARCH_USER_LOCATION: str
|
15
|
+
CONF_WEB_SEARCH_CONTEXT_SIZE: str
|
16
|
+
CONF_WEB_SEARCH_CITY: str
|
17
|
+
CONF_WEB_SEARCH_REGION: str
|
18
|
+
CONF_WEB_SEARCH_COUNTRY: str
|
19
|
+
CONF_WEB_SEARCH_TIMEZONE: str
|
20
|
+
RECOMMENDED_CHAT_MODEL: str
|
21
|
+
RECOMMENDED_MAX_TOKENS: int
|
16
22
|
RECOMMENDED_REASONING_EFFORT: str
|
17
|
-
|
23
|
+
RECOMMENDED_TEMPERATURE: float
|
24
|
+
RECOMMENDED_TOP_P: float
|
25
|
+
RECOMMENDED_WEB_SEARCH: bool
|
26
|
+
RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE: str
|
27
|
+
RECOMMENDED_WEB_SEARCH_USER_LOCATION: bool
|
28
|
+
UNSUPPORTED_MODELS: list[str]
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import OpenAIConfigEntry as OpenAIConfigEntry
|
2
|
-
from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_PROMPT as CONF_PROMPT, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, DOMAIN as DOMAIN, LOGGER as LOGGER, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P
|
2
|
+
from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_PROMPT as CONF_PROMPT, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, CONF_WEB_SEARCH as CONF_WEB_SEARCH, CONF_WEB_SEARCH_CITY as CONF_WEB_SEARCH_CITY, CONF_WEB_SEARCH_CONTEXT_SIZE as CONF_WEB_SEARCH_CONTEXT_SIZE, CONF_WEB_SEARCH_COUNTRY as CONF_WEB_SEARCH_COUNTRY, CONF_WEB_SEARCH_REGION as CONF_WEB_SEARCH_REGION, CONF_WEB_SEARCH_TIMEZONE as CONF_WEB_SEARCH_TIMEZONE, CONF_WEB_SEARCH_USER_LOCATION as CONF_WEB_SEARCH_USER_LOCATION, DOMAIN as DOMAIN, LOGGER as LOGGER, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P, RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE as RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import AsyncGenerator, Callable as Callable
|
5
5
|
from homeassistant.components import assist_pipeline as assist_pipeline, conversation as conversation
|
@@ -7,18 +7,18 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
7
7
|
from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API, MATCH_ALL as MATCH_ALL
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
|
-
from homeassistant.helpers import
|
10
|
+
from homeassistant.helpers import intent as intent, llm as llm
|
11
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
12
|
from openai._streaming import AsyncStream as AsyncStream
|
13
|
-
from openai.types.
|
13
|
+
from openai.types.responses import FunctionToolParam, ResponseInputParam as ResponseInputParam, ResponseStreamEvent as ResponseStreamEvent, ToolParam as ToolParam
|
14
14
|
from typing import Any, Literal
|
15
15
|
|
16
16
|
MAX_TOOL_ITERATIONS: int
|
17
17
|
|
18
18
|
async def async_setup_entry(hass: HomeAssistant, config_entry: OpenAIConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
19
|
-
def _format_tool(tool: llm.Tool, custom_serializer: Callable[[Any], Any] | None) ->
|
20
|
-
def _convert_content_to_param(content: conversation.Content) ->
|
21
|
-
async def _transform_stream(result: AsyncStream[
|
19
|
+
def _format_tool(tool: llm.Tool, custom_serializer: Callable[[Any], Any] | None) -> FunctionToolParam: ...
|
20
|
+
def _convert_content_to_param(content: conversation.Content) -> ResponseInputParam: ...
|
21
|
+
async def _transform_stream(chat_log: conversation.ChatLog, result: AsyncStream[ResponseStreamEvent]) -> AsyncGenerator[conversation.AssistantContentDeltaDict]: ...
|
22
22
|
|
23
23
|
class OpenAIConversationEntity(conversation.ConversationEntity, conversation.AbstractConversationAgent):
|
24
24
|
_attr_has_entity_name: bool
|
@@ -32,6 +32,5 @@ class OpenAIConversationEntity(conversation.ConversationEntity, conversation.Abs
|
|
32
32
|
def supported_languages(self) -> list[str] | Literal['*']: ...
|
33
33
|
async def async_added_to_hass(self) -> None: ...
|
34
34
|
async def async_will_remove_from_hass(self) -> None: ...
|
35
|
-
async def async_process(self, user_input: conversation.ConversationInput) -> conversation.ConversationResult: ...
|
36
35
|
async def _async_handle_message(self, user_input: conversation.ConversationInput, chat_log: conversation.ChatLog) -> conversation.ConversationResult: ...
|
37
36
|
async def _async_entry_update_listener(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from .. import OverkizDataConfigEntry as OverkizDataConfigEntry
|
2
2
|
from ..entity import OverkizEntity as OverkizEntity
|
3
3
|
from .atlantic_domestic_hot_water_production_mlb_component import AtlanticDomesticHotWaterProductionMBLComponent as AtlanticDomesticHotWaterProductionMBLComponent
|
4
|
+
from .atlantic_domestic_hot_water_production_v2_io_component import AtlanticDomesticHotWaterProductionV2IOComponent as AtlanticDomesticHotWaterProductionV2IOComponent
|
4
5
|
from .atlantic_pass_apc_dhw import AtlanticPassAPCDHW as AtlanticPassAPCDHW
|
5
6
|
from .domestic_hot_water_production import DomesticHotWaterProduction as DomesticHotWaterProduction
|
6
7
|
from .hitachi_dhw import HitachiDHW as HitachiDHW
|
@@ -0,0 +1,41 @@
|
|
1
|
+
from ..entity import OverkizEntity as OverkizEntity
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.water_heater import STATE_ECO as STATE_ECO, STATE_ELECTRIC as STATE_ELECTRIC, STATE_HEAT_PUMP as STATE_HEAT_PUMP, STATE_PERFORMANCE as STATE_PERFORMANCE, WaterHeaterEntity as WaterHeaterEntity, WaterHeaterEntityFeature as WaterHeaterEntityFeature
|
4
|
+
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
|
5
|
+
from typing import Any
|
6
|
+
|
7
|
+
DEFAULT_MIN_TEMP: float
|
8
|
+
DEFAULT_MAX_TEMP: float
|
9
|
+
MAX_BOOST_MODE_DURATION: int
|
10
|
+
DHWP_AWAY_MODES: Incomplete
|
11
|
+
|
12
|
+
class AtlanticDomesticHotWaterProductionV2IOComponent(OverkizEntity, WaterHeaterEntity):
|
13
|
+
_attr_temperature_unit: Incomplete
|
14
|
+
_attr_supported_features: Incomplete
|
15
|
+
_attr_operation_list: Incomplete
|
16
|
+
@property
|
17
|
+
def min_temp(self) -> float: ...
|
18
|
+
@property
|
19
|
+
def max_temp(self) -> float: ...
|
20
|
+
@property
|
21
|
+
def current_temperature(self) -> float: ...
|
22
|
+
@property
|
23
|
+
def target_temperature(self) -> float: ...
|
24
|
+
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
25
|
+
@property
|
26
|
+
def is_state_eco(self) -> bool: ...
|
27
|
+
@property
|
28
|
+
def is_state_performance(self) -> bool: ...
|
29
|
+
@property
|
30
|
+
def is_state_heat_pump(self) -> bool: ...
|
31
|
+
@property
|
32
|
+
def is_away_mode_on(self) -> bool: ...
|
33
|
+
@property
|
34
|
+
def current_operation(self) -> str | None: ...
|
35
|
+
@property
|
36
|
+
def is_boost_mode_on(self) -> bool: ...
|
37
|
+
async def async_set_operation_mode(self, operation_mode: str) -> None: ...
|
38
|
+
async def async_turn_away_mode_on(self, refresh_afterwards: bool = True) -> None: ...
|
39
|
+
async def async_turn_away_mode_off(self, refresh_afterwards: bool = True) -> None: ...
|
40
|
+
async def async_turn_boost_mode_on(self, refresh_afterwards: bool = True) -> None: ...
|
41
|
+
async def async_turn_boost_mode_off(self, refresh_afterwards: bool = True) -> None: ...
|
@@ -1,12 +1,7 @@
|
|
1
|
-
from .const import
|
2
|
-
from .coordinator import PurpleAirDataUpdateCoordinator as PurpleAirDataUpdateCoordinator
|
3
|
-
from _typeshed import Incomplete
|
4
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
|
-
from homeassistant.const import Platform as Platform
|
1
|
+
from .const import PLATFORMS as PLATFORMS
|
2
|
+
from .coordinator import PurpleAirConfigEntry as PurpleAirConfigEntry, PurpleAirDataUpdateCoordinator as PurpleAirDataUpdateCoordinator
|
6
3
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
4
|
|
8
|
-
|
9
|
-
|
10
|
-
async def
|
11
|
-
async def async_handle_entry_update(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
12
|
-
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
5
|
+
async def async_setup_entry(hass: HomeAssistant, entry: PurpleAirConfigEntry) -> bool: ...
|
6
|
+
async def async_reload_entry(hass: HomeAssistant, entry: PurpleAirConfigEntry) -> None: ...
|
7
|
+
async def async_unload_entry(hass: HomeAssistant, entry: PurpleAirConfigEntry) -> bool: ...
|
@@ -1,6 +1,8 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
|
+
from homeassistant.const import Platform as Platform
|
3
|
+
from typing import Final
|
2
4
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
CONF_SENSOR_INDICES: str
|
5
|
+
LOGGER: Final[Incomplete]
|
6
|
+
PLATFORMS: Final[Incomplete]
|
7
|
+
DOMAIN: Final[str]
|
8
|
+
CONF_SENSOR_INDICES: Final[str]
|
@@ -10,11 +10,12 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
|
|
10
10
|
|
11
11
|
SENSOR_FIELDS_TO_RETRIEVE: Incomplete
|
12
12
|
UPDATE_INTERVAL: Incomplete
|
13
|
+
type PurpleAirConfigEntry = ConfigEntry[PurpleAirDataUpdateCoordinator]
|
13
14
|
|
14
15
|
class PurpleAirDataUpdateCoordinator(DataUpdateCoordinator[GetSensorsResponse]):
|
15
|
-
config_entry:
|
16
|
+
config_entry: PurpleAirConfigEntry
|
16
17
|
_api: Incomplete
|
17
|
-
def __init__(self, hass: HomeAssistant, entry:
|
18
|
+
def __init__(self, hass: HomeAssistant, entry: PurpleAirConfigEntry) -> None: ...
|
18
19
|
async def _async_update_data(self) -> GetSensorsResponse: ...
|
19
20
|
@callback
|
20
21
|
def async_get_map_url(self, sensor_index: int) -> str: ...
|
@@ -1,8 +1,6 @@
|
|
1
|
-
from .
|
2
|
-
from .coordinator import PurpleAirDataUpdateCoordinator as PurpleAirDataUpdateCoordinator
|
1
|
+
from .coordinator import PurpleAirConfigEntry as PurpleAirConfigEntry
|
3
2
|
from _typeshed import Incomplete
|
4
3
|
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
5
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
4
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_UNIQUE_ID as CONF_UNIQUE_ID
|
7
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
6
|
from typing import Any
|
@@ -10,4 +8,4 @@ from typing import Any
|
|
10
8
|
CONF_TITLE: str
|
11
9
|
TO_REDACT: Incomplete
|
12
10
|
|
13
|
-
async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry:
|
11
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: PurpleAirConfigEntry) -> dict[str, Any]: ...
|
@@ -1,9 +1,8 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
-
from .coordinator import PurpleAirDataUpdateCoordinator as PurpleAirDataUpdateCoordinator
|
2
|
+
from .coordinator import PurpleAirConfigEntry as PurpleAirConfigEntry, PurpleAirDataUpdateCoordinator as PurpleAirDataUpdateCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from aiopurpleair.models.sensors import SensorModel as SensorModel
|
5
5
|
from collections.abc import Mapping
|
6
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
6
|
from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_SHOW_ON_MAP as CONF_SHOW_ON_MAP
|
8
7
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
9
8
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
@@ -14,7 +13,7 @@ class PurpleAirEntity(CoordinatorEntity[PurpleAirDataUpdateCoordinator]):
|
|
14
13
|
_sensor_index: Incomplete
|
15
14
|
_attr_device_info: Incomplete
|
16
15
|
_entry: Incomplete
|
17
|
-
def __init__(self,
|
16
|
+
def __init__(self, entry: PurpleAirConfigEntry, sensor_index: int) -> None: ...
|
18
17
|
@property
|
19
18
|
def extra_state_attributes(self) -> Mapping[str, Any]: ...
|
20
19
|
@property
|
@@ -1,12 +1,11 @@
|
|
1
|
-
from .const import CONF_SENSOR_INDICES as CONF_SENSOR_INDICES
|
2
|
-
from .coordinator import
|
1
|
+
from .const import CONF_SENSOR_INDICES as CONF_SENSOR_INDICES
|
2
|
+
from .coordinator import PurpleAirConfigEntry as PurpleAirConfigEntry
|
3
3
|
from .entity import PurpleAirEntity as PurpleAirEntity
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from aiopurpleair.models.sensors import SensorModel as SensorModel
|
6
6
|
from collections.abc import Callable as Callable
|
7
7
|
from dataclasses import dataclass
|
8
8
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
9
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
10
9
|
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
|
11
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
@@ -19,11 +18,11 @@ class PurpleAirSensorEntityDescription(SensorEntityDescription):
|
|
19
18
|
|
20
19
|
SENSOR_DESCRIPTIONS: Incomplete
|
21
20
|
|
22
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
21
|
+
async def async_setup_entry(hass: HomeAssistant, entry: PurpleAirConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
23
22
|
|
24
23
|
class PurpleAirSensorEntity(PurpleAirEntity, SensorEntity):
|
25
24
|
entity_description: PurpleAirSensorEntityDescription
|
26
25
|
_attr_unique_id: Incomplete
|
27
|
-
def __init__(self,
|
26
|
+
def __init__(self, entry: PurpleAirConfigEntry, sensor_index: int, description: PurpleAirSensorEntityDescription) -> None: ...
|
28
27
|
@property
|
29
28
|
def native_value(self) -> float | str | None: ...
|
@@ -0,0 +1,12 @@
|
|
1
|
+
from .coordinator import PyLoadConfigEntry as PyLoadConfigEntry, PyLoadCoordinator as PyLoadCoordinator
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
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_URL as CONF_URL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
+
from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
|
6
|
+
|
7
|
+
_LOGGER: Incomplete
|
8
|
+
PLATFORMS: list[Platform]
|
9
|
+
|
10
|
+
async def async_setup_entry(hass: HomeAssistant, entry: PyLoadConfigEntry) -> bool: ...
|
11
|
+
async def async_unload_entry(hass: HomeAssistant, entry: PyLoadConfigEntry) -> bool: ...
|
12
|
+
async def async_migrate_entry(hass: HomeAssistant, entry: PyLoadConfigEntry) -> bool: ...
|
@@ -0,0 +1,32 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import PyLoadConfigEntry as PyLoadConfigEntry
|
3
|
+
from .entity import BasePyLoadEntity as BasePyLoadEntity
|
4
|
+
from collections.abc import Awaitable, Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from enum import StrEnum
|
7
|
+
from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from pyloadapi import PyLoadAPI as PyLoadAPI
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
PARALLEL_UPDATES: int
|
15
|
+
|
16
|
+
@dataclass(kw_only=True, frozen=True)
|
17
|
+
class PyLoadButtonEntityDescription(ButtonEntityDescription):
|
18
|
+
press_fn: Callable[[PyLoadAPI], Awaitable[Any]]
|
19
|
+
|
20
|
+
class PyLoadButtonEntity(StrEnum):
|
21
|
+
ABORT_DOWNLOADS = 'abort_downloads'
|
22
|
+
RESTART_FAILED = 'restart_failed'
|
23
|
+
DELETE_FINISHED = 'delete_finished'
|
24
|
+
RESTART = 'restart'
|
25
|
+
|
26
|
+
SENSOR_DESCRIPTIONS: tuple[PyLoadButtonEntityDescription, ...]
|
27
|
+
|
28
|
+
async def async_setup_entry(hass: HomeAssistant, entry: PyLoadConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
29
|
+
|
30
|
+
class PyLoadBinarySensor(BasePyLoadEntity, ButtonEntity):
|
31
|
+
entity_description: PyLoadButtonEntityDescription
|
32
|
+
async def async_press(self) -> None: ...
|