homeassistant-stubs 2025.7.3__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/fujitsu_fglair/climate.pyi +1 -1
- 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/light.pyi +1 -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/light.pyi +1 -1
- 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/telegram_bot/webhooks.pyi +3 -1
- 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 +5 -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/entity.pyi +0 -4
- 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.3.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/RECORD +482 -414
- homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
- homeassistant-stubs/helpers/backup.pyi +0 -24
- {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0b0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from .const import CONF_PLAY_MEDIA_APP_ID as CONF_PLAY_MEDIA_APP_ID, DEFAULT_PLAY_MEDIA_APP_ID as DEFAULT_PLAY_MEDIA_APP_ID, DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import RokuConfigEntry as RokuConfigEntry
|
|
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, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
7
7
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
@@ -31,5 +31,5 @@ class RokuConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
31
31
|
@callback
|
|
32
32
|
def async_get_options_flow(config_entry: RokuConfigEntry) -> RokuOptionsFlowHandler: ...
|
|
33
33
|
|
|
34
|
-
class RokuOptionsFlowHandler(
|
|
34
|
+
class RokuOptionsFlowHandler(OptionsFlowWithReload):
|
|
35
35
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import datetime as dt
|
|
2
2
|
from . import RussoundConfigEntry as RussoundConfigEntry
|
|
3
|
+
from .const import DOMAIN as DOMAIN, RUSSOUND_MEDIA_TYPE_PRESET as RUSSOUND_MEDIA_TYPE_PRESET, SELECT_SOURCE_DELAY as SELECT_SOURCE_DELAY
|
|
3
4
|
from .entity import RussoundBaseEntity as RussoundBaseEntity, command as command
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from aiorussound import Controller as Controller
|
|
6
7
|
from aiorussound.models import Source as Source
|
|
7
8
|
from homeassistant.components.media_player import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
|
|
8
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
|
9
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
12
|
+
from typing import Any
|
|
10
13
|
|
|
11
14
|
_LOGGER: Incomplete
|
|
12
15
|
PARALLEL_UPDATES: int
|
|
13
16
|
|
|
14
17
|
async def async_setup_entry(hass: HomeAssistant, entry: RussoundConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
18
|
+
def _parse_preset_source_id(media_id: str) -> tuple[int | None, int]: ...
|
|
15
19
|
|
|
16
20
|
class RussoundZoneDevice(RussoundBaseEntity, MediaPlayerEntity):
|
|
17
21
|
_attr_device_class: Incomplete
|
|
@@ -63,3 +67,5 @@ class RussoundZoneDevice(RussoundBaseEntity, MediaPlayerEntity):
|
|
|
63
67
|
async def async_mute_volume(self, mute: bool) -> None: ...
|
|
64
68
|
@command
|
|
65
69
|
async def async_media_seek(self, position: float) -> None: ...
|
|
70
|
+
@command
|
|
71
|
+
async def async_play_media(self, media_type: MediaType | str, media_id: str, **kwargs: Any) -> None: ...
|
|
@@ -2,8 +2,7 @@ from . import ScrapeConfigEntry as ScrapeConfigEntry
|
|
|
2
2
|
from .const import CONF_INDEX as CONF_INDEX, CONF_SELECT as CONF_SELECT, DOMAIN as DOMAIN
|
|
3
3
|
from .coordinator import ScrapeCoordinator as ScrapeCoordinator
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
|
-
from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS
|
|
6
|
-
from homeassistant.components.sensor.helpers import async_parse_date_datetime as async_parse_date_datetime
|
|
5
|
+
from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS
|
|
7
6
|
from homeassistant.const import CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
|
|
8
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
9
8
|
from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
|
|
@@ -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 AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, EnergyDistanceConverter as EnergyDistanceConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, MassVolumeConcentrationConverter as MassVolumeConcentrationConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, ReactiveEnergyConverter as ReactiveEnergyConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
|
5
5
|
from typing import Final
|
|
6
6
|
|
|
@@ -14,6 +14,7 @@ class SensorDeviceClass(StrEnum):
|
|
|
14
14
|
DATE = 'date'
|
|
15
15
|
ENUM = 'enum'
|
|
16
16
|
TIMESTAMP = 'timestamp'
|
|
17
|
+
ABSOLUTE_HUMIDITY = 'absolute_humidity'
|
|
17
18
|
APPARENT_POWER = 'apparent_power'
|
|
18
19
|
AQI = 'aqi'
|
|
19
20
|
AREA = 'area'
|
|
@@ -10,6 +10,7 @@ from homeassistant.helpers.entity import get_capability as get_capability, get_d
|
|
|
10
10
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
11
11
|
|
|
12
12
|
DEVICE_CLASS_NONE: str
|
|
13
|
+
CONF_IS_ABSOLUTE_HUMIDITY: str
|
|
13
14
|
CONF_IS_APPARENT_POWER: str
|
|
14
15
|
CONF_IS_AQI: str
|
|
15
16
|
CONF_IS_AREA: str
|
|
@@ -10,6 +10,7 @@ from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType
|
|
|
10
10
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
11
11
|
|
|
12
12
|
DEVICE_CLASS_NONE: str
|
|
13
|
+
CONF_ABSOLUTE_HUMIDITY: str
|
|
13
14
|
CONF_APPARENT_POWER: str
|
|
14
15
|
CONF_AQI: str
|
|
15
16
|
CONF_AREA: str
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER, SHELLY_GAS_MODELS as SHELLY_GAS_MODELS
|
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
|
3
|
-
from .
|
|
3
|
+
from .entity import get_entity_block_device_info as get_entity_block_device_info, get_entity_rpc_device_info as get_entity_rpc_device_info
|
|
4
|
+
from .utils import get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from collections.abc import Callable as Callable
|
|
6
7
|
from dataclasses import dataclass
|
|
@@ -9,7 +10,6 @@ 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 import entity_registry as er
|
|
12
|
-
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
|
|
13
13
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
14
14
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
15
15
|
from homeassistant.util import slugify as slugify
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from .const import BLU_TRV_TEMPERATURE_SETTINGS as BLU_TRV_TEMPERATURE_SETTINGS, DOMAIN as DOMAIN, LOGGER as LOGGER, NOT_CALIBRATED_ISSUE_ID as NOT_CALIBRATED_ISSUE_ID, RPC_THERMOSTAT_SETTINGS as RPC_THERMOSTAT_SETTINGS, SHTRV_01_TEMPERATURE_SETTINGS as SHTRV_01_TEMPERATURE_SETTINGS
|
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
|
3
|
-
from .entity import ShellyRpcEntity as ShellyRpcEntity, rpc_call as rpc_call
|
|
4
|
-
from .utils import async_remove_shelly_entity as async_remove_shelly_entity,
|
|
3
|
+
from .entity import ShellyRpcEntity as ShellyRpcEntity, get_entity_block_device_info as get_entity_block_device_info, rpc_call as rpc_call
|
|
4
|
+
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_block_entity_name as get_block_entity_name, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids, is_rpc_thermostat_internal_actuator as is_rpc_thermostat_internal_actuator
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from aioshelly.block_device import Block as Block
|
|
7
7
|
from collections.abc import Mapping
|
|
@@ -26,7 +26,7 @@ class ShellyEntryData:
|
|
|
26
26
|
rpc_poll: ShellyRpcPollingCoordinator | None = ...
|
|
27
27
|
rpc_script_events: dict[int, list[str]] | None = ...
|
|
28
28
|
rpc_supports_scripts: bool | None = ...
|
|
29
|
-
|
|
29
|
+
rpc_zigbee_firmware: bool | None = ...
|
|
30
30
|
type ShellyConfigEntry = ConfigEntry[ShellyEntryData]
|
|
31
31
|
|
|
32
32
|
class ShellyCoordinatorBase[_DeviceT: BlockDevice | RpcDevice](DataUpdateCoordinator[None]):
|
|
@@ -39,8 +39,12 @@ class ShellyCoordinatorBase[_DeviceT: BlockDevice | RpcDevice](DataUpdateCoordin
|
|
|
39
39
|
_debounced_reload: Debouncer[Coroutine[Any, Any, None]]
|
|
40
40
|
def __init__(self, hass: HomeAssistant, entry: ShellyConfigEntry, device: _DeviceT, update_interval: float) -> None: ...
|
|
41
41
|
@cached_property
|
|
42
|
+
def configuration_url(self) -> str: ...
|
|
43
|
+
@cached_property
|
|
42
44
|
def model(self) -> str: ...
|
|
43
45
|
@cached_property
|
|
46
|
+
def model_name(self) -> str | None: ...
|
|
47
|
+
@cached_property
|
|
44
48
|
def mac(self) -> str: ...
|
|
45
49
|
@property
|
|
46
50
|
def sw_version(self) -> str: ...
|
|
@@ -7,6 +7,7 @@ from collections.abc import Awaitable, Callable as Callable, Coroutine, Mapping
|
|
|
7
7
|
from dataclasses import dataclass
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
|
|
9
9
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
|
10
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
|
10
11
|
from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
|
|
11
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
|
12
13
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry
|
|
@@ -161,3 +162,5 @@ class ShellySleepingRpcAttributeEntity(ShellyRpcAttributeEntity):
|
|
|
161
162
|
async def async_update(self) -> None: ...
|
|
162
163
|
|
|
163
164
|
def get_entity_class(sensor_class: Callable, description: RpcEntityDescription) -> Callable: ...
|
|
165
|
+
def get_entity_block_device_info(coordinator: ShellyBlockCoordinator, block: Block | None = None) -> DeviceInfo: ...
|
|
166
|
+
def get_entity_rpc_device_info(coordinator: ShellyRpcCoordinator, key: str | None = None, emeter_phase: str | None = None) -> DeviceInfo: ...
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from .const import BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES
|
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
|
3
|
-
from .entity import ShellyBlockEntity as ShellyBlockEntity
|
|
4
|
-
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen,
|
|
3
|
+
from .entity import ShellyBlockEntity as ShellyBlockEntity, get_entity_rpc_device_info as get_entity_rpc_device_info
|
|
4
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_entity_name as get_rpc_entity_name, get_rpc_key_instances as get_rpc_key_instances, is_block_momentary_input as is_block_momentary_input, is_rpc_momentary_input as is_rpc_momentary_input
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from aioshelly.block_device import Block as Block
|
|
7
7
|
from collections.abc import Callable as Callable
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from .const import CONF_SLEEP_PERIOD as CONF_SLEEP_PERIOD, ROLE_TO_DEVICE_CLASS_MAP as ROLE_TO_DEVICE_CLASS_MAP
|
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyConfigEntry as ShellyConfigEntry, ShellyRpcCoordinator as ShellyRpcCoordinator
|
|
3
|
-
from .entity import BlockEntityDescription as BlockEntityDescription, RestEntityDescription as RestEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRestAttributeEntity as ShellyRestAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, ShellySleepingRpcAttributeEntity as ShellySleepingRpcAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rest as async_setup_entry_rest, async_setup_entry_rpc as async_setup_entry_rpc
|
|
4
|
-
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime,
|
|
3
|
+
from .entity import BlockEntityDescription as BlockEntityDescription, RestEntityDescription as RestEntityDescription, RpcEntityDescription as RpcEntityDescription, ShellyBlockAttributeEntity as ShellyBlockAttributeEntity, ShellyRestAttributeEntity as ShellyRestAttributeEntity, ShellyRpcAttributeEntity as ShellyRpcAttributeEntity, ShellySleepingBlockAttributeEntity as ShellySleepingBlockAttributeEntity, ShellySleepingRpcAttributeEntity as ShellySleepingRpcAttributeEntity, async_setup_entry_attribute_entities as async_setup_entry_attribute_entities, async_setup_entry_rest as async_setup_entry_rest, async_setup_entry_rpc as async_setup_entry_rpc, get_entity_rpc_device_info as get_entity_rpc_device_info
|
|
4
|
+
from .utils import async_remove_orphaned_entities as async_remove_orphaned_entities, get_blu_trv_device_info as get_blu_trv_device_info, get_device_entry_gen as get_device_entry_gen, get_device_uptime as get_device_uptime, get_shelly_air_lamp_life as get_shelly_air_lamp_life, get_virtual_component_ids as get_virtual_component_ids, is_rpc_wifi_stations_disabled as is_rpc_wifi_stations_disabled
|
|
5
5
|
from _typeshed import Incomplete
|
|
6
6
|
from aioshelly.block_device import Block as Block
|
|
7
7
|
from collections.abc import Callable as Callable
|
|
@@ -77,8 +77,8 @@ async def get_rpc_script_event_types(device: RpcDevice, id: int) -> list[str]: .
|
|
|
77
77
|
def is_rpc_exclude_from_relay(settings: dict[str, Any], status: dict[str, Any], channel: str) -> bool: ...
|
|
78
78
|
def get_shelly_air_lamp_life(lamp_seconds: int) -> float: ...
|
|
79
79
|
async def get_rpc_scripts_event_types(device: RpcDevice, ignore_scripts: list[str]) -> dict[int, list[str]]: ...
|
|
80
|
-
def get_rpc_device_info(device: RpcDevice, mac: str, key: str | None = None, emeter_phase: str | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
|
|
80
|
+
def get_rpc_device_info(device: RpcDevice, mac: str, configuration_url: str, model: str, model_name: str | None = None, key: str | None = None, emeter_phase: str | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
|
|
81
81
|
def get_blu_trv_device_info(config: dict[str, Any], ble_addr: str, parent_mac: str) -> DeviceInfo: ...
|
|
82
|
-
def get_block_device_info(device: BlockDevice, mac: str, block: Block | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
|
|
82
|
+
def get_block_device_info(device: BlockDevice, mac: str, configuration_url: str, model: str, model_name: str | None = None, block: Block | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
|
|
83
83
|
@callback
|
|
84
84
|
def remove_stale_blu_trv_devices(hass: HomeAssistant, rpc_device: RpcDevice, entry: ConfigEntry) -> None: ...
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
from .const import ACTUATOR as ACTUATOR, DOMAIN as DOMAIN, ENTITY_TYPES as ENTITY_TYPES, FIRMNESS as FIRMNESS, FOOT_WARMING_TIMER as FOOT_WARMING_TIMER, ICON_OCCUPIED as ICON_OCCUPIED
|
|
1
|
+
from .const import ACTUATOR as ACTUATOR, CORE_CLIMATE_TIMER as CORE_CLIMATE_TIMER, DOMAIN as DOMAIN, ENTITY_TYPES as ENTITY_TYPES, FIRMNESS as FIRMNESS, FOOT_WARMING_TIMER as FOOT_WARMING_TIMER, ICON_OCCUPIED as ICON_OCCUPIED
|
|
2
2
|
from .coordinator import SleepIQData as SleepIQData, SleepIQDataUpdateCoordinator as SleepIQDataUpdateCoordinator
|
|
3
3
|
from .entity import SleepIQBedEntity as SleepIQBedEntity, sleeper_for_side as sleeper_for_side
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
|
-
from asyncsleepiq import SleepIQActuator as SleepIQActuator, SleepIQBed as SleepIQBed, SleepIQFootWarmer as SleepIQFootWarmer, SleepIQSleeper as SleepIQSleeper
|
|
5
|
+
from asyncsleepiq import SleepIQActuator as SleepIQActuator, SleepIQBed as SleepIQBed, SleepIQCoreClimate, SleepIQFootWarmer as SleepIQFootWarmer, SleepIQSleeper as SleepIQSleeper
|
|
6
6
|
from collections.abc import Callable as Callable, Coroutine
|
|
7
7
|
from dataclasses import dataclass
|
|
8
|
-
from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
|
|
8
|
+
from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
|
|
9
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
10
|
+
from homeassistant.const import UnitOfTime as UnitOfTime
|
|
10
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
11
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
12
13
|
from typing import Any
|
|
@@ -27,6 +28,9 @@ def _get_sleeper_unique_id(bed: SleepIQBed, sleeper: SleepIQSleeper) -> str: ...
|
|
|
27
28
|
async def _async_set_foot_warmer_time(foot_warmer: SleepIQFootWarmer, time: int) -> None: ...
|
|
28
29
|
def _get_foot_warming_name(bed: SleepIQBed, foot_warmer: SleepIQFootWarmer) -> str: ...
|
|
29
30
|
def _get_foot_warming_unique_id(bed: SleepIQBed, foot_warmer: SleepIQFootWarmer) -> str: ...
|
|
31
|
+
async def _async_set_core_climate_time(core_climate: SleepIQCoreClimate, time: int) -> None: ...
|
|
32
|
+
def _get_core_climate_name(bed: SleepIQBed, core_climate: SleepIQCoreClimate) -> str: ...
|
|
33
|
+
def _get_core_climate_unique_id(bed: SleepIQBed, core_climate: SleepIQCoreClimate) -> str: ...
|
|
30
34
|
|
|
31
35
|
NUMBER_DESCRIPTIONS: dict[str, SleepIQNumberEntityDescription]
|
|
32
36
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from .const import DOMAIN as DOMAIN, FOOT_WARMER as FOOT_WARMER
|
|
1
|
+
from .const import CORE_CLIMATE as CORE_CLIMATE, DOMAIN as DOMAIN, FOOT_WARMER as FOOT_WARMER
|
|
2
2
|
from .coordinator import SleepIQData as SleepIQData, SleepIQDataUpdateCoordinator as SleepIQDataUpdateCoordinator
|
|
3
3
|
from .entity import SleepIQBedEntity as SleepIQBedEntity, SleepIQSleeperEntity as SleepIQSleeperEntity, sleeper_for_side as sleeper_for_side
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
|
-
from asyncsleepiq import SleepIQBed as SleepIQBed, SleepIQFootWarmer as SleepIQFootWarmer, SleepIQPreset as SleepIQPreset
|
|
5
|
+
from asyncsleepiq import SleepIQBed as SleepIQBed, SleepIQCoreClimate as SleepIQCoreClimate, SleepIQFootWarmer as SleepIQFootWarmer, SleepIQPreset as SleepIQPreset
|
|
6
6
|
from homeassistant.components.select import SelectEntity as SelectEntity
|
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
@@ -31,3 +31,16 @@ class SleepIQFootWarmingTempSelectEntity(SleepIQSleeperEntity[SleepIQDataUpdateC
|
|
|
31
31
|
@callback
|
|
32
32
|
def _async_update_attrs(self) -> None: ...
|
|
33
33
|
async def async_select_option(self, option: str) -> None: ...
|
|
34
|
+
|
|
35
|
+
class SleepIQCoreTempSelectEntity(SleepIQSleeperEntity[SleepIQDataUpdateCoordinator], SelectEntity):
|
|
36
|
+
SLEEPIQ_TO_HA_CORE_TEMP_MAP: Incomplete
|
|
37
|
+
HA_TO_SLEEPIQ_CORE_TEMP_MAP: Incomplete
|
|
38
|
+
_attr_icon: str
|
|
39
|
+
_attr_options: Incomplete
|
|
40
|
+
_attr_translation_key: str
|
|
41
|
+
core_climate: Incomplete
|
|
42
|
+
def __init__(self, coordinator: SleepIQDataUpdateCoordinator, bed: SleepIQBed, core_climate: SleepIQCoreClimate) -> None: ...
|
|
43
|
+
_attr_current_option: Incomplete
|
|
44
|
+
@callback
|
|
45
|
+
def _async_update_attrs(self) -> None: ...
|
|
46
|
+
async def async_select_option(self, option: str) -> None: ...
|
|
@@ -13,9 +13,12 @@ type SMHIConfigEntry = ConfigEntry[SMHIDataUpdateCoordinator]
|
|
|
13
13
|
class SMHIForecastData:
|
|
14
14
|
daily: list[SMHIForecast]
|
|
15
15
|
hourly: list[SMHIForecast]
|
|
16
|
+
twice_daily: list[SMHIForecast]
|
|
16
17
|
|
|
17
18
|
class SMHIDataUpdateCoordinator(DataUpdateCoordinator[SMHIForecastData]):
|
|
18
19
|
config_entry: SMHIConfigEntry
|
|
19
20
|
_smhi_api: Incomplete
|
|
20
21
|
def __init__(self, hass: HomeAssistant, config_entry: SMHIConfigEntry) -> None: ...
|
|
21
22
|
async def _async_update_data(self) -> SMHIForecastData: ...
|
|
23
|
+
@property
|
|
24
|
+
def current(self) -> SMHIForecast: ...
|
|
@@ -3,15 +3,17 @@ from .const import DOMAIN as DOMAIN
|
|
|
3
3
|
from .coordinator import SMHIDataUpdateCoordinator as SMHIDataUpdateCoordinator
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from abc import abstractmethod
|
|
6
|
+
from homeassistant.core import callback as callback
|
|
6
7
|
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
|
7
8
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
|
8
9
|
|
|
9
10
|
class SmhiWeatherBaseEntity(CoordinatorEntity[SMHIDataUpdateCoordinator], metaclass=abc.ABCMeta):
|
|
10
11
|
_attr_attribution: str
|
|
11
12
|
_attr_has_entity_name: bool
|
|
12
|
-
_attr_name: Incomplete
|
|
13
13
|
_attr_unique_id: Incomplete
|
|
14
14
|
_attr_device_info: Incomplete
|
|
15
15
|
def __init__(self, latitude: str, longitude: str, coordinator: SMHIDataUpdateCoordinator) -> None: ...
|
|
16
|
+
@callback
|
|
17
|
+
def _handle_coordinator_update(self) -> None: ...
|
|
16
18
|
@abstractmethod
|
|
17
19
|
def update_entity_data(self) -> None: ...
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from .coordinator import SMHIConfigEntry as SMHIConfigEntry, SMHIDataUpdateCoordinator as SMHIDataUpdateCoordinator
|
|
2
|
+
from .entity import SmhiWeatherBaseEntity as SmhiWeatherBaseEntity
|
|
3
|
+
from _typeshed import Incomplete
|
|
4
|
+
from collections.abc import Callable as Callable
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
|
8
|
+
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, PERCENTAGE as PERCENTAGE
|
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
11
|
+
from homeassistant.helpers.typing import StateType as StateType
|
|
12
|
+
|
|
13
|
+
PARALLEL_UPDATES: int
|
|
14
|
+
|
|
15
|
+
def get_percentage_values(entity: SMHISensor, key: str) -> int | None: ...
|
|
16
|
+
|
|
17
|
+
@dataclass(frozen=True, kw_only=True)
|
|
18
|
+
class SMHISensorEntityDescription(SensorEntityDescription):
|
|
19
|
+
value_fn: Callable[[SMHISensor], StateType | datetime]
|
|
20
|
+
|
|
21
|
+
SENSOR_DESCRIPTIONS: tuple[SMHISensorEntityDescription, ...]
|
|
22
|
+
|
|
23
|
+
async def async_setup_entry(hass: HomeAssistant, entry: SMHIConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
|
24
|
+
|
|
25
|
+
class SMHISensor(SmhiWeatherBaseEntity, SensorEntity):
|
|
26
|
+
entity_description: SMHISensorEntityDescription
|
|
27
|
+
_attr_unique_id: Incomplete
|
|
28
|
+
def __init__(self, latitude: str, longitude: str, coordinator: SMHIDataUpdateCoordinator, entity_description: SMHISensorEntityDescription) -> None: ...
|
|
29
|
+
_attr_native_value: Incomplete
|
|
30
|
+
def update_entity_data(self) -> None: ...
|
|
@@ -3,7 +3,7 @@ from .coordinator import SMHIConfigEntry as SMHIConfigEntry
|
|
|
3
3
|
from .entity import SmhiWeatherBaseEntity as SmhiWeatherBaseEntity
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from collections.abc import Mapping
|
|
6
|
-
from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_EXCEPTIONAL as ATTR_CONDITION_EXCEPTIONAL, ATTR_CONDITION_FOG as ATTR_CONDITION_FOG, ATTR_CONDITION_HAIL as ATTR_CONDITION_HAIL, ATTR_CONDITION_LIGHTNING as ATTR_CONDITION_LIGHTNING, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_POURING as ATTR_CONDITION_POURING, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_CONDITION_WINDY as ATTR_CONDITION_WINDY, ATTR_CONDITION_WINDY_VARIANT as ATTR_CONDITION_WINDY_VARIANT, ATTR_FORECAST_CLOUD_COVERAGE as ATTR_FORECAST_CLOUD_COVERAGE, ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_HUMIDITY as ATTR_FORECAST_HUMIDITY, ATTR_FORECAST_NATIVE_PRECIPITATION as ATTR_FORECAST_NATIVE_PRECIPITATION, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_TIME as ATTR_FORECAST_TIME, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, Forecast as Forecast, SingleCoordinatorWeatherEntity as SingleCoordinatorWeatherEntity, WeatherEntityFeature as WeatherEntityFeature
|
|
6
|
+
from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_EXCEPTIONAL as ATTR_CONDITION_EXCEPTIONAL, ATTR_CONDITION_FOG as ATTR_CONDITION_FOG, ATTR_CONDITION_HAIL as ATTR_CONDITION_HAIL, ATTR_CONDITION_LIGHTNING as ATTR_CONDITION_LIGHTNING, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_POURING as ATTR_CONDITION_POURING, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_CONDITION_WINDY as ATTR_CONDITION_WINDY, ATTR_CONDITION_WINDY_VARIANT as ATTR_CONDITION_WINDY_VARIANT, ATTR_FORECAST_CLOUD_COVERAGE as ATTR_FORECAST_CLOUD_COVERAGE, ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_HUMIDITY as ATTR_FORECAST_HUMIDITY, ATTR_FORECAST_IS_DAYTIME as ATTR_FORECAST_IS_DAYTIME, ATTR_FORECAST_NATIVE_PRECIPITATION as ATTR_FORECAST_NATIVE_PRECIPITATION, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_TIME as ATTR_FORECAST_TIME, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, Forecast as Forecast, SingleCoordinatorWeatherEntity as SingleCoordinatorWeatherEntity, WeatherEntityFeature as WeatherEntityFeature
|
|
7
7
|
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, UnitOfLength as UnitOfLength, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
9
9
|
from homeassistant.helpers import sun as sun
|
|
@@ -23,6 +23,7 @@ class SmhiWeather(SmhiWeatherBaseEntity, SingleCoordinatorWeatherEntity):
|
|
|
23
23
|
_attr_native_wind_speed_unit: Incomplete
|
|
24
24
|
_attr_native_pressure_unit: Incomplete
|
|
25
25
|
_attr_supported_features: Incomplete
|
|
26
|
+
_attr_name: Incomplete
|
|
26
27
|
_attr_native_temperature: Incomplete
|
|
27
28
|
_attr_humidity: Incomplete
|
|
28
29
|
_attr_native_wind_speed: Incomplete
|
|
@@ -37,6 +38,7 @@ class SmhiWeather(SmhiWeatherBaseEntity, SingleCoordinatorWeatherEntity):
|
|
|
37
38
|
def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
|
|
38
39
|
@callback
|
|
39
40
|
def _handle_coordinator_update(self) -> None: ...
|
|
40
|
-
def _get_forecast_data(self, forecast_data: list[SMHIForecast] | None) -> list[Forecast] | None: ...
|
|
41
|
+
def _get_forecast_data(self, forecast_data: list[SMHIForecast] | None, forecast_type: str) -> list[Forecast] | None: ...
|
|
41
42
|
def _async_forecast_daily(self) -> list[Forecast] | None: ...
|
|
42
43
|
def _async_forecast_hourly(self) -> list[Forecast] | None: ...
|
|
44
|
+
def _async_forecast_twice_daily(self) -> list[Forecast] | None: ...
|
|
@@ -11,4 +11,3 @@ PLATFORMS: Incomplete
|
|
|
11
11
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
12
12
|
async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
13
13
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
14
|
-
async def _async_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
@@ -2,7 +2,7 @@ import voluptuous as vol
|
|
|
2
2
|
from .const import CONF_UPCOMING_DAYS as CONF_UPCOMING_DAYS, CONF_WANTED_MAX_ITEMS as CONF_WANTED_MAX_ITEMS, DEFAULT_UPCOMING_DAYS as DEFAULT_UPCOMING_DAYS, DEFAULT_VERIFY_SSL as DEFAULT_VERIFY_SSL, DEFAULT_WANTED_MAX_ITEMS as DEFAULT_WANTED_MAX_ITEMS, DOMAIN as DOMAIN
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
4
|
from collections.abc import Mapping
|
|
5
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult,
|
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_REAUTH as SOURCE_REAUTH
|
|
6
6
|
from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_URL as CONF_URL, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
8
8
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
|
@@ -22,5 +22,5 @@ class SonarrConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
22
22
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
23
23
|
def _get_user_data_schema(self) -> dict[vol.Marker, type]: ...
|
|
24
24
|
|
|
25
|
-
class SonarrOptionsFlowHandler(
|
|
25
|
+
class SonarrOptionsFlowHandler(OptionsFlowWithReload):
|
|
26
26
|
async def async_step_init(self, user_input: dict[str, int] | None = None) -> ConfigFlowResult: ...
|
|
@@ -10,4 +10,3 @@ PLATFORMS: Incomplete
|
|
|
10
10
|
|
|
11
11
|
async def async_setup_entry(hass: HomeAssistant, config_entry: SpeedTestConfigEntry) -> bool: ...
|
|
12
12
|
async def async_unload_entry(hass: HomeAssistant, config_entry: SpeedTestConfigEntry) -> bool: ...
|
|
13
|
-
async def update_listener(hass: HomeAssistant, config_entry: SpeedTestConfigEntry) -> None: ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .const import CONF_SERVER_ID as CONF_SERVER_ID, CONF_SERVER_NAME as CONF_SERVER_NAME, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_SERVER as DEFAULT_SERVER, DOMAIN as DOMAIN
|
|
2
2
|
from .coordinator import SpeedTestConfigEntry as SpeedTestConfigEntry
|
|
3
|
-
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult,
|
|
3
|
+
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
|
|
4
4
|
from homeassistant.core import callback as callback
|
|
5
5
|
from typing import Any
|
|
6
6
|
|
|
@@ -11,7 +11,7 @@ class SpeedTestFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
|
11
11
|
def async_get_options_flow(config_entry: SpeedTestConfigEntry) -> SpeedTestOptionsFlowHandler: ...
|
|
12
12
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
13
13
|
|
|
14
|
-
class SpeedTestOptionsFlowHandler(
|
|
14
|
+
class SpeedTestOptionsFlowHandler(OptionsFlowWithReload):
|
|
15
15
|
_servers: dict
|
|
16
16
|
def __init__(self) -> None: ...
|
|
17
17
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -18,7 +18,6 @@ QUERY_SCHEMA: Incomplete
|
|
|
18
18
|
CONFIG_SCHEMA: Incomplete
|
|
19
19
|
|
|
20
20
|
def remove_configured_db_url_if_not_needed(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
21
|
-
async def async_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
22
21
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
23
22
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
24
23
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
@@ -4,7 +4,7 @@ from .util import resolve_db_url as resolve_db_url
|
|
|
4
4
|
from _typeshed import Incomplete
|
|
5
5
|
from homeassistant.components.recorder import CONF_DB_URL as CONF_DB_URL, get_instance as get_instance
|
|
6
6
|
from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, SensorDeviceClass as SensorDeviceClass, SensorStateClass as SensorStateClass
|
|
7
|
-
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult,
|
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
|
|
8
8
|
from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
|
|
9
9
|
from homeassistant.core import callback as callback
|
|
10
10
|
from homeassistant.helpers import selector as selector
|
|
@@ -26,5 +26,5 @@ class SQLConfigFlow(ConfigFlow, domain=DOMAIN):
|
|
|
26
26
|
def async_get_options_flow(config_entry: ConfigEntry) -> SQLOptionsFlowHandler: ...
|
|
27
27
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
28
28
|
|
|
29
|
-
class SQLOptionsFlowHandler(
|
|
29
|
+
class SQLOptionsFlowHandler(OptionsFlowWithReload):
|
|
30
30
|
async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
from .const import CONF_HTTPS as CONF_HTTPS, DISCOVERY_INTERVAL as DISCOVERY_INTERVAL, DISCOVERY_TASK as DISCOVERY_TASK, DOMAIN as DOMAIN,
|
|
1
|
+
from .const import CONF_HTTPS as CONF_HTTPS, DISCOVERY_INTERVAL as DISCOVERY_INTERVAL, DISCOVERY_TASK as DISCOVERY_TASK, DOMAIN as DOMAIN, SERVER_MANUFACTURER as SERVER_MANUFACTURER, SERVER_MODEL as SERVER_MODEL, SERVER_MODEL_ID as SERVER_MODEL_ID, SIGNAL_PLAYER_DISCOVERED as SIGNAL_PLAYER_DISCOVERED, SIGNAL_PLAYER_REDISCOVERED as SIGNAL_PLAYER_REDISCOVERED, STATUS_API_TIMEOUT as STATUS_API_TIMEOUT, STATUS_QUERY_LIBRARYNAME as STATUS_QUERY_LIBRARYNAME, STATUS_QUERY_MAC as STATUS_QUERY_MAC, STATUS_QUERY_UUID as STATUS_QUERY_UUID, STATUS_QUERY_VERSION as STATUS_QUERY_VERSION
|
|
2
2
|
from .coordinator import LMSStatusDataUpdateCoordinator as LMSStatusDataUpdateCoordinator, SqueezeBoxPlayerUpdateCoordinator as SqueezeBoxPlayerUpdateCoordinator
|
|
3
3
|
from _typeshed import Incomplete
|
|
4
|
-
from dataclasses import dataclass
|
|
4
|
+
from dataclasses import dataclass, field
|
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
6
6
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
@@ -19,6 +19,7 @@ PLATFORMS: Incomplete
|
|
|
19
19
|
class SqueezeboxData:
|
|
20
20
|
coordinator: LMSStatusDataUpdateCoordinator
|
|
21
21
|
server: Server
|
|
22
|
+
known_player_ids: set[str] = field(default_factory=set)
|
|
22
23
|
type SqueezeboxConfigEntry = ConfigEntry[SqueezeboxData]
|
|
23
24
|
|
|
24
25
|
async def async_setup_entry(hass: HomeAssistant, entry: SqueezeboxConfigEntry) -> bool: ...
|
|
@@ -4,12 +4,11 @@ CONF_HTTPS: str
|
|
|
4
4
|
DISCOVERY_TASK: str
|
|
5
5
|
DOMAIN: str
|
|
6
6
|
DEFAULT_PORT: int
|
|
7
|
-
KNOWN_PLAYERS: str
|
|
8
|
-
KNOWN_SERVERS: str
|
|
9
|
-
MANUFACTURER: str
|
|
10
7
|
PLAYER_DISCOVERY_UNSUB: str
|
|
11
8
|
SENSOR_UPDATE_INTERVAL: int
|
|
9
|
+
SERVER_MANUFACTURER: str
|
|
12
10
|
SERVER_MODEL: str
|
|
11
|
+
SERVER_MODEL_ID: str
|
|
13
12
|
STATUS_API_TIMEOUT: int
|
|
14
13
|
STATUS_SENSOR_LASTSCAN: str
|
|
15
14
|
STATUS_SENSOR_NEEDSRESTART: str
|
|
@@ -12,13 +12,13 @@ from typing import Any
|
|
|
12
12
|
|
|
13
13
|
_LOGGER: Incomplete
|
|
14
14
|
|
|
15
|
-
class LMSStatusDataUpdateCoordinator(DataUpdateCoordinator):
|
|
15
|
+
class LMSStatusDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
16
16
|
config_entry: SqueezeboxConfigEntry
|
|
17
17
|
lms: Incomplete
|
|
18
18
|
can_server_restart: bool
|
|
19
19
|
def __init__(self, hass: HomeAssistant, config_entry: SqueezeboxConfigEntry, lms: Server) -> None: ...
|
|
20
20
|
async def _async_setup(self) -> None: ...
|
|
21
|
-
async def _async_update_data(self) -> dict: ...
|
|
21
|
+
async def _async_update_data(self) -> dict[str, Any]: ...
|
|
22
22
|
|
|
23
23
|
class SqueezeBoxPlayerUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|
24
24
|
config_entry: SqueezeboxConfigEntry
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from . import SqueezeboxConfigEntry as SqueezeboxConfigEntry
|
|
2
2
|
from .browse_media import BrowseData as BrowseData, build_item_response as build_item_response, generate_playlist as generate_playlist, library_payload as library_payload, media_source_content_filter as media_source_content_filter
|
|
3
|
-
from .const import ATTR_ANNOUNCE_TIMEOUT as ATTR_ANNOUNCE_TIMEOUT, ATTR_ANNOUNCE_VOLUME as ATTR_ANNOUNCE_VOLUME, CONF_BROWSE_LIMIT as CONF_BROWSE_LIMIT, CONF_VOLUME_STEP as CONF_VOLUME_STEP, DEFAULT_BROWSE_LIMIT as DEFAULT_BROWSE_LIMIT, DEFAULT_VOLUME_STEP as DEFAULT_VOLUME_STEP, DISCOVERY_TASK as DISCOVERY_TASK, DOMAIN as DOMAIN,
|
|
3
|
+
from .const import ATTR_ANNOUNCE_TIMEOUT as ATTR_ANNOUNCE_TIMEOUT, ATTR_ANNOUNCE_VOLUME as ATTR_ANNOUNCE_VOLUME, CONF_BROWSE_LIMIT as CONF_BROWSE_LIMIT, CONF_VOLUME_STEP as CONF_VOLUME_STEP, DEFAULT_BROWSE_LIMIT as DEFAULT_BROWSE_LIMIT, DEFAULT_VOLUME_STEP as DEFAULT_VOLUME_STEP, DISCOVERY_TASK as DISCOVERY_TASK, DOMAIN as DOMAIN, SERVER_MANUFACTURER as SERVER_MANUFACTURER, SERVER_MODEL as SERVER_MODEL, SERVER_MODEL_ID as SERVER_MODEL_ID, SIGNAL_PLAYER_DISCOVERED as SIGNAL_PLAYER_DISCOVERED, SQUEEZEBOX_SOURCE_STRINGS as SQUEEZEBOX_SOURCE_STRINGS
|
|
4
4
|
from .coordinator import SqueezeBoxPlayerUpdateCoordinator as SqueezeBoxPlayerUpdateCoordinator
|
|
5
5
|
from .entity import SqueezeboxEntity as SqueezeboxEntity
|
|
6
6
|
from _typeshed import Incomplete
|
|
@@ -13,7 +13,7 @@ from homeassistant.const import ATTR_COMMAND as ATTR_COMMAND, CONF_HOST as CONF_
|
|
|
13
13
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
14
14
|
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
|
15
15
|
from homeassistant.helpers import discovery_flow as discovery_flow, entity_platform as entity_platform
|
|
16
|
-
from homeassistant.helpers.device_registry import format_mac as format_mac
|
|
16
|
+
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, format_mac as format_mac
|
|
17
17
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
|
18
18
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
|
19
19
|
from homeassistant.helpers.start import async_at_start as async_at_start
|
|
@@ -3,11 +3,13 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
|
3
3
|
from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, Platform as Platform
|
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
|
5
5
|
from homeassistant.helpers.device import async_entity_id_to_device_id as async_entity_id_to_device_id, async_remove_stale_devices_links_keep_entity_device as async_remove_stale_devices_links_keep_entity_device
|
|
6
|
-
from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes
|
|
6
|
+
from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes, async_remove_helper_config_entry_from_source_device as async_remove_helper_config_entry_from_source_device
|
|
7
7
|
|
|
8
8
|
DOMAIN: str
|
|
9
9
|
PLATFORMS: Incomplete
|
|
10
|
+
_LOGGER: Incomplete
|
|
10
11
|
|
|
11
12
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
13
|
+
async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
|
12
14
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
|
13
15
|
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
|
@@ -20,6 +20,7 @@ CONFIG_FLOW: Incomplete
|
|
|
20
20
|
OPTIONS_FLOW: Incomplete
|
|
21
21
|
|
|
22
22
|
class StatisticsConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
|
|
23
|
+
MINOR_VERSION: int
|
|
23
24
|
config_flow = CONFIG_FLOW
|
|
24
25
|
options_flow = OPTIONS_FLOW
|
|
25
26
|
def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
|
|
@@ -8,7 +8,7 @@ from homeassistant.components.sensor import DEVICE_CLASS_STATE_CLASSES as DEVICE
|
|
|
8
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
9
9
|
from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, PERCENTAGE as PERCENTAGE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
|
10
10
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, EventStateReportedData as EventStateReportedData, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
|
|
11
|
-
from homeassistant.helpers.device import
|
|
11
|
+
from homeassistant.helpers.device import async_entity_id_to_device as async_entity_id_to_device
|
|
12
12
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
|
|
13
13
|
from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time, async_track_state_change_event as async_track_state_change_event, async_track_state_report_event as async_track_state_report_event
|
|
14
14
|
from homeassistant.helpers.reload import async_setup_reload_service as async_setup_reload_service
|
|
@@ -119,7 +119,7 @@ class StatisticsSensor(SensorEntity):
|
|
|
119
119
|
_attr_name: str
|
|
120
120
|
_attr_unique_id: str | None
|
|
121
121
|
_source_entity_id: str
|
|
122
|
-
|
|
122
|
+
device_entry: Incomplete
|
|
123
123
|
is_binary: bool
|
|
124
124
|
_state_characteristic: str
|
|
125
125
|
_samples_max_buffer_size: int | None
|
|
@@ -134,16 +134,16 @@ class StatisticsSensor(SensorEntity):
|
|
|
134
134
|
_state_characteristic_fn: Callable[[deque[bool | float], deque[float], int], float | int | datetime | None]
|
|
135
135
|
_update_listener: CALLBACK_TYPE | None
|
|
136
136
|
_preview_callback: Callable[[str, Mapping[str, Any]], None] | None
|
|
137
|
-
def __init__(self, hass: HomeAssistant, source_entity_id: str, name: str, unique_id: str | None, state_characteristic: str, samples_max_buffer_size: int | None, samples_max_age: timedelta | None, samples_keep_last: bool, precision: int, percentile: int) -> None: ...
|
|
137
|
+
def __init__(self, hass: HomeAssistant, *, source_entity_id: str, name: str, unique_id: str | None, state_characteristic: str, samples_max_buffer_size: int | None, samples_max_age: timedelta | None, samples_keep_last: bool, precision: int, percentile: int) -> None: ...
|
|
138
138
|
async def async_start_preview(self, preview_callback: Callable[[str, Mapping[str, Any]], None]) -> CALLBACK_TYPE: ...
|
|
139
|
-
def _async_handle_new_state(self, reported_state: State
|
|
139
|
+
def _async_handle_new_state(self, reported_state: State, timestamp: float) -> None: ...
|
|
140
140
|
@callback
|
|
141
141
|
def _async_stats_sensor_state_change_listener(self, event: Event[EventStateChangedData]) -> None: ...
|
|
142
142
|
@callback
|
|
143
143
|
def _async_stats_sensor_state_report_listener(self, event: Event[EventStateReportedData]) -> None: ...
|
|
144
144
|
async def _async_stats_sensor_startup(self) -> None: ...
|
|
145
145
|
async def async_added_to_hass(self) -> None: ...
|
|
146
|
-
def _add_state_to_queue(self, new_state: State) -> None: ...
|
|
146
|
+
def _add_state_to_queue(self, new_state: State, last_reported_timestamp: float) -> None: ...
|
|
147
147
|
_attr_native_unit_of_measurement: Incomplete
|
|
148
148
|
_attr_device_class: Incomplete
|
|
149
149
|
_attr_state_class: Incomplete
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
|
2
2
|
from .coordinator import StookwijzerConfigEntry as StookwijzerConfigEntry, StookwijzerCoordinator as StookwijzerCoordinator
|
|
3
|
+
from .services import setup_services as setup_services
|
|
3
4
|
from _typeshed import Incomplete
|
|
4
5
|
from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, Platform as Platform
|
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
|
6
7
|
from homeassistant.helpers import entity_registry as er
|
|
8
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
|
7
9
|
from typing import Any
|
|
8
10
|
|
|
9
11
|
PLATFORMS: Incomplete
|
|
12
|
+
CONFIG_SCHEMA: Incomplete
|
|
10
13
|
|
|
14
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
11
15
|
async def async_setup_entry(hass: HomeAssistant, entry: StookwijzerConfigEntry) -> bool: ...
|
|
12
16
|
async def async_unload_entry(hass: HomeAssistant, entry: StookwijzerConfigEntry) -> bool: ...
|
|
13
17
|
async def async_migrate_entry(hass: HomeAssistant, entry: StookwijzerConfigEntry) -> bool: ...
|