homeassistant-stubs 2025.7.4__py3-none-any.whl → 2025.8.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.
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/airnow/__init__.pyi +0 -1
- homeassistant-stubs/components/airnow/config_flow.pyi +2 -2
- homeassistant-stubs/components/airos/__init__.pyi +9 -0
- homeassistant-stubs/components/airos/config_flow.pyi +14 -0
- homeassistant-stubs/components/airos/const.pyi +5 -0
- homeassistant-stubs/components/airos/coordinator.pyi +16 -0
- homeassistant-stubs/components/airos/entity.pyi +11 -0
- homeassistant-stubs/components/airos/sensor.pyi +29 -0
- homeassistant-stubs/components/airq/const.pyi +0 -1
- homeassistant-stubs/components/airq/sensor.pyi +2 -2
- homeassistant-stubs/components/airthings/sensor.pyi +1 -1
- homeassistant-stubs/components/alexa_devices/__init__.pyi +6 -0
- homeassistant-stubs/components/alexa_devices/config_flow.pyi +10 -0
- homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -3
- homeassistant-stubs/components/alexa_devices/services.pyi +24 -0
- homeassistant-stubs/components/amberelectric/__init__.pyi +7 -1
- homeassistant-stubs/components/amberelectric/const.pyi +8 -1
- homeassistant-stubs/components/amberelectric/coordinator.pyi +1 -2
- homeassistant-stubs/components/amberelectric/helpers.pyi +6 -0
- homeassistant-stubs/components/amberelectric/sensor.pyi +2 -2
- homeassistant-stubs/components/amberelectric/services.pyi +15 -0
- homeassistant-stubs/components/analytics/__init__.pyi +1 -0
- homeassistant-stubs/components/analytics/analytics.pyi +3 -0
- homeassistant-stubs/components/analytics/http.pyi +10 -0
- homeassistant-stubs/components/analytics_insights/__init__.pyi +0 -1
- homeassistant-stubs/components/analytics_insights/config_flow.pyi +2 -2
- homeassistant-stubs/components/androidtv_remote/__init__.pyi +2 -6
- homeassistant-stubs/components/androidtv_remote/config_flow.pyi +6 -6
- homeassistant-stubs/components/androidtv_remote/diagnostics.pyi +1 -1
- homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -2
- homeassistant-stubs/components/androidtv_remote/helpers.pyi +3 -1
- homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -4
- homeassistant-stubs/components/androidtv_remote/remote.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/const.pyi +0 -1
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -5
- homeassistant-stubs/components/awair/const.pyi +1 -0
- homeassistant-stubs/components/awair/sensor.pyi +1 -1
- homeassistant-stubs/components/backup/__init__.pyi +6 -2
- homeassistant-stubs/components/backup/coordinator.pyi +0 -1
- homeassistant-stubs/components/backup/manager.pyi +6 -3
- homeassistant-stubs/components/backup/onboarding.pyi +1 -1
- homeassistant-stubs/components/backup/services.pyi +7 -0
- homeassistant-stubs/components/backup/websocket.pyi +4 -1
- homeassistant-stubs/components/blue_current/__init__.pyi +5 -5
- homeassistant-stubs/components/blue_current/const.pyi +11 -0
- homeassistant-stubs/components/blue_current/switch.pyi +40 -0
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/services.pyi +3 -2
- homeassistant-stubs/components/bring/__init__.pyi +5 -0
- homeassistant-stubs/components/bring/const.pyi +4 -0
- homeassistant-stubs/components/bring/services.pyi +14 -0
- homeassistant-stubs/components/cloud/backup.pyi +3 -3
- homeassistant-stubs/components/cloud/repairs.pyi +3 -3
- homeassistant-stubs/components/cloud/subscription.pyi +2 -1
- homeassistant-stubs/components/cloud/tts.pyi +2 -1
- homeassistant-stubs/components/command_line/sensor.pyi +0 -2
- homeassistant-stubs/components/demo/vacuum.pyi +0 -3
- homeassistant-stubs/components/derivative/__init__.pyi +5 -1
- homeassistant-stubs/components/derivative/config_flow.pyi +2 -0
- homeassistant-stubs/components/derivative/sensor.pyi +7 -4
- homeassistant-stubs/components/devolo_home_control/config_flow.pyi +3 -7
- homeassistant-stubs/components/devolo_home_control/entity.pyi +0 -1
- homeassistant-stubs/components/devolo_home_network/coordinator.pyi +2 -2
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -2
- homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -1
- homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
- homeassistant-stubs/components/discovergy/coordinator.pyi +1 -0
- homeassistant-stubs/components/dnsip/__init__.pyi +0 -1
- homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +13 -3
- homeassistant-stubs/components/ecovacs/sensor.pyi +13 -0
- homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -7
- homeassistant-stubs/components/eheimdigital/config_flow.pyi +2 -1
- homeassistant-stubs/components/elevenlabs/config_flow.pyi +1 -1
- homeassistant-stubs/components/elevenlabs/const.pyi +0 -2
- homeassistant-stubs/components/elevenlabs/tts.pyi +2 -3
- homeassistant-stubs/components/enphase_envoy/__init__.pyi +0 -2
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
- homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
- homeassistant-stubs/components/esphome/encryption_key_storage.pyi +29 -0
- homeassistant-stubs/components/esphome/entity.pyi +3 -1
- homeassistant-stubs/components/esphome/entry_data.pyi +14 -6
- homeassistant-stubs/components/esphome/manager.pyi +3 -1
- homeassistant-stubs/components/feedreader/__init__.pyi +0 -1
- homeassistant-stubs/components/feedreader/config_flow.pyi +3 -3
- homeassistant-stubs/components/forecast_solar/__init__.pyi +0 -1
- homeassistant-stubs/components/forecast_solar/config_flow.pyi +2 -2
- homeassistant-stubs/components/fritz/__init__.pyi +0 -1
- homeassistant-stubs/components/fritz/config_flow.pyi +2 -2
- homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +0 -1
- homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
- homeassistant-stubs/components/frontend/__init__.pyi +1 -0
- homeassistant-stubs/components/generic_hygrostat/__init__.pyi +3 -1
- homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
- homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -3
- homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -1
- homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
- homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
- homeassistant-stubs/components/geo_location/trigger.pyi +0 -1
- homeassistant-stubs/components/gios/const.pyi +2 -0
- homeassistant-stubs/components/gios/sensor.pyi +1 -1
- homeassistant-stubs/components/google_assistant_sdk/application_credentials.pyi +1 -0
- homeassistant-stubs/components/google_cloud/const.pyi +1 -0
- homeassistant-stubs/components/google_cloud/stt.pyi +3 -2
- homeassistant-stubs/components/guardian/__init__.pyi +1 -1
- homeassistant-stubs/components/guardian/services.pyi +2 -1
- homeassistant-stubs/components/habitica/button.pyi +3 -4
- homeassistant-stubs/components/habitica/coordinator.pyi +2 -3
- homeassistant-stubs/components/habitica/entity.pyi +1 -1
- homeassistant-stubs/components/habitica/sensor.pyi +3 -18
- homeassistant-stubs/components/habitica/switch.pyi +4 -3
- homeassistant-stubs/components/habitica/util.pyi +2 -1
- homeassistant-stubs/components/heos/__init__.pyi +1 -1
- homeassistant-stubs/components/heos/config_flow.pyi +3 -0
- homeassistant-stubs/components/heos/services.pyi +3 -2
- homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
- homeassistant-stubs/components/here_travel_time/config_flow.pyi +3 -2
- homeassistant-stubs/components/here_travel_time/const.pyi +1 -0
- homeassistant-stubs/components/here_travel_time/coordinator.pyi +1 -1
- homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
- homeassistant-stubs/components/history_stats/__init__.pyi +5 -1
- homeassistant-stubs/components/history_stats/config_flow.pyi +14 -0
- homeassistant-stubs/components/history_stats/coordinator.pyi +3 -1
- homeassistant-stubs/components/history_stats/data.pyi +2 -1
- homeassistant-stubs/components/history_stats/helpers.pyi +1 -1
- homeassistant-stubs/components/history_stats/sensor.pyi +7 -4
- homeassistant-stubs/components/holiday/__init__.pyi +0 -1
- homeassistant-stubs/components/holiday/config_flow.pyi +2 -2
- homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
- homeassistant-stubs/components/home_connect/services.pyi +3 -2
- homeassistant-stubs/components/homeassistant/__init__.pyi +2 -1
- homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -1
- homeassistant-stubs/components/homee/__init__.pyi +1 -1
- homeassistant-stubs/components/homee/config_flow.pyi +5 -0
- homeassistant-stubs/components/homekit/__init__.pyi +2 -1
- homeassistant-stubs/components/http/__init__.pyi +1 -2
- homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -2
- homeassistant-stubs/components/huawei_lte/config_flow.pyi +5 -4
- homeassistant-stubs/components/huawei_lte/const.pyi +1 -1
- homeassistant-stubs/components/huawei_lte/diagnostics.pyi +18 -0
- homeassistant-stubs/components/husqvarna_automower/button.pyi +2 -2
- homeassistant-stubs/components/husqvarna_automower/calendar.pyi +3 -0
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +15 -13
- homeassistant-stubs/components/husqvarna_automower/entity.pyi +2 -6
- homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -2
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +5 -0
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/hydrawise/const.pyi +1 -0
- homeassistant-stubs/components/hydrawise/coordinator.pyi +9 -2
- homeassistant-stubs/components/hydrawise/entity.pyi +1 -1
- homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
- homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
- homeassistant-stubs/components/hydrawise/valve.pyi +1 -1
- homeassistant-stubs/components/hyperion/__init__.pyi +0 -1
- homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
- homeassistant-stubs/components/imgw_pib/sensor.pyi +7 -1
- homeassistant-stubs/components/immich/__init__.pyi +6 -0
- homeassistant-stubs/components/immich/media_source.pyi +1 -0
- homeassistant-stubs/components/immich/services.pyi +18 -0
- homeassistant-stubs/components/input_text/__init__.pyi +1 -1
- homeassistant-stubs/components/integration/__init__.pyi +5 -1
- homeassistant-stubs/components/integration/config_flow.pyi +1 -0
- homeassistant-stubs/components/integration/sensor.pyi +5 -6
- homeassistant-stubs/components/iron_os/__init__.pyi +0 -3
- homeassistant-stubs/components/iron_os/const.pyi +4 -0
- homeassistant-stubs/components/iron_os/coordinator.pyi +1 -1
- homeassistant-stubs/components/iron_os/number.pyi +20 -4
- homeassistant-stubs/components/iron_os/switch.pyi +2 -0
- homeassistant-stubs/components/isy994/__init__.pyi +0 -1
- homeassistant-stubs/components/isy994/config_flow.pyi +3 -3
- homeassistant-stubs/components/jellyfin/browse_media.pyi +2 -1
- homeassistant-stubs/components/jellyfin/media_player.pyi +5 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +5 -15
- homeassistant-stubs/components/jewish_calendar/config_flow.pyi +2 -2
- homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -5
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +11 -7
- homeassistant-stubs/components/knx/__init__.pyi +6 -40
- homeassistant-stubs/components/knx/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/knx/button.pyi +1 -1
- homeassistant-stubs/components/knx/climate.pyi +1 -1
- homeassistant-stubs/components/knx/config_flow.pyi +14 -21
- homeassistant-stubs/components/knx/const.pyi +1 -1
- homeassistant-stubs/components/knx/cover.pyi +3 -2
- homeassistant-stubs/components/knx/date.pyi +1 -1
- homeassistant-stubs/components/knx/datetime.pyi +1 -1
- homeassistant-stubs/components/knx/entity.pyi +1 -1
- homeassistant-stubs/components/knx/fan.pyi +1 -1
- homeassistant-stubs/components/knx/knx_module.pyi +43 -0
- homeassistant-stubs/components/knx/light.pyi +3 -2
- homeassistant-stubs/components/knx/notify.pyi +1 -1
- homeassistant-stubs/components/knx/number.pyi +1 -1
- homeassistant-stubs/components/knx/scene.pyi +1 -1
- homeassistant-stubs/components/knx/select.pyi +1 -1
- homeassistant-stubs/components/knx/sensor.pyi +1 -1
- homeassistant-stubs/components/knx/services.pyi +2 -2
- homeassistant-stubs/components/knx/storage/config_store.pyi +4 -0
- homeassistant-stubs/components/knx/storage/const.pyi +8 -7
- homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +3 -10
- homeassistant-stubs/components/knx/storage/knx_selector.pyi +4 -0
- homeassistant-stubs/components/knx/storage/migration.pyi +5 -0
- homeassistant-stubs/components/knx/storage/util.pyi +16 -0
- homeassistant-stubs/components/knx/switch.pyi +3 -2
- homeassistant-stubs/components/knx/text.pyi +1 -1
- homeassistant-stubs/components/knx/time.pyi +1 -1
- homeassistant-stubs/components/knx/weather.pyi +1 -1
- homeassistant-stubs/components/knx/websocket.pyi +1 -1
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
- homeassistant-stubs/components/lcn/binary_sensor.pyi +1 -20
- homeassistant-stubs/components/lcn/helpers.pyi +1 -0
- homeassistant-stubs/components/lcn/light.pyi +2 -1
- homeassistant-stubs/components/letpot/coordinator.pyi +3 -4
- homeassistant-stubs/components/letpot/switch.pyi +1 -1
- homeassistant-stubs/components/letpot/time.pyi +1 -1
- homeassistant-stubs/components/lifx/const.pyi +1 -0
- homeassistant-stubs/components/lifx/coordinator.pyi +5 -1
- homeassistant-stubs/components/lifx/manager.pyi +1 -1
- homeassistant-stubs/components/linkplay/select.pyi +35 -0
- homeassistant-stubs/components/litterrobot/sensor.pyi +3 -0
- homeassistant-stubs/components/matrix/__init__.pyi +1 -1
- homeassistant-stubs/components/matrix/services.pyi +3 -2
- homeassistant-stubs/components/matter/entity.pyi +2 -2
- homeassistant-stubs/components/matter/number.pyi +29 -1
- homeassistant-stubs/components/matter/select.pyi +2 -2
- homeassistant-stubs/components/matter/vacuum.pyi +2 -0
- homeassistant-stubs/components/mcp_server/server.pyi +1 -1
- homeassistant-stubs/components/mealie/const.pyi +2 -0
- homeassistant-stubs/components/mealie/services.pyi +4 -1
- homeassistant-stubs/components/media_player/const.pyi +2 -2
- homeassistant-stubs/components/media_source/const.pyi +3 -0
- homeassistant-stubs/components/media_source/local_source.pyi +1 -1
- homeassistant-stubs/components/media_source/models.pyi +6 -2
- homeassistant-stubs/components/met_eireann/__init__.pyi +2 -17
- homeassistant-stubs/components/met_eireann/coordinator.pyi +28 -0
- homeassistant-stubs/components/met_eireann/weather.pyi +1 -3
- homeassistant-stubs/components/miele/__init__.pyi +5 -0
- homeassistant-stubs/components/miele/entity.pyi +2 -0
- homeassistant-stubs/components/miele/sensor.pyi +7 -6
- homeassistant-stubs/components/miele/services.pyi +24 -0
- homeassistant-stubs/components/miele/vacuum.pyi +0 -2
- homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
- homeassistant-stubs/components/mold_indicator/__init__.pyi +8 -1
- homeassistant-stubs/components/mold_indicator/config_flow.pyi +2 -0
- homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -2
- homeassistant-stubs/components/mqtt/climate.pyi +1 -37
- homeassistant-stubs/components/mqtt/config_flow.pyi +38 -6
- homeassistant-stubs/components/mqtt/const.pyi +33 -2
- homeassistant-stubs/components/mqtt/repairs.pyi +15 -0
- homeassistant-stubs/components/nasweb/const.pyi +1 -0
- homeassistant-stubs/components/nasweb/coordinator.pyi +3 -1
- homeassistant-stubs/components/nasweb/sensor.pyi +54 -0
- homeassistant-stubs/components/netatmo/climate.pyi +1 -1
- homeassistant-stubs/components/netatmo/const.pyi +1 -0
- homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
- homeassistant-stubs/components/nextdns/coordinator.pyi +10 -2
- homeassistant-stubs/components/nordpool/const.pyi +1 -0
- homeassistant-stubs/components/nordpool/services.pyi +5 -1
- homeassistant-stubs/components/number/const.pyi +2 -1
- homeassistant-stubs/components/nut/__init__.pyi +0 -1
- homeassistant-stubs/components/onewire/__init__.pyi +0 -1
- homeassistant-stubs/components/onewire/config_flow.pyi +2 -2
- homeassistant-stubs/components/onkyo/__init__.pyi +2 -3
- homeassistant-stubs/components/onkyo/config_flow.pyi +9 -6
- homeassistant-stubs/components/onkyo/const.pyi +7 -65
- homeassistant-stubs/components/onkyo/media_player.pyi +16 -44
- homeassistant-stubs/components/onkyo/receiver.pyi +24 -25
- homeassistant-stubs/components/onkyo/services.pyi +3 -3
- homeassistant-stubs/components/onkyo/util.pyi +3 -0
- homeassistant-stubs/components/open_router/__init__.pyi +15 -0
- homeassistant-stubs/components/open_router/ai_task.pyi +17 -0
- homeassistant-stubs/components/open_router/config_flow.pyi +30 -0
- homeassistant-stubs/components/open_router/const.pyi +8 -0
- homeassistant-stubs/components/open_router/conversation.pyi +20 -0
- homeassistant-stubs/components/open_router/entity.pyi +33 -0
- homeassistant-stubs/components/openai_conversation/__init__.pyi +3 -2
- homeassistant-stubs/components/openai_conversation/ai_task.pyi +16 -0
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -3
- homeassistant-stubs/components/openai_conversation/const.pyi +9 -1
- homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -22
- homeassistant-stubs/components/openai_conversation/entity.pyi +36 -0
- homeassistant-stubs/components/opower/__init__.pyi +8 -0
- homeassistant-stubs/components/opower/config_flow.pyi +25 -0
- homeassistant-stubs/components/opower/const.pyi +3 -0
- homeassistant-stubs/components/opower/coordinator.pyi +24 -0
- homeassistant-stubs/components/opower/sensor.pyi +35 -0
- homeassistant-stubs/components/pegel_online/__init__.pyi +1 -1
- homeassistant-stubs/components/pegel_online/sensor.pyi +2 -0
- homeassistant-stubs/components/pi_hole/__init__.pyi +6 -2
- homeassistant-stubs/components/pi_hole/config_flow.pyi +1 -2
- homeassistant-stubs/components/pi_hole/const.pyi +1 -0
- homeassistant-stubs/components/pi_hole/sensor.pyi +5 -0
- homeassistant-stubs/components/pi_hole/update.pyi +3 -3
- homeassistant-stubs/components/ping/__init__.pyi +0 -1
- homeassistant-stubs/components/ping/config_flow.pyi +3 -3
- homeassistant-stubs/components/plugwise/select.pyi +1 -1
- homeassistant-stubs/components/proximity/__init__.pyi +0 -1
- homeassistant-stubs/components/proximity/config_flow.pyi +3 -3
- homeassistant-stubs/components/purpleair/__init__.pyi +0 -1
- homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
- homeassistant-stubs/components/pyload/config_flow.pyi +4 -0
- homeassistant-stubs/components/recorder/pool.pyi +2 -1
- homeassistant-stubs/components/renault/__init__.pyi +1 -1
- homeassistant-stubs/components/renault/services.pyi +3 -2
- homeassistant-stubs/components/reolink/__init__.pyi +0 -1
- homeassistant-stubs/components/reolink/config_flow.pyi +2 -2
- homeassistant-stubs/components/reolink/number.pyi +1 -1
- homeassistant-stubs/components/reolink/sensor.pyi +1 -1
- homeassistant-stubs/components/rest/sensor.pyi +1 -3
- homeassistant-stubs/components/roborock/__init__.pyi +0 -1
- homeassistant-stubs/components/roborock/config_flow.pyi +2 -2
- homeassistant-stubs/components/roku/__init__.pyi +0 -1
- homeassistant-stubs/components/roku/config_flow.pyi +2 -2
- homeassistant-stubs/components/russound_rio/const.pyi +2 -0
- homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
- homeassistant-stubs/components/scrape/sensor.pyi +1 -2
- homeassistant-stubs/components/sensor/const.pyi +2 -1
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/shelly/button.pyi +2 -2
- homeassistant-stubs/components/shelly/climate.pyi +2 -2
- homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
- homeassistant-stubs/components/shelly/entity.pyi +3 -0
- homeassistant-stubs/components/shelly/event.pyi +2 -2
- homeassistant-stubs/components/shelly/sensor.pyi +2 -2
- homeassistant-stubs/components/shelly/utils.pyi +2 -2
- homeassistant-stubs/components/sleepiq/const.pyi +2 -0
- homeassistant-stubs/components/sleepiq/number.pyi +7 -3
- homeassistant-stubs/components/sleepiq/select.pyi +15 -2
- homeassistant-stubs/components/smhi/coordinator.pyi +3 -0
- homeassistant-stubs/components/smhi/entity.pyi +3 -1
- homeassistant-stubs/components/smhi/sensor.pyi +30 -0
- homeassistant-stubs/components/smhi/weather.pyi +4 -2
- homeassistant-stubs/components/sonarr/__init__.pyi +0 -1
- homeassistant-stubs/components/sonarr/config_flow.pyi +2 -2
- homeassistant-stubs/components/speedtestdotnet/__init__.pyi +0 -1
- homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +2 -2
- homeassistant-stubs/components/sql/__init__.pyi +0 -1
- homeassistant-stubs/components/sql/config_flow.pyi +2 -2
- homeassistant-stubs/components/squeezebox/__init__.pyi +3 -2
- homeassistant-stubs/components/squeezebox/const.pyi +2 -3
- homeassistant-stubs/components/squeezebox/coordinator.pyi +2 -2
- homeassistant-stubs/components/squeezebox/media_player.pyi +2 -2
- homeassistant-stubs/components/statistics/__init__.pyi +3 -1
- homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
- homeassistant-stubs/components/statistics/sensor.pyi +5 -5
- homeassistant-stubs/components/stookwijzer/__init__.pyi +4 -0
- homeassistant-stubs/components/stookwijzer/const.pyi +2 -0
- homeassistant-stubs/components/stookwijzer/services.pyi +17 -0
- homeassistant-stubs/components/switch_as_x/__init__.pyi +2 -2
- homeassistant-stubs/components/switch_as_x/entity.pyi +1 -3
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
- homeassistant-stubs/components/switchbot_cloud/const.pyi +1 -0
- homeassistant-stubs/components/switchbot_cloud/fan.pyi +26 -0
- homeassistant-stubs/components/switchbot_cloud/light.pyi +40 -0
- homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +17 -1
- homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
- homeassistant-stubs/components/tankerkoenig/__init__.pyi +10 -0
- homeassistant-stubs/components/tankerkoenig/binary_sensor.pyi +23 -0
- homeassistant-stubs/components/tankerkoenig/config_flow.pyi +33 -0
- homeassistant-stubs/components/tankerkoenig/const.pyi +13 -0
- homeassistant-stubs/components/tankerkoenig/coordinator.pyi +22 -0
- homeassistant-stubs/components/tankerkoenig/diagnostics.pyi +10 -0
- homeassistant-stubs/components/tankerkoenig/entity.pyi +11 -0
- homeassistant-stubs/components/tankerkoenig/sensor.pyi +28 -0
- homeassistant-stubs/components/threshold/__init__.pyi +5 -1
- homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
- homeassistant-stubs/components/time_date/config_flow.pyi +1 -2
- homeassistant-stubs/components/trafikverket_train/__init__.pyi +0 -1
- homeassistant-stubs/components/trafikverket_train/config_flow.pyi +2 -2
- homeassistant-stubs/components/trend/__init__.pyi +3 -1
- homeassistant-stubs/components/trend/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/trend/config_flow.pyi +1 -0
- homeassistant-stubs/components/tts/entity.pyi +0 -2
- homeassistant-stubs/components/unifiprotect/__init__.pyi +5 -5
- homeassistant-stubs/components/unifiprotect/config_flow.pyi +5 -5
- homeassistant-stubs/components/unifiprotect/repairs.pyi +0 -6
- homeassistant-stubs/components/unifiprotect/services.pyi +1 -1
- homeassistant-stubs/components/uptime_kuma/__init__.pyi +14 -0
- homeassistant-stubs/components/uptime_kuma/config_flow.pyi +26 -0
- homeassistant-stubs/components/uptime_kuma/const.pyi +7 -0
- homeassistant-stubs/components/uptime_kuma/coordinator.pyi +30 -0
- homeassistant-stubs/components/uptime_kuma/diagnostics.pyi +9 -0
- homeassistant-stubs/components/uptime_kuma/sensor.pyi +46 -0
- homeassistant-stubs/components/uptime_kuma/update.pyi +39 -0
- homeassistant-stubs/components/vacuum/__init__.pyi +7 -0
- homeassistant-stubs/components/velbus/__init__.pyi +1 -1
- homeassistant-stubs/components/velbus/const.pyi +0 -1
- homeassistant-stubs/components/velbus/services.pyi +4 -4
- homeassistant-stubs/components/vodafone_station/__init__.pyi +0 -1
- homeassistant-stubs/components/vodafone_station/config_flow.pyi +2 -2
- homeassistant-stubs/components/volvo/__init__.pyi +15 -0
- homeassistant-stubs/components/volvo/api.pyi +14 -0
- homeassistant-stubs/components/volvo/application_credentials.pyi +9 -0
- homeassistant-stubs/components/volvo/config_flow.pyi +34 -0
- homeassistant-stubs/components/volvo/const.pyi +8 -0
- homeassistant-stubs/components/volvo/coordinator.pyi +46 -0
- homeassistant-stubs/components/volvo/entity.pyi +33 -0
- homeassistant-stubs/components/volvo/sensor.pyi +35 -0
- homeassistant-stubs/components/wallbox/__init__.pyi +4 -5
- homeassistant-stubs/components/wallbox/coordinator.pyi +8 -2
- homeassistant-stubs/components/wallbox/lock.pyi +5 -4
- homeassistant-stubs/components/wallbox/number.pyi +6 -5
- homeassistant-stubs/components/wallbox/select.pyi +4 -3
- homeassistant-stubs/components/wallbox/sensor.pyi +5 -4
- homeassistant-stubs/components/wallbox/switch.pyi +5 -4
- homeassistant-stubs/components/waqi/__init__.pyi +3 -5
- homeassistant-stubs/components/waqi/coordinator.pyi +3 -2
- homeassistant-stubs/components/waqi/sensor.pyi +2 -13
- homeassistant-stubs/components/webostv/__init__.pyi +0 -1
- homeassistant-stubs/components/webostv/config_flow.pyi +3 -3
- homeassistant-stubs/components/websocket_api/commands.pyi +4 -0
- homeassistant-stubs/components/wiz/fan.pyi +34 -0
- homeassistant-stubs/components/wled/__init__.pyi +0 -1
- homeassistant-stubs/components/wled/config_flow.pyi +2 -2
- homeassistant-stubs/components/workday/__init__.pyi +0 -1
- homeassistant-stubs/components/workday/config_flow.pyi +2 -2
- homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
- homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +2 -2
- homeassistant-stubs/components/yalexs_ble/lock.pyi +14 -2
- homeassistant-stubs/components/zone/condition.pyi +22 -0
- homeassistant-stubs/components/zone/trigger.pyi +2 -1
- homeassistant-stubs/components/zwave_js/__init__.pyi +10 -9
- homeassistant-stubs/components/zwave_js/api.pyi +35 -34
- homeassistant-stubs/components/zwave_js/binary_sensor.pyi +7 -7
- homeassistant-stubs/components/zwave_js/button.pyi +5 -5
- homeassistant-stubs/components/zwave_js/climate.pyi +5 -5
- homeassistant-stubs/components/zwave_js/config_flow.pyi +4 -3
- homeassistant-stubs/components/zwave_js/const.pyi +0 -2
- homeassistant-stubs/components/zwave_js/cover.pyi +7 -7
- homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -1
- homeassistant-stubs/components/zwave_js/diagnostics.pyi +5 -5
- homeassistant-stubs/components/zwave_js/event.pyi +4 -4
- homeassistant-stubs/components/zwave_js/fan.pyi +6 -6
- homeassistant-stubs/components/zwave_js/helpers.pyi +6 -5
- homeassistant-stubs/components/zwave_js/humidifier.pyi +4 -4
- homeassistant-stubs/components/zwave_js/light.pyi +15 -5
- homeassistant-stubs/components/zwave_js/lock.pyi +3 -3
- homeassistant-stubs/components/zwave_js/models.pyi +12 -0
- homeassistant-stubs/components/zwave_js/number.pyi +6 -6
- homeassistant-stubs/components/zwave_js/select.pyi +8 -8
- homeassistant-stubs/components/zwave_js/sensor.pyi +10 -10
- homeassistant-stubs/components/zwave_js/siren.pyi +4 -4
- homeassistant-stubs/components/zwave_js/switch.pyi +7 -7
- homeassistant-stubs/components/zwave_js/triggers/event.pyi +1 -2
- homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -1
- homeassistant-stubs/components/zwave_js/update.pyi +28 -18
- homeassistant-stubs/config.pyi +0 -2
- homeassistant-stubs/config_entries.pyi +3 -0
- homeassistant-stubs/const.pyi +2 -0
- homeassistant-stubs/core.pyi +12 -8
- homeassistant-stubs/helpers/condition.pyi +25 -6
- homeassistant-stubs/helpers/config_validation.pyi +0 -2
- homeassistant-stubs/helpers/device.pyi +2 -0
- homeassistant-stubs/helpers/device_registry.pyi +11 -6
- homeassistant-stubs/helpers/entity.pyi +3 -1
- homeassistant-stubs/helpers/entity_platform.pyi +30 -9
- homeassistant-stubs/helpers/frame.pyi +1 -1
- homeassistant-stubs/helpers/helper_integration.pyi +2 -1
- homeassistant-stubs/helpers/llm.pyi +5 -1
- homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -0
- homeassistant-stubs/helpers/selector.pyi +42 -37
- homeassistant-stubs/helpers/service.pyi +9 -26
- homeassistant-stubs/helpers/target.pyi +59 -0
- homeassistant-stubs/helpers/trigger.pyi +3 -1
- homeassistant-stubs/helpers/trigger_template_entity.pyi +5 -1
- homeassistant-stubs/loader.pyi +2 -9
- homeassistant-stubs/runner.pyi +1 -0
- homeassistant-stubs/util/resource.pyi +7 -0
- homeassistant-stubs/util/unit_conversion.pyi +1 -1
- {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/RECORD +477 -409
- homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
- homeassistant-stubs/helpers/backup.pyi +0 -24
- {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from . import NextDnsConfigEntry as NextDnsConfigEntry
|
|
2
|
-
from .const import DOMAIN as DOMAIN
|
|
2
|
+
from .const import DOMAIN as DOMAIN, UPDATE_INTERVAL_ANALYTICS as UPDATE_INTERVAL_ANALYTICS, UPDATE_INTERVAL_CONNECTION as UPDATE_INTERVAL_CONNECTION, UPDATE_INTERVAL_SETTINGS as UPDATE_INTERVAL_SETTINGS
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from datetime import timedelta
|
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -12,29 +12,37 @@ _LOGGER: Incomplete
|
|
|
12
12
|
|
|
13
13
|
class NextDnsUpdateCoordinator[CoordinatorDataT: NextDnsData](DataUpdateCoordinator[CoordinatorDataT]):
|
|
14
14
|
config_entry: NextDnsConfigEntry
|
|
15
|
+
_update_interval: timedelta
|
|
15
16
|
nextdns: Incomplete
|
|
16
17
|
profile_id: Incomplete
|
|
17
|
-
def __init__(self, hass: HomeAssistant, config_entry: NextDnsConfigEntry, nextdns: NextDns, profile_id: str
|
|
18
|
+
def __init__(self, hass: HomeAssistant, config_entry: NextDnsConfigEntry, nextdns: NextDns, profile_id: str) -> None: ...
|
|
18
19
|
async def _async_update_data(self) -> CoordinatorDataT: ...
|
|
19
20
|
async def _async_update_data_internal(self) -> CoordinatorDataT: ...
|
|
20
21
|
|
|
21
22
|
class NextDnsStatusUpdateCoordinator(NextDnsUpdateCoordinator[AnalyticsStatus]):
|
|
23
|
+
_update_interval = UPDATE_INTERVAL_ANALYTICS
|
|
22
24
|
async def _async_update_data_internal(self) -> AnalyticsStatus: ...
|
|
23
25
|
|
|
24
26
|
class NextDnsDnssecUpdateCoordinator(NextDnsUpdateCoordinator[AnalyticsDnssec]):
|
|
27
|
+
_update_interval = UPDATE_INTERVAL_ANALYTICS
|
|
25
28
|
async def _async_update_data_internal(self) -> AnalyticsDnssec: ...
|
|
26
29
|
|
|
27
30
|
class NextDnsEncryptionUpdateCoordinator(NextDnsUpdateCoordinator[AnalyticsEncryption]):
|
|
31
|
+
_update_interval = UPDATE_INTERVAL_ANALYTICS
|
|
28
32
|
async def _async_update_data_internal(self) -> AnalyticsEncryption: ...
|
|
29
33
|
|
|
30
34
|
class NextDnsIpVersionsUpdateCoordinator(NextDnsUpdateCoordinator[AnalyticsIpVersions]):
|
|
35
|
+
_update_interval = UPDATE_INTERVAL_ANALYTICS
|
|
31
36
|
async def _async_update_data_internal(self) -> AnalyticsIpVersions: ...
|
|
32
37
|
|
|
33
38
|
class NextDnsProtocolsUpdateCoordinator(NextDnsUpdateCoordinator[AnalyticsProtocols]):
|
|
39
|
+
_update_interval = UPDATE_INTERVAL_ANALYTICS
|
|
34
40
|
async def _async_update_data_internal(self) -> AnalyticsProtocols: ...
|
|
35
41
|
|
|
36
42
|
class NextDnsSettingsUpdateCoordinator(NextDnsUpdateCoordinator[Settings]):
|
|
43
|
+
_update_interval = UPDATE_INTERVAL_SETTINGS
|
|
37
44
|
async def _async_update_data_internal(self) -> Settings: ...
|
|
38
45
|
|
|
39
46
|
class NextDnsConnectionUpdateCoordinator(NextDnsUpdateCoordinator[ConnectionStatus]):
|
|
47
|
+
_update_interval = UPDATE_INTERVAL_CONNECTION
|
|
40
48
|
async def _async_update_data_internal(self) -> ConnectionStatus: ...
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
from . import NordPoolConfigEntry as NordPoolConfigEntry
|
|
2
|
-
from .const import DOMAIN as DOMAIN
|
|
2
|
+
from .const import ATTR_RESOLUTION as ATTR_RESOLUTION, DOMAIN as DOMAIN
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
|
+
from collections.abc import Callable as Callable
|
|
4
5
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
|
5
6
|
from homeassistant.const import ATTR_DATE as ATTR_DATE
|
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
|
7
8
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
|
8
9
|
from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
|
|
9
10
|
from homeassistant.util.json import JsonValueType as JsonValueType
|
|
11
|
+
from pynordpool import DeliveryPeriodData as DeliveryPeriodData, NordPoolClient as NordPoolClient, PriceIndicesData as PriceIndicesData
|
|
10
12
|
|
|
11
13
|
_LOGGER: Incomplete
|
|
12
14
|
ATTR_CONFIG_ENTRY: str
|
|
13
15
|
ATTR_AREAS: str
|
|
14
16
|
ATTR_CURRENCY: str
|
|
15
17
|
SERVICE_GET_PRICES_FOR_DATE: str
|
|
18
|
+
SERVICE_GET_PRICE_INDICES_FOR_DATE: str
|
|
16
19
|
SERVICE_GET_PRICES_SCHEMA: Incomplete
|
|
20
|
+
SERVICE_GET_PRICE_INDICES_SCHEMA: Incomplete
|
|
17
21
|
|
|
18
22
|
def get_config_entry(hass: HomeAssistant, entry_id: str) -> NordPoolConfigEntry: ...
|
|
19
23
|
@callback
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from _typeshed import Incomplete
|
|
2
2
|
from enum import StrEnum
|
|
3
|
-
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER as CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactiveEnergy as UnitOfReactiveEnergy, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
|
|
3
|
+
from homeassistant.const import CONCENTRATION_GRAMS_PER_CUBIC_METER as CONCENTRATION_GRAMS_PER_CUBIC_METER, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER as CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactiveEnergy as UnitOfReactiveEnergy, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
|
|
4
4
|
from homeassistant.util.unit_conversion import BaseUnitConverter as BaseUnitConverter, ReactiveEnergyConverter as ReactiveEnergyConverter, TemperatureConverter as TemperatureConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
|
5
5
|
from typing import Final
|
|
6
6
|
|
|
@@ -21,6 +21,7 @@ class NumberMode(StrEnum):
|
|
|
21
21
|
SLIDER = 'slider'
|
|
22
22
|
|
|
23
23
|
class NumberDeviceClass(StrEnum):
|
|
24
|
+
ABSOLUTE_HUMIDITY = 'absolute_humidity'
|
|
24
25
|
APPARENT_POWER = 'apparent_power'
|
|
25
26
|
AQI = 'aqi'
|
|
26
27
|
AREA = 'area'
|
|
@@ -23,7 +23,6 @@ class NutRuntimeData:
|
|
|
23
23
|
async def async_setup_entry(hass: HomeAssistant, entry: NutConfigEntry) -> bool: ...
|
|
24
24
|
async def async_unload_entry(hass: HomeAssistant, entry: NutConfigEntry) -> bool: ...
|
|
25
25
|
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: NutConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
|
|
26
|
-
async def _async_update_listener(hass: HomeAssistant, entry: NutConfigEntry) -> None: ...
|
|
27
26
|
def _manufacturer_from_status(status: dict[str, str]) -> str | None: ...
|
|
28
27
|
def _model_from_status(status: dict[str, str]) -> str | None: ...
|
|
29
28
|
def _firmware_from_status(status: dict[str, str]) -> str | None: ...
|
|
@@ -12,4 +12,3 @@ _PLATFORMS: Incomplete
|
|
|
12
12
|
async def async_setup_entry(hass: HomeAssistant, entry: OneWireConfigEntry) -> bool: ...
|
|
13
13
|
async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: OneWireConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
|
|
14
14
|
async def async_unload_entry(hass: HomeAssistant, config_entry: OneWireConfigEntry) -> bool: ...
|
|
15
|
-
async def options_update_listener(hass: HomeAssistant, entry: OneWireConfigEntry) -> None: ...
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from .const import DEFAULT_HOST as DEFAULT_HOST, DEFAULT_PORT as DEFAULT_PORT, DEVICE_SUPPORT_OPTIONS as DEVICE_SUPPORT_OPTIONS, DOMAIN as DOMAIN, INPUT_ENTRY_CLEAR_OPTIONS as INPUT_ENTRY_CLEAR_OPTIONS, INPUT_ENTRY_DEVICE_SELECTION as INPUT_ENTRY_DEVICE_SELECTION, OPTION_ENTRY_DEVICE_OPTIONS as OPTION_ENTRY_DEVICE_OPTIONS, OPTION_ENTRY_SENSOR_PRECISION as OPTION_ENTRY_SENSOR_PRECISION, PRECISION_MAPPING_FAMILY_28 as PRECISION_MAPPING_FAMILY_28
|
|
2
2
|
from .onewirehub import OneWireConfigEntry as OneWireConfigEntry
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
|
-
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult,
|
|
4
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
|
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
7
7
|
from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
|
|
@@ -25,7 +25,7 @@ class OneWireFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
|
25
25
|
@callback
|
|
26
26
|
def async_get_options_flow(config_entry: OneWireConfigEntry) -> OnewireOptionsFlowHandler: ...
|
|
27
27
|
|
|
28
|
-
class OnewireOptionsFlowHandler(
|
|
28
|
+
class OnewireOptionsFlowHandler(OptionsFlowWithReload):
|
|
29
29
|
configurable_devices: dict[str, str]
|
|
30
30
|
devices_to_configure: dict[str, str]
|
|
31
31
|
current_device: str
|
|
@@ -1,5 +1,5 @@
|
|
|
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
|
-
from .receiver import
|
|
2
|
+
from .receiver import ReceiverManager as ReceiverManager, async_interview as async_interview
|
|
3
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
|
|
@@ -15,7 +15,7 @@ CONFIG_SCHEMA: Incomplete
|
|
|
15
15
|
|
|
16
16
|
@dataclass
|
|
17
17
|
class OnkyoData:
|
|
18
|
-
|
|
18
|
+
manager: ReceiverManager
|
|
19
19
|
sources: dict[InputSource, str]
|
|
20
20
|
sound_modes: dict[ListeningMode, str]
|
|
21
21
|
type OnkyoConfigEntry = ConfigEntry[OnkyoData]
|
|
@@ -23,4 +23,3 @@ type OnkyoConfigEntry = ConfigEntry[OnkyoData]
|
|
|
23
23
|
async def async_setup(hass: HomeAssistant, _: ConfigType) -> bool: ...
|
|
24
24
|
async def async_setup_entry(hass: HomeAssistant, entry: OnkyoConfigEntry) -> bool: ...
|
|
25
25
|
async def async_unload_entry(hass: HomeAssistant, entry: OnkyoConfigEntry) -> bool: ...
|
|
26
|
-
async def update_listener(hass: HomeAssistant, entry: OnkyoConfigEntry) -> None: ...
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
from . import OnkyoConfigEntry as OnkyoConfigEntry
|
|
1
2
|
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, OPTION_MAX_VOLUME as OPTION_MAX_VOLUME, OPTION_MAX_VOLUME_DEFAULT as OPTION_MAX_VOLUME_DEFAULT, OPTION_VOLUME_RESOLUTION as OPTION_VOLUME_RESOLUTION, OPTION_VOLUME_RESOLUTION_DEFAULT as OPTION_VOLUME_RESOLUTION_DEFAULT, VOLUME_RESOLUTION_ALLOWED as VOLUME_RESOLUTION_ALLOWED
|
|
2
|
-
from .receiver import
|
|
3
|
+
from .receiver import async_discover as async_discover, async_interview as async_interview
|
|
4
|
+
from .util import get_meaning as get_meaning
|
|
3
5
|
from _typeshed import Incomplete
|
|
4
|
-
from
|
|
6
|
+
from aioonkyo import ReceiverInfo as ReceiverInfo
|
|
7
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
|
5
8
|
from homeassistant.const import CONF_HOST as CONF_HOST
|
|
6
9
|
from homeassistant.core import callback as callback
|
|
7
10
|
from homeassistant.data_entry_flow import section as section
|
|
@@ -11,8 +14,8 @@ from typing import Any
|
|
|
11
14
|
|
|
12
15
|
_LOGGER: Incomplete
|
|
13
16
|
CONF_DEVICE: str
|
|
14
|
-
INPUT_SOURCES_DEFAULT:
|
|
15
|
-
LISTENING_MODES_DEFAULT:
|
|
17
|
+
INPUT_SOURCES_DEFAULT: list[InputSource]
|
|
18
|
+
LISTENING_MODES_DEFAULT: list[ListeningMode]
|
|
16
19
|
INPUT_SOURCES_ALL_MEANINGS: Incomplete
|
|
17
20
|
LISTENING_MODES_ALL_MEANINGS: Incomplete
|
|
18
21
|
STEP_MANUAL_SCHEMA: Incomplete
|
|
@@ -30,11 +33,11 @@ class OnkyoConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
30
33
|
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
31
34
|
@staticmethod
|
|
32
35
|
@callback
|
|
33
|
-
def async_get_options_flow(config_entry:
|
|
36
|
+
def async_get_options_flow(config_entry: OnkyoConfigEntry) -> OptionsFlowWithReload: ...
|
|
34
37
|
|
|
35
38
|
OPTIONS_STEP_INIT_SCHEMA: Incomplete
|
|
36
39
|
|
|
37
|
-
class OnkyoOptionsFlowHandler(
|
|
40
|
+
class OnkyoOptionsFlowHandler(OptionsFlowWithReload):
|
|
38
41
|
_data: dict[str, Any]
|
|
39
42
|
_input_sources: dict[InputSource, str]
|
|
40
43
|
_listening_modes: dict[ListeningMode, str]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from _typeshed import Incomplete
|
|
2
|
-
from
|
|
3
|
-
from typing import Literal
|
|
2
|
+
from aioonkyo import HDMIOutputParam, InputSourceParam, ListeningModeParam
|
|
3
|
+
from typing import Literal
|
|
4
4
|
|
|
5
5
|
DOMAIN: str
|
|
6
6
|
DEVICE_INTERVIEW_TIMEOUT: int
|
|
@@ -11,69 +11,11 @@ OPTION_VOLUME_RESOLUTION_DEFAULT: VolumeResolution
|
|
|
11
11
|
VOLUME_RESOLUTION_ALLOWED: tuple[VolumeResolution, ...]
|
|
12
12
|
OPTION_MAX_VOLUME: str
|
|
13
13
|
OPTION_MAX_VOLUME_DEFAULT: float
|
|
14
|
-
|
|
15
|
-
class EnumWithMeaning(Enum):
|
|
16
|
-
value_meaning: str
|
|
17
|
-
def __new__(cls, value: str) -> Self: ...
|
|
18
|
-
@staticmethod
|
|
19
|
-
def _get_meanings() -> dict[str, str]: ...
|
|
20
|
-
|
|
21
14
|
OPTION_INPUT_SOURCES: str
|
|
22
15
|
OPTION_LISTENING_MODES: str
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
DVR = '00'
|
|
27
|
-
CBL = '01'
|
|
28
|
-
GAME = '02'
|
|
29
|
-
AUX = '03'
|
|
30
|
-
GAME2 = '04'
|
|
31
|
-
PC = '05'
|
|
32
|
-
VIDEO7 = '06'
|
|
33
|
-
EXTRA1 = '07'
|
|
34
|
-
EXTRA2 = '08'
|
|
35
|
-
EXTRA3 = '09'
|
|
36
|
-
DVD = '10'
|
|
37
|
-
STRM_BOX = '11'
|
|
38
|
-
TV = '12'
|
|
39
|
-
TAPE = '20'
|
|
40
|
-
TAPE2 = '21'
|
|
41
|
-
PHONO = '22'
|
|
42
|
-
CD = '23'
|
|
43
|
-
FM = '24'
|
|
44
|
-
AM = '25'
|
|
45
|
-
TUNER = '26'
|
|
46
|
-
MUSIC_SERVER = '27'
|
|
47
|
-
INTERNET_RADIO = '28'
|
|
48
|
-
USB = '29'
|
|
49
|
-
USB_REAR = '2A'
|
|
50
|
-
NETWORK = '2B'
|
|
51
|
-
AIRPLAY = '2D'
|
|
52
|
-
BLUETOOTH = '2E'
|
|
53
|
-
USB_DAC_IN = '2F'
|
|
54
|
-
MULTI_CH = '30'
|
|
55
|
-
XM = '31'
|
|
56
|
-
SIRIUS = '32'
|
|
57
|
-
DAB = '33'
|
|
58
|
-
UNIVERSAL_PORT = '40'
|
|
59
|
-
LINE = '41'
|
|
60
|
-
LINE2 = '42'
|
|
61
|
-
OPTICAL = '44'
|
|
62
|
-
COAXIAL = '45'
|
|
63
|
-
HDMI_5 = '55'
|
|
64
|
-
HDMI_6 = '56'
|
|
65
|
-
HDMI_7 = '57'
|
|
66
|
-
MAIN_SOURCE = '80'
|
|
67
|
-
@staticmethod
|
|
68
|
-
def _get_meanings() -> dict[str, str]: ...
|
|
69
|
-
|
|
70
|
-
_LISTENING_MODE_MEANINGS: Incomplete
|
|
71
|
-
|
|
72
|
-
class ListeningMode(EnumWithMeaning):
|
|
73
|
-
_ignore_ = 'ListeningMode _k _v _meaning'
|
|
74
|
-
ListeningMode = ...
|
|
75
|
-
@staticmethod
|
|
76
|
-
def _get_meanings() -> dict[str, str]: ...
|
|
77
|
-
|
|
16
|
+
InputSource = InputSourceParam
|
|
17
|
+
ListeningMode = ListeningModeParam
|
|
18
|
+
HDMIOutput = HDMIOutputParam
|
|
78
19
|
ZONES: Incomplete
|
|
79
|
-
|
|
20
|
+
LEGACY_HDMI_OUTPUT_MAPPING: Incomplete
|
|
21
|
+
LEGACY_REV_HDMI_OUTPUT_MAPPING: Incomplete
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
from . import OnkyoConfigEntry as OnkyoConfigEntry
|
|
3
|
-
from .const import DOMAIN as DOMAIN, InputSource as InputSource, ListeningMode as ListeningMode, OPTION_MAX_VOLUME as OPTION_MAX_VOLUME, OPTION_VOLUME_RESOLUTION as OPTION_VOLUME_RESOLUTION,
|
|
4
|
-
from .receiver import
|
|
3
|
+
from .const import DOMAIN as DOMAIN, InputSource as InputSource, LEGACY_HDMI_OUTPUT_MAPPING as LEGACY_HDMI_OUTPUT_MAPPING, LEGACY_REV_HDMI_OUTPUT_MAPPING as LEGACY_REV_HDMI_OUTPUT_MAPPING, ListeningMode as ListeningMode, OPTION_MAX_VOLUME as OPTION_MAX_VOLUME, OPTION_VOLUME_RESOLUTION as OPTION_VOLUME_RESOLUTION, VolumeResolution as VolumeResolution, ZONES as ZONES
|
|
4
|
+
from .receiver import ReceiverManager as ReceiverManager
|
|
5
5
|
from .services import DATA_MP_ENTITIES as DATA_MP_ENTITIES
|
|
6
|
+
from .util import get_meaning as get_meaning
|
|
6
7
|
from _typeshed import Incomplete
|
|
7
|
-
from
|
|
8
|
-
from functools import cache
|
|
8
|
+
from aioonkyo import Status as Status, Zone, status
|
|
9
9
|
from homeassistant.components.media_player import MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
|
|
10
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
11
11
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
|
12
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
13
|
-
from typing import Any
|
|
13
|
+
from typing import Any
|
|
14
14
|
|
|
15
15
|
_LOGGER: Incomplete
|
|
16
16
|
SUPPORTED_FEATURES_BASE: Incomplete
|
|
@@ -23,54 +23,37 @@ ATTR_VIDEO_OUT: str
|
|
|
23
23
|
AUDIO_VIDEO_INFORMATION_UPDATE_WAIT_TIME: int
|
|
24
24
|
AUDIO_INFORMATION_MAPPING: Incomplete
|
|
25
25
|
VIDEO_INFORMATION_MAPPING: Incomplete
|
|
26
|
-
type LibValue = str | tuple[str, ...]
|
|
27
26
|
|
|
28
|
-
def _get_single_lib_value(value: LibValue) -> str: ...
|
|
29
|
-
def _get_lib_mapping[T: Enum](cmds: Any, cls: type[T]) -> dict[T, LibValue]: ...
|
|
30
|
-
@cache
|
|
31
|
-
def _input_source_lib_mappings(zone: str) -> dict[InputSource, LibValue]: ...
|
|
32
|
-
@cache
|
|
33
|
-
def _rev_input_source_lib_mappings(zone: str) -> dict[LibValue, InputSource]: ...
|
|
34
|
-
@cache
|
|
35
|
-
def _listening_mode_lib_mappings(zone: str) -> dict[ListeningMode, LibValue]: ...
|
|
36
|
-
@cache
|
|
37
|
-
def _rev_listening_mode_lib_mappings(zone: str) -> dict[LibValue, ListeningMode]: ...
|
|
38
27
|
async def async_setup_entry(hass: HomeAssistant, entry: OnkyoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
39
28
|
|
|
40
29
|
class OnkyoMediaPlayer(MediaPlayerEntity):
|
|
41
30
|
_attr_should_poll: bool
|
|
31
|
+
_attr_has_entity_name: bool
|
|
42
32
|
_supports_volume: bool
|
|
43
|
-
_supports_sound_mode: bool
|
|
33
|
+
_supports_sound_mode: bool | None
|
|
44
34
|
_supports_audio_info: bool
|
|
45
35
|
_supports_video_info: bool
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
_query_task: asyncio.Task | None
|
|
37
|
+
_manager: Incomplete
|
|
38
|
+
_zone: Incomplete
|
|
48
39
|
_attr_name: Incomplete
|
|
49
40
|
_attr_unique_id: Incomplete
|
|
50
|
-
_zone: Incomplete
|
|
51
41
|
_volume_resolution: Incomplete
|
|
52
42
|
_max_volume: Incomplete
|
|
53
|
-
_options_sources: Incomplete
|
|
54
|
-
_source_lib_mapping: Incomplete
|
|
55
|
-
_rev_source_lib_mapping: Incomplete
|
|
56
43
|
_source_mapping: Incomplete
|
|
57
44
|
_rev_source_mapping: Incomplete
|
|
58
|
-
_options_sound_modes: Incomplete
|
|
59
|
-
_sound_mode_lib_mapping: Incomplete
|
|
60
|
-
_rev_sound_mode_lib_mapping: Incomplete
|
|
61
45
|
_sound_mode_mapping: Incomplete
|
|
62
46
|
_rev_sound_mode_mapping: Incomplete
|
|
47
|
+
_hdmi_output_mapping: Incomplete
|
|
48
|
+
_rev_hdmi_output_mapping: Incomplete
|
|
63
49
|
_attr_source_list: Incomplete
|
|
64
50
|
_attr_sound_mode_list: Incomplete
|
|
65
51
|
_attr_supported_features: Incomplete
|
|
66
52
|
_attr_extra_state_attributes: Incomplete
|
|
67
|
-
def __init__(self,
|
|
53
|
+
def __init__(self, manager: ReceiverManager, zone: Zone, *, volume_resolution: VolumeResolution, max_volume: float, sources: dict[InputSource, str], sound_modes: dict[ListeningMode, str]) -> None: ...
|
|
68
54
|
async def async_added_to_hass(self) -> None: ...
|
|
69
55
|
async def async_will_remove_from_hass(self) -> None: ...
|
|
70
|
-
|
|
71
|
-
def _update_receiver(self, propname: str, value: Any) -> None: ...
|
|
72
|
-
@callback
|
|
73
|
-
def _query_receiver(self, propname: str) -> None: ...
|
|
56
|
+
async def backfill_state(self) -> None: ...
|
|
74
57
|
async def async_turn_on(self) -> None: ...
|
|
75
58
|
async def async_turn_off(self) -> None: ...
|
|
76
59
|
async def async_set_volume_level(self, volume: float) -> None: ...
|
|
@@ -81,21 +64,10 @@ class OnkyoMediaPlayer(MediaPlayerEntity):
|
|
|
81
64
|
async def async_select_sound_mode(self, sound_mode: str) -> None: ...
|
|
82
65
|
async def async_select_output(self, hdmi_output: str) -> None: ...
|
|
83
66
|
async def async_play_media(self, media_type: MediaType | str, media_id: str, **kwargs: Any) -> None: ...
|
|
84
|
-
@callback
|
|
85
|
-
def backfill_state(self) -> None: ...
|
|
86
67
|
_attr_state: Incomplete
|
|
87
68
|
_attr_volume_level: Incomplete
|
|
88
69
|
_attr_is_volume_muted: Incomplete
|
|
89
|
-
@callback
|
|
90
|
-
def process_update(self, update: tuple[str, str, Any]) -> None: ...
|
|
91
70
|
_attr_source: Incomplete
|
|
92
|
-
@callback
|
|
93
|
-
def _parse_source(self, source_lib: LibValue) -> None: ...
|
|
94
71
|
_attr_sound_mode: Incomplete
|
|
95
|
-
|
|
96
|
-
def _parse_sound_mode(self, mode_lib: LibValue) -> None: ...
|
|
97
|
-
@callback
|
|
98
|
-
def _parse_audio_information(self, audio_information: tuple[str] | Literal['N/A']) -> None: ...
|
|
99
|
-
@callback
|
|
100
|
-
def _parse_video_information(self, video_information: tuple[str] | Literal['N/A']) -> None: ...
|
|
72
|
+
def process_update(self, message: status.Known) -> None: ...
|
|
101
73
|
def _query_av_info_delayed(self) -> None: ...
|
|
@@ -1,36 +1,35 @@
|
|
|
1
|
-
import
|
|
1
|
+
import asyncio
|
|
2
|
+
from . import OnkyoConfigEntry as OnkyoConfigEntry
|
|
2
3
|
from .const import DEVICE_DISCOVERY_TIMEOUT as DEVICE_DISCOVERY_TIMEOUT, DEVICE_INTERVIEW_TIMEOUT as DEVICE_INTERVIEW_TIMEOUT, ZONES as ZONES
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
|
-
from
|
|
5
|
+
from aioonkyo import Instruction as Instruction, Receiver as Receiver, ReceiverInfo as ReceiverInfo, Status as Status
|
|
6
|
+
from collections.abc import Awaitable, Callable as Callable, Iterable
|
|
5
7
|
from dataclasses import dataclass, field
|
|
6
|
-
from
|
|
8
|
+
from homeassistant.components import network as network
|
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
7
10
|
|
|
8
11
|
_LOGGER: Incomplete
|
|
9
12
|
|
|
10
13
|
@dataclass
|
|
11
14
|
class Callbacks:
|
|
12
|
-
connect: list[Callable[[
|
|
13
|
-
update: list[Callable[[
|
|
15
|
+
connect: list[Callable[[bool], Awaitable[None]]] = field(default_factory=list)
|
|
16
|
+
update: list[Callable[[Status], Awaitable[None]]] = field(default_factory=list)
|
|
17
|
+
def clear(self) -> None: ...
|
|
14
18
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
async def
|
|
25
|
-
def on_connect(self) -> None: ...
|
|
26
|
-
def on_update(self, message:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class ReceiverInfo:
|
|
30
|
-
host: str
|
|
31
|
-
port: int
|
|
32
|
-
model_name: str
|
|
33
|
-
identifier: str
|
|
19
|
+
class ReceiverManager:
|
|
20
|
+
hass: HomeAssistant
|
|
21
|
+
entry: OnkyoConfigEntry
|
|
22
|
+
info: ReceiverInfo
|
|
23
|
+
receiver: Receiver | None
|
|
24
|
+
callbacks: Callbacks
|
|
25
|
+
_started: asyncio.Event
|
|
26
|
+
def __init__(self, hass: HomeAssistant, entry: OnkyoConfigEntry, info: ReceiverInfo) -> None: ...
|
|
27
|
+
async def start(self) -> Awaitable[None] | None: ...
|
|
28
|
+
async def _run(self) -> None: ...
|
|
29
|
+
async def on_connect(self, reconnect: bool) -> None: ...
|
|
30
|
+
async def on_update(self, message: Status) -> None: ...
|
|
31
|
+
async def write(self, message: Instruction) -> None: ...
|
|
32
|
+
def start_unloading(self) -> None: ...
|
|
34
33
|
|
|
35
34
|
async def async_interview(host: str) -> ReceiverInfo | None: ...
|
|
36
|
-
async def async_discover() -> Iterable[ReceiverInfo]: ...
|
|
35
|
+
async def async_discover(hass: HomeAssistant) -> Iterable[ReceiverInfo]: ...
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
|
1
|
+
from .const import DOMAIN as DOMAIN, LEGACY_REV_HDMI_OUTPUT_MAPPING as LEGACY_REV_HDMI_OUTPUT_MAPPING
|
|
2
2
|
from .media_player import OnkyoMediaPlayer as OnkyoMediaPlayer
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
|
+
from aioonkyo import Zone as Zone
|
|
4
5
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
|
6
7
|
from homeassistant.util.hass_dict import HassKey as HassKey
|
|
7
8
|
|
|
8
|
-
DATA_MP_ENTITIES: HassKey[dict[str, dict[
|
|
9
|
+
DATA_MP_ENTITIES: HassKey[dict[str, dict[Zone, OnkyoMediaPlayer]]]
|
|
9
10
|
ATTR_HDMI_OUTPUT: str
|
|
10
|
-
ACCEPTED_VALUES: Incomplete
|
|
11
11
|
ONKYO_SELECT_OUTPUT_SCHEMA: Incomplete
|
|
12
12
|
SERVICE_SELECT_HDMI_OUTPUT: str
|
|
13
13
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from .const import LOGGER as LOGGER
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
4
|
+
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, Platform as Platform
|
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
|
+
from homeassistant.exceptions import ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
|
|
7
|
+
from homeassistant.helpers.httpx_client import get_async_client as get_async_client
|
|
8
|
+
from openai import AsyncOpenAI
|
|
9
|
+
|
|
10
|
+
PLATFORMS: Incomplete
|
|
11
|
+
type OpenRouterConfigEntry = ConfigEntry[AsyncOpenAI]
|
|
12
|
+
|
|
13
|
+
async def async_setup_entry(hass: HomeAssistant, entry: OpenRouterConfigEntry) -> bool: ...
|
|
14
|
+
async def _async_update_listener(hass: HomeAssistant, entry: OpenRouterConfigEntry) -> None: ...
|
|
15
|
+
async def async_unload_entry(hass: HomeAssistant, entry: OpenRouterConfigEntry) -> bool: ...
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from . import OpenRouterConfigEntry as OpenRouterConfigEntry
|
|
2
|
+
from .entity import OpenRouterEntity as OpenRouterEntity
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from homeassistant.components import ai_task as ai_task, conversation as conversation
|
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
7
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
|
+
from homeassistant.util.json import json_loads as json_loads
|
|
9
|
+
|
|
10
|
+
_LOGGER: Incomplete
|
|
11
|
+
|
|
12
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: OpenRouterConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
|
+
|
|
14
|
+
class OpenRouterAITaskEntity(ai_task.AITaskEntity, OpenRouterEntity):
|
|
15
|
+
_attr_name: Incomplete
|
|
16
|
+
_attr_supported_features: Incomplete
|
|
17
|
+
async def _async_generate_data(self, task: ai_task.GenDataTask, chat_log: conversation.ChatLog) -> ai_task.GenDataTaskResult: ...
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from .const import CONF_PROMPT as CONF_PROMPT, DOMAIN as DOMAIN, RECOMMENDED_CONVERSATION_OPTIONS as RECOMMENDED_CONVERSATION_OPTIONS
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, SubentryFlowResult as SubentryFlowResult
|
|
4
|
+
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LLM_HASS_API as CONF_LLM_HASS_API, CONF_MODEL as CONF_MODEL
|
|
5
|
+
from homeassistant.core import callback as callback
|
|
6
|
+
from homeassistant.helpers import llm as llm
|
|
7
|
+
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
8
|
+
from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TemplateSelector as TemplateSelector
|
|
9
|
+
from python_open_router import Model as Model
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
_LOGGER: Incomplete
|
|
13
|
+
|
|
14
|
+
class OpenRouterConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
15
|
+
VERSION: int
|
|
16
|
+
@classmethod
|
|
17
|
+
@callback
|
|
18
|
+
def async_get_supported_subentry_types(cls, config_entry: ConfigEntry) -> dict[str, type[ConfigSubentryFlow]]: ...
|
|
19
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
20
|
+
|
|
21
|
+
class OpenRouterSubentryFlowHandler(ConfigSubentryFlow):
|
|
22
|
+
models: dict[str, Model]
|
|
23
|
+
def __init__(self) -> None: ...
|
|
24
|
+
async def _get_models(self) -> None: ...
|
|
25
|
+
|
|
26
|
+
class ConversationFlowHandler(OpenRouterSubentryFlowHandler):
|
|
27
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
|
28
|
+
|
|
29
|
+
class AITaskDataFlowHandler(OpenRouterSubentryFlowHandler):
|
|
30
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API, CONF_PROMPT as CONF_PROMPT
|
|
3
|
+
from homeassistant.helpers import llm as llm
|
|
4
|
+
|
|
5
|
+
DOMAIN: str
|
|
6
|
+
LOGGER: Incomplete
|
|
7
|
+
CONF_RECOMMENDED: str
|
|
8
|
+
RECOMMENDED_CONVERSATION_OPTIONS: Incomplete
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from . import OpenRouterConfigEntry as OpenRouterConfigEntry
|
|
2
|
+
from .const import DOMAIN as DOMAIN
|
|
3
|
+
from .entity import OpenRouterEntity as OpenRouterEntity
|
|
4
|
+
from _typeshed import Incomplete
|
|
5
|
+
from homeassistant.components import conversation as conversation
|
|
6
|
+
from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
|
|
7
|
+
from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API, CONF_PROMPT as CONF_PROMPT, MATCH_ALL as MATCH_ALL
|
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
10
|
+
from typing import Literal
|
|
11
|
+
|
|
12
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: OpenRouterConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
|
+
|
|
14
|
+
class OpenRouterConversationEntity(OpenRouterEntity, conversation.ConversationEntity):
|
|
15
|
+
_attr_name: Incomplete
|
|
16
|
+
_attr_supported_features: Incomplete
|
|
17
|
+
def __init__(self, entry: OpenRouterConfigEntry, subentry: ConfigSubentry) -> None: ...
|
|
18
|
+
@property
|
|
19
|
+
def supported_languages(self) -> list[str] | Literal['*']: ...
|
|
20
|
+
async def _async_handle_message(self, user_input: conversation.ConversationInput, chat_log: conversation.ChatLog) -> conversation.ConversationResult: ...
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import voluptuous as vol
|
|
2
|
+
from . import OpenRouterConfigEntry as OpenRouterConfigEntry
|
|
3
|
+
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
|
4
|
+
from _typeshed import Incomplete
|
|
5
|
+
from collections.abc import AsyncGenerator, Callable as Callable
|
|
6
|
+
from homeassistant.components import conversation as conversation
|
|
7
|
+
from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
|
|
8
|
+
from homeassistant.const import CONF_MODEL as CONF_MODEL
|
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
10
|
+
from homeassistant.helpers import llm as llm
|
|
11
|
+
from homeassistant.helpers.entity import Entity as Entity
|
|
12
|
+
from openai.types.chat import ChatCompletionMessage as ChatCompletionMessage, ChatCompletionMessageParam as ChatCompletionMessageParam, ChatCompletionToolParam
|
|
13
|
+
from openai.types.shared_params.response_format_json_schema import JSONSchema as JSONSchema
|
|
14
|
+
from typing import Any
|
|
15
|
+
|
|
16
|
+
MAX_TOOL_ITERATIONS: int
|
|
17
|
+
|
|
18
|
+
def _adjust_schema(schema: dict[str, Any]) -> None: ...
|
|
19
|
+
def _format_structured_output(name: str, schema: vol.Schema, llm_api: llm.APIInstance | None) -> JSONSchema: ...
|
|
20
|
+
def _format_tool(tool: llm.Tool, custom_serializer: Callable[[Any], Any] | None) -> ChatCompletionToolParam: ...
|
|
21
|
+
def _convert_content_to_chat_message(content: conversation.Content) -> ChatCompletionMessageParam | None: ...
|
|
22
|
+
def _decode_tool_arguments(arguments: str) -> Any: ...
|
|
23
|
+
async def _transform_response(message: ChatCompletionMessage) -> AsyncGenerator[conversation.AssistantContentDeltaDict]: ...
|
|
24
|
+
|
|
25
|
+
class OpenRouterEntity(Entity):
|
|
26
|
+
_attr_has_entity_name: bool
|
|
27
|
+
entry: Incomplete
|
|
28
|
+
subentry: Incomplete
|
|
29
|
+
model: Incomplete
|
|
30
|
+
_attr_unique_id: Incomplete
|
|
31
|
+
_attr_device_info: Incomplete
|
|
32
|
+
def __init__(self, entry: OpenRouterConfigEntry, subentry: ConfigSubentry) -> None: ...
|
|
33
|
+
async def _async_handle_chat_log(self, chat_log: conversation.ChatLog, structure_name: str | None = None, structure: vol.Schema | None = None) -> None: ...
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import openai
|
|
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, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, LOGGER as LOGGER, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P
|
|
2
|
+
from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_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, DEFAULT_AI_TASK_NAME as DEFAULT_AI_TASK_NAME, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, LOGGER as LOGGER, RECOMMENDED_AI_TASK_OPTIONS as RECOMMENDED_AI_TASK_OPTIONS, 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
|
+
from .entity import async_prepare_files_for_prompt as async_prepare_files_for_prompt
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigSubentry as ConfigSubentry
|
|
5
6
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, Platform as Platform
|
|
@@ -17,9 +18,9 @@ PLATFORMS: Incomplete
|
|
|
17
18
|
CONFIG_SCHEMA: Incomplete
|
|
18
19
|
type OpenAIConfigEntry = ConfigEntry[openai.AsyncClient]
|
|
19
20
|
|
|
20
|
-
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_update_options(hass: HomeAssistant, entry: OpenAIConfigEntry) -> None: ...
|
|
24
25
|
async def async_migrate_integration(hass: HomeAssistant) -> None: ...
|
|
25
26
|
async def async_migrate_entry(hass: HomeAssistant, entry: OpenAIConfigEntry) -> bool: ...
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from .entity import OpenAIBaseLLMEntity as OpenAIBaseLLMEntity
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
from homeassistant.components import ai_task as ai_task, conversation as conversation
|
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
6
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
7
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
8
|
+
from homeassistant.util.json import json_loads as json_loads
|
|
9
|
+
|
|
10
|
+
_LOGGER: Incomplete
|
|
11
|
+
|
|
12
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
13
|
+
|
|
14
|
+
class OpenAITaskEntity(ai_task.AITaskEntity, OpenAIBaseLLMEntity):
|
|
15
|
+
_attr_supported_features: Incomplete
|
|
16
|
+
async def _async_generate_data(self, task: ai_task.GenDataTask, chat_log: conversation.ChatLog) -> ai_task.GenDataTaskResult: ...
|