homeassistant-stubs 2025.6.3__py3-none-any.whl → 2025.7.0b1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/bootstrap.pyi +1 -1
- homeassistant-stubs/components/abode/__init__.pyi +3 -12
- homeassistant-stubs/components/abode/services.pyi +20 -0
- homeassistant-stubs/components/adax/sensor.pyi +29 -0
- homeassistant-stubs/components/airly/config_flow.pyi +1 -1
- homeassistant-stubs/components/airq/coordinator.pyi +1 -1
- homeassistant-stubs/components/airthings/__init__.pyi +3 -5
- homeassistant-stubs/components/airthings/coordinator.pyi +13 -0
- homeassistant-stubs/components/airthings/sensor.pyi +5 -4
- homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/alexa_devices/notify.pyi +2 -0
- homeassistant-stubs/components/alexa_devices/sensor.pyi +29 -0
- homeassistant-stubs/components/alexa_devices/switch.pyi +2 -0
- homeassistant-stubs/components/alexa_devices/utils.pyi +7 -0
- homeassistant-stubs/components/altruist/__init__.pyi +9 -0
- homeassistant-stubs/components/altruist/config_flow.pyi +15 -0
- homeassistant-stubs/components/altruist/const.pyi +2 -0
- homeassistant-stubs/components/altruist/coordinator.pyi +19 -0
- homeassistant-stubs/components/altruist/sensor.pyi +34 -0
- homeassistant-stubs/components/amcrest/__init__.pyi +4 -7
- homeassistant-stubs/components/amcrest/services.pyi +13 -0
- homeassistant-stubs/components/analytics/analytics.pyi +3 -1
- homeassistant-stubs/components/android_ip_webcam/camera.pyi +4 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
- homeassistant-stubs/components/assist_satellite/__init__.pyi +2 -2
- homeassistant-stubs/components/assist_satellite/entity.pyi +13 -1
- homeassistant-stubs/components/axis/hub/hub.pyi +1 -1
- homeassistant-stubs/components/camera/__init__.pyi +0 -2
- homeassistant-stubs/components/camera/webrtc.pyi +1 -0
- homeassistant-stubs/components/climate/__init__.pyi +0 -2
- homeassistant-stubs/components/command_line/notify.pyi +1 -2
- homeassistant-stubs/components/command_line/sensor.pyi +1 -2
- homeassistant-stubs/components/command_line/utils.pyi +5 -2
- homeassistant-stubs/components/deconz/logbook.pyi +1 -1
- homeassistant-stubs/components/derivative/config_flow.pyi +1 -1
- homeassistant-stubs/components/derivative/const.pyi +1 -0
- homeassistant-stubs/components/derivative/sensor.pyi +9 -4
- homeassistant-stubs/components/device_automation/condition.pyi +17 -4
- homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -2
- homeassistant-stubs/components/devolo_home_control/climate.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/const.pyi +0 -1
- homeassistant-stubs/components/devolo_home_control/cover.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/entity.pyi +6 -0
- homeassistant-stubs/components/devolo_home_control/light.pyi +1 -1
- homeassistant-stubs/components/devolo_home_control/siren.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -0
- homeassistant-stubs/components/dnsip/sensor.pyi +3 -2
- homeassistant-stubs/components/downloader/__init__.pyi +1 -1
- homeassistant-stubs/components/downloader/services.pyi +3 -2
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/ecovacs/entity.pyi +9 -12
- homeassistant-stubs/components/ecovacs/number.pyi +4 -4
- homeassistant-stubs/components/ecovacs/select.pyi +5 -4
- homeassistant-stubs/components/ecovacs/sensor.pyi +3 -3
- homeassistant-stubs/components/eheimdigital/number.pyi +8 -9
- homeassistant-stubs/components/eheimdigital/select.pyi +8 -9
- homeassistant-stubs/components/eheimdigital/sensor.pyi +7 -8
- homeassistant-stubs/components/eheimdigital/time.pyi +8 -9
- homeassistant-stubs/components/elkm1/__init__.pyi +4 -9
- homeassistant-stubs/components/elkm1/services.pyi +21 -0
- homeassistant-stubs/components/enphase_envoy/__init__.pyi +2 -2
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +1 -1
- homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +1 -0
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -1
- homeassistant-stubs/components/eq3btsmart/climate.pyi +6 -8
- homeassistant-stubs/components/eq3btsmart/const.pyi +3 -2
- homeassistant-stubs/components/eq3btsmart/entity.pyi +5 -1
- homeassistant-stubs/components/eq3btsmart/number.pyi +3 -3
- homeassistant-stubs/components/eq3btsmart/switch.pyi +5 -3
- homeassistant-stubs/components/esphome/entity.pyi +2 -1
- homeassistant-stubs/components/esphome/entry_data.pyi +3 -0
- homeassistant-stubs/components/evohome/water_heater.pyi +1 -1
- homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/fritz/button.pyi +3 -1
- homeassistant-stubs/components/fritz/coordinator.pyi +8 -82
- homeassistant-stubs/components/fritz/device_tracker.pyi +3 -1
- homeassistant-stubs/components/fritz/entity.pyi +2 -1
- homeassistant-stubs/components/fritz/helpers.pyi +9 -0
- homeassistant-stubs/components/fritz/models.pyi +78 -0
- homeassistant-stubs/components/fritz/sensor.pyi +2 -1
- homeassistant-stubs/components/fritz/services.pyi +3 -2
- homeassistant-stubs/components/fritz/switch.pyi +3 -1
- homeassistant-stubs/components/fully_kiosk/services.pyi +7 -2
- homeassistant-stubs/components/go2rtc/__init__.pyi +10 -4
- homeassistant-stubs/components/google/__init__.pyi +3 -9
- homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +3 -7
- homeassistant-stubs/components/google_assistant_sdk/services.pyi +13 -0
- homeassistant-stubs/components/google_photos/services.pyi +4 -2
- homeassistant-stubs/components/google_sheets/__init__.pyi +7 -10
- homeassistant-stubs/components/google_sheets/services.pyi +18 -0
- homeassistant-stubs/components/group/sensor.pyi +1 -1
- homeassistant-stubs/components/habitica/services.pyi +8 -1
- homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
- homeassistant-stubs/components/home_connect/diagnostics.pyi +2 -0
- homeassistant-stubs/components/homeassistant/__init__.pyi +2 -3
- homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +7 -7
- homeassistant-stubs/components/homeassistant_hardware/update.pyi +2 -6
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +3 -1
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +9 -5
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +12 -5
- homeassistant-stubs/components/homee/config_flow.pyi +1 -0
- homeassistant-stubs/components/homee/diagnostics.pyi +12 -0
- homeassistant-stubs/components/homee/entity.pyi +3 -2
- homeassistant-stubs/components/homee/event.pyi +8 -4
- homeassistant-stubs/components/homee/siren.pyi +19 -0
- homeassistant-stubs/components/homewizard/select.pyi +35 -0
- homeassistant-stubs/components/image/__init__.pyi +2 -0
- homeassistant-stubs/components/immich/coordinator.pyi +2 -1
- homeassistant-stubs/components/immich/update.pyi +21 -0
- homeassistant-stubs/components/isy994/__init__.pyi +3 -1
- homeassistant-stubs/components/isy994/services.pyi +0 -2
- homeassistant-stubs/components/jewish_calendar/__init__.pyi +1 -1
- homeassistant-stubs/components/jewish_calendar/{service.pyi → services.pyi} +2 -1
- homeassistant-stubs/components/kaleidescape/__init__.pyi +4 -4
- homeassistant-stubs/components/kaleidescape/media_player.pyi +2 -3
- homeassistant-stubs/components/kaleidescape/remote.pyi +2 -3
- homeassistant-stubs/components/kaleidescape/sensor.pyi +2 -3
- homeassistant-stubs/components/lacrosse_view/__init__.pyi +3 -5
- homeassistant-stubs/components/lacrosse_view/coordinator.pyi +3 -2
- homeassistant-stubs/components/lacrosse_view/diagnostics.pyi +2 -4
- homeassistant-stubs/components/lacrosse_view/sensor.pyi +2 -2
- homeassistant-stubs/components/lametric/__init__.pyi +3 -4
- homeassistant-stubs/components/lametric/button.pyi +2 -4
- homeassistant-stubs/components/lametric/coordinator.pyi +3 -2
- homeassistant-stubs/components/lametric/diagnostics.pyi +2 -4
- homeassistant-stubs/components/lametric/entity.pyi +1 -1
- homeassistant-stubs/components/lametric/helpers.pyi +1 -1
- homeassistant-stubs/components/lametric/notify.pyi +2 -2
- homeassistant-stubs/components/lametric/number.pyi +2 -4
- homeassistant-stubs/components/lametric/select.pyi +2 -4
- homeassistant-stubs/components/lametric/sensor.pyi +2 -4
- homeassistant-stubs/components/lametric/switch.pyi +2 -4
- homeassistant-stubs/components/lametric/update.pyi +17 -0
- homeassistant-stubs/components/laundrify/__init__.pyi +4 -6
- homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/laundrify/coordinator.pyi +1 -0
- homeassistant-stubs/components/laundrify/sensor.pyi +2 -3
- homeassistant-stubs/components/lcn/__init__.pyi +9 -10
- homeassistant-stubs/components/lcn/binary_sensor.pyi +9 -8
- homeassistant-stubs/components/lcn/climate.pyi +5 -6
- homeassistant-stubs/components/lcn/const.pyi +0 -4
- homeassistant-stubs/components/lcn/cover.pyi +6 -7
- homeassistant-stubs/components/lcn/entity.pyi +2 -3
- homeassistant-stubs/components/lcn/helpers.pyi +15 -5
- homeassistant-stubs/components/lcn/light.pyi +6 -7
- homeassistant-stubs/components/lcn/scene.pyi +5 -5
- homeassistant-stubs/components/lcn/sensor.pyi +7 -7
- homeassistant-stubs/components/lcn/services.pyi +5 -4
- homeassistant-stubs/components/lcn/switch.pyi +8 -9
- homeassistant-stubs/components/lcn/websocket.pyi +12 -13
- homeassistant-stubs/components/ld2410_ble/__init__.pyi +4 -6
- homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/ld2410_ble/coordinator.pyi +3 -3
- homeassistant-stubs/components/ld2410_ble/models.pyi +2 -0
- homeassistant-stubs/components/ld2410_ble/sensor.pyi +4 -5
- homeassistant-stubs/components/led_ble/__init__.pyi +5 -6
- homeassistant-stubs/components/led_ble/light.pyi +3 -4
- homeassistant-stubs/components/led_ble/models.pyi +2 -0
- homeassistant-stubs/components/lifx/__init__.pyi +4 -5
- homeassistant-stubs/components/lifx/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/lifx/button.pyi +3 -4
- homeassistant-stubs/components/lifx/const.pyi +3 -1
- homeassistant-stubs/components/lifx/coordinator.pyi +3 -2
- homeassistant-stubs/components/lifx/diagnostics.pyi +3 -4
- homeassistant-stubs/components/lifx/light.pyi +3 -4
- homeassistant-stubs/components/lifx/manager.pyi +2 -2
- homeassistant-stubs/components/lifx/migration.pyi +3 -3
- homeassistant-stubs/components/lifx/select.pyi +3 -4
- homeassistant-stubs/components/lifx/sensor.pyi +3 -4
- homeassistant-stubs/components/lifx/util.pyi +3 -3
- homeassistant-stubs/components/linear_garage_door/__init__.pyi +4 -5
- homeassistant-stubs/components/linear_garage_door/coordinator.pyi +3 -2
- homeassistant-stubs/components/linear_garage_door/cover.pyi +2 -4
- homeassistant-stubs/components/linear_garage_door/diagnostics.pyi +2 -4
- homeassistant-stubs/components/linear_garage_door/light.pyi +2 -4
- homeassistant-stubs/components/lookin/__init__.pyi +4 -5
- homeassistant-stubs/components/lookin/climate.pyi +3 -4
- homeassistant-stubs/components/lookin/coordinator.pyi +3 -3
- homeassistant-stubs/components/lookin/light.pyi +3 -4
- homeassistant-stubs/components/lookin/media_player.pyi +3 -4
- homeassistant-stubs/components/lookin/models.pyi +2 -0
- homeassistant-stubs/components/lookin/sensor.pyi +2 -4
- homeassistant-stubs/components/luftdaten/__init__.pyi +4 -6
- homeassistant-stubs/components/luftdaten/coordinator.pyi +15 -0
- homeassistant-stubs/components/luftdaten/diagnostics.pyi +3 -4
- homeassistant-stubs/components/luftdaten/sensor.pyi +4 -4
- homeassistant-stubs/components/matrix/__init__.pyi +2 -7
- homeassistant-stubs/components/matrix/const.pyi +3 -0
- homeassistant-stubs/components/matrix/services.pyi +12 -0
- homeassistant-stubs/components/matter/sensor.pyi +7 -2
- homeassistant-stubs/components/matter/vacuum.pyi +5 -5
- homeassistant-stubs/components/mealie/__init__.pyi +1 -1
- homeassistant-stubs/components/mealie/services.pyi +9 -3
- homeassistant-stubs/components/media_player/__init__.pyi +0 -2
- homeassistant-stubs/components/media_player/intent.pyi +1 -1
- homeassistant-stubs/components/media_source/local_source.pyi +2 -0
- homeassistant-stubs/components/miele/const.pyi +24 -0
- homeassistant-stubs/components/miele/sensor.pyi +1 -2
- homeassistant-stubs/components/mqtt/config_flow.pyi +4 -1
- homeassistant-stubs/components/mqtt/sensor.pyi +1 -4
- homeassistant-stubs/components/music_assistant/__init__.pyi +5 -1
- homeassistant-stubs/components/music_assistant/button.pyi +15 -0
- homeassistant-stubs/components/music_assistant/helpers.pyi +5 -0
- homeassistant-stubs/components/music_assistant/media_player.pyi +4 -4
- homeassistant-stubs/components/nextdns/binary_sensor.pyi +6 -12
- homeassistant-stubs/components/nextdns/button.pyi +2 -9
- homeassistant-stubs/components/nextdns/coordinator.pyi +2 -7
- homeassistant-stubs/components/nextdns/entity.pyi +14 -0
- homeassistant-stubs/components/nextdns/sensor.pyi +8 -15
- homeassistant-stubs/components/nextdns/switch.pyi +3 -6
- homeassistant-stubs/components/nfandroidtv/__init__.pyi +0 -1
- homeassistant-stubs/components/nfandroidtv/notify.pyi +5 -4
- homeassistant-stubs/components/nordpool/services.pyi +2 -1
- homeassistant-stubs/components/ntfy/__init__.pyi +1 -3
- homeassistant-stubs/components/ntfy/config_flow.pyi +3 -0
- homeassistant-stubs/components/ntfy/coordinator.pyi +16 -0
- homeassistant-stubs/components/ntfy/notify.pyi +1 -1
- homeassistant-stubs/components/ntfy/sensor.pyi +56 -0
- homeassistant-stubs/components/ohme/services.pyi +2 -1
- homeassistant-stubs/components/onedrive/__init__.pyi +1 -1
- homeassistant-stubs/components/onedrive/services.pyi +3 -2
- homeassistant-stubs/components/onewire/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/onewire/const.pyi +0 -1
- homeassistant-stubs/components/onewire/entity.pyi +2 -3
- homeassistant-stubs/components/onewire/switch.pyi +3 -2
- homeassistant-stubs/components/onkyo/__init__.pyi +1 -1
- homeassistant-stubs/components/onkyo/services.pyi +3 -2
- homeassistant-stubs/components/openai_conversation/__init__.pyi +3 -2
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +18 -14
- homeassistant-stubs/components/openai_conversation/const.pyi +2 -0
- homeassistant-stubs/components/openai_conversation/conversation.pyi +4 -4
- homeassistant-stubs/components/overseerr/__init__.pyi +1 -1
- homeassistant-stubs/components/overseerr/services.pyi +6 -4
- homeassistant-stubs/components/paperless_ngx/__init__.pyi +1 -1
- homeassistant-stubs/components/paperless_ngx/config_flow.pyi +2 -2
- homeassistant-stubs/components/paperless_ngx/coordinator.pyi +3 -5
- homeassistant-stubs/components/paperless_ngx/entity.pyi +2 -5
- homeassistant-stubs/components/paperless_ngx/sensor.pyi +8 -8
- homeassistant-stubs/components/paperless_ngx/update.pyi +25 -0
- homeassistant-stubs/components/plugwise/climate.pyi +0 -1
- homeassistant-stubs/components/qbus/climate.pyi +3 -2
- homeassistant-stubs/components/qbus/cover.pyi +39 -0
- homeassistant-stubs/components/qbus/entity.pyi +7 -3
- homeassistant-stubs/components/qbus/light.pyi +4 -3
- homeassistant-stubs/components/qbus/scene.pyi +2 -2
- homeassistant-stubs/components/qbus/switch.pyi +3 -2
- homeassistant-stubs/components/recorder/__init__.pyi +1 -1
- homeassistant-stubs/components/recorder/services.pyi +7 -12
- homeassistant-stubs/components/reolink/__init__.pyi +1 -1
- homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
- homeassistant-stubs/components/reolink/const.pyi +1 -0
- homeassistant-stubs/components/reolink/entity.pyi +1 -1
- homeassistant-stubs/components/reolink/host.pyi +1 -1
- homeassistant-stubs/components/reolink/services.pyi +2 -0
- homeassistant-stubs/components/rest/data.pyi +7 -6
- homeassistant-stubs/components/russound_rio/__init__.pyi +1 -0
- homeassistant-stubs/components/russound_rio/entity.pyi +6 -2
- homeassistant-stubs/components/russound_rio/media_player.pyi +1 -5
- homeassistant-stubs/components/russound_rio/number.pyi +30 -0
- homeassistant-stubs/components/russound_rio/switch.pyi +33 -0
- homeassistant-stubs/components/shopping_list/__init__.pyi +1 -0
- homeassistant-stubs/components/shopping_list/intent.pyi +9 -1
- homeassistant-stubs/components/squeezebox/button.pyi +0 -2
- homeassistant-stubs/components/squeezebox/entity.pyi +2 -0
- homeassistant-stubs/components/squeezebox/media_player.pyi +0 -2
- homeassistant-stubs/components/sun/__init__.pyi +1 -0
- homeassistant-stubs/components/sun/binary_sensor.pyi +36 -0
- homeassistant-stubs/components/sun/condition.pyi +13 -3
- homeassistant-stubs/components/sun/sensor.pyi +2 -0
- homeassistant-stubs/components/switch/light.pyi +1 -0
- homeassistant-stubs/components/switch_as_x/entity.pyi +1 -0
- homeassistant-stubs/components/synology_dsm/__init__.pyi +4 -1
- homeassistant-stubs/components/synology_dsm/{service.pyi → services.pyi} +4 -2
- homeassistant-stubs/components/tedee/binary_sensor.pyi +4 -0
- homeassistant-stubs/components/telegram_bot/__init__.pyi +34 -0
- homeassistant-stubs/components/telegram_bot/bot.pyi +63 -0
- homeassistant-stubs/components/telegram_bot/broadcast.pyi +5 -0
- homeassistant-stubs/components/telegram_bot/config_flow.pyi +53 -0
- homeassistant-stubs/components/telegram_bot/const.pyi +93 -0
- homeassistant-stubs/components/telegram_bot/polling.pyi +19 -0
- homeassistant-stubs/components/telegram_bot/webhooks.pyi +47 -0
- homeassistant-stubs/components/tplink/climate.pyi +1 -2
- homeassistant-stubs/components/trend/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/tts/__init__.pyi +1 -0
- homeassistant-stubs/components/tts/entity.pyi +1 -2
- homeassistant-stubs/components/unifi/button.pyi +5 -5
- homeassistant-stubs/components/unifi/device_tracker.pyi +5 -5
- homeassistant-stubs/components/unifi/entity.pyi +5 -8
- homeassistant-stubs/components/unifi/hub/hub.pyi +1 -1
- homeassistant-stubs/components/unifi/image.pyi +5 -5
- homeassistant-stubs/components/unifi/sensor.pyi +5 -5
- homeassistant-stubs/components/unifi/switch.pyi +7 -7
- homeassistant-stubs/components/unifi/update.pyi +3 -5
- homeassistant-stubs/components/unifiprotect/services.pyi +1 -0
- homeassistant-stubs/components/vacuum/__init__.pyi +0 -2
- homeassistant-stubs/components/websocket_api/commands.pyi +6 -3
- homeassistant-stubs/components/websocket_api/messages.pyi +1 -0
- homeassistant-stubs/components/wiz/__init__.pyi +3 -3
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
- homeassistant-stubs/components/zwave_js/api.pyi +2 -2
- homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
- homeassistant-stubs/components/zwave_js/services.pyi +2 -0
- homeassistant-stubs/components/zwave_js/trigger.pyi +3 -7
- homeassistant-stubs/components/zwave_js/triggers/event.pyi +9 -1
- homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +9 -1
- homeassistant-stubs/config_entries.pyi +2 -0
- homeassistant-stubs/const.pyi +1 -0
- homeassistant-stubs/helpers/condition.pyi +11 -3
- homeassistant-stubs/helpers/device_registry.pyi +5 -1
- homeassistant-stubs/helpers/entity.pyi +1 -4
- homeassistant-stubs/helpers/entity_registry.pyi +11 -1
- homeassistant-stubs/helpers/llm.pyi +0 -1
- homeassistant-stubs/helpers/selector.pyi +24 -4
- homeassistant-stubs/helpers/system_info.pyi +2 -0
- homeassistant-stubs/helpers/template.pyi +2 -1
- homeassistant-stubs/helpers/trigger.pyi +33 -2
- homeassistant-stubs/loader.pyi +3 -1
- homeassistant-stubs/util/timeout.pyi +6 -3
- homeassistant-stubs/util/yaml/loader.pyi +3 -1
- {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b1.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b1.dist-info}/RECORD +323 -286
- homeassistant-stubs/backports/enum.pyi +0 -7
- homeassistant-stubs/backports/functools.pyi +0 -7
- homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +0 -10
- {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b1.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,7 @@
|
|
1
1
|
from .const import OPTION_DIAGNOSTICS_INCLUDE_FIXTURES as OPTION_DIAGNOSTICS_INCLUDE_FIXTURES
|
2
2
|
from .coordinator import EnphaseConfigEntry as EnphaseConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
|
+
from aiohttp import ClientResponse as ClientResponse
|
4
5
|
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
5
6
|
from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_USERNAME as CONF_USERNAME
|
6
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
|
|
6
6
|
from collections.abc import Callable as Callable
|
7
7
|
from dataclasses import dataclass
|
8
8
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
9
|
-
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
|
9
|
+
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
10
10
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
11
11
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
12
12
|
from homeassistant.helpers.entity import Entity as Entity
|
@@ -1,8 +1,8 @@
|
|
1
1
|
from . import Eq3ConfigEntry as Eq3ConfigEntry
|
2
|
-
from .const import CurrentTemperatureSelector as CurrentTemperatureSelector, EQ_TO_HA_HVAC as EQ_TO_HA_HVAC, HA_TO_EQ_HVAC as HA_TO_EQ_HVAC, Preset as Preset, TargetTemperatureSelector as TargetTemperatureSelector
|
2
|
+
from .const import CurrentTemperatureSelector as CurrentTemperatureSelector, DEFAULT_AWAY_HOURS as DEFAULT_AWAY_HOURS, EQ_TO_HA_HVAC as EQ_TO_HA_HVAC, HA_TO_EQ_HVAC as HA_TO_EQ_HVAC, Preset as Preset, TargetTemperatureSelector as TargetTemperatureSelector
|
3
3
|
from .entity import Eq3Entity as Eq3Entity
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from eq3btsmart.const import
|
5
|
+
from eq3btsmart.const import EQ3_MAX_TEMP, EQ3_OFF_TEMP
|
6
6
|
from homeassistant.components.climate import ATTR_HVAC_MODE as ATTR_HVAC_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_NONE as PRESET_NONE
|
7
7
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_HALVES as PRECISION_HALVES, UnitOfTemperature as UnitOfTemperature
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
@@ -19,8 +19,8 @@ class Eq3Climate(Eq3Entity, ClimateEntity):
|
|
19
19
|
_attr_name: Incomplete
|
20
20
|
_attr_supported_features: Incomplete
|
21
21
|
_attr_temperature_unit: Incomplete
|
22
|
-
_attr_min_temp =
|
23
|
-
_attr_max_temp =
|
22
|
+
_attr_min_temp = EQ3_OFF_TEMP
|
23
|
+
_attr_max_temp = EQ3_MAX_TEMP
|
24
24
|
_attr_precision = PRECISION_HALVES
|
25
25
|
_attr_hvac_modes: Incomplete
|
26
26
|
_attr_preset_modes: Incomplete
|
@@ -30,14 +30,12 @@ class Eq3Climate(Eq3Entity, ClimateEntity):
|
|
30
30
|
_attr_hvac_action: HVACAction | None
|
31
31
|
_attr_preset_mode: str | None
|
32
32
|
_target_temperature: float | None
|
33
|
-
@callback
|
34
|
-
def _async_on_updated(self) -> None: ...
|
35
33
|
_attr_current_temperature: Incomplete
|
36
34
|
_attr_target_temperature: Incomplete
|
37
35
|
@callback
|
38
|
-
def _async_on_status_updated(self) -> None: ...
|
36
|
+
def _async_on_status_updated(self, data: Any) -> None: ...
|
39
37
|
@callback
|
40
|
-
def _async_on_device_updated(self) -> None: ...
|
38
|
+
def _async_on_device_updated(self, data: Any) -> None: ...
|
41
39
|
def _get_current_temperature(self) -> float | None: ...
|
42
40
|
def _get_target_temperature(self) -> float | None: ...
|
43
41
|
def _get_current_preset_mode(self) -> str: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from enum import Enum
|
3
|
-
from eq3btsmart.const import
|
3
|
+
from eq3btsmart.const import Eq3OperationMode
|
4
4
|
from homeassistant.components.climate import HVACMode as HVACMode, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_NONE as PRESET_NONE
|
5
5
|
|
6
6
|
DOMAIN: str
|
@@ -20,7 +20,7 @@ ENTITY_KEY_WINDOW_OPEN_TIMEOUT: str
|
|
20
20
|
ENTITY_KEY_VALVE: str
|
21
21
|
ENTITY_KEY_AWAY_UNTIL: str
|
22
22
|
GET_DEVICE_TIMEOUT: int
|
23
|
-
EQ_TO_HA_HVAC: dict[
|
23
|
+
EQ_TO_HA_HVAC: dict[Eq3OperationMode, HVACMode]
|
24
24
|
HA_TO_EQ_HVAC: Incomplete
|
25
25
|
|
26
26
|
class Preset(str, Enum):
|
@@ -47,6 +47,7 @@ class TargetTemperatureSelector(str, Enum):
|
|
47
47
|
DEFAULT_CURRENT_TEMP_SELECTOR: Incomplete
|
48
48
|
DEFAULT_TARGET_TEMP_SELECTOR: Incomplete
|
49
49
|
DEFAULT_SCAN_INTERVAL: int
|
50
|
+
DEFAULT_AWAY_HOURS: Incomplete
|
50
51
|
SIGNAL_THERMOSTAT_DISCONNECTED: Incomplete
|
51
52
|
SIGNAL_THERMOSTAT_CONNECTED: Incomplete
|
52
53
|
EQ3BT_STEP: float
|
@@ -6,6 +6,7 @@ from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNEC
|
|
6
6
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
7
7
|
from homeassistant.helpers.entity import Entity as Entity
|
8
8
|
from homeassistant.util import slugify as slugify
|
9
|
+
from typing import Any
|
9
10
|
|
10
11
|
class Eq3Entity(Entity):
|
11
12
|
_attr_has_entity_name: bool
|
@@ -16,7 +17,10 @@ class Eq3Entity(Entity):
|
|
16
17
|
def __init__(self, entry: Eq3ConfigEntry, unique_id_key: str | None = None) -> None: ...
|
17
18
|
async def async_added_to_hass(self) -> None: ...
|
18
19
|
async def async_will_remove_from_hass(self) -> None: ...
|
19
|
-
|
20
|
+
@callback
|
21
|
+
def _async_on_status_updated(self, data: Any) -> None: ...
|
22
|
+
@callback
|
23
|
+
def _async_on_device_updated(self, data: Any) -> None: ...
|
20
24
|
_attr_available: bool
|
21
25
|
@callback
|
22
26
|
def _async_on_disconnected(self) -> None: ...
|
@@ -2,10 +2,10 @@ from . import Eq3ConfigEntry as Eq3ConfigEntry
|
|
2
2
|
from .const import ENTITY_KEY_COMFORT as ENTITY_KEY_COMFORT, ENTITY_KEY_ECO as ENTITY_KEY_ECO, ENTITY_KEY_OFFSET as ENTITY_KEY_OFFSET, ENTITY_KEY_WINDOW_OPEN_TEMPERATURE as ENTITY_KEY_WINDOW_OPEN_TEMPERATURE, ENTITY_KEY_WINDOW_OPEN_TIMEOUT as ENTITY_KEY_WINDOW_OPEN_TIMEOUT, EQ3BT_STEP as EQ3BT_STEP
|
3
3
|
from .entity import Eq3Entity as Eq3Entity
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from collections.abc import
|
5
|
+
from collections.abc import Callable as Callable, Coroutine
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from eq3btsmart import Thermostat as Thermostat
|
8
|
-
from eq3btsmart.models import Presets as Presets
|
8
|
+
from eq3btsmart.models import Presets as Presets, Status as Status
|
9
9
|
from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
|
10
10
|
from homeassistant.const import EntityCategory as EntityCategory, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
|
11
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -14,7 +14,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
|
14
14
|
@dataclass(frozen=True, kw_only=True)
|
15
15
|
class Eq3NumberEntityDescription(NumberEntityDescription):
|
16
16
|
value_func: Callable[[Presets], float]
|
17
|
-
value_set_func: Callable[[Thermostat], Callable[[float],
|
17
|
+
value_set_func: Callable[[Thermostat], Callable[[float], Coroutine[None, None, Status]]]
|
18
18
|
mode: NumberMode = ...
|
19
19
|
entity_category: EntityCategory | None = ...
|
20
20
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
from . import Eq3ConfigEntry as Eq3ConfigEntry
|
2
|
-
from .const import ENTITY_KEY_AWAY as ENTITY_KEY_AWAY, ENTITY_KEY_BOOST as ENTITY_KEY_BOOST, ENTITY_KEY_LOCK as ENTITY_KEY_LOCK
|
2
|
+
from .const import DEFAULT_AWAY_HOURS as DEFAULT_AWAY_HOURS, ENTITY_KEY_AWAY as ENTITY_KEY_AWAY, ENTITY_KEY_BOOST as ENTITY_KEY_BOOST, ENTITY_KEY_LOCK as ENTITY_KEY_LOCK
|
3
3
|
from .entity import Eq3Entity as Eq3Entity
|
4
4
|
from _typeshed import Incomplete
|
5
|
-
from collections.abc import
|
5
|
+
from collections.abc import Callable as Callable, Coroutine
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from eq3btsmart import Thermostat as Thermostat
|
8
8
|
from eq3btsmart.models import Status as Status
|
@@ -11,9 +11,11 @@ from homeassistant.core import HomeAssistant as HomeAssistant
|
|
11
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
12
12
|
from typing import Any
|
13
13
|
|
14
|
+
async def async_set_away(thermostat: Thermostat, enable: bool) -> Status: ...
|
15
|
+
|
14
16
|
@dataclass(frozen=True, kw_only=True)
|
15
17
|
class Eq3SwitchEntityDescription(SwitchEntityDescription):
|
16
|
-
toggle_func: Callable[[Thermostat], Callable[[bool],
|
18
|
+
toggle_func: Callable[[Thermostat], Callable[[bool], Coroutine[None, None, Status]]]
|
17
19
|
value_func: Callable[[Status], bool]
|
18
20
|
|
19
21
|
SWITCH_ENTITY_DESCRIPTIONS: Incomplete
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
-
from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData
|
2
|
+
from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData, build_device_unique_id as build_device_unique_id
|
3
3
|
from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from aioesphomeapi import DeviceInfo as EsphomeDeviceInfo, EntityCategory as EsphomeEntityCategory, EntityInfo, EntityState
|
@@ -13,6 +13,7 @@ from homeassistant.helpers.entity import Entity as Entity
|
|
13
13
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
14
14
|
from typing import Any, Concatenate, Generic, TypeVar
|
15
15
|
|
16
|
+
_LOGGER: Incomplete
|
16
17
|
_InfoT = TypeVar('_InfoT', bound=EntityInfo)
|
17
18
|
_EntityT = TypeVar('_EntityT', bound='EsphomeEntity[Any,Any]')
|
18
19
|
_StateT = TypeVar('_StateT', bound=EntityState)
|
@@ -21,6 +21,8 @@ SAVE_DELAY: int
|
|
21
21
|
_LOGGER: Incomplete
|
22
22
|
INFO_TYPE_TO_PLATFORM: dict[type[EntityInfo], Platform]
|
23
23
|
|
24
|
+
def build_device_unique_id(mac: str, entity_info: EntityInfo) -> str: ...
|
25
|
+
|
24
26
|
class StoreData(TypedDict, total=False):
|
25
27
|
device_info: dict[str, Any]
|
26
28
|
services: list[dict[str, Any]]
|
@@ -60,6 +62,7 @@ class RuntimeEntryData:
|
|
60
62
|
media_player_formats: dict[str, list[MediaPlayerSupportedFormat]] = field(default_factory=Incomplete)
|
61
63
|
assist_satellite_config_update_callbacks: list[Callable[[AssistSatelliteConfiguration], None]] = field(default_factory=list)
|
62
64
|
assist_satellite_set_wake_word_callbacks: list[Callable[[str], None]] = field(default_factory=list)
|
65
|
+
device_id_to_name: dict[int, str] = field(default_factory=dict)
|
63
66
|
@property
|
64
67
|
def name(self) -> str: ...
|
65
68
|
@property
|
@@ -21,6 +21,7 @@ class EvoDHW(EvoChild, WaterHeaterEntity):
|
|
21
21
|
_attr_name: str
|
22
22
|
_attr_icon: str
|
23
23
|
_attr_operation_list: Incomplete
|
24
|
+
_attr_supported_features: Incomplete
|
24
25
|
_attr_temperature_unit: Incomplete
|
25
26
|
_evo_device: evo.HotWater
|
26
27
|
_evo_id_attr: str
|
@@ -28,7 +29,6 @@ class EvoDHW(EvoChild, WaterHeaterEntity):
|
|
28
29
|
_evo_id: Incomplete
|
29
30
|
_attr_unique_id: Incomplete
|
30
31
|
_attr_precision: Incomplete
|
31
|
-
_attr_supported_features: Incomplete
|
32
32
|
def __init__(self, coordinator: EvoDataUpdateCoordinator, evo_device: evo.HotWater) -> None: ...
|
33
33
|
@property
|
34
34
|
def current_operation(self) -> str | None: ...
|
@@ -1,5 +1,6 @@
|
|
1
|
-
from .coordinator import
|
1
|
+
from .coordinator import FritzConfigEntry as FritzConfigEntry
|
2
2
|
from .entity import FritzBoxBaseCoordinatorEntity as FritzBoxBaseCoordinatorEntity, FritzEntityDescription as FritzEntityDescription
|
3
|
+
from .models import ConnectionInfo as ConnectionInfo
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from collections.abc import Callable as Callable
|
5
6
|
from dataclasses import dataclass
|
@@ -1,6 +1,8 @@
|
|
1
1
|
from .const import BUTTON_TYPE_WOL as BUTTON_TYPE_WOL, CONNECTION_TYPE_LAN as CONNECTION_TYPE_LAN, MeshRoles as MeshRoles
|
2
|
-
from .coordinator import AvmWrapper as AvmWrapper, FRITZ_DATA_KEY as FRITZ_DATA_KEY, FritzConfigEntry as FritzConfigEntry, FritzData as FritzData
|
2
|
+
from .coordinator import AvmWrapper as AvmWrapper, FRITZ_DATA_KEY as FRITZ_DATA_KEY, FritzConfigEntry as FritzConfigEntry, FritzData as FritzData
|
3
3
|
from .entity import FritzDeviceBase as FritzDeviceBase
|
4
|
+
from .helpers import _is_tracked as _is_tracked
|
5
|
+
from .models import FritzDevice as FritzDevice
|
4
6
|
from _typeshed import Incomplete
|
5
7
|
from collections.abc import Callable as Callable
|
6
8
|
from dataclasses import dataclass
|
@@ -1,6 +1,8 @@
|
|
1
1
|
from .const import CONF_OLD_DISCOVERY as CONF_OLD_DISCOVERY, DEFAULT_CONF_FEATURE_DEVICE_TRACKING as DEFAULT_CONF_FEATURE_DEVICE_TRACKING, DEFAULT_CONF_OLD_DISCOVERY as DEFAULT_CONF_OLD_DISCOVERY, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN, FRITZ_EXCEPTIONS as FRITZ_EXCEPTIONS, MeshRoles as MeshRoles
|
2
|
+
from .helpers import _ha_is_stopping as _ha_is_stopping
|
3
|
+
from .models import ConnectionInfo as ConnectionInfo, Device as Device, FritzDevice as FritzDevice, HostAttributes as HostAttributes, HostInfo as HostInfo, Interface as Interface
|
2
4
|
from _typeshed import Incomplete
|
3
|
-
from collections.abc import Callable as Callable, Mapping
|
5
|
+
from collections.abc import Callable as Callable, Mapping
|
4
6
|
from dataclasses import dataclass, field
|
5
7
|
from datetime import datetime
|
6
8
|
from fritzconnection import FritzConnection
|
@@ -22,38 +24,15 @@ _LOGGER: Incomplete
|
|
22
24
|
FRITZ_DATA_KEY: HassKey[FritzData]
|
23
25
|
type FritzConfigEntry = ConfigEntry[AvmWrapper]
|
24
26
|
|
25
|
-
|
26
|
-
|
27
|
-
|
27
|
+
@dataclass
|
28
|
+
class FritzData:
|
29
|
+
tracked: dict[str, set[str]] = field(default_factory=dict)
|
30
|
+
profile_switches: dict[str, set[str]] = field(default_factory=dict)
|
31
|
+
wol_buttons: dict[str, set[str]] = field(default_factory=dict)
|
28
32
|
|
29
33
|
class ClassSetupMissing(Exception):
|
30
34
|
def __init__(self) -> None: ...
|
31
35
|
|
32
|
-
@dataclass
|
33
|
-
class Device:
|
34
|
-
connected: bool
|
35
|
-
connected_to: str
|
36
|
-
connection_type: str
|
37
|
-
ip_address: str
|
38
|
-
name: str
|
39
|
-
ssid: str | None
|
40
|
-
wan_access: bool | None = ...
|
41
|
-
|
42
|
-
class Interface(TypedDict):
|
43
|
-
device: str
|
44
|
-
mac: str
|
45
|
-
op_mode: str
|
46
|
-
ssid: str | None
|
47
|
-
type: str
|
48
|
-
|
49
|
-
HostAttributes = TypedDict('HostAttributes', {'Index': int, 'IPAddress': str, 'MACAddress': str, 'Active': bool, 'HostName': str, 'InterfaceType': str, 'X_AVM-DE_Port': int, 'X_AVM-DE_Speed': int, 'X_AVM-DE_UpdateAvailable': bool, 'X_AVM-DE_UpdateSuccessful': str, 'X_AVM-DE_InfoURL': str | None, 'X_AVM-DE_MACAddressList': str | None, 'X_AVM-DE_Model': str | None, 'X_AVM-DE_URL': str | None, 'X_AVM-DE_Guest': bool, 'X_AVM-DE_RequestClient': str, 'X_AVM-DE_VPN': bool, 'X_AVM-DE_WANAccess': str, 'X_AVM-DE_Disallow': bool, 'X_AVM-DE_IsMeshable': str, 'X_AVM-DE_Priority': str, 'X_AVM-DE_FriendlyName': str, 'X_AVM-DE_FriendlyNameIsWriteable': str})
|
50
|
-
|
51
|
-
class HostInfo(TypedDict):
|
52
|
-
mac: str
|
53
|
-
name: str
|
54
|
-
ip: str
|
55
|
-
status: bool
|
56
|
-
|
57
36
|
class UpdateCoordinatorDataType(TypedDict):
|
58
37
|
call_deflections: dict[int, dict]
|
59
38
|
entity_states: dict[str, StateType | bool]
|
@@ -140,56 +119,3 @@ class AvmWrapper(FritzBoxTools):
|
|
140
119
|
async def async_add_port_mapping(self, con_type: str, port_mapping: Any) -> dict[str, Any]: ...
|
141
120
|
async def async_set_allow_wan_access(self, ip_address: str, turn_on: bool) -> dict[str, Any]: ...
|
142
121
|
async def async_wake_on_lan(self, mac_address: str) -> dict[str, Any]: ...
|
143
|
-
|
144
|
-
@dataclass
|
145
|
-
class FritzData:
|
146
|
-
tracked: dict[str, set[str]] = field(default_factory=dict)
|
147
|
-
profile_switches: dict[str, set[str]] = field(default_factory=dict)
|
148
|
-
wol_buttons: dict[str, set[str]] = field(default_factory=dict)
|
149
|
-
|
150
|
-
class FritzDevice:
|
151
|
-
_connected: bool
|
152
|
-
_connected_to: str | None
|
153
|
-
_connection_type: str | None
|
154
|
-
_ip_address: str | None
|
155
|
-
_last_activity: datetime | None
|
156
|
-
_mac: Incomplete
|
157
|
-
_name: Incomplete
|
158
|
-
_ssid: str | None
|
159
|
-
_wan_access: bool | None
|
160
|
-
def __init__(self, mac: str, name: str) -> None: ...
|
161
|
-
def update(self, dev_info: Device, consider_home: float) -> None: ...
|
162
|
-
@property
|
163
|
-
def connected_to(self) -> str | None: ...
|
164
|
-
@property
|
165
|
-
def connection_type(self) -> str | None: ...
|
166
|
-
@property
|
167
|
-
def is_connected(self) -> bool: ...
|
168
|
-
@property
|
169
|
-
def mac_address(self) -> str: ...
|
170
|
-
@property
|
171
|
-
def hostname(self) -> str: ...
|
172
|
-
@property
|
173
|
-
def ip_address(self) -> str | None: ...
|
174
|
-
@property
|
175
|
-
def last_activity(self) -> datetime | None: ...
|
176
|
-
@property
|
177
|
-
def ssid(self) -> str | None: ...
|
178
|
-
@property
|
179
|
-
def wan_access(self) -> bool | None: ...
|
180
|
-
|
181
|
-
class SwitchInfo(TypedDict):
|
182
|
-
description: str
|
183
|
-
friendly_name: str
|
184
|
-
icon: str
|
185
|
-
type: str
|
186
|
-
callback_update: Callable
|
187
|
-
callback_switch: Callable
|
188
|
-
init_state: bool
|
189
|
-
|
190
|
-
@dataclass
|
191
|
-
class ConnectionInfo:
|
192
|
-
connection: str
|
193
|
-
mesh_role: MeshRoles
|
194
|
-
wan_enabled: bool
|
195
|
-
ipv6_active: bool
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import datetime
|
2
|
-
from .coordinator import AvmWrapper as AvmWrapper, FRITZ_DATA_KEY as FRITZ_DATA_KEY, FritzConfigEntry as FritzConfigEntry, FritzData as FritzData
|
2
|
+
from .coordinator import AvmWrapper as AvmWrapper, FRITZ_DATA_KEY as FRITZ_DATA_KEY, FritzConfigEntry as FritzConfigEntry, FritzData as FritzData
|
3
3
|
from .entity import FritzDeviceBase as FritzDeviceBase
|
4
|
+
from .helpers import device_filter_out_from_trackers as device_filter_out_from_trackers
|
5
|
+
from .models import FritzDevice as FritzDevice
|
4
6
|
from _typeshed import Incomplete
|
5
7
|
from homeassistant.components.device_tracker import ScannerEntity as ScannerEntity
|
6
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from .const import DEFAULT_DEVICE_NAME as DEFAULT_DEVICE_NAME, DOMAIN as DOMAIN
|
2
|
-
from .coordinator import AvmWrapper as AvmWrapper
|
2
|
+
from .coordinator import AvmWrapper as AvmWrapper
|
3
|
+
from .models import FritzDevice as FritzDevice
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from collections.abc import Callable as Callable
|
5
6
|
from dataclasses import dataclass
|
@@ -0,0 +1,9 @@
|
|
1
|
+
from .models import FritzDevice as FritzDevice
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from collections.abc import ValuesView
|
4
|
+
|
5
|
+
_LOGGER: Incomplete
|
6
|
+
|
7
|
+
def _is_tracked(mac: str, current_devices: ValuesView[set[str]]) -> bool: ...
|
8
|
+
def device_filter_out_from_trackers(mac: str, device: FritzDevice, current_devices: ValuesView[set[str]]) -> bool: ...
|
9
|
+
def _ha_is_stopping(activity: str) -> None: ...
|
@@ -0,0 +1,78 @@
|
|
1
|
+
from .const import MeshRoles as MeshRoles
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from collections.abc import Callable as Callable
|
4
|
+
from dataclasses import dataclass
|
5
|
+
from datetime import datetime
|
6
|
+
from typing import TypedDict
|
7
|
+
|
8
|
+
@dataclass
|
9
|
+
class Device:
|
10
|
+
connected: bool
|
11
|
+
connected_to: str
|
12
|
+
connection_type: str
|
13
|
+
ip_address: str
|
14
|
+
name: str
|
15
|
+
ssid: str | None
|
16
|
+
wan_access: bool | None = ...
|
17
|
+
|
18
|
+
class Interface(TypedDict):
|
19
|
+
device: str
|
20
|
+
mac: str
|
21
|
+
op_mode: str
|
22
|
+
ssid: str | None
|
23
|
+
type: str
|
24
|
+
|
25
|
+
HostAttributes = TypedDict('HostAttributes', {'Index': int, 'IPAddress': str, 'MACAddress': str, 'Active': bool, 'HostName': str, 'InterfaceType': str, 'X_AVM-DE_Port': int, 'X_AVM-DE_Speed': int, 'X_AVM-DE_UpdateAvailable': bool, 'X_AVM-DE_UpdateSuccessful': str, 'X_AVM-DE_InfoURL': str | None, 'X_AVM-DE_MACAddressList': str | None, 'X_AVM-DE_Model': str | None, 'X_AVM-DE_URL': str | None, 'X_AVM-DE_Guest': bool, 'X_AVM-DE_RequestClient': str, 'X_AVM-DE_VPN': bool, 'X_AVM-DE_WANAccess': str, 'X_AVM-DE_Disallow': bool, 'X_AVM-DE_IsMeshable': str, 'X_AVM-DE_Priority': str, 'X_AVM-DE_FriendlyName': str, 'X_AVM-DE_FriendlyNameIsWriteable': str})
|
26
|
+
|
27
|
+
class HostInfo(TypedDict):
|
28
|
+
mac: str
|
29
|
+
name: str
|
30
|
+
ip: str
|
31
|
+
status: bool
|
32
|
+
|
33
|
+
class FritzDevice:
|
34
|
+
_connected: bool
|
35
|
+
_connected_to: str | None
|
36
|
+
_connection_type: str | None
|
37
|
+
_ip_address: str | None
|
38
|
+
_last_activity: datetime | None
|
39
|
+
_mac: Incomplete
|
40
|
+
_name: Incomplete
|
41
|
+
_ssid: str | None
|
42
|
+
_wan_access: bool | None
|
43
|
+
def __init__(self, mac: str, name: str) -> None: ...
|
44
|
+
def update(self, dev_info: Device, consider_home: float) -> None: ...
|
45
|
+
@property
|
46
|
+
def connected_to(self) -> str | None: ...
|
47
|
+
@property
|
48
|
+
def connection_type(self) -> str | None: ...
|
49
|
+
@property
|
50
|
+
def is_connected(self) -> bool: ...
|
51
|
+
@property
|
52
|
+
def mac_address(self) -> str: ...
|
53
|
+
@property
|
54
|
+
def hostname(self) -> str: ...
|
55
|
+
@property
|
56
|
+
def ip_address(self) -> str | None: ...
|
57
|
+
@property
|
58
|
+
def last_activity(self) -> datetime | None: ...
|
59
|
+
@property
|
60
|
+
def ssid(self) -> str | None: ...
|
61
|
+
@property
|
62
|
+
def wan_access(self) -> bool | None: ...
|
63
|
+
|
64
|
+
class SwitchInfo(TypedDict):
|
65
|
+
description: str
|
66
|
+
friendly_name: str
|
67
|
+
icon: str
|
68
|
+
type: str
|
69
|
+
callback_update: Callable
|
70
|
+
callback_switch: Callable
|
71
|
+
init_state: bool
|
72
|
+
|
73
|
+
@dataclass
|
74
|
+
class ConnectionInfo:
|
75
|
+
connection: str
|
76
|
+
mesh_role: MeshRoles
|
77
|
+
wan_enabled: bool
|
78
|
+
ipv6_active: bool
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from .const import DSL_CONNECTION as DSL_CONNECTION, UPTIME_DEVIATION as UPTIME_DEVIATION
|
2
|
-
from .coordinator import
|
2
|
+
from .coordinator import FritzConfigEntry as FritzConfigEntry
|
3
3
|
from .entity import FritzBoxBaseCoordinatorEntity as FritzBoxBaseCoordinatorEntity, FritzEntityDescription as FritzEntityDescription
|
4
|
+
from .models import ConnectionInfo as ConnectionInfo
|
4
5
|
from _typeshed import Incomplete
|
5
6
|
from collections.abc import Callable as Callable
|
6
7
|
from dataclasses import dataclass
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from .coordinator import FritzConfigEntry as FritzConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
5
5
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
6
6
|
from homeassistant.helpers.service import async_extract_config_entry_ids as async_extract_config_entry_ids
|
7
7
|
|
@@ -10,4 +10,5 @@ SERVICE_SET_GUEST_WIFI_PW: str
|
|
10
10
|
SERVICE_SCHEMA_SET_GUEST_WIFI_PW: Incomplete
|
11
11
|
|
12
12
|
async def _async_set_guest_wifi_password(service_call: ServiceCall) -> None: ...
|
13
|
-
|
13
|
+
@callback
|
14
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
@@ -1,6 +1,8 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, MeshRoles as MeshRoles, SWITCH_TYPE_DEFLECTION as SWITCH_TYPE_DEFLECTION, SWITCH_TYPE_PORTFORWARD as SWITCH_TYPE_PORTFORWARD, SWITCH_TYPE_PROFILE as SWITCH_TYPE_PROFILE, SWITCH_TYPE_WIFINETWORK as SWITCH_TYPE_WIFINETWORK, WIFI_STANDARD as WIFI_STANDARD
|
2
|
-
from .coordinator import AvmWrapper as AvmWrapper, FRITZ_DATA_KEY as FRITZ_DATA_KEY, FritzConfigEntry as FritzConfigEntry, FritzData as FritzData
|
2
|
+
from .coordinator import AvmWrapper as AvmWrapper, FRITZ_DATA_KEY as FRITZ_DATA_KEY, FritzConfigEntry as FritzConfigEntry, FritzData as FritzData
|
3
3
|
from .entity import FritzBoxBaseEntity as FritzBoxBaseEntity, FritzDeviceBase as FritzDeviceBase
|
4
|
+
from .helpers import device_filter_out_from_trackers as device_filter_out_from_trackers
|
5
|
+
from .models import FritzDevice as FritzDevice, SwitchInfo as SwitchInfo
|
4
6
|
from _typeshed import Incomplete
|
5
7
|
from homeassistant.components.network import async_get_source_ip as async_get_source_ip
|
6
8
|
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
@@ -2,7 +2,12 @@ from .const import ATTR_APPLICATION as ATTR_APPLICATION, ATTR_KEY as ATTR_KEY, A
|
|
2
2
|
from .coordinator import FullyKioskDataUpdateCoordinator as FullyKioskDataUpdateCoordinator
|
3
3
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
|
4
4
|
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID
|
5
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
6
6
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
7
7
|
|
8
|
-
async def
|
8
|
+
async def _collect_coordinators(call: ServiceCall) -> list[FullyKioskDataUpdateCoordinator]: ...
|
9
|
+
async def _async_load_url(call: ServiceCall) -> None: ...
|
10
|
+
async def _async_start_app(call: ServiceCall) -> None: ...
|
11
|
+
async def _async_set_config(call: ServiceCall) -> None: ...
|
12
|
+
@callback
|
13
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
@@ -1,12 +1,14 @@
|
|
1
1
|
from .const import CONF_DEBUG_UI as CONF_DEBUG_UI, DEBUG_UI_URL_MESSAGE as DEBUG_UI_URL_MESSAGE, DOMAIN as DOMAIN, HA_MANAGED_URL as HA_MANAGED_URL, RECOMMENDED_VERSION as RECOMMENDED_VERSION
|
2
2
|
from .server import Server as Server
|
3
3
|
from _typeshed import Incomplete
|
4
|
+
from aiohttp import ClientSession as ClientSession
|
5
|
+
from go2rtc_client import Go2RtcRestClient
|
4
6
|
from go2rtc_client.ws import Go2RtcWsClient, ReceiveMessages as ReceiveMessages
|
5
7
|
from homeassistant.components.camera import Camera as Camera, CameraWebRTCProvider as CameraWebRTCProvider, WebRTCError as WebRTCError, WebRTCMessage as WebRTCMessage, WebRTCSendMessage as WebRTCSendMessage, async_register_webrtc_provider as async_register_webrtc_provider
|
6
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_SYSTEM as SOURCE_SYSTEM
|
7
9
|
from homeassistant.const import CONF_URL as CONF_URL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
8
10
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
9
|
-
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
11
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
|
10
12
|
from homeassistant.helpers import discovery_flow as discovery_flow
|
11
13
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
12
14
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
@@ -19,11 +21,12 @@ _SUPPORTED_STREAMS: Incomplete
|
|
19
21
|
CONFIG_SCHEMA: Incomplete
|
20
22
|
_DATA_GO2RTC: HassKey[str]
|
21
23
|
_RETRYABLE_ERRORS: Incomplete
|
24
|
+
type Go2RtcConfigEntry = ConfigEntry[WebRTCProvider]
|
22
25
|
|
23
26
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
24
27
|
async def _remove_go2rtc_entries(hass: HomeAssistant) -> None: ...
|
25
|
-
async def async_setup_entry(hass: HomeAssistant, entry:
|
26
|
-
async def async_unload_entry(hass: HomeAssistant, entry:
|
28
|
+
async def async_setup_entry(hass: HomeAssistant, entry: Go2RtcConfigEntry) -> bool: ...
|
29
|
+
async def async_unload_entry(hass: HomeAssistant, entry: Go2RtcConfigEntry) -> bool: ...
|
27
30
|
async def _get_binary(hass: HomeAssistant) -> str | None: ...
|
28
31
|
|
29
32
|
class WebRTCProvider(CameraWebRTCProvider):
|
@@ -32,7 +35,7 @@ class WebRTCProvider(CameraWebRTCProvider):
|
|
32
35
|
_session: Incomplete
|
33
36
|
_rest_client: Incomplete
|
34
37
|
_sessions: dict[str, Go2RtcWsClient]
|
35
|
-
def __init__(self, hass: HomeAssistant, url: str) -> None: ...
|
38
|
+
def __init__(self, hass: HomeAssistant, url: str, session: ClientSession, rest_client: Go2RtcRestClient) -> None: ...
|
36
39
|
@property
|
37
40
|
def domain(self) -> str: ...
|
38
41
|
@callback
|
@@ -41,3 +44,6 @@ class WebRTCProvider(CameraWebRTCProvider):
|
|
41
44
|
async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidateInit) -> None: ...
|
42
45
|
@callback
|
43
46
|
def async_close_session(self, session_id: str) -> None: ...
|
47
|
+
async def async_get_image(self, camera: Camera, width: int | None = None, height: int | None = None) -> bytes | None: ...
|
48
|
+
async def _update_stream_source(self, camera: Camera) -> None: ...
|
49
|
+
async def teardown(self) -> None: ...
|
@@ -1,12 +1,11 @@
|
|
1
1
|
from .api import ApiAuthImpl as ApiAuthImpl, get_feature_access as get_feature_access
|
2
|
-
from .const import DOMAIN as DOMAIN
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
3
|
from .store import GoogleConfigEntry as GoogleConfigEntry, GoogleRuntimeData as GoogleRuntimeData, LocalCalendarStore as LocalCalendarStore
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from collections.abc import Mapping
|
6
|
-
from gcal_sync.api import GoogleCalendarService
|
7
6
|
from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME, CONF_OFFSET as CONF_OFFSET, Platform as Platform
|
8
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
-
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
10
9
|
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
11
10
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
|
12
11
|
from homeassistant.helpers.entity import generate_entity_id as generate_entity_id
|
@@ -21,22 +20,17 @@ CONF_SEARCH: str
|
|
21
20
|
CONF_IGNORE_AVAILABILITY: str
|
22
21
|
CONF_MAX_RESULTS: str
|
23
22
|
DEFAULT_CONF_OFFSET: str
|
24
|
-
EVENT_CALENDAR_ID: str
|
25
|
-
SERVICE_ADD_EVENT: str
|
26
23
|
YAML_DEVICES: Incomplete
|
27
24
|
PLATFORMS: Incomplete
|
28
25
|
CONFIG_SCHEMA: Incomplete
|
29
26
|
_SINGLE_CALSEARCH_CONFIG: Incomplete
|
30
27
|
DEVICE_SCHEMA: Incomplete
|
31
|
-
_EVENT_IN_TYPES: Incomplete
|
32
|
-
ADD_EVENT_SERVICE_SCHEMA: Incomplete
|
33
28
|
|
34
29
|
async def async_setup_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> bool: ...
|
35
30
|
def async_entry_has_scopes(entry: GoogleConfigEntry) -> bool: ...
|
36
31
|
async def async_unload_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> bool: ...
|
37
32
|
async def async_reload_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> None: ...
|
38
33
|
async def async_remove_entry(hass: HomeAssistant, entry: GoogleConfigEntry) -> None: ...
|
39
|
-
async def async_setup_add_event_service(hass: HomeAssistant, calendar_service: GoogleCalendarService) -> None: ...
|
40
34
|
def get_calendar_info(hass: HomeAssistant, calendar: Mapping[str, Any]) -> dict[str, Any]: ...
|
41
35
|
def load_config(path: str) -> dict[str, Any]: ...
|
42
36
|
def update_config(path: str, calendar: dict[str, Any]) -> None: ...
|
@@ -1,25 +1,21 @@
|
|
1
1
|
from .const import CONF_LANGUAGE_CODE as CONF_LANGUAGE_CODE, DOMAIN as DOMAIN, SUPPORTED_LANGUAGE_CODES as SUPPORTED_LANGUAGE_CODES
|
2
|
-
from .helpers import GoogleAssistantSDKAudioView as GoogleAssistantSDKAudioView, GoogleAssistantSDKConfigEntry as GoogleAssistantSDKConfigEntry, GoogleAssistantSDKRuntimeData as GoogleAssistantSDKRuntimeData, InMemoryStorage as InMemoryStorage,
|
2
|
+
from .helpers import GoogleAssistantSDKAudioView as GoogleAssistantSDKAudioView, GoogleAssistantSDKConfigEntry as GoogleAssistantSDKConfigEntry, GoogleAssistantSDKRuntimeData as GoogleAssistantSDKRuntimeData, InMemoryStorage as InMemoryStorage, best_matching_language_code as best_matching_language_code
|
3
|
+
from .services import async_setup_services as async_setup_services
|
3
4
|
from _typeshed import Incomplete
|
4
5
|
from gassist_text import TextAssistant
|
5
6
|
from homeassistant.components import conversation as conversation
|
6
7
|
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_NAME as CONF_NAME, Platform as Platform
|
7
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
9
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
9
10
|
from homeassistant.helpers import discovery as discovery, intent as intent
|
10
11
|
from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session, async_get_config_entry_implementation as async_get_config_entry_implementation
|
11
12
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
12
13
|
|
13
|
-
SERVICE_SEND_TEXT_COMMAND: str
|
14
|
-
SERVICE_SEND_TEXT_COMMAND_FIELD_COMMAND: str
|
15
|
-
SERVICE_SEND_TEXT_COMMAND_FIELD_MEDIA_PLAYER: str
|
16
|
-
SERVICE_SEND_TEXT_COMMAND_SCHEMA: Incomplete
|
17
14
|
CONFIG_SCHEMA: Incomplete
|
18
15
|
|
19
16
|
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
20
17
|
async def async_setup_entry(hass: HomeAssistant, entry: GoogleAssistantSDKConfigEntry) -> bool: ...
|
21
18
|
async def async_unload_entry(hass: HomeAssistant, entry: GoogleAssistantSDKConfigEntry) -> bool: ...
|
22
|
-
async def async_setup_service(hass: HomeAssistant) -> None: ...
|
23
19
|
|
24
20
|
class GoogleAssistantConversationAgent(conversation.AbstractConversationAgent):
|
25
21
|
hass: Incomplete
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .helpers import async_send_text_commands as async_send_text_commands
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
|
5
|
+
|
6
|
+
SERVICE_SEND_TEXT_COMMAND: str
|
7
|
+
SERVICE_SEND_TEXT_COMMAND_FIELD_COMMAND: str
|
8
|
+
SERVICE_SEND_TEXT_COMMAND_FIELD_MEDIA_PLAYER: str
|
9
|
+
SERVICE_SEND_TEXT_COMMAND_SCHEMA: Incomplete
|
10
|
+
|
11
|
+
async def _send_text_command(call: ServiceCall) -> ServiceResponse: ...
|
12
|
+
@callback
|
13
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|