homeassistant-stubs 2023.7.2__py3-none-any.whl → 2023.8.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/backports/enum.pyi +1 -9
- homeassistant-stubs/backports/functools.pyi +6 -8
- homeassistant-stubs/components/accuweather/sensor.pyi +3 -4
- homeassistant-stubs/components/accuweather/weather.pyi +3 -1
- homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +8 -1
- homeassistant-stubs/components/alarm_control_panel/const.pyi +1 -2
- homeassistant-stubs/components/alert/__init__.pyi +4 -4
- homeassistant-stubs/components/apcupsd/__init__.pyi +3 -4
- homeassistant-stubs/components/apcupsd/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/apcupsd/sensor.pyi +0 -1
- homeassistant-stubs/components/aseko_pool_live/__init__.pyi +1 -7
- homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/aseko_pool_live/coordinator.pyi +11 -0
- homeassistant-stubs/components/aseko_pool_live/entity.pyi +1 -1
- homeassistant-stubs/components/aseko_pool_live/sensor.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/vad.pyi +1 -1
- homeassistant-stubs/components/asuswrt/bridge.pyi +78 -0
- homeassistant-stubs/components/asuswrt/config_flow.pyi +2 -4
- homeassistant-stubs/components/asuswrt/const.pyi +3 -0
- homeassistant-stubs/components/asuswrt/router.pyi +8 -30
- homeassistant-stubs/components/asuswrt/sensor.pyi +5 -4
- homeassistant-stubs/components/bayesian/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
- homeassistant-stubs/components/bluetooth/advertisement_tracker.pyi +1 -0
- homeassistant-stubs/components/bluetooth/manager.pyi +1 -0
- homeassistant-stubs/components/bluetooth/wrappers.pyi +2 -1
- homeassistant-stubs/components/braviatv/const.pyi +1 -1
- homeassistant-stubs/components/button/__init__.pyi +1 -1
- homeassistant-stubs/components/camera/const.pyi +1 -1
- homeassistant-stubs/components/cover/__init__.pyi +1 -2
- homeassistant-stubs/components/crownstone/devices.pyi +1 -0
- homeassistant-stubs/components/crownstone/light.pyi +1 -1
- homeassistant-stubs/components/demo/button.pyi +2 -2
- homeassistant-stubs/components/demo/climate.pyi +1 -0
- homeassistant-stubs/components/demo/event.pyi +22 -0
- homeassistant-stubs/components/demo/sensor.pyi +2 -3
- homeassistant-stubs/components/demo/water_heater.pyi +2 -0
- homeassistant-stubs/components/demo/weather.pyi +13 -5
- homeassistant-stubs/components/derivative/sensor.pyi +3 -3
- homeassistant-stubs/components/device_tracker/const.pyi +1 -1
- homeassistant-stubs/components/dhcp/__init__.pyi +4 -4
- homeassistant-stubs/components/diagnostics/const.pyi +1 -1
- homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -1
- homeassistant-stubs/components/dsmr/sensor.pyi +1 -1
- homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
- homeassistant-stubs/components/electric_kiwi/__init__.pyi +13 -0
- homeassistant-stubs/components/electric_kiwi/api.pyi +10 -0
- homeassistant-stubs/components/electric_kiwi/application_credentials.pyi +9 -0
- homeassistant-stubs/components/electric_kiwi/config_flow.pyi +20 -0
- homeassistant-stubs/components/electric_kiwi/const.pyi +7 -0
- homeassistant-stubs/components/electric_kiwi/coordinator.pyi +17 -0
- homeassistant-stubs/components/electric_kiwi/oauth2.pyi +15 -0
- homeassistant-stubs/components/electric_kiwi/sensor.pyi +37 -0
- homeassistant-stubs/components/emulated_hue/config.pyi +4 -4
- homeassistant-stubs/components/emulated_hue/hue_api.pyi +3 -1
- homeassistant-stubs/components/esphome/__init__.pyi +5 -39
- homeassistant-stubs/components/esphome/bluetooth/__init__.pyi +5 -4
- homeassistant-stubs/components/esphome/bluetooth/cache.pyi +15 -0
- homeassistant-stubs/components/esphome/bluetooth/client.pyi +27 -9
- homeassistant-stubs/components/esphome/bluetooth/device.pyi +15 -0
- homeassistant-stubs/components/esphome/camera.pyi +6 -3
- homeassistant-stubs/components/esphome/climate.pyi +1 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +2 -2
- homeassistant-stubs/components/esphome/const.pyi +8 -0
- homeassistant-stubs/components/esphome/domain_data.pyi +4 -14
- homeassistant-stubs/components/esphome/entity.pyi +4 -2
- homeassistant-stubs/components/esphome/entry_data.pyi +4 -6
- homeassistant-stubs/components/esphome/manager.pyi +69 -0
- homeassistant-stubs/components/esphome/update.pyi +3 -0
- homeassistant-stubs/components/event/__init__.pyi +50 -0
- homeassistant-stubs/components/event/const.pyi +3 -0
- homeassistant-stubs/components/event/recorder.pyi +4 -0
- homeassistant-stubs/components/evil_genius_labs/__init__.pyi +1 -0
- homeassistant-stubs/components/evil_genius_labs/light.pyi +1 -2
- homeassistant-stubs/components/fastdotcom/sensor.pyi +2 -1
- homeassistant-stubs/components/filter/sensor.pyi +4 -4
- homeassistant-stubs/components/fitbit/const.pyi +1 -11
- homeassistant-stubs/components/fitbit/sensor.pyi +11 -3
- homeassistant-stubs/components/fritz/common.pyi +2 -7
- homeassistant-stubs/components/fritz/const.pyi +1 -1
- homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +1 -1
- homeassistant-stubs/components/fritzbox_callmonitor/const.pyi +1 -1
- homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +1 -1
- homeassistant-stubs/components/fronius/__init__.pyi +6 -2
- homeassistant-stubs/components/fronius/const.pyi +2 -0
- homeassistant-stubs/components/fronius/sensor.pyi +2 -1
- homeassistant-stubs/components/frontend/__init__.pyi +4 -2
- homeassistant-stubs/components/geo_location/trigger.pyi +3 -3
- homeassistant-stubs/components/group/__init__.pyi +5 -4
- homeassistant-stubs/components/group/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/group/cover.pyi +4 -4
- homeassistant-stubs/components/group/fan.pyi +4 -4
- homeassistant-stubs/components/group/light.pyi +3 -3
- homeassistant-stubs/components/group/lock.pyi +3 -3
- homeassistant-stubs/components/group/media_player.pyi +4 -2
- homeassistant-stubs/components/group/sensor.pyi +3 -3
- homeassistant-stubs/components/group/switch.pyi +3 -3
- homeassistant-stubs/components/guardian/__init__.pyi +0 -2
- homeassistant-stubs/components/history/websocket_api.pyi +2 -1
- homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +3 -0
- homeassistant-stubs/components/homekit/accessories.pyi +6 -5
- homeassistant-stubs/components/homekit/util.pyi +4 -2
- homeassistant-stubs/components/http/__init__.pyi +7 -0
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/hydrawise/coordinator.pyi +2 -2
- homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
- homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
- homeassistant-stubs/components/image/__init__.pyi +2 -0
- homeassistant-stubs/components/image_processing/__init__.pyi +1 -1
- homeassistant-stubs/components/imap/__init__.pyi +1 -1
- homeassistant-stubs/components/imap/config_flow.pyi +1 -1
- homeassistant-stubs/components/imap/const.pyi +1 -0
- homeassistant-stubs/components/imap/coordinator.pyi +5 -1
- homeassistant-stubs/components/input_button/__init__.pyi +1 -1
- homeassistant-stubs/components/input_select/__init__.pyi +1 -2
- homeassistant-stubs/components/integration/sensor.pyi +4 -5
- homeassistant-stubs/components/isy994/climate.pyi +1 -0
- homeassistant-stubs/components/jellyfin/__init__.pyi +2 -0
- homeassistant-stubs/components/jellyfin/coordinator.pyi +2 -0
- homeassistant-stubs/components/jellyfin/media_source.pyi +1 -1
- homeassistant-stubs/components/kaleidescape/entity.pyi +2 -2
- homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/sensor.pyi +0 -1
- homeassistant-stubs/components/knx/__init__.pyi +1 -1
- homeassistant-stubs/components/knx/date.pyi +29 -0
- homeassistant-stubs/components/knx/datetime.pyi +26 -0
- homeassistant-stubs/components/knx/expose.pyi +4 -4
- homeassistant-stubs/components/knx/knx_entity.pyi +0 -1
- homeassistant-stubs/components/knx/schema.pyi +10 -0
- homeassistant-stubs/components/knx/sensor.pyi +0 -1
- homeassistant-stubs/components/knx/telegrams.pyi +10 -3
- homeassistant-stubs/components/kraken/const.pyi +0 -12
- homeassistant-stubs/components/kraken/sensor.pyi +12 -2
- homeassistant-stubs/components/lacrosse_view/sensor.pyi +1 -0
- homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/ld2410_ble/sensor.pyi +1 -0
- homeassistant-stubs/components/lifx/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/lifx/button.pyi +0 -1
- homeassistant-stubs/components/lifx/entity.pyi +1 -0
- homeassistant-stubs/components/lifx/light.pyi +1 -1
- homeassistant-stubs/components/lifx/select.pyi +0 -2
- homeassistant-stubs/components/lifx/sensor.pyi +0 -1
- homeassistant-stubs/components/light/__init__.pyi +2 -4
- homeassistant-stubs/components/logbook/helpers.pyi +2 -1
- homeassistant-stubs/components/logger/helpers.pyi +1 -1
- homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/matter/entity.pyi +1 -1
- homeassistant-stubs/components/matter/event.pyi +27 -0
- homeassistant-stubs/components/matter/sensor.pyi +1 -1
- homeassistant-stubs/components/media_player/__init__.pyi +2 -3
- homeassistant-stubs/components/media_player/const.pyi +3 -2
- homeassistant-stubs/components/min_max/sensor.pyi +3 -3
- homeassistant-stubs/components/mqtt/__init__.pyi +5 -3
- homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -0
- homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/mqtt/button.pyi +1 -0
- homeassistant-stubs/components/mqtt/camera.pyi +1 -0
- homeassistant-stubs/components/mqtt/client.pyi +4 -1
- homeassistant-stubs/components/mqtt/climate.pyi +2 -3
- homeassistant-stubs/components/mqtt/config_integration.pyi +1 -1
- homeassistant-stubs/components/mqtt/const.pyi +2 -0
- homeassistant-stubs/components/mqtt/cover.pyi +1 -0
- homeassistant-stubs/components/mqtt/device_tracker.pyi +1 -0
- homeassistant-stubs/components/mqtt/event.pyi +46 -0
- homeassistant-stubs/components/mqtt/fan.pyi +1 -0
- homeassistant-stubs/components/mqtt/humidifier.pyi +1 -0
- homeassistant-stubs/components/mqtt/image.pyi +1 -0
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -0
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -0
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -0
- homeassistant-stubs/components/mqtt/lock.pyi +1 -0
- homeassistant-stubs/components/mqtt/mixins.pyi +15 -10
- homeassistant-stubs/components/mqtt/models.pyi +4 -4
- homeassistant-stubs/components/mqtt/number.pyi +1 -0
- homeassistant-stubs/components/mqtt/scene.pyi +4 -4
- homeassistant-stubs/components/mqtt/select.pyi +1 -0
- homeassistant-stubs/components/mqtt/sensor.pyi +1 -0
- homeassistant-stubs/components/mqtt/siren.pyi +3 -2
- homeassistant-stubs/components/mqtt/switch.pyi +1 -0
- homeassistant-stubs/components/mqtt/tag.pyi +1 -1
- homeassistant-stubs/components/mqtt/text.pyi +1 -0
- homeassistant-stubs/components/mqtt/update.pyi +1 -0
- homeassistant-stubs/components/mqtt/vacuum/__init__.pyi +6 -0
- homeassistant-stubs/components/mqtt/vacuum/schema_legacy.pyi +1 -0
- homeassistant-stubs/components/mqtt/vacuum/schema_state.pyi +1 -0
- homeassistant-stubs/components/mqtt/water_heater.pyi +4 -1
- homeassistant-stubs/components/nanoleaf/button.pyi +3 -4
- homeassistant-stubs/components/nanoleaf/entity.pyi +1 -0
- homeassistant-stubs/components/nanoleaf/light.pyi +1 -1
- homeassistant-stubs/components/nest/__init__.pyi +2 -3
- homeassistant-stubs/components/nest/camera.pyi +53 -3
- homeassistant-stubs/components/nest/climate.pyi +76 -3
- homeassistant-stubs/components/nest/config_flow.pyi +0 -23
- homeassistant-stubs/components/nest/sensor.pyi +35 -3
- homeassistant-stubs/components/notion/const.pyi +1 -0
- homeassistant-stubs/components/notion/sensor.pyi +1 -1
- homeassistant-stubs/components/number/__init__.pyi +1 -2
- homeassistant-stubs/components/number/const.pyi +4 -2
- homeassistant-stubs/components/nut/diagnostics.pyi +1 -1
- homeassistant-stubs/components/opensky/__init__.pyi +7 -0
- homeassistant-stubs/components/opensky/config_flow.pyi +11 -0
- homeassistant-stubs/components/opensky/const.pyi +17 -0
- homeassistant-stubs/components/opensky/sensor.pyi +7 -17
- homeassistant-stubs/components/otbr/websocket_api.pyi +2 -0
- homeassistant-stubs/components/persistent_notification/__init__.pyi +1 -1
- homeassistant-stubs/components/pi_hole/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/pure_energie/sensor.pyi +1 -0
- homeassistant-stubs/components/purpleair/__init__.pyi +6 -2
- homeassistant-stubs/components/purpleair/config_flow.pyi +7 -3
- homeassistant-stubs/components/purpleair/const.pyi +1 -0
- homeassistant-stubs/components/qnap_qsw/entity.pyi +1 -1
- homeassistant-stubs/components/rainmachine/util.pyi +1 -1
- homeassistant-stubs/components/recorder/const.pyi +1 -1
- homeassistant-stubs/components/recorder/db_schema.pyi +1 -2
- homeassistant-stubs/components/scrape/__init__.pyi +1 -1
- homeassistant-stubs/components/scrape/sensor.pyi +10 -6
- homeassistant-stubs/components/sensibo/entity.pyi +1 -2
- homeassistant-stubs/components/sensor/__init__.pyi +1 -2
- homeassistant-stubs/components/sensor/const.pyi +3 -2
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/sensor/recorder.pyi +1 -1
- homeassistant-stubs/components/senz/climate.pyi +2 -1
- homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/sfr_box/button.pyi +1 -0
- homeassistant-stubs/components/sfr_box/sensor.pyi +1 -0
- homeassistant-stubs/components/shelly/__init__.pyi +1 -1
- homeassistant-stubs/components/shelly/climate.pyi +1 -1
- homeassistant-stubs/components/shelly/const.pyi +5 -1
- homeassistant-stubs/components/shelly/coordinator.pyi +2 -1
- homeassistant-stubs/components/shelly/entity.pyi +0 -4
- homeassistant-stubs/components/shelly/logbook.pyi +2 -3
- homeassistant-stubs/components/shelly/sensor.pyi +1 -1
- homeassistant-stubs/components/shelly/utils.pyi +1 -2
- homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +1 -0
- homeassistant-stubs/components/simplisafe/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/skybell/light.pyi +1 -0
- homeassistant-stubs/components/sql/__init__.pyi +2 -1
- homeassistant-stubs/components/sql/config_flow.pyi +3 -1
- homeassistant-stubs/components/sql/sensor.pyi +12 -10
- homeassistant-stubs/components/ssdp/__init__.pyi +3 -3
- homeassistant-stubs/components/statistics/sensor.pyi +3 -3
- homeassistant-stubs/components/stookalert/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/stream/worker.pyi +1 -2
- homeassistant-stubs/components/switch/__init__.pyi +1 -1
- homeassistant-stubs/components/switch/light.pyi +3 -3
- homeassistant-stubs/components/text/__init__.pyi +1 -1
- homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/tolo/__init__.pyi +1 -0
- homeassistant-stubs/components/tolo/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tolo/button.pyi +1 -1
- homeassistant-stubs/components/tolo/climate.pyi +1 -1
- homeassistant-stubs/components/tolo/fan.pyi +1 -1
- homeassistant-stubs/components/tolo/light.pyi +1 -1
- homeassistant-stubs/components/tolo/select.pyi +0 -1
- homeassistant-stubs/components/tplink/entity.pyi +1 -1
- homeassistant-stubs/components/tplink/light.pyi +1 -0
- homeassistant-stubs/components/tplink/sensor.pyi +0 -2
- homeassistant-stubs/components/tplink/switch.pyi +10 -1
- homeassistant-stubs/components/tractive/__init__.pyi +2 -1
- homeassistant-stubs/components/tractive/binary_sensor.pyi +0 -3
- homeassistant-stubs/components/tractive/const.pyi +6 -1
- homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
- homeassistant-stubs/components/tractive/entity.pyi +1 -0
- homeassistant-stubs/components/tractive/sensor.pyi +6 -4
- homeassistant-stubs/components/tractive/switch.pyi +0 -1
- homeassistant-stubs/components/tradfri/base_class.pyi +1 -1
- homeassistant-stubs/components/tradfri/cover.pyi +1 -0
- homeassistant-stubs/components/tradfri/fan.pyi +1 -0
- homeassistant-stubs/components/tradfri/light.pyi +1 -0
- homeassistant-stubs/components/tradfri/sensor.pyi +0 -2
- homeassistant-stubs/components/tradfri/switch.pyi +1 -0
- homeassistant-stubs/components/trafikverket_train/__init__.pyi +1 -0
- homeassistant-stubs/components/trafikverket_train/coordinator.pyi +39 -0
- homeassistant-stubs/components/trafikverket_train/sensor.pyi +12 -20
- homeassistant-stubs/components/twentemilieu/sensor.pyi +1 -1
- homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
- homeassistant-stubs/components/unifi/entity.pyi +8 -5
- homeassistant-stubs/components/unifi/image.pyi +37 -0
- homeassistant-stubs/components/unifi/sensor.pyi +4 -2
- homeassistant-stubs/components/unifi/switch.pyi +3 -2
- homeassistant-stubs/components/unifi/update.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/entity.pyi +0 -1
- homeassistant-stubs/components/unifiprotect/models.pyi +7 -4
- homeassistant-stubs/components/unifiprotect/sensor.pyi +0 -3
- homeassistant-stubs/components/unifiprotect/utils.pyi +1 -1
- homeassistant-stubs/components/update/__init__.pyi +1 -1
- homeassistant-stubs/components/uptimerobot/entity.pyi +2 -0
- homeassistant-stubs/components/vacuum/__init__.pyi +4 -6
- homeassistant-stubs/components/vallox/__init__.pyi +1 -0
- homeassistant-stubs/components/vallox/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/vallox/fan.pyi +1 -1
- homeassistant-stubs/components/vallox/number.pyi +0 -1
- homeassistant-stubs/components/vallox/sensor.pyi +0 -1
- homeassistant-stubs/components/vallox/switch.pyi +0 -1
- homeassistant-stubs/components/vlc_telnet/media_player.pyi +2 -3
- homeassistant-stubs/components/wallbox/const.pyi +1 -1
- homeassistant-stubs/components/water_heater/__init__.pyi +5 -0
- homeassistant-stubs/components/weather/__init__.pyi +18 -4
- homeassistant-stubs/components/weather/const.pyi +7 -0
- homeassistant-stubs/components/weather/websocket_api.pyi +6 -1
- homeassistant-stubs/components/websocket_api/auth.pyi +1 -1
- homeassistant-stubs/components/websocket_api/commands.pyi +6 -1
- homeassistant-stubs/components/websocket_api/connection.pyi +2 -1
- homeassistant-stubs/components/websocket_api/http.pyi +2 -1
- homeassistant-stubs/components/wemo/__init__.pyi +10 -4
- homeassistant-stubs/components/wemo/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/wemo/fan.pyi +2 -2
- homeassistant-stubs/components/wemo/light.pyi +1 -1
- homeassistant-stubs/components/wemo/models.pyi +21 -0
- homeassistant-stubs/components/wemo/sensor.pyi +2 -2
- homeassistant-stubs/components/wemo/switch.pyi +2 -2
- homeassistant-stubs/components/wemo/wemo_device.pyi +5 -0
- homeassistant-stubs/components/wiz/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/yalexs_ble/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/yalexs_ble/entity.pyi +1 -0
- homeassistant-stubs/components/yalexs_ble/lock.pyi +0 -1
- homeassistant-stubs/components/zodiac/__init__.pyi +4 -1
- homeassistant-stubs/components/zodiac/config_flow.pyi +9 -0
- homeassistant-stubs/components/zodiac/const.pyi +1 -0
- homeassistant-stubs/components/zodiac/sensor.pyi +9 -4
- homeassistant-stubs/components/zone/__init__.pyi +4 -5
- homeassistant-stubs/components/zone/trigger.pyi +3 -3
- homeassistant-stubs/components/zwave_js/climate.pyi +3 -1
- homeassistant-stubs/components/zwave_js/device_action.pyi +3 -1
- homeassistant-stubs/components/zwave_js/discovery.pyi +1 -1
- homeassistant-stubs/config_entries.pyi +3 -5
- homeassistant-stubs/const.pyi +3 -1
- homeassistant-stubs/core.pyi +10 -12
- homeassistant-stubs/data_entry_flow.pyi +2 -3
- homeassistant-stubs/exceptions.pyi +0 -4
- homeassistant-stubs/helpers/check_config.pyi +1 -2
- homeassistant-stubs/helpers/config_validation.pyi +11 -2
- homeassistant-stubs/helpers/device_registry.pyi +32 -8
- homeassistant-stubs/helpers/entity.pyi +9 -7
- homeassistant-stubs/helpers/entity_platform.pyi +2 -3
- homeassistant-stubs/helpers/entity_registry.pyi +15 -2
- homeassistant-stubs/helpers/event.pyi +39 -33
- homeassistant-stubs/helpers/httpx_client.pyi +4 -2
- homeassistant-stubs/helpers/issue_registry.pyi +1 -1
- homeassistant-stubs/helpers/restore_state.pyi +1 -2
- homeassistant-stubs/helpers/selector.pyi +14 -6
- homeassistant-stubs/helpers/service.pyi +1 -1
- homeassistant-stubs/helpers/state.pyi +0 -12
- homeassistant-stubs/helpers/storage.pyi +1 -0
- homeassistant-stubs/helpers/system_info.pyi +8 -1
- homeassistant-stubs/helpers/template_entity.pyi +7 -7
- homeassistant-stubs/helpers/trace.pyi +1 -0
- homeassistant-stubs/helpers/typing.pyi +5 -2
- homeassistant-stubs/util/ssl.pyi +1 -1
- homeassistant-stubs/util/timeout.pyi +1 -2
- {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/METADATA +3 -4
- {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/RECORD +358 -341
- homeassistant-stubs/components/nest/camera_sdm.pyi +0 -58
- homeassistant-stubs/components/nest/climate_sdm.pyi +0 -81
- homeassistant-stubs/components/nest/legacy/__init__.pyi +0 -62
- homeassistant-stubs/components/nest/legacy/binary_sensor.pyi +0 -38
- homeassistant-stubs/components/nest/legacy/camera.pyi +0 -45
- homeassistant-stubs/components/nest/legacy/climate.pyi +0 -89
- homeassistant-stubs/components/nest/legacy/const.pyi +0 -4
- homeassistant-stubs/components/nest/legacy/local_auth.pyi +0 -7
- homeassistant-stubs/components/nest/legacy/sensor.pyi +0 -54
- homeassistant-stubs/components/nest/sensor_sdm.pyi +0 -42
- {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2023.7.2.dist-info → homeassistant_stubs-2023.8.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,46 @@
|
|
1
|
+
import voluptuous as vol
|
2
|
+
from . import subscription as subscription
|
3
|
+
from .config import MQTT_RO_SCHEMA as MQTT_RO_SCHEMA
|
4
|
+
from .const import CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_EMPTY_JSON as PAYLOAD_EMPTY_JSON, PAYLOAD_NONE as PAYLOAD_NONE
|
5
|
+
from .debug_info import log_messages as log_messages
|
6
|
+
from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entry_helper as async_setup_entry_helper
|
7
|
+
from .models import MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
|
8
|
+
from .util import get_mqtt_data as get_mqtt_data
|
9
|
+
from _typeshed import Incomplete
|
10
|
+
from collections.abc import Callable as Callable
|
11
|
+
from homeassistant.components import event as event
|
12
|
+
from homeassistant.components.event import ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, EventDeviceClass as EventDeviceClass, EventEntity as EventEntity
|
13
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
14
|
+
from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
|
15
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
16
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
17
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
18
|
+
from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads_object as json_loads_object
|
19
|
+
|
20
|
+
_LOGGER: Incomplete
|
21
|
+
CONF_EVENT_TYPES: str
|
22
|
+
MQTT_EVENT_ATTRIBUTES_BLOCKED: Incomplete
|
23
|
+
DEFAULT_NAME: str
|
24
|
+
DEFAULT_FORCE_UPDATE: bool
|
25
|
+
DEVICE_CLASS_SCHEMA: Incomplete
|
26
|
+
_PLATFORM_SCHEMA_BASE: Incomplete
|
27
|
+
PLATFORM_SCHEMA_MODERN: Incomplete
|
28
|
+
DISCOVERY_SCHEMA: Incomplete
|
29
|
+
|
30
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
31
|
+
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
32
|
+
|
33
|
+
class MqttEvent(MqttEntity, EventEntity):
|
34
|
+
_default_name = DEFAULT_NAME
|
35
|
+
_entity_id_format = ENTITY_ID_FORMAT
|
36
|
+
_attributes_extra_blocked = MQTT_EVENT_ATTRIBUTES_BLOCKED
|
37
|
+
_template: Callable[[ReceivePayloadType, PayloadSentinel], ReceivePayloadType]
|
38
|
+
def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
|
39
|
+
@staticmethod
|
40
|
+
def config_schema() -> vol.Schema: ...
|
41
|
+
_attr_device_class: Incomplete
|
42
|
+
_attr_event_types: Incomplete
|
43
|
+
def _setup_from_config(self, config: ConfigType) -> None: ...
|
44
|
+
_sub_state: Incomplete
|
45
|
+
def _prepare_subscribe_topics(self) -> None: ...
|
46
|
+
async def _subscribe_topics(self) -> None: ...
|
@@ -64,6 +64,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
64
64
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
65
65
|
|
66
66
|
class MqttFan(MqttEntity, FanEntity):
|
67
|
+
_default_name = DEFAULT_NAME
|
67
68
|
_entity_id_format: Incomplete
|
68
69
|
_attributes_extra_blocked = MQTT_FAN_ATTRIBUTES_BLOCKED
|
69
70
|
_command_templates: dict[str, Callable[[PublishPayloadType], PublishPayloadType]]
|
@@ -51,6 +51,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
51
51
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
52
52
|
|
53
53
|
class MqttHumidifier(MqttEntity, HumidifierEntity):
|
54
|
+
_default_name = DEFAULT_NAME
|
54
55
|
_entity_id_format: Incomplete
|
55
56
|
_attributes_extra_blocked = MQTT_HUMIDIFIER_ATTRIBUTES_BLOCKED
|
56
57
|
_command_templates: dict[str, Callable[[PublishPayloadType], PublishPayloadType]]
|
@@ -39,6 +39,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
39
39
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
40
40
|
|
41
41
|
class MqttImage(MqttEntity, ImageEntity):
|
42
|
+
_default_name = DEFAULT_NAME
|
42
43
|
_entity_id_format: str
|
43
44
|
_last_image: bytes | None
|
44
45
|
_client: httpx.AsyncClient
|
@@ -76,6 +76,7 @@ DISCOVERY_SCHEMA_BASIC: Incomplete
|
|
76
76
|
async def async_setup_entity_basic(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
|
77
77
|
|
78
78
|
class MqttLight(MqttEntity, LightEntity, RestoreEntity):
|
79
|
+
_default_name = DEFAULT_NAME
|
79
80
|
_entity_id_format = ENTITY_ID_FORMAT
|
80
81
|
_attributes_extra_blocked = MQTT_LIGHT_ATTRIBUTES_BLOCKED
|
81
82
|
_topic: dict[str, str | None]
|
@@ -51,6 +51,7 @@ PLATFORM_SCHEMA_MODERN_JSON: Incomplete
|
|
51
51
|
async def async_setup_entity_json(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
|
52
52
|
|
53
53
|
class MqttLightJson(MqttEntity, LightEntity, RestoreEntity):
|
54
|
+
_default_name = DEFAULT_NAME
|
54
55
|
_entity_id_format = ENTITY_ID_FORMAT
|
55
56
|
_attributes_extra_blocked = MQTT_LIGHT_ATTRIBUTES_BLOCKED
|
56
57
|
_flash_times: dict[str, int | None]
|
@@ -41,6 +41,7 @@ DISCOVERY_SCHEMA_TEMPLATE: Incomplete
|
|
41
41
|
async def async_setup_entity_template(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
|
42
42
|
|
43
43
|
class MqttLightTemplate(MqttEntity, LightEntity, RestoreEntity):
|
44
|
+
_default_name = DEFAULT_NAME
|
44
45
|
_entity_id_format = ENTITY_ID_FORMAT
|
45
46
|
_attributes_extra_blocked = MQTT_LIGHT_ATTRIBUTES_BLOCKED
|
46
47
|
_optimistic: bool
|
@@ -45,6 +45,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
45
45
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
46
46
|
|
47
47
|
class MqttLock(MqttEntity, LockEntity):
|
48
|
+
_default_name = DEFAULT_NAME
|
48
49
|
_entity_id_format: Incomplete
|
49
50
|
_attributes_extra_blocked = MQTT_LOCK_ATTRIBUTES_BLOCKED
|
50
51
|
_compiled_pattern: re.Pattern[Any] | None
|
@@ -14,13 +14,14 @@ from collections.abc import Callable as Callable, Coroutine
|
|
14
14
|
from functools import partial
|
15
15
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
16
16
|
from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_NAME as ATTR_NAME, ATTR_SUGGESTED_AREA as ATTR_SUGGESTED_AREA, ATTR_SW_VERSION as ATTR_SW_VERSION, ATTR_VIA_DEVICE as ATTR_VIA_DEVICE, CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
|
17
|
-
from homeassistant.core import
|
18
|
-
from homeassistant.helpers
|
17
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
18
|
+
from homeassistant.helpers import entity_registry as er
|
19
|
+
from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
|
19
20
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
|
20
21
|
from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, ENTITY_CATEGORIES_SCHEMA as ENTITY_CATEGORIES_SCHEMA, Entity as Entity, async_generate_entity_id as async_generate_entity_id
|
21
22
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
22
23
|
from homeassistant.helpers.event import async_track_device_registry_updated_event as async_track_device_registry_updated_event, async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
|
23
|
-
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
24
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, EventType as EventType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
|
24
25
|
from homeassistant.util.json import json_loads as json_loads
|
25
26
|
from typing import Any, Protocol
|
26
27
|
|
@@ -66,18 +67,16 @@ def init_entity_id_from_config(hass: HomeAssistant, entity: Entity, config: Conf
|
|
66
67
|
|
67
68
|
class MqttAttributes(Entity):
|
68
69
|
_attributes_extra_blocked: frozenset[str]
|
69
|
-
_attributes: Incomplete
|
70
70
|
_attributes_sub_state: Incomplete
|
71
71
|
_attributes_config: Incomplete
|
72
72
|
def __init__(self, config: ConfigType) -> None: ...
|
73
73
|
async def async_added_to_hass(self) -> None: ...
|
74
74
|
def attributes_prepare_discovery_update(self, config: DiscoveryInfoType) -> None: ...
|
75
75
|
async def attributes_discovery_update(self, config: DiscoveryInfoType) -> None: ...
|
76
|
+
_attr_extra_state_attributes: Incomplete
|
76
77
|
def _attributes_prepare_subscribe_topics(self) -> None: ...
|
77
78
|
async def _attributes_subscribe_topics(self) -> None: ...
|
78
79
|
async def async_will_remove_from_hass(self) -> None: ...
|
79
|
-
@property
|
80
|
-
def extra_state_attributes(self) -> dict[str, Any] | None: ...
|
81
80
|
|
82
81
|
class MqttAvailability(Entity):
|
83
82
|
_availability_sub_state: Incomplete
|
@@ -102,7 +101,7 @@ def get_discovery_hash(discovery_data: DiscoveryInfoType) -> tuple[str, str]: ..
|
|
102
101
|
def send_discovery_done(hass: HomeAssistant, discovery_data: DiscoveryInfoType) -> None: ...
|
103
102
|
def stop_discovery_updates(hass: HomeAssistant, discovery_data: DiscoveryInfoType, remove_discovery_updated: Callable[[], None] | None = ...) -> None: ...
|
104
103
|
async def async_remove_discovery_payload(hass: HomeAssistant, discovery_data: DiscoveryInfoType) -> None: ...
|
105
|
-
async def async_clear_discovery_topic_if_entity_removed(hass: HomeAssistant, discovery_data: DiscoveryInfoType, event:
|
104
|
+
async def async_clear_discovery_topic_if_entity_removed(hass: HomeAssistant, discovery_data: DiscoveryInfoType, event: EventType[er.EventEntityRegistryUpdatedData]) -> None: ...
|
106
105
|
|
107
106
|
class MqttDiscoveryDeviceUpdate(ABC, metaclass=abc.ABCMeta):
|
108
107
|
hass: Incomplete
|
@@ -117,7 +116,7 @@ class MqttDiscoveryDeviceUpdate(ABC, metaclass=abc.ABCMeta):
|
|
117
116
|
def __init__(self, hass: HomeAssistant, discovery_data: DiscoveryInfoType, device_id: str | None, config_entry: ConfigEntry, log_name: str) -> None: ...
|
118
117
|
def _entry_unload(self, *_: Any) -> None: ...
|
119
118
|
async def async_discovery_update(self, discovery_payload: MQTTDiscoveryPayload) -> None: ...
|
120
|
-
async def _async_device_removed(self, event:
|
119
|
+
async def _async_device_removed(self, event: EventType[EventDeviceRegistryUpdatedData]) -> None: ...
|
121
120
|
async def _async_tear_down(self) -> None: ...
|
122
121
|
@abstractmethod
|
123
122
|
async def async_update(self, discovery_data: MQTTDiscoveryPayload) -> None: ...
|
@@ -148,12 +147,16 @@ class MqttEntityDeviceInfo(Entity):
|
|
148
147
|
def device_info(self) -> DeviceInfo | None: ...
|
149
148
|
|
150
149
|
class MqttEntity(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEntityDeviceInfo, metaclass=abc.ABCMeta):
|
150
|
+
_attr_has_entity_name: bool
|
151
151
|
_attr_should_poll: bool
|
152
|
+
_default_name: str | None
|
152
153
|
_entity_id_format: str
|
154
|
+
_issue_key: str | None
|
153
155
|
hass: Incomplete
|
154
156
|
_config: Incomplete
|
155
157
|
_attr_unique_id: Incomplete
|
156
158
|
_sub_state: Incomplete
|
159
|
+
_discovery: Incomplete
|
157
160
|
def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
|
158
161
|
def _init_entity_id(self) -> None: ...
|
159
162
|
async def async_added_to_hass(self) -> None: ...
|
@@ -164,10 +167,12 @@ class MqttEntity(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEnti
|
|
164
167
|
@staticmethod
|
165
168
|
@abstractmethod
|
166
169
|
def config_schema() -> vol.Schema: ...
|
170
|
+
_attr_name: Incomplete
|
171
|
+
def _set_entity_name(self, config: ConfigType) -> None: ...
|
172
|
+
def collect_issues(self) -> None: ...
|
167
173
|
_attr_entity_category: Incomplete
|
168
174
|
_attr_entity_registry_enabled_default: Incomplete
|
169
175
|
_attr_icon: Incomplete
|
170
|
-
_attr_name: Incomplete
|
171
176
|
def _setup_common_attributes_from_config(self, config: ConfigType) -> None: ...
|
172
177
|
def _setup_from_config(self, config: ConfigType) -> None: ...
|
173
178
|
@abstractmethod
|
@@ -176,4 +181,4 @@ class MqttEntity(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate, MqttEnti
|
|
176
181
|
async def _subscribe_topics(self) -> None: ...
|
177
182
|
|
178
183
|
def update_device(hass: HomeAssistant, config_entry: ConfigEntry, config: ConfigType) -> str | None: ...
|
179
|
-
def async_removed_from_device(hass: HomeAssistant, event:
|
184
|
+
def async_removed_from_device(hass: HomeAssistant, event: EventType[EventDeviceRegistryUpdatedData], mqtt_device_id: str, config_entry_id: str) -> bool: ...
|
@@ -8,7 +8,7 @@ from .tag import MQTTTagScanner as MQTTTagScanner
|
|
8
8
|
from _typeshed import Incomplete
|
9
9
|
from collections import deque
|
10
10
|
from collections.abc import Callable, Coroutine
|
11
|
-
from
|
11
|
+
from enum import StrEnum
|
12
12
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_NAME as ATTR_NAME
|
13
13
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
14
14
|
from homeassistant.helpers import template as template
|
@@ -92,7 +92,7 @@ class EntityTopicState:
|
|
92
92
|
|
93
93
|
class MqttData:
|
94
94
|
client: MQTT
|
95
|
-
config: ConfigType
|
95
|
+
config: list[ConfigType]
|
96
96
|
debug_info_entities: dict[str, EntityDebugInfo]
|
97
97
|
debug_info_triggers: dict[tuple[str, str], TriggerDebugInfo]
|
98
98
|
device_triggers: dict[str, Trigger]
|
@@ -102,11 +102,11 @@ class MqttData:
|
|
102
102
|
discovery_registry_hooks: dict[tuple[str, str], CALLBACK_TYPE]
|
103
103
|
discovery_unsubscribe: list[CALLBACK_TYPE]
|
104
104
|
integration_unsubscribe: dict[str, CALLBACK_TYPE]
|
105
|
+
issues: dict[str, set[str]]
|
105
106
|
last_discovery: float
|
106
107
|
reload_dispatchers: list[CALLBACK_TYPE]
|
107
108
|
reload_handlers: dict[str, Callable[[], Coroutine[Any, Any, None]]]
|
108
109
|
state_write_requests: EntityTopicState
|
109
110
|
subscriptions_to_restore: list[Subscription]
|
110
111
|
tags: dict[str, dict[str, MQTTTagScanner]]
|
111
|
-
|
112
|
-
def __init__(self, client, config, debug_info_entities, debug_info_triggers, device_triggers, data_config_flow_lock, discovery_already_discovered, discovery_pending_discovered, discovery_registry_hooks, discovery_unsubscribe, integration_unsubscribe, last_discovery, reload_dispatchers, reload_handlers, state_write_requests, subscriptions_to_restore, tags, updated_config) -> None: ...
|
112
|
+
def __init__(self, client, config, debug_info_entities, debug_info_triggers, device_triggers, data_config_flow_lock, discovery_already_discovered, discovery_pending_discovered, discovery_registry_hooks, discovery_unsubscribe, integration_unsubscribe, issues, last_discovery, reload_dispatchers, reload_handlers, state_write_requests, subscriptions_to_restore, tags) -> None: ...
|
@@ -34,6 +34,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
34
34
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
35
35
|
|
36
36
|
class MqttNumber(MqttEntity, RestoreNumber):
|
37
|
+
_default_name = DEFAULT_NAME
|
37
38
|
_entity_id_format: Incomplete
|
38
39
|
_attributes_extra_blocked = MQTT_NUMBER_ATTRIBUTES_BLOCKED
|
39
40
|
_optimistic: bool
|
@@ -1,14 +1,13 @@
|
|
1
1
|
import voluptuous as vol
|
2
|
-
from .client import async_publish as async_publish
|
3
2
|
from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
|
4
3
|
from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN
|
5
|
-
from .mixins import
|
4
|
+
from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entry_helper as async_setup_entry_helper
|
6
5
|
from .util import valid_publish_topic as valid_publish_topic
|
7
6
|
from _typeshed import Incomplete
|
8
7
|
from homeassistant.components import scene as scene
|
9
8
|
from homeassistant.components.scene import Scene as Scene
|
10
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
11
|
-
from homeassistant.const import
|
10
|
+
from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON
|
12
11
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
13
12
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
14
13
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
@@ -16,6 +15,7 @@ from typing import Any
|
|
16
15
|
|
17
16
|
DEFAULT_NAME: str
|
18
17
|
DEFAULT_RETAIN: bool
|
18
|
+
ENTITY_ID_FORMAT: Incomplete
|
19
19
|
PLATFORM_SCHEMA_MODERN: Incomplete
|
20
20
|
DISCOVERY_SCHEMA: Incomplete
|
21
21
|
|
@@ -23,11 +23,11 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
23
23
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
24
24
|
|
25
25
|
class MqttScene(MqttEntity, Scene):
|
26
|
+
_default_name = DEFAULT_NAME
|
26
27
|
_entity_id_format: Incomplete
|
27
28
|
def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
|
28
29
|
@staticmethod
|
29
30
|
def config_schema() -> vol.Schema: ...
|
30
|
-
_config: Incomplete
|
31
31
|
def _setup_from_config(self, config: ConfigType) -> None: ...
|
32
32
|
def _prepare_subscribe_topics(self) -> None: ...
|
33
33
|
async def _subscribe_topics(self) -> None: ...
|
@@ -28,6 +28,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
28
28
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
29
29
|
|
30
30
|
class MqttSelect(MqttEntity, SelectEntity, RestoreEntity):
|
31
|
+
_default_name = DEFAULT_NAME
|
31
32
|
_entity_id_format: Incomplete
|
32
33
|
_attributes_extra_blocked = MQTT_SELECT_ATTRIBUTES_BLOCKED
|
33
34
|
_command_template: Callable[[PublishPayloadType], PublishPayloadType]
|
@@ -34,6 +34,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
34
34
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
35
35
|
|
36
36
|
class MqttSensor(MqttEntity, RestoreSensor):
|
37
|
+
_default_name = DEFAULT_NAME
|
37
38
|
_entity_id_format = ENTITY_ID_FORMAT
|
38
39
|
_attr_last_reset: datetime | None
|
39
40
|
_attributes_extra_blocked = MQTT_SENSOR_ATTRIBUTES_BLOCKED
|
@@ -42,8 +42,10 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
42
42
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
43
43
|
|
44
44
|
class MqttSiren(MqttEntity, SirenEntity):
|
45
|
+
_default_name = DEFAULT_NAME
|
45
46
|
_entity_id_format = ENTITY_ID_FORMAT
|
46
47
|
_attributes_extra_blocked = MQTT_SIREN_ATTRIBUTES_BLOCKED
|
48
|
+
_extra_attributes: dict[str, Any]
|
47
49
|
_command_templates: dict[str, Callable[[PublishPayloadType, TemplateVarsType], PublishPayloadType] | None]
|
48
50
|
_value_template: Callable[[ReceivePayloadType], ReceivePayloadType]
|
49
51
|
_state_on: str
|
@@ -52,7 +54,6 @@ class MqttSiren(MqttEntity, SirenEntity):
|
|
52
54
|
def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
|
53
55
|
@staticmethod
|
54
56
|
def config_schema() -> vol.Schema: ...
|
55
|
-
_attr_extra_state_attributes: Incomplete
|
56
57
|
_attr_available_tones: Incomplete
|
57
58
|
_attr_supported_features: Incomplete
|
58
59
|
_attr_is_on: Incomplete
|
@@ -63,7 +64,7 @@ class MqttSiren(MqttEntity, SirenEntity):
|
|
63
64
|
@property
|
64
65
|
def assumed_state(self) -> bool: ...
|
65
66
|
@property
|
66
|
-
def extra_state_attributes(self) -> dict[str, Any]: ...
|
67
|
+
def extra_state_attributes(self) -> dict[str, Any] | None: ...
|
67
68
|
async def _async_publish(self, topic: str, template: str, value: Any, variables: dict[str, Any] | None = ...) -> None: ...
|
68
69
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
69
70
|
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
@@ -31,6 +31,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
31
31
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
32
32
|
|
33
33
|
class MqttSwitch(MqttEntity, SwitchEntity, RestoreEntity):
|
34
|
+
_default_name = DEFAULT_NAME
|
34
35
|
_entity_id_format: Incomplete
|
35
36
|
_optimistic: bool
|
36
37
|
_state_on: str
|
@@ -2,7 +2,7 @@ from . import subscription as subscription
|
|
2
2
|
from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
|
3
3
|
from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, CONF_QOS as CONF_QOS, CONF_TOPIC as CONF_TOPIC
|
4
4
|
from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload
|
5
|
-
from .mixins import MQTT_ENTITY_DEVICE_INFO_SCHEMA as MQTT_ENTITY_DEVICE_INFO_SCHEMA, MqttDiscoveryDeviceUpdate as MqttDiscoveryDeviceUpdate, async_setup_entry_helper as async_setup_entry_helper, send_discovery_done as send_discovery_done, update_device as update_device
|
5
|
+
from .mixins import MQTT_ENTITY_DEVICE_INFO_SCHEMA as MQTT_ENTITY_DEVICE_INFO_SCHEMA, MqttDiscoveryDeviceUpdate as MqttDiscoveryDeviceUpdate, async_handle_schema_error as async_handle_schema_error, async_setup_entry_helper as async_setup_entry_helper, send_discovery_done as send_discovery_done, update_device as update_device
|
6
6
|
from .models import MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
|
7
7
|
from .subscription import EntitySubscription as EntitySubscription
|
8
8
|
from .util import get_mqtt_data as get_mqtt_data, valid_subscribe_topic as valid_subscribe_topic
|
@@ -37,6 +37,7 @@ async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntiti
|
|
37
37
|
|
38
38
|
class MqttTextEntity(MqttEntity, TextEntity):
|
39
39
|
_attributes_extra_blocked = MQTT_TEXT_ATTRIBUTES_BLOCKED
|
40
|
+
_default_name = DEFAULT_NAME
|
40
41
|
_entity_id_format: Incomplete
|
41
42
|
_compiled_pattern: re.Pattern[Any] | None
|
42
43
|
_optimistic: bool
|
@@ -42,6 +42,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
42
42
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
43
43
|
|
44
44
|
class MqttUpdate(MqttEntity, UpdateEntity, RestoreEntity):
|
45
|
+
_default_name = DEFAULT_NAME
|
45
46
|
_entity_id_format: Incomplete
|
46
47
|
_config: Incomplete
|
47
48
|
_attr_device_class: Incomplete
|
@@ -1,3 +1,4 @@
|
|
1
|
+
from ..const import DOMAIN as DOMAIN
|
1
2
|
from ..mixins import async_setup_entry_helper as async_setup_entry_helper
|
2
3
|
from .schema import CONF_SCHEMA as CONF_SCHEMA, LEGACY as LEGACY, MQTT_VACUUM_SCHEMA as MQTT_VACUUM_SCHEMA, STATE as STATE
|
3
4
|
from .schema_legacy import DISCOVERY_SCHEMA_LEGACY as DISCOVERY_SCHEMA_LEGACY, PLATFORM_SCHEMA_LEGACY_MODERN as PLATFORM_SCHEMA_LEGACY_MODERN, async_setup_entity_legacy as async_setup_entity_legacy
|
@@ -7,8 +8,13 @@ from homeassistant.components import vacuum as vacuum
|
|
7
8
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
+
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
10
12
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
11
13
|
|
14
|
+
_LOGGER: Incomplete
|
15
|
+
MQTT_VACUUM_DOCS_URL: str
|
16
|
+
|
17
|
+
def warn_for_deprecation_legacy_schema(hass: HomeAssistant, config: ConfigType, discovery_data: DiscoveryInfoType | None) -> None: ...
|
12
18
|
def validate_mqtt_vacuum_discovery(config_value: ConfigType) -> ConfigType: ...
|
13
19
|
def validate_mqtt_vacuum_modern(config_value: ConfigType) -> ConfigType: ...
|
14
20
|
|
@@ -65,6 +65,7 @@ _COMMANDS: Incomplete
|
|
65
65
|
async def async_setup_entity_legacy(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
|
66
66
|
|
67
67
|
class MqttVacuum(MqttEntity, VacuumEntity):
|
68
|
+
_default_name = DEFAULT_NAME
|
68
69
|
_entity_id_format = ENTITY_ID_FORMAT
|
69
70
|
_attributes_extra_blocked = MQTT_LEGACY_VACUUM_ATTRIBUTES_BLOCKED
|
70
71
|
_command_topic: str | None
|
@@ -55,6 +55,7 @@ DISCOVERY_SCHEMA_STATE: Incomplete
|
|
55
55
|
async def async_setup_entity_state(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
|
56
56
|
|
57
57
|
class MqttStateVacuum(MqttEntity, StateVacuumEntity):
|
58
|
+
_default_name = DEFAULT_NAME
|
58
59
|
_entity_id_format = ENTITY_ID_FORMAT
|
59
60
|
_attributes_extra_blocked = MQTT_VACUUM_ATTRIBUTES_BLOCKED
|
60
61
|
_command_topic: str | None
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import voluptuous as vol
|
2
2
|
from .climate import MqttTemperatureControlEntity as MqttTemperatureControlEntity
|
3
3
|
from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
|
4
|
-
from .const import CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_MODE_COMMAND_TEMPLATE as CONF_MODE_COMMAND_TEMPLATE, CONF_MODE_COMMAND_TOPIC as CONF_MODE_COMMAND_TOPIC, CONF_MODE_LIST as CONF_MODE_LIST, CONF_MODE_STATE_TEMPLATE as CONF_MODE_STATE_TEMPLATE, CONF_MODE_STATE_TOPIC as CONF_MODE_STATE_TOPIC, CONF_PRECISION as CONF_PRECISION, CONF_RETAIN as CONF_RETAIN, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_MAX as CONF_TEMP_MAX, CONF_TEMP_MIN as CONF_TEMP_MIN, CONF_TEMP_STATE_TEMPLATE as CONF_TEMP_STATE_TEMPLATE, CONF_TEMP_STATE_TOPIC as CONF_TEMP_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC
|
4
|
+
from .const import CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_MODE_COMMAND_TEMPLATE as CONF_MODE_COMMAND_TEMPLATE, CONF_MODE_COMMAND_TOPIC as CONF_MODE_COMMAND_TOPIC, CONF_MODE_LIST as CONF_MODE_LIST, CONF_MODE_STATE_TEMPLATE as CONF_MODE_STATE_TEMPLATE, CONF_MODE_STATE_TOPIC as CONF_MODE_STATE_TOPIC, CONF_POWER_COMMAND_TEMPLATE as CONF_POWER_COMMAND_TEMPLATE, CONF_POWER_COMMAND_TOPIC as CONF_POWER_COMMAND_TOPIC, CONF_PRECISION as CONF_PRECISION, CONF_RETAIN as CONF_RETAIN, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_MAX as CONF_TEMP_MAX, CONF_TEMP_MIN as CONF_TEMP_MIN, CONF_TEMP_STATE_TEMPLATE as CONF_TEMP_STATE_TEMPLATE, CONF_TEMP_STATE_TOPIC as CONF_TEMP_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC
|
5
5
|
from .debug_info import log_messages as log_messages
|
6
6
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, async_setup_entry_helper as async_setup_entry_helper
|
7
7
|
from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
|
@@ -33,6 +33,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
|
|
33
33
|
async def _async_setup_entity(hass: HomeAssistant, async_add_entities: AddEntitiesCallback, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None = ...) -> None: ...
|
34
34
|
|
35
35
|
class MqttWaterHeater(MqttTemperatureControlEntity, WaterHeaterEntity):
|
36
|
+
_default_name = DEFAULT_NAME
|
36
37
|
_entity_id_format: Incomplete
|
37
38
|
_attributes_extra_blocked = MQTT_WATER_HEATER_ATTRIBUTES_BLOCKED
|
38
39
|
def __init__(self, hass: HomeAssistant, config: ConfigType, config_entry: ConfigEntry, discovery_data: DiscoveryInfoType | None) -> None: ...
|
@@ -54,3 +55,5 @@ class MqttWaterHeater(MqttTemperatureControlEntity, WaterHeaterEntity):
|
|
54
55
|
def _prepare_subscribe_topics(self) -> None: ...
|
55
56
|
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
56
57
|
async def async_set_operation_mode(self, operation_mode: str) -> None: ...
|
58
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
59
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
@@ -3,7 +3,7 @@ from .const import DOMAIN as DOMAIN
|
|
3
3
|
from .entity import NanoleafEntity as NanoleafEntity
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from aionanoleaf import Nanoleaf as Nanoleaf
|
6
|
-
from homeassistant.components.button import ButtonEntity as ButtonEntity
|
6
|
+
from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.const import EntityCategory as EntityCategory
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -13,9 +13,8 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
|
|
13
13
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
14
14
|
|
15
15
|
class NanoleafIdentifyButton(NanoleafEntity, ButtonEntity):
|
16
|
-
_attr_unique_id: Incomplete
|
17
|
-
_attr_name: Incomplete
|
18
|
-
_attr_icon: str
|
19
16
|
_attr_entity_category: Incomplete
|
17
|
+
_attr_device_class: Incomplete
|
18
|
+
_attr_unique_id: Incomplete
|
20
19
|
def __init__(self, nanoleaf: Nanoleaf, coordinator: DataUpdateCoordinator[None]) -> None: ...
|
21
20
|
async def async_press(self) -> None: ...
|
@@ -5,6 +5,7 @@ from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
|
|
5
5
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
|
6
6
|
|
7
7
|
class NanoleafEntity(CoordinatorEntity[DataUpdateCoordinator[None]]):
|
8
|
+
_attr_has_entity_name: bool
|
8
9
|
_nanoleaf: Incomplete
|
9
10
|
_attr_device_info: Incomplete
|
10
11
|
def __init__(self, nanoleaf: Nanoleaf, coordinator: DataUpdateCoordinator[None]) -> None: ...
|
@@ -18,8 +18,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
|
|
18
18
|
class NanoleafLight(NanoleafEntity, LightEntity):
|
19
19
|
_attr_supported_color_modes: Incomplete
|
20
20
|
_attr_supported_features: Incomplete
|
21
|
-
_attr_unique_id: Incomplete
|
22
21
|
_attr_name: Incomplete
|
22
|
+
_attr_unique_id: Incomplete
|
23
23
|
_attr_min_mireds: Incomplete
|
24
24
|
_attr_max_mireds: Incomplete
|
25
25
|
def __init__(self, nanoleaf: Nanoleaf, coordinator: DataUpdateCoordinator[None]) -> None: ...
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import abc
|
2
|
-
from . import api as api
|
3
|
-
from .const import CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, CONF_SUBSCRIBER_ID_IMPORTED as CONF_SUBSCRIBER_ID_IMPORTED, DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER,
|
2
|
+
from . import api as api
|
3
|
+
from .const import CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, CONF_SUBSCRIBER_ID_IMPORTED as CONF_SUBSCRIBER_ID_IMPORTED, DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DATA_SDM as DATA_SDM, DATA_SUBSCRIBER as DATA_SUBSCRIBER, DOMAIN as DOMAIN
|
4
4
|
from .events import EVENT_NAME_MAP as EVENT_NAME_MAP, NEST_EVENT as NEST_EVENT
|
5
|
-
from .legacy import async_setup_legacy as async_setup_legacy, async_setup_legacy_entry as async_setup_legacy_entry
|
6
5
|
from .media_source import async_get_media_event_store as async_get_media_event_store, async_get_media_source_devices as async_get_media_source_devices, async_get_transcoder as async_get_transcoder
|
7
6
|
from _typeshed import Incomplete
|
8
7
|
from abc import ABC, abstractmethod
|
@@ -1,8 +1,58 @@
|
|
1
|
-
|
2
|
-
from .const import
|
3
|
-
from .
|
1
|
+
import datetime
|
2
|
+
from .const import DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DOMAIN as DOMAIN
|
3
|
+
from .device_info import NestDeviceInfo as NestDeviceInfo
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from google_nest_sdm.camera_traits import RtspStream as RtspStream
|
7
|
+
from google_nest_sdm.device import Device as Device
|
8
|
+
from google_nest_sdm.device_manager import DeviceManager as DeviceManager
|
9
|
+
from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature, StreamType as StreamType
|
10
|
+
from homeassistant.components.stream import CONF_EXTRA_PART_WAIT_TIME as CONF_EXTRA_PART_WAIT_TIME
|
4
11
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
12
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
13
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
14
|
+
from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
|
6
15
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
16
|
+
from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time
|
17
|
+
from homeassistant.util.dt import utcnow as utcnow
|
18
|
+
|
19
|
+
_LOGGER: Incomplete
|
20
|
+
PLACEHOLDER: Incomplete
|
21
|
+
STREAM_EXPIRATION_BUFFER: Incomplete
|
7
22
|
|
8
23
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
24
|
+
|
25
|
+
class NestCamera(Camera):
|
26
|
+
_attr_has_entity_name: bool
|
27
|
+
_attr_name: Incomplete
|
28
|
+
_device: Incomplete
|
29
|
+
_device_info: Incomplete
|
30
|
+
_stream: Incomplete
|
31
|
+
_create_stream_url_lock: Incomplete
|
32
|
+
_stream_refresh_unsub: Incomplete
|
33
|
+
_attr_is_streaming: Incomplete
|
34
|
+
def __init__(self, device: Device) -> None: ...
|
35
|
+
@property
|
36
|
+
def unique_id(self) -> str: ...
|
37
|
+
@property
|
38
|
+
def device_info(self) -> DeviceInfo: ...
|
39
|
+
@property
|
40
|
+
def brand(self) -> str | None: ...
|
41
|
+
@property
|
42
|
+
def model(self) -> str | None: ...
|
43
|
+
@property
|
44
|
+
def supported_features(self) -> CameraEntityFeature: ...
|
45
|
+
@property
|
46
|
+
def frontend_stream_type(self) -> StreamType | None: ...
|
47
|
+
@property
|
48
|
+
def available(self) -> bool: ...
|
49
|
+
async def stream_source(self) -> str | None: ...
|
50
|
+
def _schedule_stream_refresh(self) -> None: ...
|
51
|
+
stream: Incomplete
|
52
|
+
async def _handle_stream_refresh(self, now: datetime.datetime) -> None: ...
|
53
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
54
|
+
async def async_added_to_hass(self) -> None: ...
|
55
|
+
async def async_camera_image(self, width: int | None = ..., height: int | None = ...) -> bytes | None: ...
|
56
|
+
@classmethod
|
57
|
+
def placeholder_image(cls) -> bytes: ...
|
58
|
+
async def async_handle_web_rtc_offer(self, offer_sdp: str) -> str | None: ...
|