homeassistant-stubs 2025.4.4__py3-none-any.whl → 2025.5.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/components/adax/__init__.pyi +5 -4
- homeassistant-stubs/components/adax/climate.pyi +25 -17
- homeassistant-stubs/components/adax/const.pyi +2 -0
- homeassistant-stubs/components/adax/coordinator.pyi +21 -0
- homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -1
- homeassistant-stubs/components/apcupsd/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/apcupsd/coordinator.pyi +2 -0
- homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
- homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
- homeassistant-stubs/components/apsystems/switch.pyi +1 -1
- homeassistant-stubs/components/asuswrt/router.pyi +2 -3
- homeassistant-stubs/components/automation/__init__.pyi +2 -2
- homeassistant-stubs/components/automation/config.pyi +2 -2
- homeassistant-stubs/components/automation/const.pyi +0 -4
- homeassistant-stubs/components/axis/hub/api.pyi +2 -2
- homeassistant-stubs/components/backup/config.pyi +10 -2
- homeassistant-stubs/components/backup/onboarding.pyi +30 -0
- homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +3 -0
- homeassistant-stubs/components/bluetooth/storage.pyi +1 -1
- homeassistant-stubs/components/bond/config_flow.pyi +3 -0
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +2 -11
- homeassistant-stubs/components/bosch_alarm/config_flow.pyi +5 -1
- homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +11 -0
- homeassistant-stubs/components/bosch_alarm/entity.pyi +29 -0
- homeassistant-stubs/components/bosch_alarm/sensor.pyi +30 -0
- homeassistant-stubs/components/cambridge_audio/media_player.pyi +2 -0
- homeassistant-stubs/components/canary/__init__.pyi +1 -5
- homeassistant-stubs/components/canary/config_flow.pyi +0 -1
- homeassistant-stubs/components/cloud/const.pyi +1 -0
- homeassistant-stubs/components/cloud/http_api.pyi +1 -1
- homeassistant-stubs/components/cloud/onboarding.pyi +35 -0
- homeassistant-stubs/components/cloud/tts.pyi +4 -1
- homeassistant-stubs/components/comelit/__init__.pyi +1 -0
- homeassistant-stubs/components/comelit/alarm_control_panel.pyi +0 -1
- homeassistant-stubs/components/comelit/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/comelit/climate.pyi +2 -7
- homeassistant-stubs/components/comelit/config_flow.pyi +1 -0
- homeassistant-stubs/components/comelit/coordinator.pyi +3 -2
- homeassistant-stubs/components/comelit/cover.pyi +2 -7
- homeassistant-stubs/components/comelit/entity.pyi +11 -0
- homeassistant-stubs/components/comelit/humidifier.pyi +2 -6
- homeassistant-stubs/components/comelit/light.pyi +2 -9
- homeassistant-stubs/components/comelit/sensor.pyi +2 -7
- homeassistant-stubs/components/comelit/switch.pyi +2 -6
- homeassistant-stubs/components/comelit/utils.pyi +5 -0
- homeassistant-stubs/components/command_line/__init__.pyi +1 -1
- homeassistant-stubs/components/command_line/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/command_line/cover.pyi +2 -2
- homeassistant-stubs/components/command_line/sensor.pyi +2 -2
- homeassistant-stubs/components/command_line/switch.pyi +2 -2
- homeassistant-stubs/components/config/config_entries.pyi +3 -1
- homeassistant-stubs/components/demo/light.pyi +3 -2
- homeassistant-stubs/components/demo/media_player.pyi +4 -0
- homeassistant-stubs/components/device_tracker/config_entry.pyi +2 -2
- homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -2
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
- homeassistant-stubs/components/dhcp/__init__.pyi +6 -13
- homeassistant-stubs/components/dhcp/const.pyi +5 -0
- homeassistant-stubs/components/dhcp/helpers.pyi +8 -0
- homeassistant-stubs/components/dhcp/models.pyi +25 -0
- homeassistant-stubs/components/dhcp/websocket_api.pyi +13 -0
- homeassistant-stubs/components/ecovacs/image.pyi +1 -0
- homeassistant-stubs/components/eheimdigital/number.pyi +38 -0
- homeassistant-stubs/components/eheimdigital/sensor.pyi +32 -0
- homeassistant-stubs/components/eheimdigital/switch.pyi +26 -0
- homeassistant-stubs/components/eheimdigital/time.pyi +37 -0
- homeassistant-stubs/components/elevenlabs/tts.pyi +2 -2
- homeassistant-stubs/components/energy/sensor.pyi +5 -0
- homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
- homeassistant-stubs/components/enphase_envoy/coordinator.pyi +12 -1
- homeassistant-stubs/components/esphome/__init__.pyi +5 -4
- homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -0
- homeassistant-stubs/components/esphome/assist_satellite.pyi +7 -6
- homeassistant-stubs/components/esphome/binary_sensor.pyi +5 -13
- homeassistant-stubs/components/esphome/button.pyi +2 -0
- homeassistant-stubs/components/esphome/camera.pyi +2 -0
- homeassistant-stubs/components/esphome/climate.pyi +1 -0
- homeassistant-stubs/components/esphome/config_flow.pyi +26 -5
- homeassistant-stubs/components/esphome/const.pyi +2 -1
- homeassistant-stubs/components/esphome/coordinator.pyi +4 -3
- homeassistant-stubs/components/esphome/cover.pyi +2 -0
- homeassistant-stubs/components/esphome/dashboard.pyi +1 -1
- homeassistant-stubs/components/esphome/date.pyi +2 -0
- homeassistant-stubs/components/esphome/datetime.pyi +2 -0
- homeassistant-stubs/components/esphome/diagnostics.pyi +2 -0
- homeassistant-stubs/components/esphome/entity.pyi +12 -9
- homeassistant-stubs/components/esphome/event.pyi +2 -0
- homeassistant-stubs/components/esphome/fan.pyi +4 -3
- homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +10 -2
- homeassistant-stubs/components/esphome/light.pyi +8 -7
- homeassistant-stubs/components/esphome/lock.pyi +6 -4
- homeassistant-stubs/components/esphome/manager.pyi +7 -3
- homeassistant-stubs/components/esphome/media_player.pyi +2 -1
- homeassistant-stubs/components/esphome/number.pyi +1 -0
- homeassistant-stubs/components/esphome/repairs.pyi +21 -2
- homeassistant-stubs/components/esphome/select.pyi +3 -2
- homeassistant-stubs/components/esphome/sensor.pyi +4 -2
- homeassistant-stubs/components/esphome/switch.pyi +3 -1
- homeassistant-stubs/components/esphome/text.pyi +1 -0
- homeassistant-stubs/components/esphome/time.pyi +2 -0
- homeassistant-stubs/components/esphome/update.pyi +8 -9
- homeassistant-stubs/components/esphome/valve.pyi +3 -1
- homeassistant-stubs/components/fritz/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/fritz/button.pyi +1 -0
- homeassistant-stubs/components/fritz/coordinator.pyi +3 -4
- homeassistant-stubs/components/fritz/device_tracker.pyi +1 -0
- homeassistant-stubs/components/fritz/image.pyi +1 -0
- homeassistant-stubs/components/fritz/sensor.pyi +1 -0
- homeassistant-stubs/components/fritz/switch.pyi +1 -0
- homeassistant-stubs/components/fritz/update.pyi +1 -0
- homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -5
- homeassistant-stubs/components/fritzbox/climate.pyi +3 -3
- homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
- homeassistant-stubs/components/fritzbox/sensor.pyi +3 -6
- homeassistant-stubs/components/heos/const.pyi +4 -0
- homeassistant-stubs/components/heos/media_player.pyi +5 -4
- homeassistant-stubs/components/heos/services.pyi +22 -2
- homeassistant-stubs/components/history/websocket_api.pyi +1 -1
- homeassistant-stubs/components/history_stats/data.pyi +2 -1
- homeassistant-stubs/components/home_connect/__init__.pyi +0 -1
- homeassistant-stubs/components/home_connect/binary_sensor.pyi +2 -13
- homeassistant-stubs/components/home_connect/coordinator.pyi +5 -0
- homeassistant-stubs/components/home_connect/repairs.pyi +10 -0
- homeassistant-stubs/components/home_connect/select.pyi +6 -2
- homeassistant-stubs/components/home_connect/sensor.pyi +5 -3
- homeassistant-stubs/components/homee/climate.pyi +47 -0
- homeassistant-stubs/components/homee/const.pyi +1 -0
- homeassistant-stubs/components/homee/number.pyi +12 -4
- homeassistant-stubs/components/homekit/__init__.pyi +5 -3
- homeassistant-stubs/components/homekit/accessories.pyi +2 -1
- homeassistant-stubs/components/homekit/const.pyi +13 -0
- homeassistant-stubs/components/homekit/type_air_purifiers.pyi +69 -0
- homeassistant-stubs/components/homekit/type_fans.pyi +7 -4
- homeassistant-stubs/components/homekit/type_media_players.pyi +2 -1
- homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
- homeassistant-stubs/components/homekit/type_triggers.pyi +1 -1
- homeassistant-stubs/components/homekit/util.pyi +2 -1
- homeassistant-stubs/components/http/headers.pyi +6 -0
- homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +3 -1
- homeassistant-stubs/components/huawei_lte/config_flow.pyi +1 -1
- homeassistant-stubs/components/huawei_lte/entity.pyi +0 -3
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
- homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -1
- homeassistant-stubs/components/hyperion/__init__.pyi +12 -5
- homeassistant-stubs/components/hyperion/camera.pyi +3 -4
- homeassistant-stubs/components/hyperion/const.pyi +0 -3
- homeassistant-stubs/components/hyperion/light.pyi +4 -6
- homeassistant-stubs/components/hyperion/sensor.pyi +3 -4
- homeassistant-stubs/components/hyperion/switch.pyi +3 -4
- homeassistant-stubs/components/incomfort/climate.pyi +1 -2
- homeassistant-stubs/components/iron_os/__init__.pyi +1 -3
- homeassistant-stubs/components/iron_os/config_flow.pyi +3 -0
- homeassistant-stubs/components/iron_os/coordinator.pyi +4 -2
- homeassistant-stubs/components/iron_os/entity.pyi +2 -0
- homeassistant-stubs/components/iron_os/update.pyi +4 -2
- homeassistant-stubs/components/isy994/entity.pyi +1 -0
- homeassistant-stubs/components/isy994/services.pyi +1 -0
- homeassistant-stubs/components/isy994/switch.pyi +1 -1
- homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -2
- homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +0 -1
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +1 -0
- homeassistant-stubs/components/jewish_calendar/service.pyi +4 -3
- homeassistant-stubs/components/kulersky/__init__.pyi +14 -0
- homeassistant-stubs/components/kulersky/config_flow.pyi +17 -0
- homeassistant-stubs/components/kulersky/const.pyi +4 -0
- homeassistant-stubs/components/kulersky/light.pyi +34 -0
- homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -2
- homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +3 -7
- homeassistant-stubs/components/lamarzocco/calendar.pyi +3 -4
- homeassistant-stubs/components/lamarzocco/config_flow.pyi +4 -3
- homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -16
- homeassistant-stubs/components/lamarzocco/diagnostics.pyi +3 -8
- homeassistant-stubs/components/lamarzocco/entity.pyi +1 -5
- homeassistant-stubs/components/lamarzocco/number.pyi +4 -29
- homeassistant-stubs/components/lamarzocco/select.pyi +3 -8
- homeassistant-stubs/components/lamarzocco/sensor.pyi +11 -24
- homeassistant-stubs/components/lamarzocco/switch.pyi +6 -5
- homeassistant-stubs/components/lamarzocco/update.pyi +4 -1
- homeassistant-stubs/components/lcn/__init__.pyi +4 -3
- homeassistant-stubs/components/lcn/entity.pyi +3 -3
- homeassistant-stubs/components/lcn/helpers.pyi +2 -2
- homeassistant-stubs/components/lcn/websocket.pyi +1 -1
- homeassistant-stubs/components/linkplay/__init__.pyi +1 -1
- homeassistant-stubs/components/linkplay/const.pyi +8 -2
- homeassistant-stubs/components/linkplay/media_player.pyi +6 -4
- homeassistant-stubs/components/logbook/websocket_api.pyi +1 -1
- homeassistant-stubs/components/logger/__init__.pyi +1 -1
- homeassistant-stubs/components/logger/helpers.pyi +4 -2
- homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
- homeassistant-stubs/components/matter/entity.pyi +1 -0
- homeassistant-stubs/components/matter/select.pyi +1 -1
- homeassistant-stubs/components/matter/sensor.pyi +3 -1
- homeassistant-stubs/components/matter/switch.pyi +20 -0
- homeassistant-stubs/components/matter/water_heater.pyi +39 -0
- homeassistant-stubs/components/mcp/application_credentials.pyi +12 -0
- homeassistant-stubs/components/mcp/config_flow.pyi +27 -6
- homeassistant-stubs/components/mcp/const.pyi +3 -0
- homeassistant-stubs/components/mcp/coordinator.pyi +8 -5
- homeassistant-stubs/components/media_player/__init__.pyi +7 -3
- homeassistant-stubs/components/media_player/browse_media.pyi +16 -1
- homeassistant-stubs/components/media_player/const.pyi +4 -0
- homeassistant-stubs/components/media_player/errors.pyi +1 -0
- homeassistant-stubs/components/media_source/error.pyi +1 -0
- homeassistant-stubs/components/met_eireann/__init__.pyi +2 -2
- homeassistant-stubs/components/met_eireann/weather.pyi +3 -3
- homeassistant-stubs/components/mjpeg/config_flow.pyi +2 -2
- homeassistant-stubs/components/motionmount/select.pyi +1 -1
- homeassistant-stubs/components/mqtt/config_flow.pyi +18 -4
- homeassistant-stubs/components/mqtt/const.pyi +3 -0
- homeassistant-stubs/components/mqtt/device_tracker.pyi +11 -14
- homeassistant-stubs/components/mqtt/entity.pyi +3 -0
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -2
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +3 -2
- homeassistant-stubs/components/music_assistant/media_browser.pyi +17 -2
- homeassistant-stubs/components/music_assistant/media_player.pyi +3 -2
- homeassistant-stubs/components/network/__init__.pyi +2 -0
- homeassistant-stubs/components/ntfy/__init__.pyi +16 -0
- homeassistant-stubs/components/ntfy/config_flow.pyi +29 -0
- homeassistant-stubs/components/ntfy/const.pyi +6 -0
- homeassistant-stubs/components/ntfy/diagnostics.pyi +7 -0
- homeassistant-stubs/components/ntfy/notify.pyi +25 -0
- homeassistant-stubs/components/nut/__init__.pyi +7 -3
- homeassistant-stubs/components/nut/config_flow.pyi +11 -14
- homeassistant-stubs/components/nut/const.pyi +0 -1
- homeassistant-stubs/components/nut/device_action.pyi +5 -1
- homeassistant-stubs/components/nut/sensor.pyi +6 -3
- homeassistant-stubs/components/ohme/__init__.pyi +15 -0
- homeassistant-stubs/components/ohme/button.pyi +26 -0
- homeassistant-stubs/components/ohme/config_flow.pyi +17 -0
- homeassistant-stubs/components/ohme/const.pyi +5 -0
- homeassistant-stubs/components/ohme/coordinator.pyi +44 -0
- homeassistant-stubs/components/ohme/diagnostics.pyi +5 -0
- homeassistant-stubs/components/ohme/entity.pyi +23 -0
- homeassistant-stubs/components/ohme/number.pyi +30 -0
- homeassistant-stubs/components/ohme/select.pyi +33 -0
- homeassistant-stubs/components/ohme/sensor.pyi +26 -0
- homeassistant-stubs/components/ohme/services.pyi +19 -0
- homeassistant-stubs/components/ohme/switch.pyi +45 -0
- homeassistant-stubs/components/ohme/time.pyi +30 -0
- homeassistant-stubs/components/onboarding/__init__.pyi +1 -0
- homeassistant-stubs/components/onboarding/views.pyi +29 -43
- homeassistant-stubs/components/oncue/__init__.pyi +5 -11
- homeassistant-stubs/components/oncue/config_flow.pyi +2 -13
- homeassistant-stubs/components/onewire/sensor.pyi +1 -2
- homeassistant-stubs/components/onkyo/config_flow.pyi +2 -3
- homeassistant-stubs/components/onkyo/const.pyi +0 -2
- homeassistant-stubs/components/onkyo/media_player.pyi +3 -14
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +3 -3
- homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
- homeassistant-stubs/components/openai_conversation/conversation.pyi +1 -1
- homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +4 -1
- homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +2 -1
- homeassistant-stubs/components/overkiz/config_flow.pyi +1 -7
- homeassistant-stubs/components/overkiz/entity.pyi +2 -1
- homeassistant-stubs/components/overkiz/number.pyi +1 -1
- homeassistant-stubs/components/overkiz/sensor.pyi +1 -1
- homeassistant-stubs/components/pegel_online/__init__.pyi +13 -0
- homeassistant-stubs/components/pegel_online/config_flow.pyi +15 -0
- homeassistant-stubs/components/pegel_online/const.pyi +6 -0
- homeassistant-stubs/components/pegel_online/coordinator.pyi +16 -0
- homeassistant-stubs/components/pegel_online/diagnostics.pyi +5 -0
- homeassistant-stubs/components/pegel_online/entity.pyi +12 -0
- homeassistant-stubs/components/pegel_online/sensor.pyi +28 -0
- homeassistant-stubs/components/powerwall/sensor.pyi +0 -1
- homeassistant-stubs/components/recorder/core.pyi +2 -0
- homeassistant-stubs/components/recorder/entity_registry.pyi +2 -1
- homeassistant-stubs/components/recorder/tasks.pyi +2 -1
- homeassistant-stubs/components/renault/binary_sensor.pyi +8 -2
- homeassistant-stubs/components/renault/config_flow.pyi +2 -1
- homeassistant-stubs/components/renault/const.pyi +2 -1
- homeassistant-stubs/components/renault/coordinator.pyi +4 -1
- homeassistant-stubs/components/renault/entity.pyi +2 -0
- homeassistant-stubs/components/renault/renault_hub.pyi +5 -2
- homeassistant-stubs/components/renault/renault_vehicle.pyi +5 -2
- homeassistant-stubs/components/renault/services.pyi +5 -0
- homeassistant-stubs/components/rest/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/rest/schema.pyi +1 -1
- homeassistant-stubs/components/rest/sensor.pyi +2 -2
- homeassistant-stubs/components/rest/switch.pyi +4 -3
- homeassistant-stubs/components/roborock/__init__.pyi +1 -0
- homeassistant-stubs/components/roborock/config_flow.pyi +1 -0
- homeassistant-stubs/components/samsungtv/__init__.pyi +6 -7
- homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -1
- homeassistant-stubs/components/samsungtv/entity.pyi +3 -2
- homeassistant-stubs/components/samsungtv/media_player.pyi +1 -2
- homeassistant-stubs/components/samsungtv/remote.pyi +2 -2
- homeassistant-stubs/components/scrape/__init__.pyi +1 -1
- homeassistant-stubs/components/scrape/sensor.pyi +4 -5
- homeassistant-stubs/components/shelly/__init__.pyi +1 -0
- homeassistant-stubs/components/shelly/climate.pyi +2 -1
- homeassistant-stubs/components/shelly/const.pyi +2 -0
- homeassistant-stubs/components/shelly/coordinator.pyi +1 -0
- homeassistant-stubs/components/shelly/entity.pyi +5 -2
- homeassistant-stubs/components/shelly/number.pyi +4 -3
- homeassistant-stubs/components/shelly/repairs.pyi +19 -0
- homeassistant-stubs/components/shelly/select.pyi +3 -1
- homeassistant-stubs/components/shelly/text.pyi +4 -1
- homeassistant-stubs/components/shelly/utils.pyi +2 -3
- homeassistant-stubs/components/smlight/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/smlight/button.pyi +1 -0
- homeassistant-stubs/components/smlight/sensor.pyi +2 -0
- homeassistant-stubs/components/smlight/switch.pyi +1 -0
- homeassistant-stubs/components/smlight/update.pyi +3 -1
- homeassistant-stubs/components/smtp/__init__.pyi +0 -0
- homeassistant-stubs/components/smtp/const.pyi +17 -0
- homeassistant-stubs/components/smtp/notify.pyi +47 -0
- homeassistant-stubs/components/sql/__init__.pyi +1 -1
- homeassistant-stubs/components/sql/sensor.pyi +4 -4
- homeassistant-stubs/components/ssdp/__init__.pyi +6 -96
- homeassistant-stubs/components/ssdp/common.pyi +5 -0
- homeassistant-stubs/components/ssdp/const.pyi +3 -0
- homeassistant-stubs/components/ssdp/scanner.pyi +75 -0
- homeassistant-stubs/components/ssdp/server.pyi +30 -0
- homeassistant-stubs/components/ssdp/websocket_api.pyi +16 -0
- homeassistant-stubs/components/switcher_kis/button.pyi +2 -1
- homeassistant-stubs/components/switcher_kis/climate.pyi +2 -4
- homeassistant-stubs/components/switcher_kis/config_flow.pyi +3 -2
- homeassistant-stubs/components/switcher_kis/cover.pyi +0 -2
- homeassistant-stubs/components/switcher_kis/entity.pyi +4 -0
- homeassistant-stubs/components/switcher_kis/light.pyi +3 -8
- homeassistant-stubs/components/switcher_kis/sensor.pyi +13 -6
- homeassistant-stubs/components/switcher_kis/switch.pyi +9 -15
- homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/common.pyi +3 -0
- homeassistant-stubs/components/synology_dsm/sensor.pyi +9 -1
- homeassistant-stubs/components/todo/__init__.pyi +1 -0
- homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -2
- homeassistant-stubs/components/tractive/__init__.pyi +1 -1
- homeassistant-stubs/components/tractive/binary_sensor.pyi +9 -3
- homeassistant-stubs/components/tractive/const.pyi +1 -0
- homeassistant-stubs/components/tractive/device_tracker.pyi +1 -1
- homeassistant-stubs/components/tts/__init__.pyi +22 -13
- homeassistant-stubs/components/tts/legacy.pyi +1 -0
- homeassistant-stubs/components/tts/media_source.pyi +5 -2
- homeassistant-stubs/components/unifi/hub/api.pyi +2 -2
- homeassistant-stubs/components/uptimerobot/__init__.pyi +4 -5
- homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/uptimerobot/coordinator.pyi +3 -2
- homeassistant-stubs/components/uptimerobot/diagnostics.pyi +2 -4
- homeassistant-stubs/components/uptimerobot/entity.pyi +0 -2
- homeassistant-stubs/components/uptimerobot/sensor.pyi +3 -4
- homeassistant-stubs/components/uptimerobot/switch.pyi +5 -4
- homeassistant-stubs/components/vodafone_station/__init__.pyi +1 -0
- homeassistant-stubs/components/vodafone_station/config_flow.pyi +1 -0
- homeassistant-stubs/components/vodafone_station/coordinator.pyi +2 -1
- homeassistant-stubs/components/vodafone_station/utils.pyi +5 -0
- homeassistant-stubs/components/websocket_api/commands.pyi +3 -1
- homeassistant-stubs/components/websocket_api/http.pyi +4 -1
- homeassistant-stubs/components/wemo/__init__.pyi +1 -1
- homeassistant-stubs/components/wemo/coordinator.pyi +1 -1
- homeassistant-stubs/components/wemo/models.pyi +3 -4
- homeassistant-stubs/components/workday/config_flow.pyi +1 -1
- homeassistant-stubs/components/xiaomi_ble/const.pyi +2 -0
- homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
- homeassistant-stubs/components/xiaomi_ble/sensor.pyi +2 -2
- homeassistant-stubs/components/zeroconf/__init__.pyi +6 -49
- homeassistant-stubs/components/zeroconf/const.pyi +3 -0
- homeassistant-stubs/components/zeroconf/discovery.pyi +63 -0
- homeassistant-stubs/components/zeroconf/websocket_api.pyi +40 -0
- homeassistant-stubs/components/zone/__init__.pyi +4 -1
- homeassistant-stubs/components/zwave_js/__init__.pyi +2 -2
- homeassistant-stubs/components/zwave_js/api.pyi +8 -3
- homeassistant-stubs/components/zwave_js/config_flow.pyi +41 -59
- homeassistant-stubs/components/zwave_js/helpers.pyi +2 -1
- homeassistant-stubs/config_entries.pyi +13 -9
- homeassistant-stubs/const.pyi +5 -0
- homeassistant-stubs/core.pyi +1 -3
- homeassistant-stubs/core_config.pyi +1 -1
- homeassistant-stubs/data_entry_flow.pyi +5 -1
- homeassistant-stubs/helpers/area_registry.pyi +5 -1
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +1 -1
- homeassistant-stubs/helpers/config_validation.pyi +1 -0
- homeassistant-stubs/helpers/device_registry.pyi +1 -3
- homeassistant-stubs/helpers/entity.pyi +1 -1
- homeassistant-stubs/helpers/entity_platform.pyi +3 -3
- homeassistant-stubs/helpers/entity_registry.pyi +6 -6
- homeassistant-stubs/helpers/event.pyi +2 -0
- homeassistant-stubs/helpers/floor_registry.pyi +12 -3
- homeassistant-stubs/helpers/llm.pyi +24 -1
- homeassistant-stubs/helpers/network.pyi +1 -1
- homeassistant-stubs/helpers/script.pyi +2 -1
- homeassistant-stubs/helpers/template.pyi +1 -0
- homeassistant-stubs/helpers/trigger_template_entity.pyi +17 -2
- homeassistant-stubs/loader.pyi +2 -11
- homeassistant-stubs/setup.pyi +7 -6
- homeassistant-stubs/util/ssl.pyi +2 -0
- {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b1.dist-info}/METADATA +3 -3
- {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b1.dist-info}/RECORD +392 -335
- homeassistant-stubs/components/oncue/binary_sensor.pyi +0 -16
- homeassistant-stubs/components/oncue/const.pyi +0 -6
- homeassistant-stubs/components/oncue/entity.pyi +0 -20
- homeassistant-stubs/components/oncue/sensor.pyi +0 -21
- homeassistant-stubs/components/oncue/types.pyi +0 -5
- {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b1.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -1,15 +1,14 @@
|
|
1
|
-
from .
|
1
|
+
from . import services as services
|
2
2
|
from .coordinator import HeosConfigEntry as HeosConfigEntry, HeosCoordinator as HeosCoordinator
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from collections.abc import Awaitable, Callable, Coroutine
|
5
5
|
from datetime import datetime
|
6
6
|
from homeassistant.components import media_source as media_source
|
7
|
-
from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE,
|
7
|
+
from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
|
8
8
|
from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource
|
9
9
|
from homeassistant.const import Platform as Platform
|
10
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse,
|
10
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, callback as callback
|
11
11
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
12
|
-
from homeassistant.helpers import entity_platform as entity_platform
|
13
12
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
14
13
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
15
14
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
@@ -74,6 +73,8 @@ class HeosMediaPlayer(CoordinatorEntity[HeosCoordinator], MediaPlayerEntity):
|
|
74
73
|
async def async_group_volume_up(self) -> None: ...
|
75
74
|
async def async_join_players(self, group_members: list[str]) -> None: ...
|
76
75
|
async def async_unjoin_player(self) -> None: ...
|
76
|
+
async def async_remove_from_queue(self, queue_ids: list[int]) -> None: ...
|
77
|
+
async def async_move_queue_item(self, queue_ids: list[int], destination_position: int) -> None: ...
|
77
78
|
@property
|
78
79
|
def available(self) -> bool: ...
|
79
80
|
@property
|
@@ -1,16 +1,36 @@
|
|
1
|
-
from .const import ATTR_PASSWORD as ATTR_PASSWORD, ATTR_USERNAME as ATTR_USERNAME, DOMAIN as DOMAIN, SERVICE_SIGN_IN as SERVICE_SIGN_IN, SERVICE_SIGN_OUT as SERVICE_SIGN_OUT
|
1
|
+
from .const import ATTR_DESTINATION_POSITION as ATTR_DESTINATION_POSITION, ATTR_PASSWORD as ATTR_PASSWORD, ATTR_QUEUE_IDS as ATTR_QUEUE_IDS, ATTR_USERNAME as ATTR_USERNAME, DOMAIN as DOMAIN, SERVICE_GET_QUEUE as SERVICE_GET_QUEUE, SERVICE_GROUP_VOLUME_DOWN as SERVICE_GROUP_VOLUME_DOWN, SERVICE_GROUP_VOLUME_SET as SERVICE_GROUP_VOLUME_SET, SERVICE_GROUP_VOLUME_UP as SERVICE_GROUP_VOLUME_UP, SERVICE_MOVE_QUEUE_ITEM as SERVICE_MOVE_QUEUE_ITEM, SERVICE_REMOVE_FROM_QUEUE as SERVICE_REMOVE_FROM_QUEUE, SERVICE_SIGN_IN as SERVICE_SIGN_IN, SERVICE_SIGN_OUT as SERVICE_SIGN_OUT
|
2
2
|
from .coordinator import HeosConfigEntry as HeosConfigEntry
|
3
3
|
from _typeshed import Incomplete
|
4
|
+
from dataclasses import dataclass
|
5
|
+
from homeassistant.components.media_player import ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL
|
4
6
|
from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
5
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, SupportsResponse as SupportsResponse
|
6
8
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
9
|
+
from homeassistant.helpers import entity_platform as entity_platform
|
10
|
+
from homeassistant.helpers.typing import VolDictType as VolDictType, VolSchemaType as VolSchemaType
|
7
11
|
from pyheos import Heos as Heos
|
12
|
+
from typing import Final
|
8
13
|
|
9
14
|
_LOGGER: Incomplete
|
10
15
|
HEOS_SIGN_IN_SCHEMA: Incomplete
|
11
16
|
HEOS_SIGN_OUT_SCHEMA: Incomplete
|
12
17
|
|
13
18
|
def register(hass: HomeAssistant) -> None: ...
|
19
|
+
|
20
|
+
@dataclass(frozen=True)
|
21
|
+
class EntityServiceDescription:
|
22
|
+
name: str
|
23
|
+
method_name: str
|
24
|
+
schema: VolDictType | VolSchemaType | None = ...
|
25
|
+
supports_response: SupportsResponse = ...
|
26
|
+
def async_register(self, platform: entity_platform.EntityPlatform) -> None: ...
|
27
|
+
|
28
|
+
REMOVE_FROM_QUEUE_SCHEMA: Final[VolDictType]
|
29
|
+
GROUP_VOLUME_SET_SCHEMA: Final[VolDictType]
|
30
|
+
MOVE_QEUEUE_ITEM_SCHEMA: Final[VolDictType]
|
31
|
+
MEDIA_PLAYER_ENTITY_SERVICES: Final[Incomplete]
|
32
|
+
|
33
|
+
def register_media_player_services() -> None: ...
|
14
34
|
def _get_controller(hass: HomeAssistant) -> Heos: ...
|
15
35
|
async def _sign_in_handler(service: ServiceCall) -> None: ...
|
16
36
|
async def _sign_out_handler(service: ServiceCall) -> None: ...
|
@@ -23,7 +23,7 @@ class HistoryLiveStream:
|
|
23
23
|
subscriptions: list[CALLBACK_TYPE]
|
24
24
|
end_time_unsub: CALLBACK_TYPE | None = ...
|
25
25
|
task: asyncio.Task | None = ...
|
26
|
-
|
26
|
+
wait_sync_future: asyncio.Future[None] | None = ...
|
27
27
|
|
28
28
|
@callback
|
29
29
|
def async_setup(hass: HomeAssistant) -> None: ...
|
@@ -26,7 +26,7 @@ class HistoryStats:
|
|
26
26
|
_period: Incomplete
|
27
27
|
_state: HistoryStatsState
|
28
28
|
_history_current_period: list[HistoryState]
|
29
|
-
|
29
|
+
_has_recorder_data: bool
|
30
30
|
_entity_states: Incomplete
|
31
31
|
_duration: Incomplete
|
32
32
|
_start: Incomplete
|
@@ -36,3 +36,4 @@ class HistoryStats:
|
|
36
36
|
async def _async_history_from_db(self, current_period_start_timestamp: float, current_period_end_timestamp: float) -> None: ...
|
37
37
|
def _state_changes_during_period(self, start_ts: float, end_ts: float) -> list[State]: ...
|
38
38
|
def _async_compute_seconds_and_changes(self, now_timestamp: float, start_timestamp: float, end_timestamp: float) -> tuple[float, int]: ...
|
39
|
+
def _prune_history_cache(self, start_timestamp: float) -> None: ...
|
@@ -8,7 +8,6 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
|
|
8
8
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
9
9
|
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
10
10
|
from homeassistant.helpers.entity_registry import RegistryEntry as RegistryEntry, async_migrate_entries as async_migrate_entries
|
11
|
-
from homeassistant.helpers.issue_registry import async_delete_issue as async_delete_issue
|
12
11
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
13
12
|
|
14
13
|
_LOGGER: Incomplete
|
@@ -1,16 +1,13 @@
|
|
1
1
|
from .common import setup_home_connect_entry as setup_home_connect_entry
|
2
|
-
from .const import
|
3
|
-
from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry
|
2
|
+
from .const import REFRIGERATION_STATUS_DOOR_CLOSED as REFRIGERATION_STATUS_DOOR_CLOSED, REFRIGERATION_STATUS_DOOR_OPEN as REFRIGERATION_STATUS_DOOR_OPEN
|
3
|
+
from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry
|
4
4
|
from .entity import HomeConnectEntity as HomeConnectEntity
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from dataclasses import dataclass
|
7
|
-
from homeassistant.components.automation import automations_with_entity as automations_with_entity
|
8
7
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
9
|
-
from homeassistant.components.script import scripts_with_entity as scripts_with_entity
|
10
8
|
from homeassistant.const import EntityCategory as EntityCategory
|
11
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
12
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
13
|
-
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
|
14
11
|
|
15
12
|
PARALLEL_UPDATES: int
|
16
13
|
REFRIGERATION_DOOR_BOOLEAN_MAP: Incomplete
|
@@ -36,11 +33,3 @@ class HomeConnectConnectivityBinarySensor(HomeConnectEntity, BinarySensorEntity)
|
|
36
33
|
def update_native_value(self) -> None: ...
|
37
34
|
@property
|
38
35
|
def available(self) -> bool: ...
|
39
|
-
|
40
|
-
class HomeConnectDoorBinarySensor(HomeConnectBinarySensor):
|
41
|
-
_attr_has_entity_name: bool
|
42
|
-
_attr_unique_id: Incomplete
|
43
|
-
_attr_name: Incomplete
|
44
|
-
def __init__(self, coordinator: HomeConnectCoordinator, appliance: HomeConnectApplianceData) -> None: ...
|
45
|
-
async def async_added_to_hass(self) -> None: ...
|
46
|
-
async def async_will_remove_from_hass(self) -> None: ...
|
@@ -14,6 +14,8 @@ from propcache.api import cached_property
|
|
14
14
|
from typing import Any
|
15
15
|
|
16
16
|
_LOGGER: Incomplete
|
17
|
+
MAX_EXECUTIONS_TIME_WINDOW: Incomplete
|
18
|
+
MAX_EXECUTIONS: int
|
17
19
|
type HomeConnectConfigEntry = ConfigEntry[HomeConnectCoordinator]
|
18
20
|
|
19
21
|
@dataclass(frozen=True, kw_only=True)
|
@@ -35,6 +37,7 @@ class HomeConnectCoordinator(DataUpdateCoordinator[dict[str, HomeConnectApplianc
|
|
35
37
|
_special_listeners: dict[CALLBACK_TYPE, tuple[CALLBACK_TYPE, tuple[EventKey, ...]]]
|
36
38
|
device_registry: Incomplete
|
37
39
|
data: Incomplete
|
40
|
+
_execution_tracker: dict[str, list[float]]
|
38
41
|
def __init__(self, hass: HomeAssistant, config_entry: HomeConnectConfigEntry, client: HomeConnectClient) -> None: ...
|
39
42
|
@cached_property
|
40
43
|
def context_listeners(self) -> dict[tuple[str, EventKey], list[CALLBACK_TYPE]]: ...
|
@@ -55,3 +58,5 @@ class HomeConnectCoordinator(DataUpdateCoordinator[dict[str, HomeConnectApplianc
|
|
55
58
|
async def _get_appliance_data(self, appliance: HomeAppliance, appliance_data_to_update: HomeConnectApplianceData | None = None) -> HomeConnectApplianceData: ...
|
56
59
|
async def get_options_definitions(self, ha_id: str, program_key: ProgramKey) -> dict[OptionKey, ProgramDefinitionOption]: ...
|
57
60
|
async def update_options(self, ha_id: str, event_key: EventKey, program_key: ProgramKey) -> None: ...
|
61
|
+
def refreshed_too_often_recently(self, appliance_ha_id: str) -> bool: ...
|
62
|
+
async def reset_execution_tracker(self, appliance_ha_id: str) -> None: ...
|
@@ -0,0 +1,10 @@
|
|
1
|
+
from .coordinator import HomeConnectConfigEntry as HomeConnectConfigEntry
|
2
|
+
from homeassistant import data_entry_flow as data_entry_flow
|
3
|
+
from homeassistant.components.repairs import ConfirmRepairFlow as ConfirmRepairFlow, RepairsFlow as RepairsFlow
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
+
|
6
|
+
class EnableApplianceUpdatesFlow(RepairsFlow):
|
7
|
+
async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
8
|
+
async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
|
9
|
+
|
10
|
+
async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
|
@@ -10,7 +10,7 @@ from aiohomeconnect.model.program import Execution
|
|
10
10
|
from collections.abc import Callable as Callable, Coroutine
|
11
11
|
from dataclasses import dataclass
|
12
12
|
from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
|
13
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
13
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
14
14
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
15
15
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
16
16
|
from typing import Any
|
@@ -41,8 +41,12 @@ async def async_setup_entry(hass: HomeAssistant, entry: HomeConnectConfigEntry,
|
|
41
41
|
|
42
42
|
class HomeConnectProgramSelectEntity(HomeConnectEntity, SelectEntity):
|
43
43
|
entity_description: HomeConnectProgramSelectEntityDescription
|
44
|
-
_attr_options: Incomplete
|
45
44
|
def __init__(self, coordinator: HomeConnectCoordinator, appliance: HomeConnectApplianceData, desc: HomeConnectProgramSelectEntityDescription) -> None: ...
|
45
|
+
_attr_options: Incomplete
|
46
|
+
def set_options(self) -> None: ...
|
47
|
+
@callback
|
48
|
+
def refresh_options(self) -> None: ...
|
49
|
+
async def async_added_to_hass(self) -> None: ...
|
46
50
|
_attr_current_option: Incomplete
|
47
51
|
def update_native_value(self) -> None: ...
|
48
52
|
async def async_select_option(self, option: str) -> None: ...
|
@@ -3,10 +3,11 @@ from .const import APPLIANCES_WITH_PROGRAMS as APPLIANCES_WITH_PROGRAMS, BSH_OPE
|
|
3
3
|
from .coordinator import HomeConnectApplianceData as HomeConnectApplianceData, HomeConnectConfigEntry as HomeConnectConfigEntry
|
4
4
|
from .entity import HomeConnectEntity as HomeConnectEntity, constraint_fetcher as constraint_fetcher
|
5
5
|
from _typeshed import Incomplete
|
6
|
+
from collections.abc import Callable as Callable
|
6
7
|
from dataclasses import dataclass
|
7
8
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
8
9
|
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfVolume as UnitOfVolume
|
9
|
-
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
|
+
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
10
11
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
12
|
from homeassistant.util import slugify as slugify
|
12
13
|
|
@@ -16,7 +17,6 @@ EVENT_OPTIONS: Incomplete
|
|
16
17
|
|
17
18
|
@dataclass(frozen=True, kw_only=True)
|
18
19
|
class HomeConnectSensorEntityDescription(SensorEntityDescription):
|
19
|
-
default_value: str | None = ...
|
20
20
|
appliance_types: tuple[str, ...] | None = ...
|
21
21
|
fetch_unit: bool = ...
|
22
22
|
|
@@ -25,6 +25,9 @@ SENSORS: Incomplete
|
|
25
25
|
EVENT_SENSORS: Incomplete
|
26
26
|
|
27
27
|
def _get_entities_for_appliance(entry: HomeConnectConfigEntry, appliance: HomeConnectApplianceData) -> list[HomeConnectEntity]: ...
|
28
|
+
def _add_event_sensor_entity(entry: HomeConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, appliance: HomeConnectApplianceData, description: HomeConnectSensorEntityDescription, remove_event_sensor_listener_list: list[Callable[[], None]]) -> None: ...
|
29
|
+
def _add_event_sensor_listeners(entry: HomeConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, remove_event_sensor_listener_dict: dict[str, list[CALLBACK_TYPE]]) -> None: ...
|
30
|
+
def _remove_event_sensor_listeners_on_depaired(entry: HomeConnectConfigEntry, remove_event_sensor_listener_dict: dict[str, list[CALLBACK_TYPE]]) -> None: ...
|
28
31
|
async def async_setup_entry(hass: HomeAssistant, entry: HomeConnectConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
29
32
|
|
30
33
|
class HomeConnectSensor(HomeConnectEntity, SensorEntity):
|
@@ -48,5 +51,4 @@ class HomeConnectProgramSensor(HomeConnectSensor):
|
|
48
51
|
def update_native_value(self) -> None: ...
|
49
52
|
|
50
53
|
class HomeConnectEventSensor(HomeConnectSensor):
|
51
|
-
_attr_native_value: Incomplete
|
52
54
|
def update_native_value(self) -> None: ...
|
@@ -0,0 +1,47 @@
|
|
1
|
+
from . import HomeeConfigEntry as HomeeConfigEntry
|
2
|
+
from .const import CLIMATE_PROFILES as CLIMATE_PROFILES, DOMAIN as DOMAIN, HOMEE_UNIT_TO_HA_UNIT as HOMEE_UNIT_TO_HA_UNIT, PRESET_MANUAL as PRESET_MANUAL
|
3
|
+
from .entity import HomeeNodeEntity as HomeeNodeEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.climate import ATTR_TEMPERATURE as ATTR_TEMPERATURE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_BOOST as PRESET_BOOST, PRESET_ECO as PRESET_ECO, PRESET_NONE as PRESET_NONE
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
8
|
+
from pyHomee.model import HomeeNode as HomeeNode
|
9
|
+
from typing import Any
|
10
|
+
|
11
|
+
PARALLEL_UPDATES: int
|
12
|
+
ROOM_THERMOSTATS: Incomplete
|
13
|
+
|
14
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_devices: AddConfigEntryEntitiesCallback) -> None: ...
|
15
|
+
|
16
|
+
class HomeeClimate(HomeeNodeEntity, ClimateEntity):
|
17
|
+
_attr_name: Incomplete
|
18
|
+
_attr_translation_key = DOMAIN
|
19
|
+
_target_temp: Incomplete
|
20
|
+
_attr_temperature_unit: Incomplete
|
21
|
+
_attr_target_temperature_step: Incomplete
|
22
|
+
_attr_unique_id: Incomplete
|
23
|
+
_heating_mode: Incomplete
|
24
|
+
_temperature: Incomplete
|
25
|
+
_valve_position: Incomplete
|
26
|
+
def __init__(self, node: HomeeNode, entry: HomeeConfigEntry) -> None: ...
|
27
|
+
@property
|
28
|
+
def hvac_mode(self) -> HVACMode: ...
|
29
|
+
@property
|
30
|
+
def hvac_action(self) -> HVACAction: ...
|
31
|
+
@property
|
32
|
+
def preset_mode(self) -> str: ...
|
33
|
+
@property
|
34
|
+
def current_temperature(self) -> float | None: ...
|
35
|
+
@property
|
36
|
+
def target_temperature(self) -> float: ...
|
37
|
+
@property
|
38
|
+
def min_temp(self) -> float: ...
|
39
|
+
@property
|
40
|
+
def max_temp(self) -> float: ...
|
41
|
+
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
42
|
+
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|
43
|
+
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
44
|
+
async def async_turn_on(self) -> None: ...
|
45
|
+
async def async_turn_off(self) -> None: ...
|
46
|
+
|
47
|
+
def get_climate_features(node: HomeeNode) -> tuple[ClimateEntityFeature, list[HVACMode], list[str] | None]: ...
|
@@ -2,27 +2,35 @@ from . import HomeeConfigEntry as HomeeConfigEntry
|
|
2
2
|
from .const import HOMEE_UNIT_TO_HA_UNIT as HOMEE_UNIT_TO_HA_UNIT
|
3
3
|
from .entity import HomeeEntity as HomeeEntity
|
4
4
|
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
5
7
|
from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
|
6
|
-
from homeassistant.const import EntityCategory as EntityCategory
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory, UnitOfSpeed as UnitOfSpeed
|
7
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
10
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
9
11
|
from pyHomee.model import HomeeAttribute as HomeeAttribute
|
10
12
|
|
11
13
|
PARALLEL_UPDATES: int
|
14
|
+
|
15
|
+
@dataclass(frozen=True, kw_only=True)
|
16
|
+
class HomeeNumberEntityDescription(NumberEntityDescription):
|
17
|
+
native_value_fn: Callable[[float], float] = ...
|
18
|
+
set_native_value_fn: Callable[[float], float] = ...
|
19
|
+
|
12
20
|
NUMBER_DESCRIPTIONS: Incomplete
|
13
21
|
|
14
22
|
async def async_setup_entry(hass: HomeAssistant, config_entry: HomeeConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
15
23
|
|
16
24
|
class HomeeNumber(HomeeEntity, NumberEntity):
|
17
|
-
entity_description:
|
25
|
+
entity_description: HomeeNumberEntityDescription
|
18
26
|
_attr_translation_key: Incomplete
|
19
27
|
_attr_native_unit_of_measurement: Incomplete
|
20
28
|
_attr_native_min_value: Incomplete
|
21
29
|
_attr_native_max_value: Incomplete
|
22
30
|
_attr_native_step: Incomplete
|
23
|
-
def __init__(self, attribute: HomeeAttribute, entry: HomeeConfigEntry, description:
|
31
|
+
def __init__(self, attribute: HomeeAttribute, entry: HomeeConfigEntry, description: HomeeNumberEntityDescription) -> None: ...
|
24
32
|
@property
|
25
33
|
def available(self) -> bool: ...
|
26
34
|
@property
|
27
|
-
def native_value(self) ->
|
35
|
+
def native_value(self) -> float | None: ...
|
28
36
|
async def async_set_native_value(self, value: float) -> None: ...
|
@@ -1,7 +1,7 @@
|
|
1
|
-
from . import type_cameras as type_cameras, type_covers as type_covers, type_fans as type_fans, type_humidifiers as type_humidifiers, type_lights as type_lights, type_locks as type_locks, type_media_players as type_media_players, type_remotes as type_remotes, type_security_systems as type_security_systems, type_sensors as type_sensors, type_switches as type_switches, type_thermostats as type_thermostats
|
1
|
+
from . import type_air_purifiers as type_air_purifiers, type_cameras as type_cameras, type_covers as type_covers, type_fans as type_fans, type_humidifiers as type_humidifiers, type_lights as type_lights, type_locks as type_locks, type_media_players as type_media_players, type_remotes as type_remotes, type_security_systems as type_security_systems, type_sensors as type_sensors, type_switches as type_switches, type_thermostats as type_thermostats
|
2
2
|
from .accessories import HomeAccessory as HomeAccessory, HomeBridge as HomeBridge, HomeDriver as HomeDriver, get_accessory as get_accessory
|
3
3
|
from .aidmanager import AccessoryAidStorage as AccessoryAidStorage
|
4
|
-
from .const import ATTR_INTEGRATION as ATTR_INTEGRATION, BRIDGE_NAME as BRIDGE_NAME, BRIDGE_SERIAL_NUMBER as BRIDGE_SERIAL_NUMBER, CONFIG_OPTIONS as CONFIG_OPTIONS, CONF_ADVERTISE_IP as CONF_ADVERTISE_IP, CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_ENTRY_INDEX as CONF_ENTRY_INDEX, CONF_EXCLUDE_ACCESSORY_MODE as CONF_EXCLUDE_ACCESSORY_MODE, CONF_FILTER as CONF_FILTER, CONF_HOMEKIT_MODE as CONF_HOMEKIT_MODE, CONF_LINKED_BATTERY_CHARGING_SENSOR as CONF_LINKED_BATTERY_CHARGING_SENSOR, CONF_LINKED_BATTERY_SENSOR as CONF_LINKED_BATTERY_SENSOR, CONF_LINKED_DOORBELL_SENSOR as CONF_LINKED_DOORBELL_SENSOR, CONF_LINKED_HUMIDITY_SENSOR as CONF_LINKED_HUMIDITY_SENSOR, CONF_LINKED_MOTION_SENSOR as CONF_LINKED_MOTION_SENSOR, DEFAULT_EXCLUDE_ACCESSORY_MODE as DEFAULT_EXCLUDE_ACCESSORY_MODE, DEFAULT_HOMEKIT_MODE as DEFAULT_HOMEKIT_MODE, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, HOMEKIT_MODES as HOMEKIT_MODES, HOMEKIT_MODE_ACCESSORY as HOMEKIT_MODE_ACCESSORY, MANUFACTURER as MANUFACTURER, PERSIST_LOCK_DATA as PERSIST_LOCK_DATA, SERVICE_HOMEKIT_RESET_ACCESSORY as SERVICE_HOMEKIT_RESET_ACCESSORY, SERVICE_HOMEKIT_UNPAIR as SERVICE_HOMEKIT_UNPAIR, SHUTDOWN_TIMEOUT as SHUTDOWN_TIMEOUT, SIGNAL_RELOAD_ENTITIES as SIGNAL_RELOAD_ENTITIES
|
4
|
+
from .const import ATTR_INTEGRATION as ATTR_INTEGRATION, BRIDGE_NAME as BRIDGE_NAME, BRIDGE_SERIAL_NUMBER as BRIDGE_SERIAL_NUMBER, CONFIG_OPTIONS as CONFIG_OPTIONS, CONF_ADVERTISE_IP as CONF_ADVERTISE_IP, CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_ENTRY_INDEX as CONF_ENTRY_INDEX, CONF_EXCLUDE_ACCESSORY_MODE as CONF_EXCLUDE_ACCESSORY_MODE, CONF_FILTER as CONF_FILTER, CONF_HOMEKIT_MODE as CONF_HOMEKIT_MODE, CONF_LINKED_BATTERY_CHARGING_SENSOR as CONF_LINKED_BATTERY_CHARGING_SENSOR, CONF_LINKED_BATTERY_SENSOR as CONF_LINKED_BATTERY_SENSOR, CONF_LINKED_DOORBELL_SENSOR as CONF_LINKED_DOORBELL_SENSOR, CONF_LINKED_HUMIDITY_SENSOR as CONF_LINKED_HUMIDITY_SENSOR, CONF_LINKED_MOTION_SENSOR as CONF_LINKED_MOTION_SENSOR, CONF_LINKED_PM25_SENSOR as CONF_LINKED_PM25_SENSOR, CONF_LINKED_TEMPERATURE_SENSOR as CONF_LINKED_TEMPERATURE_SENSOR, DEFAULT_EXCLUDE_ACCESSORY_MODE as DEFAULT_EXCLUDE_ACCESSORY_MODE, DEFAULT_HOMEKIT_MODE as DEFAULT_HOMEKIT_MODE, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, HOMEKIT_MODES as HOMEKIT_MODES, HOMEKIT_MODE_ACCESSORY as HOMEKIT_MODE_ACCESSORY, MANUFACTURER as MANUFACTURER, PERSIST_LOCK_DATA as PERSIST_LOCK_DATA, SERVICE_HOMEKIT_RESET_ACCESSORY as SERVICE_HOMEKIT_RESET_ACCESSORY, SERVICE_HOMEKIT_UNPAIR as SERVICE_HOMEKIT_UNPAIR, SHUTDOWN_TIMEOUT as SHUTDOWN_TIMEOUT, SIGNAL_RELOAD_ENTITIES as SIGNAL_RELOAD_ENTITIES, TYPE_AIR_PURIFIER as TYPE_AIR_PURIFIER
|
5
5
|
from .iidmanager import AccessoryIIDStorage as AccessoryIIDStorage
|
6
6
|
from .models import HomeKitConfigEntry as HomeKitConfigEntry, HomeKitEntryData as HomeKitEntryData
|
7
7
|
from .type_triggers import DeviceTriggerAccessory as DeviceTriggerAccessory
|
@@ -17,7 +17,7 @@ from homeassistant.components.event import EventDeviceClass as EventDeviceClass
|
|
17
17
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS
|
18
18
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
|
19
19
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
|
20
|
-
from homeassistant.const import ATTR_BATTERY_CHARGING as ATTR_BATTERY_CHARGING, ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_SW_VERSION as ATTR_SW_VERSION, CONF_DEVICES as CONF_DEVICES, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, SERVICE_RELOAD as SERVICE_RELOAD
|
20
|
+
from homeassistant.const import ATTR_BATTERY_CHARGING as ATTR_BATTERY_CHARGING, ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_SW_VERSION as ATTR_SW_VERSION, CONF_DEVICES as CONF_DEVICES, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, SERVICE_RELOAD as SERVICE_RELOAD
|
21
21
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, State as State, callback as callback
|
22
22
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, Unauthorized as Unauthorized
|
23
23
|
from homeassistant.helpers import device_registry as dr, entity_registry as er, instance_id as instance_id
|
@@ -50,6 +50,8 @@ MOTION_EVENT_SENSOR: Incomplete
|
|
50
50
|
MOTION_SENSOR: Incomplete
|
51
51
|
DOORBELL_EVENT_SENSOR: Incomplete
|
52
52
|
HUMIDITY_SENSOR: Incomplete
|
53
|
+
TEMPERATURE_SENSOR: Incomplete
|
54
|
+
PM25_SENSOR: Incomplete
|
53
55
|
|
54
56
|
def _has_all_unique_names_and_ports(bridges: list[dict[str, Any]]) -> list[dict[str, Any]]: ...
|
55
57
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import ATTR_DISPLAY_NAME as ATTR_DISPLAY_NAME, ATTR_INTEGRATION as ATTR_INTEGRATION, ATTR_VALUE as ATTR_VALUE, BRIDGE_MODEL as BRIDGE_MODEL, BRIDGE_SERIAL_NUMBER as BRIDGE_SERIAL_NUMBER, CHAR_BATTERY_LEVEL as CHAR_BATTERY_LEVEL, CHAR_CHARGING_STATE as CHAR_CHARGING_STATE, CHAR_HARDWARE_REVISION as CHAR_HARDWARE_REVISION, CHAR_STATUS_LOW_BATTERY as CHAR_STATUS_LOW_BATTERY, CONF_FEATURE_LIST as CONF_FEATURE_LIST, CONF_LINKED_BATTERY_CHARGING_SENSOR as CONF_LINKED_BATTERY_CHARGING_SENSOR, CONF_LINKED_BATTERY_SENSOR as CONF_LINKED_BATTERY_SENSOR, CONF_LOW_BATTERY_THRESHOLD as CONF_LOW_BATTERY_THRESHOLD, DEFAULT_LOW_BATTERY_THRESHOLD as DEFAULT_LOW_BATTERY_THRESHOLD, EMPTY_MAC as EMPTY_MAC, EVENT_HOMEKIT_CHANGED as EVENT_HOMEKIT_CHANGED, HK_CHARGING as HK_CHARGING, HK_NOT_CHARGABLE as HK_NOT_CHARGABLE, HK_NOT_CHARGING as HK_NOT_CHARGING, MANUFACTURER as MANUFACTURER, MAX_MANUFACTURER_LENGTH as MAX_MANUFACTURER_LENGTH, MAX_MODEL_LENGTH as MAX_MODEL_LENGTH, MAX_SERIAL_LENGTH as MAX_SERIAL_LENGTH, MAX_VERSION_LENGTH as MAX_VERSION_LENGTH, SERV_ACCESSORY_INFO as SERV_ACCESSORY_INFO, SERV_BATTERY_SERVICE as SERV_BATTERY_SERVICE, SIGNAL_RELOAD_ENTITIES as SIGNAL_RELOAD_ENTITIES, TYPE_FAUCET as TYPE_FAUCET, TYPE_OUTLET as TYPE_OUTLET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_SWITCH as TYPE_SWITCH, TYPE_VALVE as TYPE_VALVE
|
1
|
+
from .const import ATTR_DISPLAY_NAME as ATTR_DISPLAY_NAME, ATTR_INTEGRATION as ATTR_INTEGRATION, ATTR_VALUE as ATTR_VALUE, BRIDGE_MODEL as BRIDGE_MODEL, BRIDGE_SERIAL_NUMBER as BRIDGE_SERIAL_NUMBER, CHAR_BATTERY_LEVEL as CHAR_BATTERY_LEVEL, CHAR_CHARGING_STATE as CHAR_CHARGING_STATE, CHAR_HARDWARE_REVISION as CHAR_HARDWARE_REVISION, CHAR_STATUS_LOW_BATTERY as CHAR_STATUS_LOW_BATTERY, CONF_FEATURE_LIST as CONF_FEATURE_LIST, CONF_LINKED_BATTERY_CHARGING_SENSOR as CONF_LINKED_BATTERY_CHARGING_SENSOR, CONF_LINKED_BATTERY_SENSOR as CONF_LINKED_BATTERY_SENSOR, CONF_LOW_BATTERY_THRESHOLD as CONF_LOW_BATTERY_THRESHOLD, DEFAULT_LOW_BATTERY_THRESHOLD as DEFAULT_LOW_BATTERY_THRESHOLD, EMPTY_MAC as EMPTY_MAC, EVENT_HOMEKIT_CHANGED as EVENT_HOMEKIT_CHANGED, HK_CHARGING as HK_CHARGING, HK_NOT_CHARGABLE as HK_NOT_CHARGABLE, HK_NOT_CHARGING as HK_NOT_CHARGING, MANUFACTURER as MANUFACTURER, MAX_MANUFACTURER_LENGTH as MAX_MANUFACTURER_LENGTH, MAX_MODEL_LENGTH as MAX_MODEL_LENGTH, MAX_SERIAL_LENGTH as MAX_SERIAL_LENGTH, MAX_VERSION_LENGTH as MAX_VERSION_LENGTH, SERV_ACCESSORY_INFO as SERV_ACCESSORY_INFO, SERV_BATTERY_SERVICE as SERV_BATTERY_SERVICE, SIGNAL_RELOAD_ENTITIES as SIGNAL_RELOAD_ENTITIES, TYPE_AIR_PURIFIER as TYPE_AIR_PURIFIER, TYPE_FAN as TYPE_FAN, TYPE_FAUCET as TYPE_FAUCET, TYPE_OUTLET as TYPE_OUTLET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_SWITCH as TYPE_SWITCH, TYPE_VALVE as TYPE_VALVE
|
2
2
|
from .iidmanager import AccessoryIIDStorage as AccessoryIIDStorage
|
3
3
|
from .util import accessory_friendly_name as accessory_friendly_name, async_dismiss_setup_message as async_dismiss_setup_message, async_show_setup_message as async_show_setup_message, cleanup_name_for_homekit as cleanup_name_for_homekit, convert_to_float as convert_to_float, format_version as format_version, validate_media_player_features as validate_media_player_features
|
4
4
|
from _typeshed import Incomplete
|
@@ -24,6 +24,7 @@ from uuid import UUID
|
|
24
24
|
|
25
25
|
_LOGGER: Incomplete
|
26
26
|
SWITCH_TYPES: Incomplete
|
27
|
+
FAN_TYPES: Incomplete
|
27
28
|
TYPES: Registry[str, type[HomeAccessory]]
|
28
29
|
RELOAD_ON_CHANGE_ATTRS: Incomplete
|
29
30
|
|
@@ -36,9 +36,13 @@ CONF_EXCLUDE_ACCESSORY_MODE: str
|
|
36
36
|
CONF_LINKED_BATTERY_SENSOR: str
|
37
37
|
CONF_LINKED_BATTERY_CHARGING_SENSOR: str
|
38
38
|
CONF_LINKED_DOORBELL_SENSOR: str
|
39
|
+
CONF_LINKED_FILTER_CHANGE_INDICATION: str
|
40
|
+
CONF_LINKED_FILTER_LIFE_LEVEL: str
|
39
41
|
CONF_LINKED_MOTION_SENSOR: str
|
40
42
|
CONF_LINKED_HUMIDITY_SENSOR: str
|
41
43
|
CONF_LINKED_OBSTRUCTION_SENSOR: str
|
44
|
+
CONF_LINKED_PM25_SENSOR: str
|
45
|
+
CONF_LINKED_TEMPERATURE_SENSOR: str
|
42
46
|
CONF_LOW_BATTERY_THRESHOLD: str
|
43
47
|
CONF_MAX_FPS: str
|
44
48
|
CONF_MAX_HEIGHT: str
|
@@ -93,8 +97,11 @@ TYPE_SHOWER: str
|
|
93
97
|
TYPE_SPRINKLER: str
|
94
98
|
TYPE_SWITCH: str
|
95
99
|
TYPE_VALVE: str
|
100
|
+
TYPE_FAN: str
|
101
|
+
TYPE_AIR_PURIFIER: str
|
96
102
|
CATEGORY_RECEIVER: int
|
97
103
|
SERV_ACCESSORY_INFO: str
|
104
|
+
SERV_AIR_PURIFIER: str
|
98
105
|
SERV_AIR_QUALITY_SENSOR: str
|
99
106
|
SERV_BATTERY_SERVICE: str
|
100
107
|
SERV_CAMERA_RTP_STREAM_MANAGEMENT: str
|
@@ -104,6 +111,7 @@ SERV_CONTACT_SENSOR: str
|
|
104
111
|
SERV_DOOR: str
|
105
112
|
SERV_DOORBELL: str
|
106
113
|
SERV_FANV2: str
|
114
|
+
SERV_FILTER_MAINTENANCE: str
|
107
115
|
SERV_GARAGE_DOOR_OPENER: str
|
108
116
|
SERV_HUMIDIFIER_DEHUMIDIFIER: str
|
109
117
|
SERV_HUMIDITY_SENSOR: str
|
@@ -148,6 +156,7 @@ CHAR_CONFIGURED_NAME: str
|
|
148
156
|
CHAR_CONTACT_SENSOR_STATE: str
|
149
157
|
CHAR_COOLING_THRESHOLD_TEMPERATURE: str
|
150
158
|
CHAR_CURRENT_AMBIENT_LIGHT_LEVEL: str
|
159
|
+
CHAR_CURRENT_AIR_PURIFIER_STATE: str
|
151
160
|
CHAR_CURRENT_DOOR_STATE: str
|
152
161
|
CHAR_CURRENT_FAN_STATE: str
|
153
162
|
CHAR_CURRENT_HEATING_COOLING: str
|
@@ -159,6 +168,8 @@ CHAR_CURRENT_TEMPERATURE: str
|
|
159
168
|
CHAR_CURRENT_TILT_ANGLE: str
|
160
169
|
CHAR_CURRENT_VISIBILITY_STATE: str
|
161
170
|
CHAR_DEHUMIDIFIER_THRESHOLD_HUMIDITY: str
|
171
|
+
CHAR_FILTER_CHANGE_INDICATION: str
|
172
|
+
CHAR_FILTER_LIFE_LEVEL: str
|
162
173
|
CHAR_FIRMWARE_REVISION: str
|
163
174
|
CHAR_HARDWARE_REVISION: str
|
164
175
|
CHAR_HEATING_THRESHOLD_TEMPERATURE: str
|
@@ -196,6 +207,7 @@ CHAR_SMOKE_DETECTED: str
|
|
196
207
|
CHAR_STATUS_LOW_BATTERY: str
|
197
208
|
CHAR_STREAMING_STRATUS: str
|
198
209
|
CHAR_SWING_MODE: str
|
210
|
+
CHAR_TARGET_AIR_PURIFIER_STATE: str
|
199
211
|
CHAR_TARGET_DOOR_STATE: str
|
200
212
|
CHAR_TARGET_HEATING_COOLING: str
|
201
213
|
CHAR_TARGET_POSITION: str
|
@@ -219,6 +231,7 @@ PROP_CELSIUS: Incomplete
|
|
219
231
|
PROP_VALID_VALUES: str
|
220
232
|
THRESHOLD_CO: int
|
221
233
|
THRESHOLD_CO2: int
|
234
|
+
THRESHOLD_FILTER_CHANGE_NEEDED: int
|
222
235
|
DEFAULT_MIN_TEMP_WATER_HEATER: int
|
223
236
|
DEFAULT_MAX_TEMP_WATER_HEATER: int
|
224
237
|
KEY_ARROW_DOWN: str
|
@@ -0,0 +1,69 @@
|
|
1
|
+
from .accessories import TYPES as TYPES
|
2
|
+
from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_AIR_QUALITY as CHAR_AIR_QUALITY, CHAR_CURRENT_AIR_PURIFIER_STATE as CHAR_CURRENT_AIR_PURIFIER_STATE, CHAR_CURRENT_HUMIDITY as CHAR_CURRENT_HUMIDITY, CHAR_CURRENT_TEMPERATURE as CHAR_CURRENT_TEMPERATURE, CHAR_FILTER_CHANGE_INDICATION as CHAR_FILTER_CHANGE_INDICATION, CHAR_FILTER_LIFE_LEVEL as CHAR_FILTER_LIFE_LEVEL, CHAR_NAME as CHAR_NAME, CHAR_PM25_DENSITY as CHAR_PM25_DENSITY, CHAR_TARGET_AIR_PURIFIER_STATE as CHAR_TARGET_AIR_PURIFIER_STATE, CONF_LINKED_FILTER_CHANGE_INDICATION as CONF_LINKED_FILTER_CHANGE_INDICATION, CONF_LINKED_FILTER_LIFE_LEVEL as CONF_LINKED_FILTER_LIFE_LEVEL, CONF_LINKED_HUMIDITY_SENSOR as CONF_LINKED_HUMIDITY_SENSOR, CONF_LINKED_PM25_SENSOR as CONF_LINKED_PM25_SENSOR, CONF_LINKED_TEMPERATURE_SENSOR as CONF_LINKED_TEMPERATURE_SENSOR, SERV_AIR_PURIFIER as SERV_AIR_PURIFIER, SERV_AIR_QUALITY_SENSOR as SERV_AIR_QUALITY_SENSOR, SERV_FILTER_MAINTENANCE as SERV_FILTER_MAINTENANCE, SERV_HUMIDITY_SENSOR as SERV_HUMIDITY_SENSOR, SERV_TEMPERATURE_SENSOR as SERV_TEMPERATURE_SENSOR, THRESHOLD_FILTER_CHANGE_NEEDED as THRESHOLD_FILTER_CHANGE_NEEDED
|
3
|
+
from .type_fans import ATTR_PRESET_MODE as ATTR_PRESET_MODE, CHAR_ROTATION_SPEED as CHAR_ROTATION_SPEED, Fan as Fan
|
4
|
+
from .util import cleanup_name_for_homekit as cleanup_name_for_homekit, convert_to_float as convert_to_float, density_to_air_quality as density_to_air_quality
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from homeassistant.const import STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
|
7
|
+
from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HassJobType as HassJobType, State as State, callback as callback
|
8
|
+
from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
|
9
|
+
from pyhap.characteristic import Characteristic as Characteristic
|
10
|
+
from pyhap.service import Service as Service
|
11
|
+
from pyhap.util import callback as pyhap_callback
|
12
|
+
from typing import Any
|
13
|
+
|
14
|
+
_LOGGER: Incomplete
|
15
|
+
CURRENT_STATE_INACTIVE: int
|
16
|
+
CURRENT_STATE_IDLE: int
|
17
|
+
CURRENT_STATE_PURIFYING_AIR: int
|
18
|
+
TARGET_STATE_MANUAL: int
|
19
|
+
TARGET_STATE_AUTO: int
|
20
|
+
FILTER_CHANGE_FILTER: int
|
21
|
+
FILTER_OK: int
|
22
|
+
IGNORED_STATES: Incomplete
|
23
|
+
|
24
|
+
class AirPurifier(Fan):
|
25
|
+
auto_preset: str | None
|
26
|
+
def __init__(self, *args: Any) -> None: ...
|
27
|
+
char_active: Characteristic
|
28
|
+
preset_mode_chars: dict[str, Characteristic]
|
29
|
+
char_current_humidity: Characteristic | None
|
30
|
+
char_pm25_density: Characteristic | None
|
31
|
+
char_current_temperature: Characteristic | None
|
32
|
+
char_filter_change_indication: Characteristic | None
|
33
|
+
char_filter_life_level: Characteristic | None
|
34
|
+
char_target_air_purifier_state: Characteristic
|
35
|
+
char_current_air_purifier_state: Characteristic
|
36
|
+
linked_humidity_sensor: Incomplete
|
37
|
+
linked_pm25_sensor: Incomplete
|
38
|
+
char_air_quality: Incomplete
|
39
|
+
linked_temperature_sensor: Incomplete
|
40
|
+
linked_filter_change_indicator_binary_sensor: Incomplete
|
41
|
+
linked_filter_life_level_sensor: Incomplete
|
42
|
+
def create_services(self) -> Service: ...
|
43
|
+
def should_add_preset_mode_switch(self, preset_mode: str) -> bool: ...
|
44
|
+
@callback
|
45
|
+
@pyhap_callback
|
46
|
+
def run(self) -> None: ...
|
47
|
+
@callback
|
48
|
+
def _async_update_current_humidity_event(self, event: Event[EventStateChangedData]) -> None: ...
|
49
|
+
@callback
|
50
|
+
def _async_update_current_humidity(self, new_state: State | None) -> None: ...
|
51
|
+
@callback
|
52
|
+
def _async_update_current_pm25_event(self, event: Event[EventStateChangedData]) -> None: ...
|
53
|
+
@callback
|
54
|
+
def _async_update_current_pm25(self, new_state: State | None) -> None: ...
|
55
|
+
@callback
|
56
|
+
def _async_update_current_temperature_event(self, event: Event[EventStateChangedData]) -> None: ...
|
57
|
+
@callback
|
58
|
+
def _async_update_current_temperature(self, new_state: State | None) -> None: ...
|
59
|
+
@callback
|
60
|
+
def _async_update_filter_change_indicator_event(self, event: Event[EventStateChangedData]) -> None: ...
|
61
|
+
@callback
|
62
|
+
def _async_update_filter_change_indicator(self, new_state: State | None) -> None: ...
|
63
|
+
@callback
|
64
|
+
def _async_update_filter_life_level_event(self, event: Event[EventStateChangedData]) -> None: ...
|
65
|
+
@callback
|
66
|
+
def _async_update_filter_life_level(self, new_state: State | None) -> None: ...
|
67
|
+
@callback
|
68
|
+
def async_update_state(self, new_state: State) -> None: ...
|
69
|
+
def set_chars(self, char_values: dict[str, Any]) -> None: ...
|
@@ -1,10 +1,11 @@
|
|
1
1
|
from .accessories import HomeAccessory as HomeAccessory, TYPES as TYPES
|
2
|
-
from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_NAME as CHAR_NAME, CHAR_ON as CHAR_ON, CHAR_ROTATION_DIRECTION as CHAR_ROTATION_DIRECTION, CHAR_ROTATION_SPEED as CHAR_ROTATION_SPEED, CHAR_SWING_MODE as CHAR_SWING_MODE, CHAR_TARGET_FAN_STATE as CHAR_TARGET_FAN_STATE, PROP_MIN_STEP as PROP_MIN_STEP, SERV_FANV2 as SERV_FANV2, SERV_SWITCH as SERV_SWITCH
|
2
|
+
from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_CONFIGURED_NAME as CHAR_CONFIGURED_NAME, CHAR_NAME as CHAR_NAME, CHAR_ON as CHAR_ON, CHAR_ROTATION_DIRECTION as CHAR_ROTATION_DIRECTION, CHAR_ROTATION_SPEED as CHAR_ROTATION_SPEED, CHAR_SWING_MODE as CHAR_SWING_MODE, CHAR_TARGET_FAN_STATE as CHAR_TARGET_FAN_STATE, PROP_MIN_STEP as PROP_MIN_STEP, SERV_FANV2 as SERV_FANV2, SERV_SWITCH as SERV_SWITCH
|
3
3
|
from .util import cleanup_name_for_homekit as cleanup_name_for_homekit
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.components.fan import ATTR_DIRECTION as ATTR_DIRECTION, ATTR_OSCILLATING as ATTR_OSCILLATING, ATTR_PERCENTAGE as ATTR_PERCENTAGE, ATTR_PERCENTAGE_STEP as ATTR_PERCENTAGE_STEP, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_PRESET_MODES as ATTR_PRESET_MODES, DIRECTION_FORWARD as DIRECTION_FORWARD, DIRECTION_REVERSE as DIRECTION_REVERSE, FanEntityFeature as FanEntityFeature, SERVICE_OSCILLATE as SERVICE_OSCILLATE, SERVICE_SET_DIRECTION as SERVICE_SET_DIRECTION, SERVICE_SET_PERCENTAGE as SERVICE_SET_PERCENTAGE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE
|
6
6
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
|
7
7
|
from homeassistant.core import State as State, callback as callback
|
8
|
+
from pyhap.service import Service as Service
|
8
9
|
from typing import Any
|
9
10
|
|
10
11
|
_LOGGER: Incomplete
|
@@ -12,14 +13,16 @@ _LOGGER: Incomplete
|
|
12
13
|
class Fan(HomeAccessory):
|
13
14
|
chars: list[str]
|
14
15
|
preset_modes: list[str] | None
|
15
|
-
char_active: Incomplete
|
16
16
|
char_direction: Incomplete
|
17
17
|
char_speed: Incomplete
|
18
18
|
char_swing: Incomplete
|
19
19
|
char_target_fan_state: Incomplete
|
20
20
|
preset_mode_chars: Incomplete
|
21
|
-
def __init__(self, *args: Any) -> None: ...
|
22
|
-
|
21
|
+
def __init__(self, *args: Any, category: int = ...) -> None: ...
|
22
|
+
char_active: Incomplete
|
23
|
+
def create_services(self) -> Service: ...
|
24
|
+
def should_add_preset_mode_switch(self, preset_mode: str) -> bool: ...
|
25
|
+
def set_chars(self, char_values: dict[str, Any]) -> None: ...
|
23
26
|
def set_single_preset_mode(self, value: int) -> None: ...
|
24
27
|
def set_preset_mode(self, value: int, preset_mode: str) -> None: ...
|
25
28
|
def set_state(self, value: int) -> None: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .accessories import HomeAccessory as HomeAccessory, TYPES as TYPES
|
2
|
-
from .const import ATTR_KEY_NAME as ATTR_KEY_NAME, CATEGORY_RECEIVER as CATEGORY_RECEIVER, CHAR_ACTIVE as CHAR_ACTIVE, CHAR_MUTE as CHAR_MUTE, CHAR_NAME as CHAR_NAME, CHAR_ON as CHAR_ON, CHAR_VOLUME as CHAR_VOLUME, CHAR_VOLUME_CONTROL_TYPE as CHAR_VOLUME_CONTROL_TYPE, CHAR_VOLUME_SELECTOR as CHAR_VOLUME_SELECTOR, CONF_FEATURE_LIST as CONF_FEATURE_LIST, EVENT_HOMEKIT_TV_REMOTE_KEY_PRESSED as EVENT_HOMEKIT_TV_REMOTE_KEY_PRESSED, FEATURE_ON_OFF as FEATURE_ON_OFF, FEATURE_PLAY_PAUSE as FEATURE_PLAY_PAUSE, FEATURE_PLAY_STOP as FEATURE_PLAY_STOP, FEATURE_TOGGLE_MUTE as FEATURE_TOGGLE_MUTE, KEY_PLAY_PAUSE as KEY_PLAY_PAUSE, SERV_SWITCH as SERV_SWITCH, SERV_TELEVISION_SPEAKER as SERV_TELEVISION_SPEAKER
|
2
|
+
from .const import ATTR_KEY_NAME as ATTR_KEY_NAME, CATEGORY_RECEIVER as CATEGORY_RECEIVER, CHAR_ACTIVE as CHAR_ACTIVE, CHAR_CONFIGURED_NAME as CHAR_CONFIGURED_NAME, CHAR_MUTE as CHAR_MUTE, CHAR_NAME as CHAR_NAME, CHAR_ON as CHAR_ON, CHAR_VOLUME as CHAR_VOLUME, CHAR_VOLUME_CONTROL_TYPE as CHAR_VOLUME_CONTROL_TYPE, CHAR_VOLUME_SELECTOR as CHAR_VOLUME_SELECTOR, CONF_FEATURE_LIST as CONF_FEATURE_LIST, EVENT_HOMEKIT_TV_REMOTE_KEY_PRESSED as EVENT_HOMEKIT_TV_REMOTE_KEY_PRESSED, FEATURE_ON_OFF as FEATURE_ON_OFF, FEATURE_PLAY_PAUSE as FEATURE_PLAY_PAUSE, FEATURE_PLAY_STOP as FEATURE_PLAY_STOP, FEATURE_TOGGLE_MUTE as FEATURE_TOGGLE_MUTE, KEY_PLAY_PAUSE as KEY_PLAY_PAUSE, SERV_SWITCH as SERV_SWITCH, SERV_TELEVISION_SPEAKER as SERV_TELEVISION_SPEAKER
|
3
3
|
from .type_remotes import REMOTE_KEYS as REMOTE_KEYS, RemoteInputSelectAccessory as RemoteInputSelectAccessory
|
4
4
|
from .util import cleanup_name_for_homekit as cleanup_name_for_homekit, get_media_player_features as get_media_player_features
|
5
5
|
from _typeshed import Incomplete
|
@@ -17,6 +17,7 @@ class MediaPlayer(HomeAccessory):
|
|
17
17
|
chars: dict[str, Characteristic | None]
|
18
18
|
def __init__(self, *args: Any) -> None: ...
|
19
19
|
def generate_service_name(self, mode: str) -> str: ...
|
20
|
+
def generated_configured_name(self, mode: str) -> str: ...
|
20
21
|
def set_on_off(self, value: bool) -> None: ...
|
21
22
|
def set_play_pause(self, value: bool) -> None: ...
|
22
23
|
def set_play_stop(self, value: bool) -> None: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from .accessories import HomeAccessory as HomeAccessory, HomeDriver as HomeDriver, TYPES as TYPES
|
2
|
-
from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_IN_USE as CHAR_IN_USE, CHAR_NAME as CHAR_NAME, CHAR_ON as CHAR_ON, CHAR_OUTLET_IN_USE as CHAR_OUTLET_IN_USE, CHAR_VALVE_TYPE as CHAR_VALVE_TYPE, SERV_OUTLET as SERV_OUTLET, SERV_SWITCH as SERV_SWITCH, SERV_VALVE as SERV_VALVE, TYPE_FAUCET as TYPE_FAUCET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_VALVE as TYPE_VALVE
|
2
|
+
from .const import CHAR_ACTIVE as CHAR_ACTIVE, CHAR_CONFIGURED_NAME as CHAR_CONFIGURED_NAME, CHAR_IN_USE as CHAR_IN_USE, CHAR_NAME as CHAR_NAME, CHAR_ON as CHAR_ON, CHAR_OUTLET_IN_USE as CHAR_OUTLET_IN_USE, CHAR_VALVE_TYPE as CHAR_VALVE_TYPE, SERV_OUTLET as SERV_OUTLET, SERV_SWITCH as SERV_SWITCH, SERV_VALVE as SERV_VALVE, TYPE_FAUCET as TYPE_FAUCET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_VALVE as TYPE_VALVE
|
3
3
|
from .util import cleanup_name_for_homekit as cleanup_name_for_homekit
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.components import button as button, input_button as input_button
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .accessories import HomeAccessory as HomeAccessory, TYPES as TYPES
|
2
2
|
from .aidmanager import get_system_unique_id as get_system_unique_id
|
3
|
-
from .const import CHAR_NAME as CHAR_NAME, CHAR_PROGRAMMABLE_SWITCH_EVENT as CHAR_PROGRAMMABLE_SWITCH_EVENT, CHAR_SERVICE_LABEL_INDEX as CHAR_SERVICE_LABEL_INDEX, CHAR_SERVICE_LABEL_NAMESPACE as CHAR_SERVICE_LABEL_NAMESPACE, SERV_SERVICE_LABEL as SERV_SERVICE_LABEL, SERV_STATELESS_PROGRAMMABLE_SWITCH as SERV_STATELESS_PROGRAMMABLE_SWITCH
|
3
|
+
from .const import CHAR_CONFIGURED_NAME as CHAR_CONFIGURED_NAME, CHAR_NAME as CHAR_NAME, CHAR_PROGRAMMABLE_SWITCH_EVENT as CHAR_PROGRAMMABLE_SWITCH_EVENT, CHAR_SERVICE_LABEL_INDEX as CHAR_SERVICE_LABEL_INDEX, CHAR_SERVICE_LABEL_NAMESPACE as CHAR_SERVICE_LABEL_NAMESPACE, SERV_SERVICE_LABEL as SERV_SERVICE_LABEL, SERV_STATELESS_PROGRAMMABLE_SWITCH as SERV_STATELESS_PROGRAMMABLE_SWITCH
|
4
4
|
from .util import cleanup_name_for_homekit as cleanup_name_for_homekit
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, callback as callback
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import socket
|
2
|
-
from .const import AUDIO_CODEC_COPY as AUDIO_CODEC_COPY, AUDIO_CODEC_OPUS as AUDIO_CODEC_OPUS, CONF_AUDIO_CODEC as CONF_AUDIO_CODEC, CONF_AUDIO_MAP as CONF_AUDIO_MAP, CONF_AUDIO_PACKET_SIZE as CONF_AUDIO_PACKET_SIZE, CONF_FEATURE as CONF_FEATURE, CONF_FEATURE_LIST as CONF_FEATURE_LIST, CONF_LINKED_BATTERY_CHARGING_SENSOR as CONF_LINKED_BATTERY_CHARGING_SENSOR, CONF_LINKED_BATTERY_SENSOR as CONF_LINKED_BATTERY_SENSOR, CONF_LINKED_DOORBELL_SENSOR as CONF_LINKED_DOORBELL_SENSOR, CONF_LINKED_HUMIDITY_SENSOR as CONF_LINKED_HUMIDITY_SENSOR, CONF_LINKED_MOTION_SENSOR as CONF_LINKED_MOTION_SENSOR, CONF_LINKED_OBSTRUCTION_SENSOR as CONF_LINKED_OBSTRUCTION_SENSOR, CONF_LOW_BATTERY_THRESHOLD as CONF_LOW_BATTERY_THRESHOLD, CONF_MAX_FPS as CONF_MAX_FPS, CONF_MAX_HEIGHT as CONF_MAX_HEIGHT, CONF_MAX_WIDTH as CONF_MAX_WIDTH, CONF_STREAM_ADDRESS as CONF_STREAM_ADDRESS, CONF_STREAM_COUNT as CONF_STREAM_COUNT, CONF_STREAM_SOURCE as CONF_STREAM_SOURCE, CONF_SUPPORT_AUDIO as CONF_SUPPORT_AUDIO, CONF_THRESHOLD_CO as CONF_THRESHOLD_CO, CONF_THRESHOLD_CO2 as CONF_THRESHOLD_CO2, CONF_VIDEO_CODEC as CONF_VIDEO_CODEC, CONF_VIDEO_MAP as CONF_VIDEO_MAP, CONF_VIDEO_PACKET_SIZE as CONF_VIDEO_PACKET_SIZE, CONF_VIDEO_PROFILE_NAMES as CONF_VIDEO_PROFILE_NAMES, DEFAULT_AUDIO_CODEC as DEFAULT_AUDIO_CODEC, DEFAULT_AUDIO_MAP as DEFAULT_AUDIO_MAP, DEFAULT_AUDIO_PACKET_SIZE as DEFAULT_AUDIO_PACKET_SIZE, DEFAULT_LOW_BATTERY_THRESHOLD as DEFAULT_LOW_BATTERY_THRESHOLD, DEFAULT_MAX_FPS as DEFAULT_MAX_FPS, DEFAULT_MAX_HEIGHT as DEFAULT_MAX_HEIGHT, DEFAULT_MAX_WIDTH as DEFAULT_MAX_WIDTH, DEFAULT_STREAM_COUNT as DEFAULT_STREAM_COUNT, DEFAULT_SUPPORT_AUDIO as DEFAULT_SUPPORT_AUDIO, DEFAULT_VIDEO_CODEC as DEFAULT_VIDEO_CODEC, DEFAULT_VIDEO_MAP as DEFAULT_VIDEO_MAP, DEFAULT_VIDEO_PACKET_SIZE as DEFAULT_VIDEO_PACKET_SIZE, DEFAULT_VIDEO_PROFILE_NAMES as DEFAULT_VIDEO_PROFILE_NAMES, DOMAIN as DOMAIN, FEATURE_ON_OFF as FEATURE_ON_OFF, FEATURE_PLAY_PAUSE as FEATURE_PLAY_PAUSE, FEATURE_PLAY_STOP as FEATURE_PLAY_STOP, FEATURE_TOGGLE_MUTE as FEATURE_TOGGLE_MUTE, MAX_NAME_LENGTH as MAX_NAME_LENGTH, TYPE_FAUCET as TYPE_FAUCET, TYPE_OUTLET as TYPE_OUTLET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_SWITCH as TYPE_SWITCH, TYPE_VALVE as TYPE_VALVE, VIDEO_CODEC_COPY as VIDEO_CODEC_COPY, VIDEO_CODEC_H264_OMX as VIDEO_CODEC_H264_OMX, VIDEO_CODEC_H264_V4L2M2M as VIDEO_CODEC_H264_V4L2M2M, VIDEO_CODEC_LIBX264 as VIDEO_CODEC_LIBX264
|
2
|
+
from .const import AUDIO_CODEC_COPY as AUDIO_CODEC_COPY, AUDIO_CODEC_OPUS as AUDIO_CODEC_OPUS, CONF_AUDIO_CODEC as CONF_AUDIO_CODEC, CONF_AUDIO_MAP as CONF_AUDIO_MAP, CONF_AUDIO_PACKET_SIZE as CONF_AUDIO_PACKET_SIZE, CONF_FEATURE as CONF_FEATURE, CONF_FEATURE_LIST as CONF_FEATURE_LIST, CONF_LINKED_BATTERY_CHARGING_SENSOR as CONF_LINKED_BATTERY_CHARGING_SENSOR, CONF_LINKED_BATTERY_SENSOR as CONF_LINKED_BATTERY_SENSOR, CONF_LINKED_DOORBELL_SENSOR as CONF_LINKED_DOORBELL_SENSOR, CONF_LINKED_FILTER_CHANGE_INDICATION as CONF_LINKED_FILTER_CHANGE_INDICATION, CONF_LINKED_FILTER_LIFE_LEVEL as CONF_LINKED_FILTER_LIFE_LEVEL, CONF_LINKED_HUMIDITY_SENSOR as CONF_LINKED_HUMIDITY_SENSOR, CONF_LINKED_MOTION_SENSOR as CONF_LINKED_MOTION_SENSOR, CONF_LINKED_OBSTRUCTION_SENSOR as CONF_LINKED_OBSTRUCTION_SENSOR, CONF_LINKED_PM25_SENSOR as CONF_LINKED_PM25_SENSOR, CONF_LINKED_TEMPERATURE_SENSOR as CONF_LINKED_TEMPERATURE_SENSOR, CONF_LOW_BATTERY_THRESHOLD as CONF_LOW_BATTERY_THRESHOLD, CONF_MAX_FPS as CONF_MAX_FPS, CONF_MAX_HEIGHT as CONF_MAX_HEIGHT, CONF_MAX_WIDTH as CONF_MAX_WIDTH, CONF_STREAM_ADDRESS as CONF_STREAM_ADDRESS, CONF_STREAM_COUNT as CONF_STREAM_COUNT, CONF_STREAM_SOURCE as CONF_STREAM_SOURCE, CONF_SUPPORT_AUDIO as CONF_SUPPORT_AUDIO, CONF_THRESHOLD_CO as CONF_THRESHOLD_CO, CONF_THRESHOLD_CO2 as CONF_THRESHOLD_CO2, CONF_VIDEO_CODEC as CONF_VIDEO_CODEC, CONF_VIDEO_MAP as CONF_VIDEO_MAP, CONF_VIDEO_PACKET_SIZE as CONF_VIDEO_PACKET_SIZE, CONF_VIDEO_PROFILE_NAMES as CONF_VIDEO_PROFILE_NAMES, DEFAULT_AUDIO_CODEC as DEFAULT_AUDIO_CODEC, DEFAULT_AUDIO_MAP as DEFAULT_AUDIO_MAP, DEFAULT_AUDIO_PACKET_SIZE as DEFAULT_AUDIO_PACKET_SIZE, DEFAULT_LOW_BATTERY_THRESHOLD as DEFAULT_LOW_BATTERY_THRESHOLD, DEFAULT_MAX_FPS as DEFAULT_MAX_FPS, DEFAULT_MAX_HEIGHT as DEFAULT_MAX_HEIGHT, DEFAULT_MAX_WIDTH as DEFAULT_MAX_WIDTH, DEFAULT_STREAM_COUNT as DEFAULT_STREAM_COUNT, DEFAULT_SUPPORT_AUDIO as DEFAULT_SUPPORT_AUDIO, DEFAULT_VIDEO_CODEC as DEFAULT_VIDEO_CODEC, DEFAULT_VIDEO_MAP as DEFAULT_VIDEO_MAP, DEFAULT_VIDEO_PACKET_SIZE as DEFAULT_VIDEO_PACKET_SIZE, DEFAULT_VIDEO_PROFILE_NAMES as DEFAULT_VIDEO_PROFILE_NAMES, DOMAIN as DOMAIN, FEATURE_ON_OFF as FEATURE_ON_OFF, FEATURE_PLAY_PAUSE as FEATURE_PLAY_PAUSE, FEATURE_PLAY_STOP as FEATURE_PLAY_STOP, FEATURE_TOGGLE_MUTE as FEATURE_TOGGLE_MUTE, MAX_NAME_LENGTH as MAX_NAME_LENGTH, TYPE_AIR_PURIFIER as TYPE_AIR_PURIFIER, TYPE_FAN as TYPE_FAN, TYPE_FAUCET as TYPE_FAUCET, TYPE_OUTLET as TYPE_OUTLET, TYPE_SHOWER as TYPE_SHOWER, TYPE_SPRINKLER as TYPE_SPRINKLER, TYPE_SWITCH as TYPE_SWITCH, TYPE_VALVE as TYPE_VALVE, VIDEO_CODEC_COPY as VIDEO_CODEC_COPY, VIDEO_CODEC_H264_OMX as VIDEO_CODEC_H264_OMX, VIDEO_CODEC_H264_V4L2M2M as VIDEO_CODEC_H264_V4L2M2M, VIDEO_CODEC_LIBX264 as VIDEO_CODEC_LIBX264
|
3
3
|
from .models import HomeKitConfigEntry as HomeKitConfigEntry
|
4
4
|
from _typeshed import Incomplete
|
5
5
|
from homeassistant.components import binary_sensor as binary_sensor, media_player as media_player, persistent_notification as persistent_notification, sensor as sensor
|
@@ -24,6 +24,7 @@ BASIC_INFO_SCHEMA: Incomplete
|
|
24
24
|
FEATURE_SCHEMA: Incomplete
|
25
25
|
CAMERA_SCHEMA: Incomplete
|
26
26
|
HUMIDIFIER_SCHEMA: Incomplete
|
27
|
+
FAN_SCHEMA: Incomplete
|
27
28
|
COVER_SCHEMA: Incomplete
|
28
29
|
CODE_SCHEMA: Incomplete
|
29
30
|
LOCK_SCHEMA: Incomplete
|
@@ -1,6 +1,12 @@
|
|
1
1
|
from aiohttp.web import Application as Application, Request as Request, StreamResponse as StreamResponse
|
2
2
|
from collections.abc import Callable as Callable
|
3
3
|
from homeassistant.core import callback as callback
|
4
|
+
from multidict import istr
|
5
|
+
from typing import Final
|
6
|
+
|
7
|
+
REFERRER_POLICY: Final[istr]
|
8
|
+
X_CONTENT_TYPE_OPTIONS: Final[istr]
|
9
|
+
X_FRAME_OPTIONS: Final[istr]
|
4
10
|
|
5
11
|
@callback
|
6
12
|
def setup_headers(app: Application, use_x_frame_options: bool) -> None: ...
|