homeassistant-stubs 2025.6.3__py3-none-any.whl → 2025.7.0b0__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 +1 -1
- homeassistant-stubs/components/abode/__init__.pyi +3 -12
- homeassistant-stubs/components/abode/services.pyi +20 -0
- homeassistant-stubs/components/adax/sensor.pyi +29 -0
- homeassistant-stubs/components/airly/config_flow.pyi +1 -1
- homeassistant-stubs/components/airthings/__init__.pyi +3 -5
- homeassistant-stubs/components/airthings/coordinator.pyi +13 -0
- homeassistant-stubs/components/airthings/sensor.pyi +5 -4
- homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/alexa_devices/sensor.pyi +29 -0
- homeassistant-stubs/components/altruist/__init__.pyi +9 -0
- homeassistant-stubs/components/altruist/config_flow.pyi +15 -0
- homeassistant-stubs/components/altruist/const.pyi +2 -0
- homeassistant-stubs/components/altruist/coordinator.pyi +19 -0
- homeassistant-stubs/components/altruist/sensor.pyi +34 -0
- homeassistant-stubs/components/amcrest/__init__.pyi +4 -7
- homeassistant-stubs/components/amcrest/services.pyi +13 -0
- homeassistant-stubs/components/analytics/analytics.pyi +3 -1
- homeassistant-stubs/components/android_ip_webcam/camera.pyi +4 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
- homeassistant-stubs/components/assist_satellite/__init__.pyi +2 -2
- homeassistant-stubs/components/assist_satellite/entity.pyi +13 -1
- homeassistant-stubs/components/axis/hub/hub.pyi +1 -1
- homeassistant-stubs/components/camera/__init__.pyi +0 -2
- homeassistant-stubs/components/camera/webrtc.pyi +1 -0
- homeassistant-stubs/components/climate/__init__.pyi +0 -2
- homeassistant-stubs/components/command_line/notify.pyi +1 -2
- homeassistant-stubs/components/command_line/sensor.pyi +1 -2
- homeassistant-stubs/components/command_line/utils.pyi +5 -2
- homeassistant-stubs/components/deconz/logbook.pyi +1 -1
- homeassistant-stubs/components/derivative/config_flow.pyi +1 -1
- homeassistant-stubs/components/derivative/const.pyi +1 -0
- homeassistant-stubs/components/derivative/sensor.pyi +9 -4
- homeassistant-stubs/components/device_automation/condition.pyi +17 -4
- homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -2
- homeassistant-stubs/components/devolo_home_control/climate.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/const.pyi +0 -1
- homeassistant-stubs/components/devolo_home_control/cover.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/entity.pyi +6 -0
- homeassistant-stubs/components/devolo_home_control/light.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/siren.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -0
- homeassistant-stubs/components/dnsip/sensor.pyi +3 -2
- homeassistant-stubs/components/downloader/__init__.pyi +1 -1
- homeassistant-stubs/components/downloader/services.pyi +3 -2
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/ecovacs/entity.pyi +9 -12
- homeassistant-stubs/components/ecovacs/number.pyi +4 -4
- homeassistant-stubs/components/ecovacs/select.pyi +5 -4
- homeassistant-stubs/components/ecovacs/sensor.pyi +3 -3
- homeassistant-stubs/components/eheimdigital/number.pyi +8 -9
- homeassistant-stubs/components/eheimdigital/select.pyi +8 -9
- homeassistant-stubs/components/eheimdigital/sensor.pyi +7 -8
- homeassistant-stubs/components/eheimdigital/time.pyi +8 -9
- homeassistant-stubs/components/elkm1/__init__.pyi +4 -9
- homeassistant-stubs/components/elkm1/services.pyi +21 -0
- homeassistant-stubs/components/enphase_envoy/__init__.pyi +2 -2
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +1 -1
- homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +1 -0
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -1
- homeassistant-stubs/components/eq3btsmart/climate.pyi +6 -8
- homeassistant-stubs/components/eq3btsmart/const.pyi +3 -2
- homeassistant-stubs/components/eq3btsmart/entity.pyi +5 -1
- homeassistant-stubs/components/eq3btsmart/number.pyi +3 -3
- homeassistant-stubs/components/eq3btsmart/switch.pyi +5 -3
- homeassistant-stubs/components/esphome/entity.pyi +2 -1
- homeassistant-stubs/components/esphome/entry_data.pyi +3 -0
- homeassistant-stubs/components/evohome/water_heater.pyi +1 -1
- homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/fritz/button.pyi +3 -1
- homeassistant-stubs/components/fritz/coordinator.pyi +8 -82
- homeassistant-stubs/components/fritz/device_tracker.pyi +3 -1
- homeassistant-stubs/components/fritz/entity.pyi +2 -1
- homeassistant-stubs/components/fritz/helpers.pyi +9 -0
- homeassistant-stubs/components/fritz/models.pyi +78 -0
- homeassistant-stubs/components/fritz/sensor.pyi +2 -1
- homeassistant-stubs/components/fritz/services.pyi +3 -2
- homeassistant-stubs/components/fritz/switch.pyi +3 -1
- homeassistant-stubs/components/fully_kiosk/services.pyi +7 -2
- homeassistant-stubs/components/go2rtc/__init__.pyi +10 -4
- homeassistant-stubs/components/google/__init__.pyi +3 -9
- homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +3 -7
- homeassistant-stubs/components/google_assistant_sdk/services.pyi +13 -0
- homeassistant-stubs/components/google_photos/services.pyi +4 -2
- homeassistant-stubs/components/google_sheets/__init__.pyi +7 -10
- homeassistant-stubs/components/google_sheets/services.pyi +18 -0
- homeassistant-stubs/components/group/sensor.pyi +1 -1
- homeassistant-stubs/components/habitica/services.pyi +8 -1
- homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
- homeassistant-stubs/components/home_connect/diagnostics.pyi +2 -0
- homeassistant-stubs/components/homeassistant/__init__.pyi +2 -3
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +7 -7
- homeassistant-stubs/components/homeassistant_hardware/update.pyi +2 -6
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +3 -1
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +9 -5
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +12 -5
- homeassistant-stubs/components/homee/config_flow.pyi +1 -0
- homeassistant-stubs/components/homee/diagnostics.pyi +12 -0
- homeassistant-stubs/components/homee/entity.pyi +3 -2
- homeassistant-stubs/components/homee/event.pyi +8 -4
- homeassistant-stubs/components/homee/siren.pyi +19 -0
- homeassistant-stubs/components/homewizard/select.pyi +35 -0
- homeassistant-stubs/components/immich/coordinator.pyi +2 -1
- homeassistant-stubs/components/immich/update.pyi +21 -0
- homeassistant-stubs/components/isy994/__init__.pyi +3 -1
- homeassistant-stubs/components/isy994/services.pyi +0 -2
- homeassistant-stubs/components/jewish_calendar/__init__.pyi +1 -1
- homeassistant-stubs/components/jewish_calendar/{service.pyi → services.pyi} +2 -1
- homeassistant-stubs/components/kaleidescape/__init__.pyi +4 -4
- homeassistant-stubs/components/kaleidescape/media_player.pyi +2 -3
- homeassistant-stubs/components/kaleidescape/remote.pyi +2 -3
- homeassistant-stubs/components/kaleidescape/sensor.pyi +2 -3
- homeassistant-stubs/components/lacrosse_view/__init__.pyi +3 -5
- homeassistant-stubs/components/lacrosse_view/coordinator.pyi +3 -2
- homeassistant-stubs/components/lacrosse_view/diagnostics.pyi +2 -4
- homeassistant-stubs/components/lacrosse_view/sensor.pyi +2 -2
- homeassistant-stubs/components/lametric/__init__.pyi +3 -4
- homeassistant-stubs/components/lametric/button.pyi +2 -4
- homeassistant-stubs/components/lametric/coordinator.pyi +3 -2
- homeassistant-stubs/components/lametric/diagnostics.pyi +2 -4
- homeassistant-stubs/components/lametric/entity.pyi +1 -1
- homeassistant-stubs/components/lametric/helpers.pyi +1 -1
- homeassistant-stubs/components/lametric/notify.pyi +2 -2
- homeassistant-stubs/components/lametric/number.pyi +2 -4
- homeassistant-stubs/components/lametric/select.pyi +2 -4
- homeassistant-stubs/components/lametric/sensor.pyi +2 -4
- homeassistant-stubs/components/lametric/switch.pyi +2 -4
- homeassistant-stubs/components/lametric/update.pyi +17 -0
- homeassistant-stubs/components/laundrify/__init__.pyi +4 -6
- homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/laundrify/coordinator.pyi +1 -0
- homeassistant-stubs/components/laundrify/sensor.pyi +2 -3
- homeassistant-stubs/components/lcn/__init__.pyi +9 -10
- homeassistant-stubs/components/lcn/binary_sensor.pyi +9 -8
- homeassistant-stubs/components/lcn/climate.pyi +5 -6
- homeassistant-stubs/components/lcn/const.pyi +0 -4
- homeassistant-stubs/components/lcn/cover.pyi +6 -7
- homeassistant-stubs/components/lcn/entity.pyi +2 -3
- homeassistant-stubs/components/lcn/helpers.pyi +15 -5
- homeassistant-stubs/components/lcn/light.pyi +6 -7
- homeassistant-stubs/components/lcn/scene.pyi +5 -5
- homeassistant-stubs/components/lcn/sensor.pyi +7 -7
- homeassistant-stubs/components/lcn/services.pyi +5 -4
- homeassistant-stubs/components/lcn/switch.pyi +8 -9
- homeassistant-stubs/components/lcn/websocket.pyi +12 -13
- homeassistant-stubs/components/ld2410_ble/__init__.pyi +4 -6
- homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/ld2410_ble/coordinator.pyi +3 -3
- homeassistant-stubs/components/ld2410_ble/models.pyi +2 -0
- homeassistant-stubs/components/ld2410_ble/sensor.pyi +4 -5
- homeassistant-stubs/components/led_ble/__init__.pyi +5 -6
- homeassistant-stubs/components/led_ble/light.pyi +3 -4
- homeassistant-stubs/components/led_ble/models.pyi +2 -0
- homeassistant-stubs/components/lifx/__init__.pyi +4 -5
- homeassistant-stubs/components/lifx/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/lifx/button.pyi +3 -4
- homeassistant-stubs/components/lifx/const.pyi +3 -1
- homeassistant-stubs/components/lifx/coordinator.pyi +3 -2
- homeassistant-stubs/components/lifx/diagnostics.pyi +3 -4
- homeassistant-stubs/components/lifx/light.pyi +3 -4
- homeassistant-stubs/components/lifx/manager.pyi +2 -2
- homeassistant-stubs/components/lifx/migration.pyi +3 -3
- homeassistant-stubs/components/lifx/select.pyi +3 -4
- homeassistant-stubs/components/lifx/sensor.pyi +3 -4
- homeassistant-stubs/components/lifx/util.pyi +3 -3
- homeassistant-stubs/components/linear_garage_door/__init__.pyi +4 -5
- homeassistant-stubs/components/linear_garage_door/coordinator.pyi +3 -2
- homeassistant-stubs/components/linear_garage_door/cover.pyi +2 -4
- homeassistant-stubs/components/linear_garage_door/diagnostics.pyi +2 -4
- homeassistant-stubs/components/linear_garage_door/light.pyi +2 -4
- homeassistant-stubs/components/lookin/__init__.pyi +4 -5
- homeassistant-stubs/components/lookin/climate.pyi +3 -4
- homeassistant-stubs/components/lookin/coordinator.pyi +3 -3
- homeassistant-stubs/components/lookin/light.pyi +3 -4
- homeassistant-stubs/components/lookin/media_player.pyi +3 -4
- homeassistant-stubs/components/lookin/models.pyi +2 -0
- homeassistant-stubs/components/lookin/sensor.pyi +2 -4
- homeassistant-stubs/components/luftdaten/__init__.pyi +4 -6
- homeassistant-stubs/components/luftdaten/coordinator.pyi +15 -0
- homeassistant-stubs/components/luftdaten/diagnostics.pyi +3 -4
- homeassistant-stubs/components/luftdaten/sensor.pyi +4 -4
- homeassistant-stubs/components/matrix/__init__.pyi +2 -7
- homeassistant-stubs/components/matrix/const.pyi +3 -0
- homeassistant-stubs/components/matrix/services.pyi +12 -0
- homeassistant-stubs/components/matter/sensor.pyi +7 -2
- homeassistant-stubs/components/matter/vacuum.pyi +4 -4
- homeassistant-stubs/components/mealie/__init__.pyi +1 -1
- homeassistant-stubs/components/mealie/services.pyi +9 -3
- homeassistant-stubs/components/media_player/__init__.pyi +0 -2
- homeassistant-stubs/components/media_player/intent.pyi +1 -1
- homeassistant-stubs/components/miele/const.pyi +24 -0
- homeassistant-stubs/components/miele/sensor.pyi +1 -2
- homeassistant-stubs/components/mqtt/config_flow.pyi +4 -1
- homeassistant-stubs/components/mqtt/sensor.pyi +1 -4
- homeassistant-stubs/components/music_assistant/__init__.pyi +5 -1
- homeassistant-stubs/components/music_assistant/button.pyi +17 -0
- homeassistant-stubs/components/music_assistant/helpers.pyi +5 -0
- homeassistant-stubs/components/music_assistant/media_player.pyi +4 -4
- homeassistant-stubs/components/nextdns/binary_sensor.pyi +6 -12
- homeassistant-stubs/components/nextdns/button.pyi +2 -9
- homeassistant-stubs/components/nextdns/coordinator.pyi +2 -7
- homeassistant-stubs/components/nextdns/entity.pyi +14 -0
- homeassistant-stubs/components/nextdns/sensor.pyi +8 -15
- homeassistant-stubs/components/nextdns/switch.pyi +3 -6
- homeassistant-stubs/components/nfandroidtv/__init__.pyi +0 -1
- homeassistant-stubs/components/nfandroidtv/notify.pyi +5 -4
- homeassistant-stubs/components/nordpool/services.pyi +2 -1
- homeassistant-stubs/components/ntfy/__init__.pyi +1 -3
- homeassistant-stubs/components/ntfy/config_flow.pyi +3 -0
- homeassistant-stubs/components/ntfy/coordinator.pyi +16 -0
- homeassistant-stubs/components/ntfy/notify.pyi +1 -1
- homeassistant-stubs/components/ntfy/sensor.pyi +56 -0
- homeassistant-stubs/components/ohme/services.pyi +2 -1
- homeassistant-stubs/components/onedrive/__init__.pyi +1 -1
- homeassistant-stubs/components/onedrive/services.pyi +3 -2
- homeassistant-stubs/components/onewire/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/onewire/const.pyi +0 -1
- homeassistant-stubs/components/onewire/entity.pyi +2 -3
- homeassistant-stubs/components/onewire/switch.pyi +3 -2
- homeassistant-stubs/components/onkyo/__init__.pyi +1 -1
- homeassistant-stubs/components/onkyo/services.pyi +3 -2
- homeassistant-stubs/components/openai_conversation/__init__.pyi +2 -1
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +18 -14
- homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
- homeassistant-stubs/components/openai_conversation/conversation.pyi +4 -4
- homeassistant-stubs/components/overseerr/__init__.pyi +1 -1
- homeassistant-stubs/components/overseerr/services.pyi +6 -4
- homeassistant-stubs/components/paperless_ngx/__init__.pyi +1 -1
- homeassistant-stubs/components/paperless_ngx/config_flow.pyi +2 -2
- homeassistant-stubs/components/paperless_ngx/coordinator.pyi +3 -5
- homeassistant-stubs/components/paperless_ngx/entity.pyi +2 -5
- homeassistant-stubs/components/paperless_ngx/sensor.pyi +8 -8
- homeassistant-stubs/components/paperless_ngx/update.pyi +25 -0
- homeassistant-stubs/components/plugwise/climate.pyi +0 -1
- homeassistant-stubs/components/qbus/climate.pyi +3 -2
- homeassistant-stubs/components/qbus/cover.pyi +39 -0
- homeassistant-stubs/components/qbus/entity.pyi +7 -3
- homeassistant-stubs/components/qbus/light.pyi +4 -3
- homeassistant-stubs/components/qbus/scene.pyi +2 -2
- homeassistant-stubs/components/qbus/switch.pyi +3 -2
- homeassistant-stubs/components/recorder/__init__.pyi +1 -1
- homeassistant-stubs/components/recorder/services.pyi +7 -12
- homeassistant-stubs/components/reolink/__init__.pyi +1 -1
- homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
- homeassistant-stubs/components/reolink/const.pyi +1 -0
- homeassistant-stubs/components/reolink/entity.pyi +1 -1
- homeassistant-stubs/components/reolink/host.pyi +1 -1
- homeassistant-stubs/components/reolink/services.pyi +2 -0
- homeassistant-stubs/components/rest/data.pyi +7 -6
- homeassistant-stubs/components/russound_rio/__init__.pyi +1 -0
- homeassistant-stubs/components/russound_rio/entity.pyi +6 -2
- homeassistant-stubs/components/russound_rio/media_player.pyi +1 -5
- homeassistant-stubs/components/russound_rio/number.pyi +30 -0
- homeassistant-stubs/components/russound_rio/switch.pyi +33 -0
- homeassistant-stubs/components/shopping_list/__init__.pyi +1 -0
- homeassistant-stubs/components/shopping_list/intent.pyi +9 -1
- homeassistant-stubs/components/squeezebox/button.pyi +0 -2
- homeassistant-stubs/components/squeezebox/entity.pyi +2 -0
- homeassistant-stubs/components/squeezebox/media_player.pyi +0 -2
- homeassistant-stubs/components/sun/__init__.pyi +1 -0
- homeassistant-stubs/components/sun/binary_sensor.pyi +36 -0
- homeassistant-stubs/components/sun/condition.pyi +13 -3
- homeassistant-stubs/components/sun/sensor.pyi +2 -0
- homeassistant-stubs/components/switch/light.pyi +1 -0
- homeassistant-stubs/components/switch_as_x/entity.pyi +1 -0
- homeassistant-stubs/components/synology_dsm/__init__.pyi +4 -1
- homeassistant-stubs/components/synology_dsm/{service.pyi → services.pyi} +4 -2
- homeassistant-stubs/components/tedee/binary_sensor.pyi +4 -0
- homeassistant-stubs/components/telegram_bot/__init__.pyi +34 -0
- homeassistant-stubs/components/telegram_bot/bot.pyi +63 -0
- homeassistant-stubs/components/telegram_bot/broadcast.pyi +5 -0
- homeassistant-stubs/components/telegram_bot/config_flow.pyi +53 -0
- homeassistant-stubs/components/telegram_bot/const.pyi +92 -0
- homeassistant-stubs/components/telegram_bot/polling.pyi +19 -0
- homeassistant-stubs/components/telegram_bot/webhooks.pyi +47 -0
- homeassistant-stubs/components/tplink/climate.pyi +1 -2
- homeassistant-stubs/components/trend/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/tts/entity.pyi +1 -2
- homeassistant-stubs/components/unifi/button.pyi +5 -5
- homeassistant-stubs/components/unifi/device_tracker.pyi +5 -5
- homeassistant-stubs/components/unifi/entity.pyi +5 -8
- homeassistant-stubs/components/unifi/hub/hub.pyi +1 -1
- homeassistant-stubs/components/unifi/image.pyi +5 -5
- homeassistant-stubs/components/unifi/sensor.pyi +5 -5
- homeassistant-stubs/components/unifi/switch.pyi +7 -7
- homeassistant-stubs/components/unifi/update.pyi +3 -5
- homeassistant-stubs/components/unifiprotect/services.pyi +1 -0
- homeassistant-stubs/components/vacuum/__init__.pyi +0 -2
- homeassistant-stubs/components/websocket_api/commands.pyi +6 -3
- homeassistant-stubs/components/websocket_api/messages.pyi +1 -0
- homeassistant-stubs/components/wiz/__init__.pyi +3 -3
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
- homeassistant-stubs/components/zwave_js/api.pyi +2 -2
- homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
- homeassistant-stubs/components/zwave_js/services.pyi +2 -0
- homeassistant-stubs/components/zwave_js/trigger.pyi +3 -7
- homeassistant-stubs/components/zwave_js/triggers/event.pyi +9 -1
- homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +9 -1
- homeassistant-stubs/const.pyi +1 -0
- homeassistant-stubs/helpers/condition.pyi +11 -3
- homeassistant-stubs/helpers/device_registry.pyi +5 -1
- homeassistant-stubs/helpers/entity.pyi +1 -4
- homeassistant-stubs/helpers/entity_registry.pyi +11 -1
- homeassistant-stubs/helpers/llm.pyi +0 -1
- homeassistant-stubs/helpers/selector.pyi +24 -4
- homeassistant-stubs/helpers/system_info.pyi +2 -0
- homeassistant-stubs/helpers/template.pyi +2 -1
- homeassistant-stubs/helpers/trigger.pyi +33 -2
- homeassistant-stubs/loader.pyi +3 -1
- homeassistant-stubs/util/timeout.pyi +6 -3
- homeassistant-stubs/util/yaml/loader.pyi +3 -1
- {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/RECORD +315 -279
- homeassistant-stubs/backports/enum.pyi +0 -7
- homeassistant-stubs/backports/functools.pyi +0 -7
- homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +0 -10
- {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
from . import subscription as subscription
|
2
2
|
from .config import MQTT_RO_SCHEMA as MQTT_RO_SCHEMA
|
3
|
-
from .const import CONF_EXPIRE_AFTER as CONF_EXPIRE_AFTER, CONF_LAST_RESET_VALUE_TEMPLATE as CONF_LAST_RESET_VALUE_TEMPLATE, CONF_OPTIONS as CONF_OPTIONS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_SUGGESTED_DISPLAY_PRECISION as CONF_SUGGESTED_DISPLAY_PRECISION,
|
3
|
+
from .const import CONF_EXPIRE_AFTER as CONF_EXPIRE_AFTER, CONF_LAST_RESET_VALUE_TEMPLATE as CONF_LAST_RESET_VALUE_TEMPLATE, CONF_OPTIONS as CONF_OPTIONS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_SUGGESTED_DISPLAY_PRECISION as CONF_SUGGESTED_DISPLAY_PRECISION, PAYLOAD_NONE as PAYLOAD_NONE
|
4
4
|
from .entity import MqttAvailabilityMixin as MqttAvailabilityMixin, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
|
5
5
|
from .models import MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, ReceiveMessage as ReceiveMessage
|
6
6
|
from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
|
@@ -15,7 +15,6 @@ from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_FOR
|
|
15
15
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, State as State, callback as callback
|
16
16
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
17
17
|
from homeassistant.helpers.event import async_call_later as async_call_later
|
18
|
-
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
19
18
|
from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as ReceivePayloadType
|
20
19
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
21
20
|
|
@@ -44,8 +43,6 @@ class MqttSensor(MqttEntity, RestoreSensor):
|
|
44
43
|
_expired: bool | None
|
45
44
|
_template: Callable[[ReceivePayloadType, PayloadSentinel], ReceivePayloadType] | None
|
46
45
|
_last_reset_template: Callable[[ReceivePayloadType], ReceivePayloadType] | None
|
47
|
-
@callback
|
48
|
-
def async_check_uom(self) -> None: ...
|
49
46
|
_attr_native_value: Incomplete
|
50
47
|
async def mqtt_async_added_to_hass(self) -> None: ...
|
51
48
|
async def async_will_remove_from_hass(self) -> None: ...
|
@@ -2,7 +2,8 @@ import asyncio
|
|
2
2
|
from .actions import get_music_assistant_client as get_music_assistant_client, register_actions as register_actions
|
3
3
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from
|
5
|
+
from collections.abc import Callable
|
6
|
+
from dataclasses import dataclass, field
|
6
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
|
7
8
|
from homeassistant.const import CONF_URL as CONF_URL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
8
9
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
|
@@ -19,11 +20,14 @@ CONNECT_TIMEOUT: int
|
|
19
20
|
LISTEN_READY_TIMEOUT: int
|
20
21
|
CONFIG_SCHEMA: Incomplete
|
21
22
|
type MusicAssistantConfigEntry = ConfigEntry[MusicAssistantEntryData]
|
23
|
+
type PlayerAddCallback = Callable[[str], None]
|
22
24
|
|
23
25
|
@dataclass
|
24
26
|
class MusicAssistantEntryData:
|
25
27
|
mass: MusicAssistantClient
|
26
28
|
listen_task: asyncio.Task
|
29
|
+
discovered_players: set[str] = field(default_factory=set)
|
30
|
+
platform_handlers: dict[Platform, PlayerAddCallback] = field(default_factory=dict)
|
27
31
|
|
28
32
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
29
33
|
async def async_setup_entry(hass: HomeAssistant, entry: MusicAssistantConfigEntry) -> bool: ...
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from . import MusicAssistantConfigEntry as MusicAssistantConfigEntry
|
2
|
+
from .entity import MusicAssistantEntity as MusicAssistantEntity
|
3
|
+
from .helpers import catch_musicassistant_error as catch_musicassistant_error
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
6
|
+
from homeassistant.const import Platform as Platform
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
|
+
|
10
|
+
async def async_setup_entry(hass: HomeAssistant, entry: MusicAssistantConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
11
|
+
|
12
|
+
class MusicAssistantFavoriteButton(MusicAssistantEntity, ButtonEntity):
|
13
|
+
entity_description: Incomplete
|
14
|
+
@property
|
15
|
+
def available(self) -> bool: ...
|
16
|
+
@catch_musicassistant_error
|
17
|
+
async def async_press(self) -> None: ...
|
@@ -0,0 +1,5 @@
|
|
1
|
+
from collections.abc import Callable as Callable, Coroutine
|
2
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
3
|
+
from typing import Any
|
4
|
+
|
5
|
+
def catch_musicassistant_error[**_P, _R](func: Callable[_P, Coroutine[Any, Any, _R]]) -> Callable[_P, Coroutine[Any, Any, _R]]: ...
|
@@ -1,13 +1,14 @@
|
|
1
1
|
from . import MusicAssistantConfigEntry as MusicAssistantConfigEntry
|
2
2
|
from .const import ATTR_ACTIVE as ATTR_ACTIVE, ATTR_ACTIVE_QUEUE as ATTR_ACTIVE_QUEUE, ATTR_ALBUM as ATTR_ALBUM, ATTR_ANNOUNCE_VOLUME as ATTR_ANNOUNCE_VOLUME, ATTR_ARTIST as ATTR_ARTIST, ATTR_AUTO_PLAY as ATTR_AUTO_PLAY, ATTR_CURRENT_INDEX as ATTR_CURRENT_INDEX, ATTR_CURRENT_ITEM as ATTR_CURRENT_ITEM, ATTR_ELAPSED_TIME as ATTR_ELAPSED_TIME, ATTR_ITEMS as ATTR_ITEMS, ATTR_MASS_PLAYER_TYPE as ATTR_MASS_PLAYER_TYPE, ATTR_MEDIA_ID as ATTR_MEDIA_ID, ATTR_MEDIA_TYPE as ATTR_MEDIA_TYPE, ATTR_NEXT_ITEM as ATTR_NEXT_ITEM, ATTR_QUEUE_ID as ATTR_QUEUE_ID, ATTR_RADIO_MODE as ATTR_RADIO_MODE, ATTR_REPEAT_MODE as ATTR_REPEAT_MODE, ATTR_SHUFFLE_ENABLED as ATTR_SHUFFLE_ENABLED, ATTR_SOURCE_PLAYER as ATTR_SOURCE_PLAYER, ATTR_URL as ATTR_URL, ATTR_USE_PRE_ANNOUNCE as ATTR_USE_PRE_ANNOUNCE, DOMAIN as DOMAIN
|
3
3
|
from .entity import MusicAssistantEntity as MusicAssistantEntity
|
4
|
+
from .helpers import catch_musicassistant_error as catch_musicassistant_error
|
4
5
|
from .media_browser import async_browse_media as async_browse_media, async_search_media as async_search_media
|
5
6
|
from .schemas import QUEUE_DETAILS_SCHEMA as QUEUE_DETAILS_SCHEMA, queue_item_dict_from_mass_item as queue_item_dict_from_mass_item
|
6
7
|
from _typeshed import Incomplete
|
7
|
-
from collections.abc import
|
8
|
+
from collections.abc import Mapping
|
8
9
|
from homeassistant.components import media_source as media_source
|
9
10
|
from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseMedia as BrowseMedia, MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, RepeatMode as RepeatMode, SearchMedia as SearchMedia, SearchMediaQuery as SearchMediaQuery, async_process_play_media_url as async_process_play_media_url
|
10
|
-
from homeassistant.const import ATTR_NAME as ATTR_NAME, STATE_OFF as STATE_OFF
|
11
|
+
from homeassistant.const import ATTR_NAME as ATTR_NAME, Platform as Platform, STATE_OFF as STATE_OFF
|
11
12
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
|
12
13
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
13
14
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
|
@@ -17,7 +18,7 @@ from music_assistant_models.enums import MediaType, QueueOption
|
|
17
18
|
from music_assistant_models.event import MassEvent as MassEvent
|
18
19
|
from music_assistant_models.player import Player as Player
|
19
20
|
from music_assistant_models.player_queue import PlayerQueue as PlayerQueue
|
20
|
-
from typing import Any
|
21
|
+
from typing import Any
|
21
22
|
|
22
23
|
SUPPORTED_FEATURES_BASE: Incomplete
|
23
24
|
QUEUE_OPTION_MAP: Incomplete
|
@@ -26,7 +27,6 @@ SERVICE_PLAY_ANNOUNCEMENT: str
|
|
26
27
|
SERVICE_TRANSFER_QUEUE: str
|
27
28
|
SERVICE_GET_QUEUE: str
|
28
29
|
|
29
|
-
def catch_musicassistant_error[_R, **P](func: Callable[Concatenate[MusicAssistantPlayer, P], Coroutine[Any, Any, _R]]) -> Callable[Concatenate[MusicAssistantPlayer, P], Coroutine[Any, Any, _R]]: ...
|
30
30
|
async def async_setup_entry(hass: HomeAssistant, entry: MusicAssistantConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
31
31
|
|
32
32
|
class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
|
@@ -1,14 +1,13 @@
|
|
1
1
|
from . import NextDnsConfigEntry as NextDnsConfigEntry
|
2
|
-
from .
|
2
|
+
from .entity import NextDnsEntity as NextDnsEntity
|
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.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
7
7
|
from homeassistant.const import EntityCategory as EntityCategory
|
8
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
|
-
from
|
11
|
-
from nextdns import ConnectionStatus
|
10
|
+
from nextdns import ConnectionStatus as ConnectionStatus
|
12
11
|
|
13
12
|
PARALLEL_UPDATES: int
|
14
13
|
|
@@ -20,12 +19,7 @@ SENSORS: Incomplete
|
|
20
19
|
|
21
20
|
async def async_setup_entry(hass: HomeAssistant, entry: NextDnsConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
22
21
|
|
23
|
-
class NextDnsBinarySensor(
|
24
|
-
_attr_has_entity_name: bool
|
22
|
+
class NextDnsBinarySensor(NextDnsEntity, BinarySensorEntity):
|
25
23
|
entity_description: NextDnsBinarySensorEntityDescription
|
26
|
-
|
27
|
-
|
28
|
-
_attr_is_on: Incomplete
|
29
|
-
def __init__(self, coordinator: NextDnsUpdateCoordinator[ConnectionStatus], description: NextDnsBinarySensorEntityDescription) -> None: ...
|
30
|
-
@callback
|
31
|
-
def _handle_coordinator_update(self) -> None: ...
|
24
|
+
@property
|
25
|
+
def is_on(self) -> bool: ...
|
@@ -1,24 +1,17 @@
|
|
1
1
|
from . import NextDnsConfigEntry as NextDnsConfigEntry
|
2
2
|
from .const import DOMAIN as DOMAIN
|
3
|
-
from .
|
3
|
+
from .entity import NextDnsEntity as NextDnsEntity
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
|
6
6
|
from homeassistant.const import EntityCategory as EntityCategory
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
|
-
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
11
|
-
from nextdns import AnalyticsStatus
|
12
10
|
|
13
11
|
PARALLEL_UPDATES: int
|
14
12
|
CLEAR_LOGS_BUTTON: Incomplete
|
15
13
|
|
16
14
|
async def async_setup_entry(hass: HomeAssistant, entry: NextDnsConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
17
15
|
|
18
|
-
class NextDnsButton(
|
19
|
-
_attr_has_entity_name: bool
|
20
|
-
_attr_device_info: Incomplete
|
21
|
-
_attr_unique_id: Incomplete
|
22
|
-
entity_description: Incomplete
|
23
|
-
def __init__(self, coordinator: NextDnsUpdateCoordinator[AnalyticsStatus], description: ButtonEntityDescription) -> None: ...
|
16
|
+
class NextDnsButton(NextDnsEntity, ButtonEntity):
|
24
17
|
async def async_press(self) -> None: ...
|
@@ -4,21 +4,16 @@ from _typeshed import Incomplete
|
|
4
4
|
from datetime import timedelta
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
6
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
7
|
-
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
8
7
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
9
8
|
from nextdns import AnalyticsDnssec, AnalyticsEncryption, AnalyticsIpVersions, AnalyticsProtocols, AnalyticsStatus, ConnectionStatus, NextDns as NextDns, Settings
|
10
|
-
from nextdns.model import NextDnsData
|
11
|
-
from typing import TypeVar
|
9
|
+
from nextdns.model import NextDnsData as NextDnsData
|
12
10
|
|
13
11
|
_LOGGER: Incomplete
|
14
|
-
CoordinatorDataT = TypeVar('CoordinatorDataT', bound=NextDnsData)
|
15
12
|
|
16
|
-
class NextDnsUpdateCoordinator(DataUpdateCoordinator[CoordinatorDataT]):
|
13
|
+
class NextDnsUpdateCoordinator[CoordinatorDataT: NextDnsData](DataUpdateCoordinator[CoordinatorDataT]):
|
17
14
|
config_entry: NextDnsConfigEntry
|
18
15
|
nextdns: Incomplete
|
19
16
|
profile_id: Incomplete
|
20
|
-
profile_name: Incomplete
|
21
|
-
device_info: Incomplete
|
22
17
|
def __init__(self, hass: HomeAssistant, config_entry: NextDnsConfigEntry, nextdns: NextDns, profile_id: str, update_interval: timedelta) -> None: ...
|
23
18
|
async def _async_update_data(self) -> CoordinatorDataT: ...
|
24
19
|
async def _async_update_data_internal(self) -> CoordinatorDataT: ...
|
@@ -0,0 +1,14 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import NextDnsUpdateCoordinator as NextDnsUpdateCoordinator
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
5
|
+
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
6
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
7
|
+
from nextdns.model import NextDnsData as NextDnsData
|
8
|
+
|
9
|
+
class NextDnsEntity[CoordinatorDataT: NextDnsData](CoordinatorEntity[NextDnsUpdateCoordinator[CoordinatorDataT]]):
|
10
|
+
_attr_has_entity_name: bool
|
11
|
+
_attr_device_info: Incomplete
|
12
|
+
_attr_unique_id: Incomplete
|
13
|
+
entity_description: Incomplete
|
14
|
+
def __init__(self, coordinator: NextDnsUpdateCoordinator[CoordinatorDataT], description: EntityDescription) -> None: ...
|
@@ -1,21 +1,19 @@
|
|
1
1
|
from . import NextDnsConfigEntry as NextDnsConfigEntry
|
2
2
|
from .const import ATTR_DNSSEC as ATTR_DNSSEC, ATTR_ENCRYPTION as ATTR_ENCRYPTION, ATTR_IP_VERSIONS as ATTR_IP_VERSIONS, ATTR_PROTOCOLS as ATTR_PROTOCOLS, ATTR_STATUS as ATTR_STATUS
|
3
|
-
from .
|
4
|
-
from _typeshed import Incomplete
|
3
|
+
from .entity import NextDnsEntity as NextDnsEntity
|
5
4
|
from collections.abc import Callable as Callable
|
6
5
|
from dataclasses import dataclass
|
7
6
|
from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
8
7
|
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE
|
9
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
9
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
10
|
from homeassistant.helpers.typing import StateType as StateType
|
12
|
-
from
|
13
|
-
from typing import Generic
|
11
|
+
from nextdns.model import NextDnsData as NextDnsData
|
14
12
|
|
15
13
|
PARALLEL_UPDATES: int
|
16
14
|
|
17
15
|
@dataclass(frozen=True, kw_only=True)
|
18
|
-
class NextDnsSensorEntityDescription
|
16
|
+
class NextDnsSensorEntityDescription[CoordinatorDataT: NextDnsData](SensorEntityDescription):
|
19
17
|
coordinator_type: str
|
20
18
|
value: Callable[[CoordinatorDataT], StateType]
|
21
19
|
|
@@ -23,12 +21,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...]
|
|
23
21
|
|
24
22
|
async def async_setup_entry(hass: HomeAssistant, entry: NextDnsConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
25
23
|
|
26
|
-
class NextDnsSensor(
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
_attr_native_value: Incomplete
|
31
|
-
entity_description: NextDnsSensorEntityDescription
|
32
|
-
def __init__(self, coordinator: NextDnsUpdateCoordinator[CoordinatorDataT], description: NextDnsSensorEntityDescription) -> None: ...
|
33
|
-
@callback
|
34
|
-
def _handle_coordinator_update(self) -> None: ...
|
24
|
+
class NextDnsSensor[CoordinatorDataT: NextDnsData](NextDnsEntity[CoordinatorDataT], SensorEntity):
|
25
|
+
entity_description: NextDnsSensorEntityDescription[CoordinatorDataT]
|
26
|
+
@property
|
27
|
+
def native_value(self) -> StateType: ...
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from . import NextDnsConfigEntry as NextDnsConfigEntry
|
2
2
|
from .const import DOMAIN as DOMAIN
|
3
3
|
from .coordinator import NextDnsUpdateCoordinator as NextDnsUpdateCoordinator
|
4
|
+
from .entity import NextDnsEntity as NextDnsEntity
|
4
5
|
from _typeshed import Incomplete
|
5
6
|
from collections.abc import Callable as Callable
|
6
7
|
from dataclasses import dataclass
|
@@ -9,8 +10,7 @@ from homeassistant.const import EntityCategory as EntityCategory
|
|
9
10
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
11
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
|
-
from
|
13
|
-
from nextdns import Settings
|
13
|
+
from nextdns import Settings as Settings
|
14
14
|
from typing import Any
|
15
15
|
|
16
16
|
PARALLEL_UPDATES: int
|
@@ -23,11 +23,8 @@ SWITCHES: Incomplete
|
|
23
23
|
|
24
24
|
async def async_setup_entry(hass: HomeAssistant, entry: NextDnsConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
25
25
|
|
26
|
-
class NextDnsSwitch(
|
27
|
-
_attr_has_entity_name: bool
|
26
|
+
class NextDnsSwitch(NextDnsEntity, SwitchEntity):
|
28
27
|
entity_description: NextDnsSwitchEntityDescription
|
29
|
-
_attr_device_info: Incomplete
|
30
|
-
_attr_unique_id: Incomplete
|
31
28
|
_attr_is_on: Incomplete
|
32
29
|
def __init__(self, coordinator: NextDnsUpdateCoordinator[Settings], description: NextDnsSwitchEntityDescription) -> None: ...
|
33
30
|
@callback
|
@@ -3,7 +3,6 @@ from _typeshed import Incomplete
|
|
3
3
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
4
|
from homeassistant.const import CONF_HOST as CONF_HOST, Platform as Platform
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
-
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
7
6
|
from homeassistant.helpers import discovery as discovery
|
8
7
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
9
8
|
|
@@ -3,10 +3,10 @@ from _typeshed import Incomplete
|
|
3
3
|
from homeassistant.components.notify import ATTR_DATA as ATTR_DATA, ATTR_TITLE as ATTR_TITLE, ATTR_TITLE_DEFAULT as ATTR_TITLE_DEFAULT, BaseNotificationService as BaseNotificationService
|
4
4
|
from homeassistant.const import CONF_HOST as CONF_HOST
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
-
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
6
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
7
7
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
8
8
|
from io import BufferedReader
|
9
|
-
from notifications_android_tv import Notifications
|
9
|
+
from notifications_android_tv.notifications import Notifications
|
10
10
|
from typing import Any
|
11
11
|
|
12
12
|
_LOGGER: Incomplete
|
@@ -14,8 +14,9 @@ _LOGGER: Incomplete
|
|
14
14
|
async def async_get_service(hass: HomeAssistant, config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> NFAndroidTVNotificationService | None: ...
|
15
15
|
|
16
16
|
class NFAndroidTVNotificationService(BaseNotificationService):
|
17
|
-
|
17
|
+
host: Incomplete
|
18
18
|
is_allowed_path: Incomplete
|
19
|
-
|
19
|
+
notify: Notifications | None
|
20
|
+
def __init__(self, host: str, is_allowed_path: Any) -> None: ...
|
20
21
|
def send_message(self, message: str, **kwargs: Any) -> None: ...
|
21
22
|
def load_file(self, url: str | None = None, local_path: str | None = None, username: str | None = None, password: str | None = None, auth: str | None = None) -> BufferedReader | bytes | None: ...
|
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN
|
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
5
5
|
from homeassistant.const import ATTR_DATE as ATTR_DATE
|
6
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
7
7
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
8
8
|
from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
|
9
9
|
from homeassistant.util.json import JsonValueType as JsonValueType
|
@@ -16,4 +16,5 @@ SERVICE_GET_PRICES_FOR_DATE: str
|
|
16
16
|
SERVICE_GET_PRICES_SCHEMA: Incomplete
|
17
17
|
|
18
18
|
def get_config_entry(hass: HomeAssistant, entry_id: str) -> NordPoolConfigEntry: ...
|
19
|
+
@callback
|
19
20
|
def async_setup_services(hass: HomeAssistant) -> None: ...
|
@@ -1,7 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import NtfyConfigEntry as NtfyConfigEntry, NtfyDataUpdateCoordinator as NtfyDataUpdateCoordinator
|
2
3
|
from _typeshed import Incomplete
|
3
|
-
from aiontfy import Ntfy
|
4
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
4
|
from homeassistant.const import CONF_TOKEN as CONF_TOKEN, CONF_URL as CONF_URL, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
|
6
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
6
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
@@ -9,7 +8,6 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession as asyn
|
|
9
8
|
|
10
9
|
_LOGGER: Incomplete
|
11
10
|
PLATFORMS: list[Platform]
|
12
|
-
type NtfyConfigEntry = ConfigEntry[Ntfy]
|
13
11
|
|
14
12
|
async def async_setup_entry(hass: HomeAssistant, entry: NtfyConfigEntry) -> bool: ...
|
15
13
|
async def _async_update_listener(hass: HomeAssistant, entry: NtfyConfigEntry) -> None: ...
|
@@ -12,6 +12,7 @@ from typing import Any
|
|
12
12
|
_LOGGER: Incomplete
|
13
13
|
STEP_USER_DATA_SCHEMA: Incomplete
|
14
14
|
STEP_REAUTH_DATA_SCHEMA: Incomplete
|
15
|
+
STEP_RECONFIGURE_DATA_SCHEMA: Incomplete
|
15
16
|
STEP_USER_TOPIC_SCHEMA: Incomplete
|
16
17
|
RE_TOPIC: Incomplete
|
17
18
|
|
@@ -22,6 +23,8 @@ class NtfyConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
22
23
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
23
24
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
24
25
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
26
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
27
|
+
async def async_step_reconfigure_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
25
28
|
|
26
29
|
class TopicSubentryFlowHandler(ConfigSubentryFlow):
|
27
30
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
@@ -0,0 +1,16 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from aiontfy import Account as NtfyAccount, Ntfy as Ntfy
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
|
7
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
8
|
+
|
9
|
+
_LOGGER: Incomplete
|
10
|
+
type NtfyConfigEntry = ConfigEntry[NtfyDataUpdateCoordinator]
|
11
|
+
|
12
|
+
class NtfyDataUpdateCoordinator(DataUpdateCoordinator[NtfyAccount]):
|
13
|
+
config_entry: NtfyConfigEntry
|
14
|
+
ntfy: Incomplete
|
15
|
+
def __init__(self, hass: HomeAssistant, config_entry: NtfyConfigEntry, ntfy: Ntfy) -> None: ...
|
16
|
+
async def _async_update_data(self) -> NtfyAccount: ...
|
@@ -1,5 +1,5 @@
|
|
1
|
-
from . import NtfyConfigEntry as NtfyConfigEntry
|
2
1
|
from .const import CONF_TOPIC as CONF_TOPIC, DOMAIN as DOMAIN
|
2
|
+
from .coordinator import NtfyConfigEntry as NtfyConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.notify import NotifyEntity as NotifyEntity, NotifyEntityDescription as NotifyEntityDescription, NotifyEntityFeature as NotifyEntityFeature
|
5
5
|
from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
|
@@ -0,0 +1,56 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .coordinator import NtfyConfigEntry as NtfyConfigEntry, NtfyDataUpdateCoordinator as NtfyDataUpdateCoordinator
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from aiontfy import Account as NtfyAccount
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from enum import StrEnum
|
8
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
9
|
+
from homeassistant.const import CONF_URL as CONF_URL, EntityCategory as EntityCategory, UnitOfInformation as UnitOfInformation, UnitOfTime as UnitOfTime
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
|
+
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
12
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
13
|
+
from homeassistant.helpers.typing import StateType as StateType
|
14
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
15
|
+
|
16
|
+
PARALLEL_UPDATES: int
|
17
|
+
|
18
|
+
@dataclass(kw_only=True, frozen=True)
|
19
|
+
class NtfySensorEntityDescription(SensorEntityDescription):
|
20
|
+
value_fn: Callable[[NtfyAccount], StateType]
|
21
|
+
|
22
|
+
class NtfySensor(StrEnum):
|
23
|
+
MESSAGES = 'messages'
|
24
|
+
MESSAGES_REMAINING = 'messages_remaining'
|
25
|
+
MESSAGES_LIMIT = 'messages_limit'
|
26
|
+
MESSAGES_EXPIRY_DURATION = 'messages_expiry_duration'
|
27
|
+
EMAILS = 'emails'
|
28
|
+
EMAILS_REMAINING = 'emails_remaining'
|
29
|
+
EMAILS_LIMIT = 'emails_limit'
|
30
|
+
CALLS = 'calls'
|
31
|
+
CALLS_REMAINING = 'calls_remaining'
|
32
|
+
CALLS_LIMIT = 'calls_limit'
|
33
|
+
RESERVATIONS = 'reservations'
|
34
|
+
RESERVATIONS_REMAINING = 'reservations_remaining'
|
35
|
+
RESERVATIONS_LIMIT = 'reservations_limit'
|
36
|
+
ATTACHMENT_TOTAL_SIZE = 'attachment_total_size'
|
37
|
+
ATTACHMENT_TOTAL_SIZE_REMAINING = 'attachment_total_size_remaining'
|
38
|
+
ATTACHMENT_TOTAL_SIZE_LIMIT = 'attachment_total_size_limit'
|
39
|
+
ATTACHMENT_EXPIRY_DURATION = 'attachment_expiry_duration'
|
40
|
+
ATTACHMENT_BANDWIDTH = 'attachment_bandwidth'
|
41
|
+
ATTACHMENT_FILE_SIZE = 'attachment_file_size'
|
42
|
+
TIER = 'tier'
|
43
|
+
|
44
|
+
SENSOR_DESCRIPTIONS: tuple[NtfySensorEntityDescription, ...]
|
45
|
+
|
46
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: NtfyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
47
|
+
|
48
|
+
class NtfySensorEntity(CoordinatorEntity[NtfyDataUpdateCoordinator], SensorEntity):
|
49
|
+
entity_description: NtfySensorEntityDescription
|
50
|
+
coordinator: NtfyDataUpdateCoordinator
|
51
|
+
_attr_has_entity_name: bool
|
52
|
+
_attr_unique_id: Incomplete
|
53
|
+
_attr_device_info: Incomplete
|
54
|
+
def __init__(self, coordinator: NtfyDataUpdateCoordinator, description: NtfySensorEntityDescription) -> None: ...
|
55
|
+
@property
|
56
|
+
def native_value(self) -> StateType: ...
|
@@ -2,7 +2,7 @@ from .const import DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import OhmeConfigEntry as OhmeConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
5
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
6
6
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
7
7
|
from homeassistant.helpers import selector as selector
|
8
8
|
from ohme import OhmeApiClient as OhmeApiClient
|
@@ -16,4 +16,5 @@ SERVICE_SET_PRICE_CAP: str
|
|
16
16
|
SERVICE_SET_PRICE_CAP_SCHEMA: Final[Incomplete]
|
17
17
|
|
18
18
|
def __get_client(call: ServiceCall) -> OhmeApiClient: ...
|
19
|
+
@callback
|
19
20
|
def async_setup_services(hass: HomeAssistant) -> None: ...
|
@@ -1,6 +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
|
3
|
+
from .services import async_setup_services as async_setup_services
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Awaitable, Callable as Callable
|
6
6
|
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, Platform as Platform
|
@@ -2,7 +2,7 @@ from .const import DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import OneDriveConfigEntry as OneDriveConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
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
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
6
6
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
7
7
|
|
8
8
|
CONF_CONFIG_ENTRY_ID: str
|
@@ -12,4 +12,5 @@ UPLOAD_SERVICE_SCHEMA: Incomplete
|
|
12
12
|
CONTENT_SIZE_LIMIT: Incomplete
|
13
13
|
|
14
14
|
def _read_file_contents(hass: HomeAssistant, filenames: list[str]) -> list[tuple[str, bytes]]: ...
|
15
|
-
|
15
|
+
@callback
|
16
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import DEVICE_KEYS_0_3 as DEVICE_KEYS_0_3, DEVICE_KEYS_0_7 as DEVICE_KEYS_0_7, DEVICE_KEYS_A_B as DEVICE_KEYS_A_B,
|
1
|
+
from .const import DEVICE_KEYS_0_3 as DEVICE_KEYS_0_3, DEVICE_KEYS_0_7 as DEVICE_KEYS_0_7, DEVICE_KEYS_A_B as DEVICE_KEYS_A_B, READ_MODE_INT as READ_MODE_INT
|
2
2
|
from .entity import OneWireEntity as OneWireEntity, OneWireEntityDescription as OneWireEntityDescription
|
3
3
|
from .onewirehub import OWDeviceDescription as OWDeviceDescription, OneWireConfigEntry as OneWireConfigEntry, OneWireHub as OneWireHub, SIGNAL_NEW_DEVICE_CONNECTED as SIGNAL_NEW_DEVICE_CONNECTED
|
4
4
|
from _typeshed import Incomplete
|
@@ -13,7 +13,8 @@ PARALLEL_UPDATES: int
|
|
13
13
|
SCAN_INTERVAL: Incomplete
|
14
14
|
|
15
15
|
@dataclass(frozen=True)
|
16
|
-
class OneWireBinarySensorEntityDescription(OneWireEntityDescription, BinarySensorEntityDescription):
|
16
|
+
class OneWireBinarySensorEntityDescription(OneWireEntityDescription, BinarySensorEntityDescription):
|
17
|
+
read_mode = READ_MODE_INT
|
17
18
|
|
18
19
|
DEVICE_BINARY_SENSORS: dict[str, tuple[OneWireBinarySensorEntityDescription, ...]]
|
19
20
|
HOBBYBOARD_EF: dict[str, tuple[OneWireBinarySensorEntityDescription, ...]]
|
@@ -1,9 +1,8 @@
|
|
1
|
-
from .const import
|
1
|
+
from .const import READ_MODE_INT as READ_MODE_INT
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from dataclasses import dataclass
|
4
4
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
5
5
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
6
|
-
from homeassistant.helpers.typing import StateType as StateType
|
7
6
|
from pyownet import protocol
|
8
7
|
from typing import Any
|
9
8
|
|
@@ -20,7 +19,7 @@ class OneWireEntity(Entity):
|
|
20
19
|
_attr_unique_id: Incomplete
|
21
20
|
_attr_device_info: Incomplete
|
22
21
|
_device_file: Incomplete
|
23
|
-
_state:
|
22
|
+
_state: int | float | None
|
24
23
|
_value_raw: float | None
|
25
24
|
_owproxy: Incomplete
|
26
25
|
def __init__(self, description: OneWireEntityDescription, device_id: str, device_info: DeviceInfo, device_file: str, owproxy: protocol._Proxy) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import DEVICE_KEYS_0_3 as DEVICE_KEYS_0_3, DEVICE_KEYS_0_7 as DEVICE_KEYS_0_7, DEVICE_KEYS_A_B as DEVICE_KEYS_A_B,
|
1
|
+
from .const import DEVICE_KEYS_0_3 as DEVICE_KEYS_0_3, DEVICE_KEYS_0_7 as DEVICE_KEYS_0_7, DEVICE_KEYS_A_B as DEVICE_KEYS_A_B, READ_MODE_INT as READ_MODE_INT
|
2
2
|
from .entity import OneWireEntity as OneWireEntity, OneWireEntityDescription as OneWireEntityDescription
|
3
3
|
from .onewirehub import OWDeviceDescription as OWDeviceDescription, OneWireConfigEntry as OneWireConfigEntry, OneWireHub as OneWireHub, SIGNAL_NEW_DEVICE_CONNECTED as SIGNAL_NEW_DEVICE_CONNECTED
|
4
4
|
from _typeshed import Incomplete
|
@@ -14,7 +14,8 @@ PARALLEL_UPDATES: int
|
|
14
14
|
SCAN_INTERVAL: Incomplete
|
15
15
|
|
16
16
|
@dataclass(frozen=True)
|
17
|
-
class OneWireSwitchEntityDescription(OneWireEntityDescription, SwitchEntityDescription):
|
17
|
+
class OneWireSwitchEntityDescription(OneWireEntityDescription, SwitchEntityDescription):
|
18
|
+
read_mode = READ_MODE_INT
|
18
19
|
|
19
20
|
DEVICE_SWITCHES: dict[str, tuple[OneWireEntityDescription, ...]]
|
20
21
|
HOBBYBOARD_EF: dict[str, tuple[OneWireEntityDescription, ...]]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, InputSource as InputSource, ListeningMode as ListeningMode, OPTION_INPUT_SOURCES as OPTION_INPUT_SOURCES, OPTION_LISTENING_MODES as OPTION_LISTENING_MODES
|
2
2
|
from .receiver import Receiver as Receiver, async_interview as async_interview
|
3
|
-
from .services import DATA_MP_ENTITIES as DATA_MP_ENTITIES,
|
3
|
+
from .services import DATA_MP_ENTITIES as DATA_MP_ENTITIES, async_setup_services as async_setup_services
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from dataclasses import dataclass
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
@@ -2,7 +2,7 @@ from .const import DOMAIN as DOMAIN
|
|
2
2
|
from .media_player import OnkyoMediaPlayer as OnkyoMediaPlayer
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
|
5
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
6
6
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
7
7
|
|
8
8
|
DATA_MP_ENTITIES: HassKey[dict[str, dict[str, OnkyoMediaPlayer]]]
|
@@ -11,4 +11,5 @@ ACCEPTED_VALUES: Incomplete
|
|
11
11
|
ONKYO_SELECT_OUTPUT_SCHEMA: Incomplete
|
12
12
|
SERVICE_SELECT_HDMI_OUTPUT: str
|
13
13
|
|
14
|
-
|
14
|
+
@callback
|
15
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import openai
|
2
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
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigSubentry as ConfigSubentry
|
5
5
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, Platform as Platform
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
|
7
7
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
@@ -21,3 +21,4 @@ def encode_file(file_path: str) -> tuple[str, str]: ...
|
|
21
21
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
22
22
|
async def async_setup_entry(hass: HomeAssistant, entry: OpenAIConfigEntry) -> bool: ...
|
23
23
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
24
|
+
async def async_migrate_integration(hass: HomeAssistant) -> None: ...
|