homeassistant-stubs 2023.3.6__py3-none-any.whl → 2023.4.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/auth/__init__.pyi +1 -1
- homeassistant-stubs/auth/jwt_wrapper.pyi +14 -0
- homeassistant-stubs/auth/permissions/models.pyi +3 -3
- homeassistant-stubs/bootstrap.pyi +1 -1
- homeassistant-stubs/components/aladdin_connect/config_flow.pyi +0 -2
- homeassistant-stubs/components/aladdin_connect/cover.pyi +5 -7
- homeassistant-stubs/components/alarm_control_panel/device_action.pyi +0 -1
- homeassistant-stubs/components/alarm_control_panel/device_condition.pyi +1 -1
- homeassistant-stubs/components/alarm_control_panel/device_trigger.pyi +0 -1
- homeassistant-stubs/components/amazon_polly/tts.pyi +2 -2
- homeassistant-stubs/components/amcrest/camera.pyi +0 -1
- homeassistant-stubs/components/awair/sensor.pyi +2 -1
- homeassistant-stubs/components/backup/manager.pyi +2 -1
- homeassistant-stubs/components/bayesian/issues.pyi +0 -1
- homeassistant-stubs/components/bluetooth/wrappers.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +3 -0
- homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -0
- homeassistant-stubs/components/braviatv/media_player.pyi +2 -2
- homeassistant-stubs/components/button/device_action.pyi +0 -1
- homeassistant-stubs/components/button/device_trigger.pyi +0 -1
- homeassistant-stubs/components/calendar/__init__.pyi +8 -4
- homeassistant-stubs/components/calendar/const.pyi +2 -2
- homeassistant-stubs/components/calendar/trigger.pyi +25 -8
- homeassistant-stubs/components/camera/__init__.pyi +1 -1
- homeassistant-stubs/components/cover/device_action.pyi +0 -1
- homeassistant-stubs/components/cover/device_condition.pyi +1 -1
- homeassistant-stubs/components/cover/device_trigger.pyi +0 -1
- homeassistant-stubs/components/demo/sensor.pyi +2 -1
- homeassistant-stubs/components/demo/stt.pyi +2 -2
- homeassistant-stubs/components/device_automation/condition.pyi +2 -4
- homeassistant-stubs/components/device_tracker/device_condition.pyi +1 -1
- homeassistant-stubs/components/device_tracker/device_trigger.pyi +0 -1
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +0 -1
- homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -0
- homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -1
- homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -2
- homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +1 -1
- homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +5 -1
- homeassistant-stubs/components/efergy/sensor.pyi +2 -2
- homeassistant-stubs/components/emulated_hue/hue_api.pyi +1 -0
- homeassistant-stubs/components/energy/types.pyi +2 -2
- homeassistant-stubs/components/energy/websocket_api.pyi +1 -0
- homeassistant-stubs/components/esphome/bluetooth/client.pyi +3 -1
- homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
- homeassistant-stubs/components/esphome/media_player.pyi +1 -1
- homeassistant-stubs/components/fan/device_condition.pyi +1 -1
- homeassistant-stubs/components/filesize/__init__.pyi +1 -2
- homeassistant-stubs/components/fitbit/sensor.pyi +1 -1
- homeassistant-stubs/components/fritz/binary_sensor.pyi +7 -11
- homeassistant-stubs/components/fritz/common.pyi +25 -3
- homeassistant-stubs/components/fritz/sensor.pyi +6 -15
- homeassistant-stubs/components/fritzbox/sensor.pyi +0 -1
- homeassistant-stubs/components/fronius/coordinator.pyi +2 -3
- homeassistant-stubs/components/fronius/sensor.pyi +13 -8
- homeassistant-stubs/components/fully_kiosk/media_player.pyi +3 -3
- homeassistant-stubs/components/fully_kiosk/sensor.pyi +3 -3
- homeassistant-stubs/components/gios/__init__.pyi +3 -3
- homeassistant-stubs/components/gios/const.pyi +0 -2
- homeassistant-stubs/components/gios/sensor.pyi +10 -13
- homeassistant-stubs/components/google/__init__.pyi +1 -1
- homeassistant-stubs/components/google/calendar.pyi +1 -1
- homeassistant-stubs/components/google/const.pyi +1 -0
- homeassistant-stubs/components/group/media_player.pyi +4 -3
- homeassistant-stubs/components/group/notify.pyi +1 -1
- homeassistant-stubs/components/group/sensor.pyi +2 -0
- homeassistant-stubs/components/guardian/util.pyi +0 -1
- homeassistant-stubs/components/history/websocket_api.pyi +2 -1
- homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +4 -2
- homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +7 -2
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -8
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -7
- homeassistant-stubs/components/homekit/__init__.pyi +6 -6
- homeassistant-stubs/components/homekit/config_flow.pyi +2 -2
- homeassistant-stubs/components/homekit/type_triggers.pyi +0 -1
- homeassistant-stubs/components/http/__init__.pyi +18 -1
- homeassistant-stubs/components/http/auth.pyi +1 -0
- homeassistant-stubs/components/http/security_filter.pyi +1 -0
- homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -1
- homeassistant-stubs/components/huawei_lte/device_tracker.pyi +0 -1
- homeassistant-stubs/components/isy994/lock.pyi +8 -3
- homeassistant-stubs/components/isy994/services.pyi +6 -0
- homeassistant-stubs/components/jellyfin/coordinator.pyi +4 -2
- homeassistant-stubs/components/jellyfin/media_player.pyi +3 -3
- homeassistant-stubs/components/knx/__init__.pyi +3 -2
- homeassistant-stubs/components/knx/device.pyi +18 -0
- homeassistant-stubs/components/knx/light.pyi +2 -2
- homeassistant-stubs/components/knx/sensor.pyi +33 -2
- homeassistant-stubs/components/kraken/sensor.pyi +0 -1
- homeassistant-stubs/components/lametric/__init__.pyi +1 -2
- homeassistant-stubs/components/lidarr/const.pyi +0 -2
- homeassistant-stubs/components/lifx/__init__.pyi +2 -2
- homeassistant-stubs/components/light/intent.pyi +1 -1
- homeassistant-stubs/components/litejet/__init__.pyi +14 -0
- homeassistant-stubs/components/litejet/config_flow.pyi +18 -0
- homeassistant-stubs/components/litejet/const.pyi +8 -0
- homeassistant-stubs/components/litejet/diagnostics.pyi +7 -0
- homeassistant-stubs/components/litejet/light.pyi +39 -0
- homeassistant-stubs/components/litejet/scene.pyi +32 -0
- homeassistant-stubs/components/litejet/switch.pyi +37 -0
- homeassistant-stubs/components/litejet/trigger.pyi +16 -0
- homeassistant-stubs/components/litterrobot/select.pyi +11 -6
- homeassistant-stubs/components/lock/device_action.pyi +0 -1
- homeassistant-stubs/components/lock/device_condition.pyi +1 -1
- homeassistant-stubs/components/lock/device_trigger.pyi +0 -1
- homeassistant-stubs/components/logbook/__init__.pyi +3 -3
- homeassistant-stubs/components/logbook/const.pyi +0 -2
- homeassistant-stubs/components/logbook/helpers.pyi +1 -1
- homeassistant-stubs/components/logbook/models.pyi +25 -7
- homeassistant-stubs/components/logbook/processor.pyi +8 -7
- homeassistant-stubs/components/logbook/queries/__init__.pyi +3 -1
- homeassistant-stubs/components/logbook/queries/all.pyi +4 -4
- homeassistant-stubs/components/logbook/queries/common.pyi +2 -2
- homeassistant-stubs/components/logbook/queries/devices.pyi +1 -1
- homeassistant-stubs/components/logbook/queries/entities.pyi +6 -6
- homeassistant-stubs/components/logbook/queries/entities_and_devices.pyi +5 -5
- homeassistant-stubs/components/logbook/websocket_api.pyi +2 -2
- homeassistant-stubs/components/logger/helpers.pyi +1 -1
- homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
- homeassistant-stubs/components/matter/binary_sensor.pyi +5 -1
- homeassistant-stubs/components/matter/entity.pyi +5 -1
- homeassistant-stubs/components/matter/lock.pyi +44 -0
- homeassistant-stubs/components/matter/models.pyi +2 -9
- homeassistant-stubs/components/matter/sensor.pyi +5 -1
- homeassistant-stubs/components/media_player/__init__.pyi +2 -2
- homeassistant-stubs/components/media_player/device_condition.pyi +1 -1
- homeassistant-stubs/components/media_player/device_trigger.pyi +0 -1
- homeassistant-stubs/components/metoffice/__init__.pyi +0 -2
- homeassistant-stubs/components/metoffice/sensor.pyi +2 -1
- homeassistant-stubs/components/mikrotik/const.pyi +2 -0
- homeassistant-stubs/components/mikrotik/device_tracker.pyi +0 -1
- homeassistant-stubs/components/mikrotik/hub.pyi +2 -1
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/climate.pyi +3 -1
- homeassistant-stubs/components/modbus/const.pyi +1 -0
- homeassistant-stubs/components/modbus/modbus.pyi +1 -1
- homeassistant-stubs/components/modem_callerid/button.pyi +2 -2
- homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
- homeassistant-stubs/components/moon/config_flow.pyi +0 -2
- homeassistant-stubs/components/moon/sensor.pyi +2 -7
- homeassistant-stubs/components/mqtt/__init__.pyi +5 -7
- homeassistant-stubs/components/mqtt/client.pyi +24 -2
- homeassistant-stubs/components/mqtt/config_integration.pyi +1 -1
- homeassistant-stubs/components/mqtt/const.pyi +0 -1
- homeassistant-stubs/components/mqtt/models.pyi +2 -1
- homeassistant-stubs/components/mysensors/__init__.pyi +4 -9
- homeassistant-stubs/components/mysensors/const.pyi +1 -3
- homeassistant-stubs/components/mysensors/device.pyi +1 -1
- homeassistant-stubs/components/mysensors/light.pyi +1 -1
- homeassistant-stubs/components/mysensors/switch.pyi +6 -20
- homeassistant-stubs/components/nam/__init__.pyi +0 -2
- homeassistant-stubs/components/nam/sensor.pyi +0 -1
- homeassistant-stubs/components/netatmo/device_trigger.pyi +0 -1
- homeassistant-stubs/components/nissan_leaf/sensor.pyi +2 -3
- homeassistant-stubs/components/notify/legacy.pyi +2 -2
- homeassistant-stubs/components/number/const.pyi +2 -0
- homeassistant-stubs/components/number/device_action.pyi +0 -1
- homeassistant-stubs/components/otbr/__init__.pyi +3 -0
- homeassistant-stubs/components/otbr/config_flow.pyi +3 -2
- homeassistant-stubs/components/otbr/util.pyi +6 -0
- homeassistant-stubs/components/otbr/websocket_api.pyi +7 -3
- homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +1 -0
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_heater.pyi +2 -0
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +2 -0
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_towel_dryer.pyi +2 -0
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_heat_recovery_ventilation.pyi +2 -0
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +2 -0
- homeassistant-stubs/components/overkiz/climate_entities/somfy_thermostat.pyi +2 -2
- homeassistant-stubs/components/overkiz/climate_entities/valve_heating_temperature_interface.pyi +37 -0
- homeassistant-stubs/components/overkiz/const.pyi +2 -1
- homeassistant-stubs/components/overkiz/sensor.pyi +3 -1
- homeassistant-stubs/components/overkiz/switch.pyi +2 -2
- homeassistant-stubs/components/pi_hole/sensor.pyi +2 -2
- homeassistant-stubs/components/rainmachine/util.pyi +0 -1
- homeassistant-stubs/components/recorder/__init__.pyi +3 -3
- homeassistant-stubs/components/recorder/auto_repairs/__init__.pyi +0 -0
- homeassistant-stubs/components/recorder/auto_repairs/events/__init__.pyi +0 -0
- homeassistant-stubs/components/recorder/auto_repairs/events/schema.pyi +6 -0
- homeassistant-stubs/components/recorder/auto_repairs/schema.pyi +23 -0
- homeassistant-stubs/components/recorder/auto_repairs/states/schema.pyi +9 -0
- homeassistant-stubs/components/recorder/auto_repairs/statistics/__init__.pyi +0 -0
- homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +19 -0
- homeassistant-stubs/components/recorder/auto_repairs/statistics/schema.pyi +9 -0
- homeassistant-stubs/components/recorder/const.pyi +10 -0
- homeassistant-stubs/components/recorder/core.pyi +33 -29
- homeassistant-stubs/components/recorder/db_schema.pyi +36 -6
- homeassistant-stubs/components/recorder/entity_registry.pyi +10 -0
- homeassistant-stubs/components/recorder/filters.pyi +13 -11
- homeassistant-stubs/components/recorder/history/__init__.pyi +13 -0
- homeassistant-stubs/components/recorder/history/common.pyi +4 -0
- homeassistant-stubs/components/recorder/history/const.pyi +9 -0
- homeassistant-stubs/components/recorder/{history.pyi → history/legacy.pyi} +9 -14
- homeassistant-stubs/components/recorder/history/modern.pyi +41 -0
- homeassistant-stubs/components/recorder/migration.pyi +34 -6
- homeassistant-stubs/components/recorder/models/__init__.pyi +5 -0
- homeassistant-stubs/components/recorder/models/context.pyi +6 -0
- homeassistant-stubs/components/recorder/models/database.pyi +14 -0
- homeassistant-stubs/components/recorder/models/legacy.pyi +39 -0
- homeassistant-stubs/components/recorder/models/state.pyi +43 -0
- homeassistant-stubs/components/recorder/models/state_attributes.pyi +9 -0
- homeassistant-stubs/components/recorder/models/statistics.pyi +50 -0
- homeassistant-stubs/components/recorder/models/time.pyi +20 -0
- homeassistant-stubs/components/recorder/purge.pyi +9 -12
- homeassistant-stubs/components/recorder/queries.pyi +19 -3
- homeassistant-stubs/components/recorder/services.pyi +1 -1
- homeassistant-stubs/components/recorder/statistics.pyi +40 -42
- homeassistant-stubs/components/recorder/table_managers/__init__.pyi +20 -0
- homeassistant-stubs/components/recorder/table_managers/event_data.pyi +26 -0
- homeassistant-stubs/components/recorder/table_managers/event_types.pyi +20 -0
- homeassistant-stubs/components/recorder/{run_history.pyi → table_managers/recorder_runs.pyi} +3 -3
- homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +29 -0
- homeassistant-stubs/components/recorder/table_managers/states.pyi +14 -0
- homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +23 -0
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +35 -0
- homeassistant-stubs/components/recorder/tasks.pyi +39 -4
- homeassistant-stubs/components/recorder/util.pyi +2 -1
- homeassistant-stubs/components/recorder/websocket_api.pyi +2 -2
- homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -0
- homeassistant-stubs/components/rest/__init__.pyi +1 -1
- homeassistant-stubs/components/rest/const.pyi +2 -0
- homeassistant-stubs/components/rest/data.pyi +3 -2
- homeassistant-stubs/components/rest/schema.pyi +1 -1
- homeassistant-stubs/components/ridwell/calendar.pyi +22 -0
- homeassistant-stubs/components/ridwell/coordinator.pyi +2 -2
- homeassistant-stubs/components/ridwell/entity.pyi +2 -4
- homeassistant-stubs/components/ridwell/sensor.pyi +2 -1
- homeassistant-stubs/components/ridwell/switch.pyi +4 -0
- homeassistant-stubs/components/roku/media_player.pyi +4 -4
- homeassistant-stubs/components/samsungtv/device_trigger.pyi +19 -0
- homeassistant-stubs/components/samsungtv/helpers.pyi +8 -0
- homeassistant-stubs/components/samsungtv/media_player.pyi +7 -2
- homeassistant-stubs/components/samsungtv/trigger.pyi +12 -0
- homeassistant-stubs/components/samsungtv/triggers/__init__.pyi +0 -0
- homeassistant-stubs/components/samsungtv/triggers/turn_on.pyi +14 -0
- homeassistant-stubs/components/scrape/config_flow.pyi +1 -1
- homeassistant-stubs/components/scrape/const.pyi +2 -0
- homeassistant-stubs/components/scrape/sensor.pyi +3 -6
- homeassistant-stubs/components/select/device_action.pyi +0 -1
- homeassistant-stubs/components/select/device_condition.pyi +1 -1
- homeassistant-stubs/components/select/device_trigger.pyi +0 -1
- homeassistant-stubs/components/sensor/const.pyi +2 -0
- homeassistant-stubs/components/sensor/recorder.pyi +3 -1
- homeassistant-stubs/components/sfr_box/__init__.pyi +1 -1
- homeassistant-stubs/components/sfr_box/binary_sensor.pyi +3 -1
- homeassistant-stubs/components/sfr_box/models.pyi +4 -2
- homeassistant-stubs/components/sfr_box/sensor.pyi +2 -1
- homeassistant-stubs/components/sleepiq/entity.pyi +0 -1
- homeassistant-stubs/components/statistics/sensor.pyi +2 -2
- homeassistant-stubs/components/sun/__init__.pyi +1 -1
- homeassistant-stubs/components/sun/sensor.pyi +36 -0
- homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -1
- homeassistant-stubs/components/switcher_kis/button.pyi +0 -1
- homeassistant-stubs/components/switcher_kis/climate.pyi +0 -1
- homeassistant-stubs/components/switcher_kis/cover.pyi +0 -1
- homeassistant-stubs/components/switcher_kis/sensor.pyi +0 -1
- homeassistant-stubs/components/switcher_kis/switch.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/sensor.pyi +5 -4
- homeassistant-stubs/components/threshold/__init__.pyi +7 -0
- homeassistant-stubs/components/threshold/binary_sensor.pyi +55 -0
- homeassistant-stubs/components/threshold/config_flow.pyi +19 -0
- homeassistant-stubs/components/threshold/const.pyi +5 -0
- homeassistant-stubs/components/tibber/config_flow.pyi +3 -0
- homeassistant-stubs/components/tibber/sensor.pyi +2 -1
- homeassistant-stubs/components/tplink/light.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/__init__.pyi +1 -0
- homeassistant-stubs/components/tplink_omada/controller.pyi +21 -0
- homeassistant-stubs/components/tplink_omada/coordinator.pyi +3 -4
- homeassistant-stubs/components/tplink_omada/entity.pyi +6 -4
- homeassistant-stubs/components/tplink_omada/switch.pyi +4 -6
- homeassistant-stubs/components/tplink_omada/update.pyi +43 -0
- homeassistant-stubs/components/tradfri/sensor.pyi +0 -1
- homeassistant-stubs/components/tts/__init__.pyi +2 -1
- homeassistant-stubs/components/unifi/__init__.pyi +33 -0
- homeassistant-stubs/components/unifi/config_flow.pyi +46 -0
- homeassistant-stubs/components/unifi/const.pyi +30 -0
- homeassistant-stubs/components/unifi/controller.pyi +77 -0
- homeassistant-stubs/components/unifi/device_tracker.pyi +70 -0
- homeassistant-stubs/components/unifi/diagnostics.pyi +19 -0
- homeassistant-stubs/components/unifi/entity.pyi +58 -0
- homeassistant-stubs/components/unifi/errors.pyi +8 -0
- homeassistant-stubs/components/unifi/sensor.pyi +37 -0
- homeassistant-stubs/components/unifi/services.pyi +17 -0
- homeassistant-stubs/components/unifi/switch.pyi +55 -0
- homeassistant-stubs/components/unifi/update.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/select.pyi +2 -2
- homeassistant-stubs/components/vacuum/device_action.pyi +0 -1
- homeassistant-stubs/components/vacuum/device_condition.pyi +1 -1
- homeassistant-stubs/components/vacuum/device_trigger.pyi +0 -1
- homeassistant-stubs/components/velbus/__init__.pyi +0 -2
- homeassistant-stubs/components/velbus/light.pyi +1 -1
- homeassistant-stubs/components/velbus/select.pyi +21 -0
- homeassistant-stubs/components/water_heater/device_action.pyi +0 -1
- homeassistant-stubs/components/weather/__init__.pyi +2 -23
- homeassistant-stubs/components/weather/const.pyi +25 -0
- homeassistant-stubs/components/weather/websocket_api.pyi +7 -0
- homeassistant-stubs/components/webostv/trigger.pyi +3 -3
- homeassistant-stubs/components/webostv/triggers/__init__.pyi +0 -5
- homeassistant-stubs/components/websocket_api/commands.pyi +2 -2
- homeassistant-stubs/components/websocket_api/connection.pyi +7 -1
- homeassistant-stubs/components/zwave_js/__init__.pyi +4 -4
- homeassistant-stubs/components/zwave_js/api.pyi +0 -1
- homeassistant-stubs/components/zwave_js/device_action.pyi +0 -1
- homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
- homeassistant-stubs/components/zwave_js/diagnostics.pyi +2 -1
- homeassistant-stubs/components/zwave_js/discovery.pyi +1 -1
- homeassistant-stubs/components/zwave_js/update.pyi +18 -8
- homeassistant-stubs/config_entries.pyi +4 -1
- homeassistant-stubs/core.pyi +4 -3
- homeassistant-stubs/helpers/condition.pyi +11 -3
- homeassistant-stubs/helpers/config_validation.pyi +1 -1
- homeassistant-stubs/helpers/debounce.pyi +1 -0
- homeassistant-stubs/helpers/device_registry.pyi +1 -1
- homeassistant-stubs/helpers/entity.pyi +1 -0
- homeassistant-stubs/helpers/entity_platform.pyi +2 -1
- homeassistant-stubs/helpers/entity_registry.pyi +9 -1
- homeassistant-stubs/helpers/event.pyi +3 -1
- homeassistant-stubs/helpers/httpx_client.pyi +1 -0
- homeassistant-stubs/helpers/integration_platform.pyi +3 -3
- homeassistant-stubs/helpers/script.pyi +5 -3
- homeassistant-stubs/helpers/selector.pyi +29 -12
- homeassistant-stubs/helpers/service.pyi +11 -0
- homeassistant-stubs/helpers/template.pyi +24 -3
- homeassistant-stubs/scripts/check_config.pyi +0 -1
- homeassistant-stubs/util/ssl.pyi +8 -0
- homeassistant-stubs/util/ulid.pyi +2 -1
- homeassistant-stubs/util/yaml/dumper.pyi +1 -1
- homeassistant-stubs/util/yaml/loader.pyi +4 -5
- homeassistant-stubs/util/yaml/objects.pyi +1 -0
- {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/RECORD +331 -265
- homeassistant-stubs/components/mysensors/notify.pyi +0 -23
- homeassistant-stubs/components/recorder/models.pyi +0 -148
- {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/WHEEL +0 -0
@@ -48,7 +48,7 @@ class TPLinkSmartBulb(CoordinatedTPLinkEntity, LightEntity):
|
|
48
48
|
@property
|
49
49
|
def hs_color(self) -> Union[tuple[int, int], None]: ...
|
50
50
|
@property
|
51
|
-
def supported_color_modes(self) ->
|
51
|
+
def supported_color_modes(self) -> set[ColorMode]: ...
|
52
52
|
@property
|
53
53
|
def color_mode(self) -> ColorMode: ...
|
54
54
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from .config_flow import CONF_SITE as CONF_SITE, create_omada_client as create_omada_client
|
2
2
|
from .const import DOMAIN as DOMAIN
|
3
|
+
from .controller import OmadaSiteController as OmadaSiteController
|
3
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
5
|
from homeassistant.const import Platform as Platform
|
5
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
@@ -0,0 +1,21 @@
|
|
1
|
+
from .coordinator import OmadaCoordinator as OmadaCoordinator
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
|
+
from tplink_omada_client.devices import OmadaSwitch as OmadaSwitch, OmadaSwitchPortDetails
|
5
|
+
from tplink_omada_client.omadasiteclient import OmadaSiteClient as OmadaSiteClient
|
6
|
+
|
7
|
+
POLL_SWITCH_PORT: int
|
8
|
+
|
9
|
+
class OmadaSwitchPortCoordinator(OmadaCoordinator[OmadaSwitchPortDetails]):
|
10
|
+
_network_switch: Incomplete
|
11
|
+
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, network_switch: OmadaSwitch) -> None: ...
|
12
|
+
async def poll_update(self) -> dict[str, OmadaSwitchPortDetails]: ...
|
13
|
+
|
14
|
+
class OmadaSiteController:
|
15
|
+
_hass: Incomplete
|
16
|
+
_omada_client: Incomplete
|
17
|
+
_switch_port_coordinators: Incomplete
|
18
|
+
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient) -> None: ...
|
19
|
+
@property
|
20
|
+
def omada_client(self) -> OmadaSiteClient: ...
|
21
|
+
def get_switch_port_coordinator(self, switch: OmadaSwitch) -> OmadaSwitchPortCoordinator: ...
|
@@ -1,8 +1,7 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
|
-
from collections.abc import Awaitable, Callable as Callable
|
3
2
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
3
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
5
|
-
from tplink_omada_client.omadaclient import
|
4
|
+
from tplink_omada_client.omadaclient import OmadaSiteClient as OmadaSiteClient
|
6
5
|
from typing import TypeVar
|
7
6
|
|
8
7
|
_LOGGER: Incomplete
|
@@ -10,6 +9,6 @@ T = TypeVar('T')
|
|
10
9
|
|
11
10
|
class OmadaCoordinator(DataUpdateCoordinator[dict[str, T]]):
|
12
11
|
omada_client: Incomplete
|
13
|
-
|
14
|
-
def __init__(self, hass: HomeAssistant, omada_client: OmadaClient, update_func: Callable[[OmadaClient], Awaitable[dict[str, T]]]) -> None: ...
|
12
|
+
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient, name: str, poll_delay: int = ...) -> None: ...
|
15
13
|
async def _async_update_data(self) -> dict[str, T]: ...
|
14
|
+
async def poll_update(self) -> dict[str, T]: ...
|
@@ -1,13 +1,15 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
2
|
from .coordinator import OmadaCoordinator as OmadaCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from homeassistant.helpers import device_registry as device_registry
|
5
4
|
from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
|
6
5
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
7
|
-
from tplink_omada_client.devices import
|
6
|
+
from tplink_omada_client.devices import OmadaDevice as OmadaDevice
|
7
|
+
from typing import TypeVar
|
8
8
|
|
9
|
-
|
9
|
+
T = TypeVar('T')
|
10
|
+
|
11
|
+
class OmadaDeviceEntity(CoordinatorEntity[OmadaCoordinator[T]]):
|
10
12
|
device: Incomplete
|
11
|
-
def __init__(self, coordinator: OmadaCoordinator[
|
13
|
+
def __init__(self, coordinator: OmadaCoordinator[T], device: OmadaDevice) -> None: ...
|
12
14
|
@property
|
13
15
|
def device_info(self) -> DeviceInfo: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN
|
2
|
-
from .
|
3
|
-
from .entity import
|
2
|
+
from .controller import OmadaSiteController as OmadaSiteController, OmadaSwitchPortCoordinator as OmadaSwitchPortCoordinator
|
3
|
+
from .entity import OmadaDeviceEntity as OmadaDeviceEntity
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.components.switch import SwitchEntity as SwitchEntity
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
@@ -8,16 +8,14 @@ from homeassistant.const import EntityCategory as EntityCategory
|
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
10
|
from tplink_omada_client.devices import OmadaSwitch as OmadaSwitch, OmadaSwitchPortDetails
|
11
|
-
from tplink_omada_client.omadasiteclient import OmadaSiteClient as OmadaSiteClient
|
12
11
|
from typing import Any
|
13
12
|
|
14
13
|
POE_SWITCH_ICON: str
|
15
14
|
|
16
|
-
async def poll_switch_state(client: OmadaSiteClient, network_switch: OmadaSwitch) -> dict[str, OmadaSwitchPortDetails]: ...
|
17
15
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
18
16
|
def get_port_base_name(port: OmadaSwitchPortDetails) -> str: ...
|
19
17
|
|
20
|
-
class OmadaNetworkSwitchPortPoEControl(
|
18
|
+
class OmadaNetworkSwitchPortPoEControl(OmadaDeviceEntity[OmadaSwitchPortDetails], SwitchEntity):
|
21
19
|
_attr_has_entity_name: bool
|
22
20
|
_attr_entity_category: Incomplete
|
23
21
|
_attr_icon: Incomplete
|
@@ -26,7 +24,7 @@ class OmadaNetworkSwitchPortPoEControl(OmadaSwitchDeviceEntity, SwitchEntity):
|
|
26
24
|
omada_client: Incomplete
|
27
25
|
_attr_unique_id: Incomplete
|
28
26
|
_attr_name: Incomplete
|
29
|
-
def __init__(self, coordinator:
|
27
|
+
def __init__(self, coordinator: OmadaSwitchPortCoordinator, device: OmadaSwitch, port_id: str) -> None: ...
|
30
28
|
async def async_added_to_hass(self) -> None: ...
|
31
29
|
async def _async_turn_on_off_poe(self, enable: bool) -> None: ...
|
32
30
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
@@ -0,0 +1,43 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from .controller import OmadaSiteController as OmadaSiteController
|
3
|
+
from .coordinator import OmadaCoordinator as OmadaCoordinator
|
4
|
+
from .entity import OmadaDeviceEntity as OmadaDeviceEntity
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from homeassistant.components.update import UpdateEntity as UpdateEntity, UpdateEntityFeature as UpdateEntityFeature
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
+
from tplink_omada_client.devices import OmadaFirmwareUpdate as OmadaFirmwareUpdate, OmadaListDevice as OmadaListDevice
|
12
|
+
from tplink_omada_client.omadasiteclient import OmadaSiteClient as OmadaSiteClient
|
13
|
+
from typing import Any, NamedTuple
|
14
|
+
|
15
|
+
POLL_DELAY_IDLE: Incomplete
|
16
|
+
POLL_DELAY_UPGRADE: int
|
17
|
+
|
18
|
+
class FirmwareUpdateStatus(NamedTuple):
|
19
|
+
device: OmadaListDevice
|
20
|
+
firmware: Union[OmadaFirmwareUpdate, None]
|
21
|
+
|
22
|
+
class OmadaFirmwareUpdateCoodinator(OmadaCoordinator[FirmwareUpdateStatus]):
|
23
|
+
def __init__(self, hass: HomeAssistant, omada_client: OmadaSiteClient) -> None: ...
|
24
|
+
update_interval: Incomplete
|
25
|
+
async def _get_firmware_updates(self) -> list[FirmwareUpdateStatus]: ...
|
26
|
+
async def poll_update(self) -> dict[str, FirmwareUpdateStatus]: ...
|
27
|
+
|
28
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
29
|
+
|
30
|
+
class OmadaDeviceUpdate(OmadaDeviceEntity[FirmwareUpdateStatus], UpdateEntity):
|
31
|
+
_attr_supported_features: Incomplete
|
32
|
+
_attr_has_entity_name: bool
|
33
|
+
_attr_name: str
|
34
|
+
_mac: Incomplete
|
35
|
+
_omada_client: Incomplete
|
36
|
+
_attr_unique_id: Incomplete
|
37
|
+
def __init__(self, coordinator: OmadaFirmwareUpdateCoodinator, device: OmadaListDevice) -> None: ...
|
38
|
+
def release_notes(self) -> Union[str, None]: ...
|
39
|
+
async def async_install(self, version: Union[str, None], backup: bool, **kwargs: Any) -> None: ...
|
40
|
+
_attr_installed_version: Incomplete
|
41
|
+
_attr_latest_version: Incomplete
|
42
|
+
_attr_in_progress: Incomplete
|
43
|
+
def _handle_coordinator_update(self) -> None: ...
|
@@ -7,7 +7,6 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
|
|
7
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
8
|
from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, PERCENTAGE as PERCENTAGE, Platform as Platform, UnitOfTime as UnitOfTime
|
9
9
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
|
-
from homeassistant.helpers import entity_registry as entity_registry
|
11
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
11
|
from pytradfri.command import Command as Command
|
13
12
|
from pytradfri.device import Device as Device
|
@@ -2,6 +2,7 @@ from .const import DOMAIN as DOMAIN
|
|
2
2
|
from .media_source import generate_media_source_id as generate_media_source_id, media_source_id_to_kwargs as media_source_id_to_kwargs
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from aiohttp import web
|
5
|
+
from collections.abc import Mapping
|
5
6
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView
|
6
7
|
from homeassistant.components.media_player import ATTR_MEDIA_ANNOUNCE as ATTR_MEDIA_ANNOUNCE, ATTR_MEDIA_CONTENT_ID as ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE as ATTR_MEDIA_CONTENT_TYPE, MediaType as MediaType, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA
|
7
8
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_DESCRIPTION as CONF_DESCRIPTION, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, PLATFORM_FORMAT as PLATFORM_FORMAT
|
@@ -90,7 +91,7 @@ class Provider:
|
|
90
91
|
@property
|
91
92
|
def supported_options(self) -> Union[list[str], None]: ...
|
92
93
|
@property
|
93
|
-
def default_options(self) -> Union[
|
94
|
+
def default_options(self) -> Union[Mapping[str, Any], None]: ...
|
94
95
|
def get_tts_audio(self, message: str, language: str, options: Union[dict[str, Any], None] = ...) -> TtsAudioType: ...
|
95
96
|
async def async_get_tts_audio(self, message: str, language: str, options: Union[dict[str, Any], None] = ...) -> TtsAudioType: ...
|
96
97
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
from .const import PLATFORMS as PLATFORMS, UNIFI_WIRELESS_CLIENTS as UNIFI_WIRELESS_CLIENTS
|
2
|
+
from .controller import UniFiController as UniFiController, get_unifi_controller as get_unifi_controller
|
3
|
+
from .errors import AuthenticationRequired as AuthenticationRequired, CannotConnect as CannotConnect
|
4
|
+
from .services import async_setup_services as async_setup_services, async_unload_services as async_unload_services
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from aiounifi.models.client import Client as Client
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
11
|
+
from homeassistant.helpers.storage import Store as Store
|
12
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType
|
13
|
+
|
14
|
+
SAVE_DELAY: int
|
15
|
+
STORAGE_KEY: str
|
16
|
+
STORAGE_VERSION: int
|
17
|
+
|
18
|
+
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
19
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
20
|
+
async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
|
21
|
+
def async_remove_poe_client_entities(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
|
22
|
+
|
23
|
+
class UnifiWirelessClients:
|
24
|
+
hass: Incomplete
|
25
|
+
data: Incomplete
|
26
|
+
wireless_clients: Incomplete
|
27
|
+
_store: Incomplete
|
28
|
+
def __init__(self, hass: HomeAssistant) -> None: ...
|
29
|
+
async def async_load(self) -> None: ...
|
30
|
+
def is_wireless(self, client: Client) -> bool: ...
|
31
|
+
def update_clients(self, clients: set[Client]) -> None: ...
|
32
|
+
def _data_to_save(self) -> dict[str, Union[dict[str, list[str]], list[str]]]: ...
|
33
|
+
def __contains__(self, obj_id: Union[int, str]) -> bool: ...
|
@@ -0,0 +1,46 @@
|
|
1
|
+
from .const import CONF_ALLOW_BANDWIDTH_SENSORS as CONF_ALLOW_BANDWIDTH_SENSORS, CONF_ALLOW_UPTIME_SENSORS as CONF_ALLOW_UPTIME_SENSORS, CONF_BLOCK_CLIENT as CONF_BLOCK_CLIENT, CONF_DETECTION_TIME as CONF_DETECTION_TIME, CONF_DPI_RESTRICTIONS as CONF_DPI_RESTRICTIONS, CONF_IGNORE_WIRED_BUG as CONF_IGNORE_WIRED_BUG, CONF_SITE_ID as CONF_SITE_ID, CONF_SSID_FILTER as CONF_SSID_FILTER, CONF_TRACK_CLIENTS as CONF_TRACK_CLIENTS, CONF_TRACK_DEVICES as CONF_TRACK_DEVICES, CONF_TRACK_WIRED_CLIENTS as CONF_TRACK_WIRED_CLIENTS, DEFAULT_DPI_RESTRICTIONS as DEFAULT_DPI_RESTRICTIONS
|
2
|
+
from .controller import UniFiController as UniFiController, get_unifi_controller as get_unifi_controller
|
3
|
+
from .errors import AuthenticationRequired as AuthenticationRequired, CannotConnect as CannotConnect
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Mapping
|
6
|
+
from homeassistant import config_entries as config_entries
|
7
|
+
from homeassistant.components import ssdp as ssdp
|
8
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
|
+
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
11
|
+
from homeassistant.helpers.device_registry import format_mac as format_mac
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
DEFAULT_PORT: int
|
15
|
+
DEFAULT_SITE_ID: str
|
16
|
+
DEFAULT_VERIFY_SSL: bool
|
17
|
+
MODEL_PORTS: Incomplete
|
18
|
+
|
19
|
+
class UnifiFlowHandler(config_entries.ConfigFlow):
|
20
|
+
VERSION: int
|
21
|
+
@staticmethod
|
22
|
+
def async_get_options_flow(config_entry: config_entries.ConfigEntry) -> UnifiOptionsFlowHandler: ...
|
23
|
+
config: Incomplete
|
24
|
+
site_ids: Incomplete
|
25
|
+
site_names: Incomplete
|
26
|
+
reauth_config_entry: Incomplete
|
27
|
+
reauth_schema: Incomplete
|
28
|
+
def __init__(self) -> None: ...
|
29
|
+
async def async_step_user(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
|
30
|
+
async def async_step_site(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
|
31
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult: ...
|
32
|
+
async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> FlowResult: ...
|
33
|
+
|
34
|
+
class UnifiOptionsFlowHandler(config_entries.OptionsFlow):
|
35
|
+
controller: UniFiController
|
36
|
+
config_entry: Incomplete
|
37
|
+
options: Incomplete
|
38
|
+
def __init__(self, config_entry: config_entries.ConfigEntry) -> None: ...
|
39
|
+
async def async_step_init(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
|
40
|
+
async def async_step_simple_options(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
|
41
|
+
async def async_step_device_tracker(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
|
42
|
+
async def async_step_client_control(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
|
43
|
+
async def async_step_statistics_sensors(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
|
44
|
+
async def _update_options(self) -> FlowResult: ...
|
45
|
+
|
46
|
+
async def _async_discover_unifi(hass: HomeAssistant) -> Union[str, None]: ...
|
@@ -0,0 +1,30 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from homeassistant.const import Platform as Platform
|
3
|
+
|
4
|
+
LOGGER: Incomplete
|
5
|
+
DOMAIN: str
|
6
|
+
PLATFORMS: Incomplete
|
7
|
+
CONF_SITE_ID: str
|
8
|
+
UNIFI_WIRELESS_CLIENTS: str
|
9
|
+
CONF_ALLOW_BANDWIDTH_SENSORS: str
|
10
|
+
CONF_ALLOW_UPTIME_SENSORS: str
|
11
|
+
CONF_BLOCK_CLIENT: str
|
12
|
+
CONF_DETECTION_TIME: str
|
13
|
+
CONF_DPI_RESTRICTIONS: str
|
14
|
+
CONF_IGNORE_WIRED_BUG: str
|
15
|
+
CONF_TRACK_CLIENTS: str
|
16
|
+
CONF_TRACK_DEVICES: str
|
17
|
+
CONF_TRACK_WIRED_CLIENTS: str
|
18
|
+
CONF_SSID_FILTER: str
|
19
|
+
DEFAULT_ALLOW_BANDWIDTH_SENSORS: bool
|
20
|
+
DEFAULT_ALLOW_UPTIME_SENSORS: bool
|
21
|
+
DEFAULT_DPI_RESTRICTIONS: bool
|
22
|
+
DEFAULT_IGNORE_WIRED_BUG: bool
|
23
|
+
DEFAULT_TRACK_CLIENTS: bool
|
24
|
+
DEFAULT_TRACK_DEVICES: bool
|
25
|
+
DEFAULT_TRACK_WIRED_CLIENTS: bool
|
26
|
+
DEFAULT_DETECTION_TIME: int
|
27
|
+
ATTR_MANUFACTURER: str
|
28
|
+
BLOCK_SWITCH: str
|
29
|
+
DPI_SWITCH: str
|
30
|
+
OUTLET_SWITCH: str
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import aiounifi
|
2
|
+
from .const import ATTR_MANUFACTURER as ATTR_MANUFACTURER, BLOCK_SWITCH as BLOCK_SWITCH, CONF_ALLOW_BANDWIDTH_SENSORS as CONF_ALLOW_BANDWIDTH_SENSORS, CONF_ALLOW_UPTIME_SENSORS as CONF_ALLOW_UPTIME_SENSORS, CONF_BLOCK_CLIENT as CONF_BLOCK_CLIENT, CONF_DETECTION_TIME as CONF_DETECTION_TIME, CONF_DPI_RESTRICTIONS as CONF_DPI_RESTRICTIONS, CONF_IGNORE_WIRED_BUG as CONF_IGNORE_WIRED_BUG, CONF_SITE_ID as CONF_SITE_ID, CONF_SSID_FILTER as CONF_SSID_FILTER, CONF_TRACK_CLIENTS as CONF_TRACK_CLIENTS, CONF_TRACK_DEVICES as CONF_TRACK_DEVICES, CONF_TRACK_WIRED_CLIENTS as CONF_TRACK_WIRED_CLIENTS, DEFAULT_ALLOW_BANDWIDTH_SENSORS as DEFAULT_ALLOW_BANDWIDTH_SENSORS, DEFAULT_ALLOW_UPTIME_SENSORS as DEFAULT_ALLOW_UPTIME_SENSORS, DEFAULT_DETECTION_TIME as DEFAULT_DETECTION_TIME, DEFAULT_DPI_RESTRICTIONS as DEFAULT_DPI_RESTRICTIONS, DEFAULT_IGNORE_WIRED_BUG as DEFAULT_IGNORE_WIRED_BUG, DEFAULT_TRACK_CLIENTS as DEFAULT_TRACK_CLIENTS, DEFAULT_TRACK_DEVICES as DEFAULT_TRACK_DEVICES, DEFAULT_TRACK_WIRED_CLIENTS as DEFAULT_TRACK_WIRED_CLIENTS, LOGGER as LOGGER, PLATFORMS as PLATFORMS, UNIFI_WIRELESS_CLIENTS as UNIFI_WIRELESS_CLIENTS
|
3
|
+
from .entity import UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription
|
4
|
+
from .errors import AuthenticationRequired as AuthenticationRequired, CannotConnect as CannotConnect
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from aiounifi.websocket import WebsocketState
|
7
|
+
from datetime import datetime
|
8
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
9
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform
|
10
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
11
|
+
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
12
|
+
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
|
13
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
|
14
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
|
+
from homeassistant.helpers.entity_registry import async_entries_for_config_entry as async_entries_for_config_entry
|
16
|
+
from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
|
17
|
+
from types import MappingProxyType
|
18
|
+
from typing import Any
|
19
|
+
|
20
|
+
RETRY_TIMER: int
|
21
|
+
CHECK_HEARTBEAT_INTERVAL: Incomplete
|
22
|
+
|
23
|
+
class UniFiController:
|
24
|
+
hass: Incomplete
|
25
|
+
config_entry: Incomplete
|
26
|
+
api: Incomplete
|
27
|
+
available: bool
|
28
|
+
wireless_clients: Incomplete
|
29
|
+
site_id: str
|
30
|
+
_site_name: Incomplete
|
31
|
+
_site_role: Incomplete
|
32
|
+
_cancel_heartbeat_check: Incomplete
|
33
|
+
_heartbeat_time: Incomplete
|
34
|
+
entities: Incomplete
|
35
|
+
known_objects: Incomplete
|
36
|
+
def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, api: aiounifi.Controller) -> None: ...
|
37
|
+
option_track_clients: Incomplete
|
38
|
+
option_track_wired_clients: Incomplete
|
39
|
+
option_track_devices: Incomplete
|
40
|
+
option_ssid_filter: Incomplete
|
41
|
+
option_detection_time: Incomplete
|
42
|
+
option_ignore_wired_bug: Incomplete
|
43
|
+
option_block_clients: Incomplete
|
44
|
+
option_dpi_restrictions: Incomplete
|
45
|
+
option_allow_bandwidth_sensors: Incomplete
|
46
|
+
option_allow_uptime_sensors: Incomplete
|
47
|
+
def load_config_entry_options(self) -> None: ...
|
48
|
+
@property
|
49
|
+
def host(self) -> str: ...
|
50
|
+
@property
|
51
|
+
def site(self) -> str: ...
|
52
|
+
@property
|
53
|
+
def site_name(self) -> Union[str, None]: ...
|
54
|
+
@property
|
55
|
+
def site_role(self) -> Union[str, None]: ...
|
56
|
+
@property
|
57
|
+
def mac(self) -> Union[str, None]: ...
|
58
|
+
def register_platform_add_entities(self, unifi_platform_entity: type[UnifiEntity], descriptions: tuple[UnifiEntityDescription, ...], async_add_entities: AddEntitiesCallback) -> None: ...
|
59
|
+
def async_unifi_ws_state_callback(self, state: WebsocketState) -> None: ...
|
60
|
+
@property
|
61
|
+
def signal_reachable(self) -> str: ...
|
62
|
+
@property
|
63
|
+
def signal_options_update(self) -> str: ...
|
64
|
+
@property
|
65
|
+
def signal_heartbeat_missed(self) -> str: ...
|
66
|
+
async def initialize(self) -> None: ...
|
67
|
+
def async_heartbeat(self, unique_id: str, heartbeat_expire_time: Union[datetime, None] = ...) -> None: ...
|
68
|
+
def _async_check_for_stale(self, *_: datetime) -> None: ...
|
69
|
+
async def async_update_device_registry(self) -> None: ...
|
70
|
+
@staticmethod
|
71
|
+
async def async_config_entry_updated(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
|
72
|
+
def reconnect(self, log: bool = ...) -> None: ...
|
73
|
+
async def async_reconnect(self) -> None: ...
|
74
|
+
def shutdown(self, event: Event) -> None: ...
|
75
|
+
async def async_reset(self) -> bool: ...
|
76
|
+
|
77
|
+
async def get_unifi_controller(hass: HomeAssistant, config: MappingProxyType[str, Any]) -> aiounifi.Controller: ...
|
@@ -0,0 +1,70 @@
|
|
1
|
+
import aiounifi
|
2
|
+
from .controller import UniFiController as UniFiController
|
3
|
+
from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from aiounifi.interfaces.api_handlers import ItemEvent
|
6
|
+
from aiounifi.models.api import ApiItemT
|
7
|
+
from aiounifi.models.event import Event, EventKey
|
8
|
+
from collections.abc import Callable as Callable, Mapping
|
9
|
+
from datetime import timedelta
|
10
|
+
from homeassistant.components.device_tracker import ScannerEntity as ScannerEntity, SourceType as SourceType
|
11
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
12
|
+
from homeassistant.core import Event as core_Event, HomeAssistant as HomeAssistant, callback as callback
|
13
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
14
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
|
+
from typing import Any
|
16
|
+
|
17
|
+
LOGGER: Incomplete
|
18
|
+
CLIENT_TRACKER: str
|
19
|
+
DEVICE_TRACKER: str
|
20
|
+
CLIENT_CONNECTED_ATTRIBUTES: Incomplete
|
21
|
+
CLIENT_STATIC_ATTRIBUTES: Incomplete
|
22
|
+
CLIENT_CONNECTED_ALL_ATTRIBUTES: Incomplete
|
23
|
+
WIRED_CONNECTION: Incomplete
|
24
|
+
WIRED_DISCONNECTION: Incomplete
|
25
|
+
WIRELESS_CONNECTION: Incomplete
|
26
|
+
WIRELESS_DISCONNECTION: Incomplete
|
27
|
+
|
28
|
+
def async_client_allowed_fn(controller: UniFiController, obj_id: str) -> bool: ...
|
29
|
+
def async_client_is_connected_fn(controller: UniFiController, obj_id: str) -> bool: ...
|
30
|
+
def async_device_heartbeat_timedelta_fn(controller: UniFiController, obj_id: str) -> timedelta: ...
|
31
|
+
|
32
|
+
class UnifiEntityTrackerDescriptionMixin:
|
33
|
+
heartbeat_timedelta_fn: Callable[[UniFiController, str], timedelta]
|
34
|
+
ip_address_fn: Callable[[aiounifi.Controller, str], str]
|
35
|
+
is_connected_fn: Callable[[UniFiController, str], bool]
|
36
|
+
hostname_fn: Callable[[aiounifi.Controller, str], Union[str, None]]
|
37
|
+
def __init__(self, heartbeat_timedelta_fn, ip_address_fn, is_connected_fn, hostname_fn) -> None: ...
|
38
|
+
|
39
|
+
class UnifiTrackerEntityDescription(UnifiEntityDescription[HandlerT, ApiItemT], UnifiEntityTrackerDescriptionMixin[HandlerT, ApiItemT]):
|
40
|
+
def __init__(self, heartbeat_timedelta_fn, ip_address_fn, is_connected_fn, hostname_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
|
41
|
+
|
42
|
+
ENTITY_DESCRIPTIONS: tuple[UnifiTrackerEntityDescription, ...]
|
43
|
+
|
44
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
45
|
+
|
46
|
+
class UnifiScannerEntity(UnifiEntity[HandlerT, ApiItemT], ScannerEntity):
|
47
|
+
entity_description: UnifiTrackerEntityDescription
|
48
|
+
_event_is_on: tuple[EventKey, ...]
|
49
|
+
_ignore_events: bool
|
50
|
+
_is_connected: bool
|
51
|
+
def async_initiate_state(self) -> None: ...
|
52
|
+
@property
|
53
|
+
def is_connected(self) -> bool: ...
|
54
|
+
@property
|
55
|
+
def hostname(self) -> Union[str, None]: ...
|
56
|
+
@property
|
57
|
+
def ip_address(self) -> str: ...
|
58
|
+
@property
|
59
|
+
def mac_address(self) -> str: ...
|
60
|
+
@property
|
61
|
+
def source_type(self) -> SourceType: ...
|
62
|
+
@property
|
63
|
+
def unique_id(self) -> str: ...
|
64
|
+
def _make_disconnected(self, *_: core_Event) -> None: ...
|
65
|
+
def async_update_state(self, event: ItemEvent, obj_id: str) -> None: ...
|
66
|
+
def async_event_callback(self, event: Event) -> None: ...
|
67
|
+
async def async_added_to_hass(self) -> None: ...
|
68
|
+
async def async_will_remove_from_hass(self) -> None: ...
|
69
|
+
@property
|
70
|
+
def extra_state_attributes(self) -> Union[Mapping[str, Any], None]: ...
|
@@ -0,0 +1,19 @@
|
|
1
|
+
from .controller import UniFiController as UniFiController
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from collections.abc import Mapping
|
4
|
+
from homeassistant.components.diagnostics import REDACTED as REDACTED, async_redact_data as async_redact_data
|
5
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
+
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
8
|
+
from homeassistant.helpers.device_registry import format_mac as format_mac
|
9
|
+
from typing import Any
|
10
|
+
|
11
|
+
TO_REDACT: Incomplete
|
12
|
+
REDACT_CONFIG: Incomplete
|
13
|
+
REDACT_CLIENTS: Incomplete
|
14
|
+
REDACT_DEVICES: Incomplete
|
15
|
+
REDACT_WLANS: Incomplete
|
16
|
+
|
17
|
+
def async_replace_dict_data(data: Mapping, to_replace: dict[str, str]) -> dict[str, Any]: ...
|
18
|
+
def async_replace_list_data(data: Union[list, set, tuple], to_replace: dict[str, str]) -> list[Any]: ...
|
19
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import abc
|
2
|
+
import aiounifi
|
3
|
+
from .const import ATTR_MANUFACTURER as ATTR_MANUFACTURER
|
4
|
+
from .controller import UniFiController as UniFiController
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from abc import abstractmethod
|
7
|
+
from aiounifi.interfaces.api_handlers import APIHandler, CallbackType, ItemEvent, UnsubscribeType
|
8
|
+
from aiounifi.models.api import ApiItemT
|
9
|
+
from aiounifi.models.event import Event as Event, EventKey as EventKey
|
10
|
+
from collections.abc import Callable
|
11
|
+
from homeassistant.core import callback as callback
|
12
|
+
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
|
13
|
+
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
14
|
+
from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, Entity as Entity, EntityDescription as EntityDescription
|
15
|
+
from typing import TypeVar
|
16
|
+
|
17
|
+
HandlerT = TypeVar('HandlerT', bound=APIHandler)
|
18
|
+
SubscriptionT = Callable[[CallbackType, ItemEvent], UnsubscribeType]
|
19
|
+
|
20
|
+
def async_device_available_fn(controller: UniFiController, obj_id: str) -> bool: ...
|
21
|
+
def async_device_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
|
22
|
+
|
23
|
+
class UnifiDescription:
|
24
|
+
allowed_fn: Callable[[UniFiController, str], bool]
|
25
|
+
api_handler_fn: Callable[[aiounifi.Controller], HandlerT]
|
26
|
+
available_fn: Callable[[UniFiController, str], bool]
|
27
|
+
device_info_fn: Callable[[aiounifi.Controller, str], Union[DeviceInfo, None]]
|
28
|
+
event_is_on: Union[tuple[EventKey, ...], None]
|
29
|
+
event_to_subscribe: Union[tuple[EventKey, ...], None]
|
30
|
+
name_fn: Callable[[ApiItemT], Union[str, None]]
|
31
|
+
object_fn: Callable[[aiounifi.Controller, str], ApiItemT]
|
32
|
+
supported_fn: Callable[[UniFiController, str], Union[bool, None]]
|
33
|
+
unique_id_fn: Callable[[UniFiController, str], str]
|
34
|
+
def __init__(self, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, supported_fn, unique_id_fn) -> None: ...
|
35
|
+
|
36
|
+
class UnifiEntityDescription(EntityDescription, UnifiDescription[HandlerT, ApiItemT]):
|
37
|
+
def __init__(self, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
|
38
|
+
|
39
|
+
class UnifiEntity(Entity, metaclass=abc.ABCMeta):
|
40
|
+
entity_description: UnifiEntityDescription[HandlerT, ApiItemT]
|
41
|
+
_attr_should_poll: bool
|
42
|
+
_attr_unique_id: str
|
43
|
+
_obj_id: Incomplete
|
44
|
+
controller: Incomplete
|
45
|
+
_removed: bool
|
46
|
+
_attr_available: Incomplete
|
47
|
+
_attr_device_info: Incomplete
|
48
|
+
_attr_name: Incomplete
|
49
|
+
def __init__(self, obj_id: str, controller: UniFiController, description: UnifiEntityDescription[HandlerT, ApiItemT]) -> None: ...
|
50
|
+
async def async_added_to_hass(self) -> None: ...
|
51
|
+
def async_signalling_callback(self, event: ItemEvent, obj_id: str) -> None: ...
|
52
|
+
def async_signal_reachable_callback(self) -> None: ...
|
53
|
+
async def async_signal_options_updated(self) -> None: ...
|
54
|
+
async def remove_item(self, keys: set) -> None: ...
|
55
|
+
def async_initiate_state(self) -> None: ...
|
56
|
+
@abstractmethod
|
57
|
+
def async_update_state(self, event: ItemEvent, obj_id: str) -> None: ...
|
58
|
+
def async_event_callback(self, event: Event) -> None: ...
|
@@ -0,0 +1,8 @@
|
|
1
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
2
|
+
|
3
|
+
class UnifiException(HomeAssistantError): ...
|
4
|
+
class AlreadyConfigured(UnifiException): ...
|
5
|
+
class AuthenticationRequired(UnifiException): ...
|
6
|
+
class CannotConnect(UnifiException): ...
|
7
|
+
class LoginRequired(UnifiException): ...
|
8
|
+
class UserLevel(UnifiException): ...
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import aiounifi
|
2
|
+
from .controller import UniFiController as UniFiController
|
3
|
+
from .entity import HandlerT as HandlerT, UnifiEntity as UnifiEntity, UnifiEntityDescription as UnifiEntityDescription, async_device_available_fn as async_device_available_fn, async_device_device_info_fn as async_device_device_info_fn
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from aiounifi.interfaces.api_handlers import ItemEvent as ItemEvent
|
6
|
+
from aiounifi.models.api import ApiItemT
|
7
|
+
from aiounifi.models.client import Client
|
8
|
+
from collections.abc import Callable as Callable
|
9
|
+
from datetime import datetime
|
10
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
|
11
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
12
|
+
from homeassistant.const import EntityCategory as EntityCategory, UnitOfInformation as UnitOfInformation, UnitOfPower as UnitOfPower
|
13
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
14
|
+
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
|
15
|
+
from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
|
16
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
17
|
+
|
18
|
+
def async_client_rx_value_fn(controller: UniFiController, client: Client) -> float: ...
|
19
|
+
def async_client_tx_value_fn(controller: UniFiController, client: Client) -> float: ...
|
20
|
+
def async_client_uptime_value_fn(controller: UniFiController, client: Client) -> datetime: ...
|
21
|
+
def async_client_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: ...
|
22
|
+
|
23
|
+
class UnifiSensorEntityDescriptionMixin:
|
24
|
+
value_fn: Callable[[UniFiController, ApiItemT], Union[datetime, float, str, None]]
|
25
|
+
def __init__(self, value_fn) -> None: ...
|
26
|
+
|
27
|
+
class UnifiSensorEntityDescription(SensorEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiSensorEntityDescriptionMixin[HandlerT, ApiItemT]):
|
28
|
+
def __init__(self, value_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, supported_fn, unique_id_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
|
29
|
+
|
30
|
+
ENTITY_DESCRIPTIONS: tuple[UnifiSensorEntityDescription, ...]
|
31
|
+
|
32
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
33
|
+
|
34
|
+
class UnifiSensorEntity(UnifiEntity[HandlerT, ApiItemT], SensorEntity):
|
35
|
+
entity_description: UnifiSensorEntityDescription[HandlerT, ApiItemT]
|
36
|
+
_attr_native_value: Incomplete
|
37
|
+
def async_update_state(self, event: ItemEvent, obj_id: str) -> None: ...
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from collections.abc import Mapping
|
3
|
+
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
5
|
+
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC
|
6
|
+
from typing import Any
|
7
|
+
|
8
|
+
SERVICE_RECONNECT_CLIENT: str
|
9
|
+
SERVICE_REMOVE_CLIENTS: str
|
10
|
+
SERVICE_RECONNECT_CLIENT_SCHEMA: Incomplete
|
11
|
+
SUPPORTED_SERVICES: Incomplete
|
12
|
+
SERVICE_TO_SCHEMA: Incomplete
|
13
|
+
|
14
|
+
def async_setup_services(hass: HomeAssistant) -> None: ...
|
15
|
+
def async_unload_services(hass: HomeAssistant) -> None: ...
|
16
|
+
async def async_reconnect_client(hass: HomeAssistant, data: Mapping[str, Any]) -> None: ...
|
17
|
+
async def async_remove_clients(hass: HomeAssistant, data: Mapping[str, Any]) -> None: ...
|