homeassistant-stubs 2025.6.2__py3-none-any.whl → 2025.7.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.
Potentially problematic release.
This version of homeassistant-stubs might be problematic. Click here for more details.
- 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/airq/coordinator.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/notify.pyi +2 -0
- homeassistant-stubs/components/alexa_devices/sensor.pyi +29 -0
- homeassistant-stubs/components/alexa_devices/switch.pyi +2 -0
- homeassistant-stubs/components/alexa_devices/utils.pyi +7 -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/esphome/sensor.pyi +2 -1
- 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 +13 -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/husqvarna_automower/const.pyi +3 -0
- homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +3 -1
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -1
- homeassistant-stubs/components/image/__init__.pyi +2 -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/lamarzocco/entity.pyi +3 -0
- homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -0
- 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 +5 -5
- 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/media_source/local_source.pyi +2 -0
- homeassistant-stubs/components/metoffice/sensor.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 +6 -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 +15 -0
- homeassistant-stubs/components/music_assistant/helpers.pyi +5 -0
- homeassistant-stubs/components/music_assistant/media_player.pyi +4 -4
- homeassistant-stubs/components/nam/config_flow.pyi +3 -9
- 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 +4 -2
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +19 -14
- homeassistant-stubs/components/openai_conversation/const.pyi +2 -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/person/__init__.pyi +1 -1
- homeassistant-stubs/components/plugwise/climate.pyi +0 -1
- homeassistant-stubs/components/pushbullet/sensor.pyi +1 -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 +8 -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/shelly/__init__.pyi +1 -1
- homeassistant-stubs/components/shelly/const.pyi +1 -0
- homeassistant-stubs/components/shelly/repairs.pyi +14 -3
- 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/stream/__init__.pyi +1 -1
- homeassistant-stubs/components/stream/const.pyi +1 -0
- homeassistant-stubs/components/stream/core.pyi +2 -1
- 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 +93 -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/__init__.pyi +1 -0
- 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/wallbox/const.pyi +4 -0
- homeassistant-stubs/components/wallbox/coordinator.pyi +6 -6
- homeassistant-stubs/components/wallbox/lock.pyi +1 -2
- homeassistant-stubs/components/wallbox/number.pyi +1 -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/config_flow.pyi +4 -1
- 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/config_entries.pyi +2 -0
- 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.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/RECORD +344 -307
- 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.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -3,7 +3,7 @@ from .coordinator import MealieConfigEntry as MealieConfigEntry
|
|
|
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 HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
|
8
8
|
|
|
9
9
|
SERVICE_GET_MEALPLAN: str
|
|
@@ -17,5 +17,11 @@ SERVICE_SET_RANDOM_MEALPLAN_SCHEMA: Incomplete
|
|
|
17
17
|
SERVICE_SET_MEALPLAN: str
|
|
18
18
|
SERVICE_SET_MEALPLAN_SCHEMA: Incomplete
|
|
19
19
|
|
|
20
|
-
def
|
|
21
|
-
def
|
|
20
|
+
def _async_get_entry(call: ServiceCall) -> MealieConfigEntry: ...
|
|
21
|
+
async def _async_get_mealplan(call: ServiceCall) -> ServiceResponse: ...
|
|
22
|
+
async def _async_get_recipe(call: ServiceCall) -> ServiceResponse: ...
|
|
23
|
+
async def _async_import_recipe(call: ServiceCall) -> ServiceResponse: ...
|
|
24
|
+
async def _async_set_random_mealplan(call: ServiceCall) -> ServiceResponse: ...
|
|
25
|
+
async def _async_set_mealplan(call: ServiceCall) -> ServiceResponse: ...
|
|
26
|
+
@callback
|
|
27
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
|
@@ -193,8 +193,6 @@ class MediaPlayerEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|
|
193
193
|
def group_members(self) -> list[str] | None: ...
|
|
194
194
|
@cached_property
|
|
195
195
|
def supported_features(self) -> MediaPlayerEntityFeature: ...
|
|
196
|
-
@property
|
|
197
|
-
def supported_features_compat(self) -> MediaPlayerEntityFeature: ...
|
|
198
196
|
def turn_on(self) -> None: ...
|
|
199
197
|
async def async_turn_on(self) -> None: ...
|
|
200
198
|
def turn_off(self) -> None: ...
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from . import ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, DOMAIN as DOMAIN, MediaPlayerDeviceClass as MediaPlayerDeviceClass, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA, SERVICE_SEARCH_MEDIA as SERVICE_SEARCH_MEDIA, SearchMedia as SearchMedia
|
|
2
|
-
from .const import MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState
|
|
2
|
+
from .const import ATTR_MEDIA_FILTER_CLASSES as ATTR_MEDIA_FILTER_CLASSES, MediaClass as MediaClass, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from collections.abc import Iterable
|
|
5
5
|
from dataclasses import dataclass, field
|
|
@@ -37,6 +37,8 @@ class LocalMediaView(http.HomeAssistantView):
|
|
|
37
37
|
hass: Incomplete
|
|
38
38
|
source: Incomplete
|
|
39
39
|
def __init__(self, hass: HomeAssistant, source: LocalSource) -> None: ...
|
|
40
|
+
async def _validate_media_path(self, source_dir_id: str, location: str) -> Path: ...
|
|
41
|
+
async def head(self, request: web.Request, source_dir_id: str, location: str) -> None: ...
|
|
40
42
|
async def get(self, request: web.Request, source_dir_id: str, location: str) -> web.FileResponse: ...
|
|
41
43
|
|
|
42
44
|
class UploadMediaView(http.HomeAssistantView):
|
|
@@ -4,7 +4,7 @@ from .helpers import get_attribute as get_attribute
|
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from dataclasses import dataclass
|
|
6
6
|
from datapoint.Forecast import Forecast
|
|
7
|
-
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
7
|
+
from homeassistant.components.sensor import EntityCategory as EntityCategory, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
|
8
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
9
9
|
from homeassistant.const import DEGREE as DEGREE, PERCENTAGE as PERCENTAGE, UV_INDEX as UV_INDEX, UnitOfLength as UnitOfLength, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -125,3 +125,27 @@ ROBOT_VACUUM_CLEANER_PROGRAM_ID: dict[int, str]
|
|
|
125
125
|
COFFEE_SYSTEM_PROGRAM_ID: dict[int, str]
|
|
126
126
|
STEAM_OVEN_MICRO_PROGRAM_ID: dict[int, str]
|
|
127
127
|
STATE_PROGRAM_ID: dict[int, dict[int, str]]
|
|
128
|
+
|
|
129
|
+
class PlatePowerStep(MieleEnum):
|
|
130
|
+
plate_step_0: int
|
|
131
|
+
plate_step_warming: Incomplete
|
|
132
|
+
plate_step_1: int
|
|
133
|
+
plate_step_2: int
|
|
134
|
+
plate_step_3: int
|
|
135
|
+
plate_step_4: int
|
|
136
|
+
plate_step_5: int
|
|
137
|
+
plate_step_6: int
|
|
138
|
+
plate_step_7: int
|
|
139
|
+
plate_step_8: int
|
|
140
|
+
plate_step_9: int
|
|
141
|
+
plate_step_10: int
|
|
142
|
+
plate_step_11: int
|
|
143
|
+
plate_step_12: int
|
|
144
|
+
plate_step_13: int
|
|
145
|
+
plate_step_14: int
|
|
146
|
+
plate_step_15: int
|
|
147
|
+
plate_step_16: int
|
|
148
|
+
plate_step_17: int
|
|
149
|
+
plate_step_18: int
|
|
150
|
+
plate_step_boost: Incomplete
|
|
151
|
+
missing2none: int
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .const import MieleAppliance as MieleAppliance, STATE_PROGRAM_ID as STATE_PROGRAM_ID, STATE_PROGRAM_PHASE as STATE_PROGRAM_PHASE, STATE_STATUS_TAGS as STATE_STATUS_TAGS, StateDryingStep as StateDryingStep, StateProgramType as StateProgramType, StateStatus as StateStatus
|
|
1
|
+
from .const import MieleAppliance as MieleAppliance, PlatePowerStep as PlatePowerStep, STATE_PROGRAM_ID as STATE_PROGRAM_ID, STATE_PROGRAM_PHASE as STATE_PROGRAM_PHASE, STATE_STATUS_TAGS as STATE_STATUS_TAGS, StateDryingStep as StateDryingStep, StateProgramType as StateProgramType, StateStatus as StateStatus
|
|
2
2
|
from .coordinator import MieleConfigEntry as MieleConfigEntry, MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
|
|
3
3
|
from .entity import MieleEntity as MieleEntity
|
|
4
4
|
from _typeshed import Incomplete
|
|
@@ -15,7 +15,6 @@ from typing import Final
|
|
|
15
15
|
PARALLEL_UPDATES: int
|
|
16
16
|
_LOGGER: Incomplete
|
|
17
17
|
DISABLED_TEMPERATURE: int
|
|
18
|
-
PLATE_POWERS: Incomplete
|
|
19
18
|
DEFAULT_PLATE_COUNT: int
|
|
20
19
|
PLATE_COUNT: Incomplete
|
|
21
20
|
|
|
@@ -19,7 +19,7 @@ from homeassistant.components.light import DEFAULT_MAX_KELVIN as DEFAULT_MAX_KEL
|
|
|
19
19
|
from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, STATE_CLASS_UNITS as STATE_CLASS_UNITS, SensorDeviceClass as SensorDeviceClass, SensorStateClass as SensorStateClass
|
|
20
20
|
from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass
|
|
21
21
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE, SubentryFlowResult as SubentryFlowResult
|
|
22
|
-
from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME, ATTR_SW_VERSION as ATTR_SW_VERSION, CONF_BRIGHTNESS as CONF_BRIGHTNESS, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DEVICE as CONF_DEVICE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_DISCOVERY as CONF_DISCOVERY, CONF_EFFECT as CONF_EFFECT, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_PLATFORM as CONF_PLATFORM, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_STATE_TEMPLATE as CONF_STATE_TEMPLATE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_USERNAME as CONF_USERNAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
|
|
22
|
+
from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME, ATTR_SW_VERSION as ATTR_SW_VERSION, CONF_BRIGHTNESS as CONF_BRIGHTNESS, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DEVICE as CONF_DEVICE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_DISCOVERY as CONF_DISCOVERY, CONF_EFFECT as CONF_EFFECT, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_PLATFORM as CONF_PLATFORM, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_STATE_TEMPLATE as CONF_STATE_TEMPLATE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_USERNAME as CONF_USERNAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, EntityCategory as EntityCategory, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
|
|
23
23
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
24
24
|
from homeassistant.data_entry_flow import AbortFlow as AbortFlow, SectionConfig as SectionConfig, section as section
|
|
25
25
|
from homeassistant.helpers.hassio import is_hassio as is_hassio
|
|
@@ -58,8 +58,10 @@ SUBENTRY_PLATFORMS: Incomplete
|
|
|
58
58
|
SUBENTRY_PLATFORM_SELECTOR: Incomplete
|
|
59
59
|
TEMPLATE_SELECTOR: Incomplete
|
|
60
60
|
SUBENTRY_AVAILABILITY_SCHEMA: Incomplete
|
|
61
|
+
ENTITY_CATEGORY_SELECTOR: Incomplete
|
|
61
62
|
SENSOR_DEVICE_CLASS_SELECTOR: Incomplete
|
|
62
63
|
BINARY_SENSOR_DEVICE_CLASS_SELECTOR: Incomplete
|
|
64
|
+
SENSOR_ENTITY_CATEGORY_SELECTOR: Incomplete
|
|
63
65
|
BUTTON_DEVICE_CLASS_SELECTOR: Incomplete
|
|
64
66
|
COVER_DEVICE_CLASS_SELECTOR: Incomplete
|
|
65
67
|
SENSOR_STATE_CLASS_SELECTOR: Incomplete
|
|
@@ -107,6 +109,7 @@ def unit_of_measurement_selector(user_data: dict[str, Any | None]) -> Selector:
|
|
|
107
109
|
def validate_light_platform_config(user_data: dict[str, Any]) -> dict[str, str]: ...
|
|
108
110
|
|
|
109
111
|
COMMON_ENTITY_FIELDS: dict[str, PlatformField]
|
|
112
|
+
SHARED_PLATFORM_ENTITY_FIELDS: dict[str, PlatformField]
|
|
110
113
|
PLATFORM_ENTITY_FIELDS: dict[str, dict[str, PlatformField]]
|
|
111
114
|
PLATFORM_MQTT_FIELDS: dict[str, dict[str, PlatformField]]
|
|
112
115
|
ENTITY_CONFIG_VALIDATOR: dict[str, Callable[[dict[str, Any]], dict[str, str]] | None]
|
|
@@ -173,6 +176,8 @@ class MQTTSubentryFlowHandler(ConfigSubentryFlow):
|
|
|
173
176
|
def generate_names(self) -> tuple[str, str]: ...
|
|
174
177
|
@callback
|
|
175
178
|
def get_suggested_values_from_component(self, data_schema: vol.Schema) -> dict[str, Any]: ...
|
|
179
|
+
@callback
|
|
180
|
+
def get_suggested_values_from_device_data(self, data_schema: vol.Schema) -> dict[str, Any]: ...
|
|
176
181
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
|
177
182
|
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
|
178
183
|
async def async_step_device(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
|
@@ -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,15 @@
|
|
|
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
|
+
@catch_musicassistant_error
|
|
15
|
+
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,30 +1,24 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
|
2
2
|
from _typeshed import Incomplete
|
|
3
3
|
from collections.abc import Mapping
|
|
4
|
-
from dataclasses import dataclass
|
|
5
4
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
|
6
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
|
7
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
8
7
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
9
8
|
from homeassistant.helpers.device_registry import format_mac as format_mac
|
|
10
9
|
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
|
|
10
|
+
from nettigo_air_monitor import NettigoAirMonitor
|
|
11
11
|
from typing import Any
|
|
12
12
|
|
|
13
|
-
@dataclass
|
|
14
|
-
class NamConfig:
|
|
15
|
-
mac_address: str
|
|
16
|
-
auth_enabled: bool
|
|
17
|
-
|
|
18
13
|
_LOGGER: Incomplete
|
|
19
14
|
AUTH_SCHEMA: Incomplete
|
|
20
15
|
|
|
21
|
-
async def
|
|
22
|
-
async def async_check_credentials(hass: HomeAssistant, host: str, data: dict[str, Any]) -> None: ...
|
|
16
|
+
async def async_get_nam(hass: HomeAssistant, host: str, data: dict[str, Any]) -> NettigoAirMonitor: ...
|
|
23
17
|
|
|
24
18
|
class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
25
19
|
VERSION: int
|
|
26
|
-
_config: NamConfig
|
|
27
20
|
host: str
|
|
21
|
+
auth_enabled: bool
|
|
28
22
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
29
23
|
async def async_step_credentials(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
30
24
|
async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
|
|
@@ -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
|