homeassistant-stubs 2025.5.3__py3-none-any.whl → 2025.6.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/components/airthings/sensor.pyi +1 -1
- homeassistant-stubs/components/alexa_devices/__init__.pyi +9 -0
- homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +26 -0
- homeassistant-stubs/components/alexa_devices/config_flow.pyi +8 -0
- homeassistant-stubs/components/alexa_devices/const.pyi +5 -0
- homeassistant-stubs/components/alexa_devices/coordinator.pyi +17 -0
- homeassistant-stubs/components/alexa_devices/diagnostics.pyi +14 -0
- homeassistant-stubs/components/alexa_devices/entity.pyi +19 -0
- homeassistant-stubs/components/alexa_devices/notify.pyi +25 -0
- homeassistant-stubs/components/alexa_devices/switch.pyi +30 -0
- homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
- homeassistant-stubs/components/axis/config_flow.pyi +2 -2
- homeassistant-stubs/components/axis/entity.pyi +1 -0
- homeassistant-stubs/components/backup/__init__.pyi +2 -2
- homeassistant-stubs/components/backup/coordinator.pyi +3 -0
- homeassistant-stubs/components/backup/entity.pyi +5 -2
- homeassistant-stubs/components/backup/event.pyi +23 -0
- homeassistant-stubs/components/backup/manager.pyi +22 -3
- homeassistant-stubs/components/backup/models.pyi +2 -2
- homeassistant-stubs/components/blue_current/button.pyi +25 -0
- homeassistant-stubs/components/blue_current/entity.pyi +3 -6
- homeassistant-stubs/components/bluesound/button.pyi +35 -0
- homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
- homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
- homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
- homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
- homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
- homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
- homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
- homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
- homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
- homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
- homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
- homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
- homeassistant-stubs/components/bring/__init__.pyi +1 -1
- homeassistant-stubs/components/bring/coordinator.pyi +21 -3
- homeassistant-stubs/components/bring/entity.pyi +3 -3
- homeassistant-stubs/components/bring/event.pyi +3 -2
- homeassistant-stubs/components/bring/sensor.pyi +1 -0
- homeassistant-stubs/components/bring/todo.pyi +1 -0
- homeassistant-stubs/components/camera/__init__.pyi +2 -10
- homeassistant-stubs/components/camera/webrtc.pyi +1 -22
- homeassistant-stubs/components/climate/__init__.pyi +3 -13
- homeassistant-stubs/components/climate/const.pyi +0 -3
- homeassistant-stubs/components/climate/significant_change.pyi +1 -1
- homeassistant-stubs/components/cloud/__init__.pyi +1 -1
- homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
- homeassistant-stubs/components/cloud/client.pyi +2 -1
- homeassistant-stubs/components/cloud/const.pyi +0 -1
- homeassistant-stubs/components/cloud/google_config.pyi +1 -1
- homeassistant-stubs/components/cloud/http_api.pyi +0 -2
- homeassistant-stubs/components/comelit/climate.pyi +14 -5
- homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
- homeassistant-stubs/components/comelit/const.pyi +3 -0
- homeassistant-stubs/components/comelit/cover.pyi +3 -1
- homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
- homeassistant-stubs/components/comelit/light.pyi +2 -0
- homeassistant-stubs/components/comelit/switch.pyi +2 -0
- homeassistant-stubs/components/comelit/utils.pyi +11 -0
- homeassistant-stubs/components/command_line/notify.pyi +3 -1
- homeassistant-stubs/components/config/entity_registry.pyi +6 -0
- homeassistant-stubs/components/deconz/entity.pyi +1 -0
- homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
- homeassistant-stubs/components/deconz/light.pyi +1 -1
- homeassistant-stubs/components/demo/media_player.pyi +2 -1
- homeassistant-stubs/components/derivative/__init__.pyi +2 -1
- homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
- homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
- homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
- homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
- homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
- homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
- homeassistant-stubs/components/downloader/__init__.pyi +3 -4
- homeassistant-stubs/components/downloader/services.pyi +7 -0
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/ecovacs/button.pyi +2 -2
- homeassistant-stubs/components/ecovacs/number.pyi +1 -1
- homeassistant-stubs/components/ecovacs/select.pyi +1 -1
- homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
- homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
- homeassistant-stubs/components/ecovacs/util.pyi +1 -1
- homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
- homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
- homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
- homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
- homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
- homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
- homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
- homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
- homeassistant-stubs/components/elkm1/climate.pyi +0 -6
- homeassistant-stubs/components/esphome/entity.pyi +2 -0
- homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
- homeassistant-stubs/components/esphome/light.pyi +4 -4
- homeassistant-stubs/components/esphome/manager.pyi +0 -1
- homeassistant-stubs/components/esphome/update.pyi +8 -4
- homeassistant-stubs/components/feedreader/event.pyi +1 -2
- homeassistant-stubs/components/fritz/__init__.pyi +1 -1
- homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
- homeassistant-stubs/components/fritz/const.pyi +2 -0
- homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
- homeassistant-stubs/components/frontend/storage.pyi +25 -9
- homeassistant-stubs/components/fyta/image.pyi +18 -4
- homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -2
- homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -3
- homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
- homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
- homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
- homeassistant-stubs/components/google/__init__.pyi +7 -8
- homeassistant-stubs/components/google/api.pyi +2 -2
- homeassistant-stubs/components/google/calendar.pyi +5 -5
- homeassistant-stubs/components/google/config_flow.pyi +3 -2
- homeassistant-stubs/components/google/const.pyi +0 -2
- homeassistant-stubs/components/google/coordinator.pyi +5 -5
- homeassistant-stubs/components/google/diagnostics.pyi +2 -3
- homeassistant-stubs/components/google/store.pyi +9 -0
- homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
- homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
- homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
- homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
- homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +8 -1
- homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
- homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
- homeassistant-stubs/components/guardian/__init__.pyi +11 -18
- homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
- homeassistant-stubs/components/guardian/button.pyi +4 -5
- homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
- homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
- homeassistant-stubs/components/guardian/entity.pyi +3 -3
- homeassistant-stubs/components/guardian/sensor.pyi +3 -4
- homeassistant-stubs/components/guardian/services.pyi +28 -0
- homeassistant-stubs/components/guardian/switch.pyi +4 -5
- homeassistant-stubs/components/guardian/util.pyi +2 -2
- homeassistant-stubs/components/guardian/valve.pyi +4 -5
- homeassistant-stubs/components/habitica/const.pyi +1 -6
- homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
- homeassistant-stubs/components/habitica/sensor.pyi +3 -1
- homeassistant-stubs/components/habitica/services.pyi +2 -4
- homeassistant-stubs/components/habitica/util.pyi +2 -0
- homeassistant-stubs/components/hardware/__init__.pyi +3 -1
- homeassistant-stubs/components/hardware/const.pyi +4 -0
- homeassistant-stubs/components/hardware/hardware.pyi +1 -1
- homeassistant-stubs/components/hardware/models.pyi +14 -1
- homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
- homeassistant-stubs/components/heos/media_player.pyi +1 -0
- homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -6
- homeassistant-stubs/components/here_travel_time/coordinator.pyi +9 -10
- homeassistant-stubs/components/here_travel_time/model.pyi +6 -10
- homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
- homeassistant-stubs/components/history_stats/__init__.pyi +2 -1
- homeassistant-stubs/components/history_stats/config_flow.pyi +2 -2
- homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
- homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
- homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
- homeassistant-stubs/components/home_connect/entity.pyi +0 -1
- homeassistant-stubs/components/home_connect/light.pyi +2 -2
- homeassistant-stubs/components/home_connect/number.pyi +1 -0
- homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
- homeassistant-stubs/components/home_connect/switch.pyi +1 -19
- homeassistant-stubs/components/homeassistant/__init__.pyi +5 -0
- homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
- homeassistant-stubs/components/homee/const.pyi +2 -0
- homeassistant-stubs/components/homee/event.pyi +19 -0
- homeassistant-stubs/components/homee/fan.pyi +38 -0
- homeassistant-stubs/components/homee/sensor.pyi +5 -1
- homeassistant-stubs/components/homekit/const.pyi +1 -0
- homeassistant-stubs/components/homekit/util.pyi +1 -1
- homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
- homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
- homeassistant-stubs/components/homeworks/button.pyi +2 -3
- homeassistant-stubs/components/homeworks/light.pyi +2 -3
- homeassistant-stubs/components/http/decorators.pyi +1 -1
- homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
- homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
- homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
- homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
- homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
- homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
- homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
- homeassistant-stubs/components/immich/__init__.pyi +10 -0
- homeassistant-stubs/components/immich/config_flow.pyi +27 -0
- homeassistant-stubs/components/immich/const.pyi +4 -0
- homeassistant-stubs/components/immich/coordinator.pyi +27 -0
- homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
- homeassistant-stubs/components/immich/entity.pyi +10 -0
- homeassistant-stubs/components/immich/media_source.pyi +38 -0
- homeassistant-stubs/components/immich/sensor.pyi +28 -0
- homeassistant-stubs/components/integration/__init__.pyi +2 -1
- homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
- homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
- homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
- homeassistant-stubs/components/iqvia/entity.pyi +5 -6
- homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
- homeassistant-stubs/components/isy994/__init__.pyi +6 -7
- homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
- homeassistant-stubs/components/isy994/button.pyi +2 -3
- homeassistant-stubs/components/isy994/climate.pyi +3 -4
- homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
- homeassistant-stubs/components/isy994/cover.pyi +3 -5
- homeassistant-stubs/components/isy994/fan.pyi +3 -5
- homeassistant-stubs/components/isy994/light.pyi +3 -4
- homeassistant-stubs/components/isy994/lock.pyi +2 -5
- homeassistant-stubs/components/isy994/models.pyi +2 -0
- homeassistant-stubs/components/isy994/number.pyi +3 -4
- homeassistant-stubs/components/isy994/select.pyi +3 -4
- homeassistant-stubs/components/isy994/sensor.pyi +3 -4
- homeassistant-stubs/components/isy994/services.pyi +1 -1
- homeassistant-stubs/components/isy994/switch.pyi +2 -4
- homeassistant-stubs/components/isy994/system_health.pyi +1 -3
- homeassistant-stubs/components/isy994/util.pyi +3 -2
- homeassistant-stubs/components/jellyfin/__init__.pyi +1 -1
- homeassistant-stubs/components/jellyfin/entity.pyi +2 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
- homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
- homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +34 -15
- homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
- homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
- homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
- homeassistant-stubs/components/knx/const.pyi +7 -0
- homeassistant-stubs/components/knx/cover.pyi +20 -9
- homeassistant-stubs/components/knx/schema.pyi +1 -6
- homeassistant-stubs/components/knx/storage/const.pyi +6 -0
- homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
- homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
- homeassistant-stubs/components/lcn/const.pyi +3 -1
- homeassistant-stubs/components/lcn/cover.pyi +7 -2
- homeassistant-stubs/components/lcn/entity.pyi +1 -0
- homeassistant-stubs/components/lcn/helpers.pyi +0 -1
- homeassistant-stubs/components/lcn/schemas.pyi +1 -1
- homeassistant-stubs/components/lcn/services.pyi +2 -3
- homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
- homeassistant-stubs/components/matter/select.pyi +2 -0
- homeassistant-stubs/components/matter/sensor.pyi +3 -1
- homeassistant-stubs/components/media_player/intent.pyi +11 -1
- homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
- homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
- homeassistant-stubs/components/metoffice/const.pyi +7 -6
- homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
- homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
- homeassistant-stubs/components/metoffice/weather.pyi +23 -11
- homeassistant-stubs/components/miele/__init__.pyi +15 -0
- homeassistant-stubs/components/miele/api.pyi +9 -0
- homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
- homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
- homeassistant-stubs/components/miele/button.pyi +32 -0
- homeassistant-stubs/components/miele/climate.pyi +55 -0
- homeassistant-stubs/components/miele/config_flow.pyi +17 -0
- homeassistant-stubs/components/miele/const.pyi +127 -0
- homeassistant-stubs/components/miele/coordinator.pyi +29 -0
- homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
- homeassistant-stubs/components/miele/entity.pyi +24 -0
- homeassistant-stubs/components/miele/fan.pyi +39 -0
- homeassistant-stubs/components/miele/light.pyi +39 -0
- homeassistant-stubs/components/miele/sensor.pyi +72 -0
- homeassistant-stubs/components/miele/switch.pyi +52 -0
- homeassistant-stubs/components/miele/vacuum.pyi +84 -0
- homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/const.pyi +9 -0
- homeassistant-stubs/components/modbus/light.pyi +24 -1
- homeassistant-stubs/components/modbus/sensor.pyi +5 -3
- homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
- homeassistant-stubs/components/mqtt/button.pyi +1 -3
- homeassistant-stubs/components/mqtt/config_flow.pyi +26 -9
- homeassistant-stubs/components/mqtt/const.pyi +57 -0
- homeassistant-stubs/components/mqtt/cover.pyi +1 -25
- homeassistant-stubs/components/mqtt/fan.pyi +1 -31
- homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
- homeassistant-stubs/components/mqtt/switch.pyi +1 -5
- homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
- homeassistant-stubs/components/number/const.pyi +3 -2
- homeassistant-stubs/components/nut/__init__.pyi +1 -1
- homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
- homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -1
- homeassistant-stubs/components/openuv/entity.pyi +1 -0
- homeassistant-stubs/components/pandora/__init__.pyi +1 -0
- homeassistant-stubs/components/pandora/media_player.pyi +14 -13
- homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
- homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
- homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
- homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
- homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
- homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
- homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
- homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
- homeassistant-stubs/components/qbus/climate.pyi +1 -0
- homeassistant-stubs/components/qbus/entity.pyi +3 -3
- homeassistant-stubs/components/qbus/light.pyi +1 -0
- homeassistant-stubs/components/qbus/scene.pyi +21 -0
- homeassistant-stubs/components/qbus/switch.pyi +1 -0
- homeassistant-stubs/components/recorder/services.pyi +7 -1
- homeassistant-stubs/components/recorder/statistics.pyi +1 -1
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/reolink/__init__.pyi +3 -1
- homeassistant-stubs/components/reolink/const.pyi +5 -0
- homeassistant-stubs/components/reolink/host.pyi +3 -3
- homeassistant-stubs/components/reolink/media_source.pyi +2 -1
- homeassistant-stubs/components/reolink/views.pyi +1 -0
- homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
- homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
- homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
- homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
- homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
- homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
- homeassistant-stubs/components/sensor/__init__.pyi +1 -0
- homeassistant-stubs/components/sensor/const.pyi +5 -2
- homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
- homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
- homeassistant-stubs/components/shelly/__init__.pyi +1 -1
- homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/shelly/button.pyi +5 -4
- homeassistant-stubs/components/shelly/climate.pyi +5 -5
- homeassistant-stubs/components/shelly/const.pyi +2 -0
- homeassistant-stubs/components/shelly/cover.pyi +2 -0
- homeassistant-stubs/components/shelly/entity.pyi +4 -2
- homeassistant-stubs/components/shelly/event.pyi +4 -2
- homeassistant-stubs/components/shelly/light.pyi +2 -0
- homeassistant-stubs/components/shelly/number.pyi +3 -2
- homeassistant-stubs/components/shelly/select.pyi +2 -0
- homeassistant-stubs/components/shelly/sensor.pyi +9 -2
- homeassistant-stubs/components/shelly/switch.pyi +2 -2
- homeassistant-stubs/components/shelly/text.pyi +2 -0
- homeassistant-stubs/components/shelly/update.pyi +1 -0
- homeassistant-stubs/components/shelly/utils.pyi +14 -7
- homeassistant-stubs/components/shelly/valve.pyi +2 -0
- homeassistant-stubs/components/smlight/button.pyi +3 -2
- homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
- homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
- homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
- homeassistant-stubs/components/squeezebox/button.pyi +3 -0
- homeassistant-stubs/components/squeezebox/const.pyi +12 -2
- homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
- homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
- homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
- homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
- homeassistant-stubs/components/squeezebox/update.pyi +50 -0
- homeassistant-stubs/components/statistics/__init__.pyi +2 -1
- homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
- homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
- homeassistant-stubs/components/sun/condition.pyi +13 -0
- homeassistant-stubs/components/switch_as_x/__init__.pyi +16 -3
- homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
- homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
- homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
- homeassistant-stubs/components/threshold/__init__.pyi +2 -1
- homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
- homeassistant-stubs/components/tibber/notify.pyi +2 -2
- homeassistant-stubs/components/tibber/sensor.pyi +1 -1
- homeassistant-stubs/components/trend/__init__.pyi +2 -1
- homeassistant-stubs/components/tts/__init__.pyi +4 -1
- homeassistant-stubs/components/tts/const.pyi +1 -0
- homeassistant-stubs/components/tts/entity.pyi +4 -0
- homeassistant-stubs/components/tts/legacy.pyi +3 -1
- homeassistant-stubs/components/tts/media_source.pyi +5 -2
- homeassistant-stubs/components/unifi/__init__.pyi +1 -1
- homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
- homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
- homeassistant-stubs/components/unifi/services.pyi +1 -0
- homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
- homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
- homeassistant-stubs/components/wallbox/const.pyi +10 -0
- homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
- homeassistant-stubs/components/wallbox/select.pyi +29 -0
- homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
- homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
- homeassistant-stubs/components/wemo/light.pyi +1 -0
- homeassistant-stubs/components/whois/const.pyi +1 -0
- homeassistant-stubs/components/whois/sensor.pyi +2 -1
- homeassistant-stubs/components/withings/application_credentials.pyi +2 -0
- homeassistant-stubs/components/youtube/sensor.pyi +1 -1
- homeassistant-stubs/components/zwave_js/__init__.pyi +1 -2
- homeassistant-stubs/components/zwave_js/config_flow.pyi +7 -7
- homeassistant-stubs/components/zwave_js/const.pyi +1 -2
- homeassistant-stubs/config_entries.pyi +0 -1
- homeassistant-stubs/const.pyi +5 -0
- homeassistant-stubs/core_config.pyi +0 -2
- homeassistant-stubs/helpers/condition.pyi +1 -6
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
- homeassistant-stubs/helpers/config_validation.pyi +7 -2
- homeassistant-stubs/helpers/device.pyi +1 -1
- homeassistant-stubs/helpers/device_registry.pyi +4 -4
- homeassistant-stubs/helpers/entity_component.pyi +5 -2
- homeassistant-stubs/helpers/entity_platform.pyi +4 -1
- homeassistant-stubs/helpers/entity_registry.pyi +7 -6
- homeassistant-stubs/helpers/helper_integration.pyi +6 -0
- homeassistant-stubs/helpers/selector.pyi +55 -50
- homeassistant-stubs/helpers/service.pyi +3 -3
- homeassistant-stubs/helpers/template.pyi +4 -1
- homeassistant-stubs/util/aiohttp.pyi +5 -0
- homeassistant-stubs/util/unit_conversion.pyi +11 -1
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/RECORD +416 -357
- homeassistant-stubs/components/metoffice/data.pyi +0 -10
- homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
- homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
import logging
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from collections.abc import Mapping
|
4
|
+
from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
|
5
|
+
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
6
|
+
from typing import Any
|
7
|
+
|
8
|
+
class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain=DOMAIN):
|
9
|
+
DOMAIN = DOMAIN
|
10
|
+
@property
|
11
|
+
def logger(self) -> logging.Logger: ...
|
12
|
+
@property
|
13
|
+
def extra_authorize_data(self) -> dict: ...
|
14
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
15
|
+
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
16
|
+
async def async_step_reconfigure(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
|
+
async def async_oauth_create_entry(self, data: dict) -> ConfigFlowResult: ...
|
@@ -0,0 +1,127 @@
|
|
1
|
+
from _typeshed import Incomplete
|
2
|
+
from enum import IntEnum
|
3
|
+
from pymiele import MieleEnum
|
4
|
+
|
5
|
+
DOMAIN: str
|
6
|
+
MANUFACTURER: str
|
7
|
+
ACTIONS: str
|
8
|
+
POWER_ON: str
|
9
|
+
POWER_OFF: str
|
10
|
+
PROCESS_ACTION: str
|
11
|
+
PROGRAM_ID: str
|
12
|
+
VENTILATION_STEP: str
|
13
|
+
TARGET_TEMPERATURE: str
|
14
|
+
AMBIENT_LIGHT: str
|
15
|
+
LIGHT: str
|
16
|
+
LIGHT_ON: int
|
17
|
+
LIGHT_OFF: int
|
18
|
+
DISABLED_TEMP_ENTITIES: Incomplete
|
19
|
+
|
20
|
+
class MieleAppliance(IntEnum):
|
21
|
+
WASHING_MACHINE = 1
|
22
|
+
TUMBLE_DRYER = 2
|
23
|
+
WASHING_MACHINE_SEMI_PROFESSIONAL = 3
|
24
|
+
TUMBLE_DRYER_SEMI_PROFESSIONAL = 4
|
25
|
+
WASHING_MACHINE_PROFESSIONAL = 5
|
26
|
+
DRYER_PROFESSIONAL = 6
|
27
|
+
DISHWASHER = 7
|
28
|
+
DISHWASHER_SEMI_PROFESSIONAL = 8
|
29
|
+
DISHWASHER_PROFESSIONAL = 9
|
30
|
+
OVEN = 12
|
31
|
+
OVEN_MICROWAVE = 13
|
32
|
+
HOB_HIGHLIGHT = 14
|
33
|
+
STEAM_OVEN = 15
|
34
|
+
MICROWAVE = 16
|
35
|
+
COFFEE_SYSTEM = 17
|
36
|
+
HOOD = 18
|
37
|
+
FRIDGE = 19
|
38
|
+
FREEZER = 20
|
39
|
+
FRIDGE_FREEZER = 21
|
40
|
+
ROBOT_VACUUM_CLEANER = 23
|
41
|
+
WASHER_DRYER = 24
|
42
|
+
DISH_WARMER = 25
|
43
|
+
HOB_INDUCTION = 27
|
44
|
+
STEAM_OVEN_COMBI = 31
|
45
|
+
WINE_CABINET = 32
|
46
|
+
WINE_CONDITIONING_UNIT = 33
|
47
|
+
WINE_STORAGE_CONDITIONING_UNIT = 34
|
48
|
+
STEAM_OVEN_MICRO = 45
|
49
|
+
DIALOG_OVEN = 67
|
50
|
+
WINE_CABINET_FREEZER = 68
|
51
|
+
STEAM_OVEN_MK2 = 73
|
52
|
+
HOB_INDUCT_EXTR = 74
|
53
|
+
|
54
|
+
DEVICE_TYPE_TAGS: Incomplete
|
55
|
+
|
56
|
+
class StateStatus(IntEnum):
|
57
|
+
RESERVED = 0
|
58
|
+
OFF = 1
|
59
|
+
ON = 2
|
60
|
+
PROGRAMMED = 3
|
61
|
+
WAITING_TO_START = 4
|
62
|
+
IN_USE = 5
|
63
|
+
PAUSE = 6
|
64
|
+
PROGRAM_ENDED = 7
|
65
|
+
FAILURE = 8
|
66
|
+
PROGRAM_INTERRUPTED = 9
|
67
|
+
IDLE = 10
|
68
|
+
RINSE_HOLD = 11
|
69
|
+
SERVICE = 12
|
70
|
+
SUPERFREEZING = 13
|
71
|
+
SUPERCOOLING = 14
|
72
|
+
SUPERHEATING = 15
|
73
|
+
SUPERCOOLING_SUPERFREEZING = 146
|
74
|
+
AUTOCLEANING = 147
|
75
|
+
NOT_CONNECTED = 255
|
76
|
+
|
77
|
+
STATE_STATUS_TAGS: Incomplete
|
78
|
+
|
79
|
+
class MieleActions(IntEnum):
|
80
|
+
START = 1
|
81
|
+
STOP = 2
|
82
|
+
PAUSE = 3
|
83
|
+
START_SUPERFREEZE = 4
|
84
|
+
STOP_SUPERFREEZE = 5
|
85
|
+
START_SUPERCOOL = 6
|
86
|
+
STOP_SUPERCOOL = 7
|
87
|
+
|
88
|
+
PROCESS_ACTIONS: Incomplete
|
89
|
+
STATE_PROGRAM_PHASE_WASHING_MACHINE: Incomplete
|
90
|
+
STATE_PROGRAM_PHASE_TUMBLE_DRYER: Incomplete
|
91
|
+
STATE_PROGRAM_PHASE_DISHWASHER: Incomplete
|
92
|
+
STATE_PROGRAM_PHASE_OVEN: Incomplete
|
93
|
+
STATE_PROGRAM_PHASE_WARMING_DRAWER: Incomplete
|
94
|
+
STATE_PROGRAM_PHASE_MICROWAVE: Incomplete
|
95
|
+
STATE_PROGRAM_PHASE_COFFEE_SYSTEM: Incomplete
|
96
|
+
STATE_PROGRAM_PHASE_ROBOT_VACUUM_CLEANER: Incomplete
|
97
|
+
STATE_PROGRAM_PHASE_STEAM_OVEN: Incomplete
|
98
|
+
STATE_PROGRAM_PHASE: dict[int, dict[int, str]]
|
99
|
+
|
100
|
+
class StateProgramType(MieleEnum):
|
101
|
+
normal_operation_mode: int
|
102
|
+
own_program: int
|
103
|
+
automatic_program: int
|
104
|
+
cleaning_care_program: int
|
105
|
+
maintenance_program: int
|
106
|
+
missing2none: int
|
107
|
+
|
108
|
+
class StateDryingStep(MieleEnum):
|
109
|
+
extra_dry: int
|
110
|
+
normal_plus: int
|
111
|
+
normal: int
|
112
|
+
slightly_dry: int
|
113
|
+
hand_iron_1: int
|
114
|
+
hand_iron_2: int
|
115
|
+
machine_iron: int
|
116
|
+
smoothing: int
|
117
|
+
missing2none: int
|
118
|
+
|
119
|
+
WASHING_MACHINE_PROGRAM_ID: dict[int, str]
|
120
|
+
DISHWASHER_PROGRAM_ID: dict[int, str]
|
121
|
+
TUMBLE_DRYER_PROGRAM_ID: dict[int, str]
|
122
|
+
OVEN_PROGRAM_ID: dict[int, str]
|
123
|
+
DISH_WARMER_PROGRAM_ID: dict[int, str]
|
124
|
+
ROBOT_VACUUM_CLEANER_PROGRAM_ID: dict[int, str]
|
125
|
+
COFFEE_SYSTEM_PROGRAM_ID: dict[int, str]
|
126
|
+
STEAM_OVEN_MICRO_PROGRAM_ID: dict[int, str]
|
127
|
+
STATE_PROGRAM_ID: dict[int, dict[int, str]]
|
@@ -0,0 +1,29 @@
|
|
1
|
+
from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from collections.abc import Callable as Callable
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
9
|
+
from pymiele import MieleAction, MieleDevice
|
10
|
+
|
11
|
+
_LOGGER: Incomplete
|
12
|
+
type MieleConfigEntry = ConfigEntry[MieleDataUpdateCoordinator]
|
13
|
+
|
14
|
+
@dataclass
|
15
|
+
class MieleCoordinatorData:
|
16
|
+
devices: dict[str, MieleDevice]
|
17
|
+
actions: dict[str, MieleAction]
|
18
|
+
|
19
|
+
class MieleDataUpdateCoordinator(DataUpdateCoordinator[MieleCoordinatorData]):
|
20
|
+
config_entry: MieleConfigEntry
|
21
|
+
new_device_callbacks: list[Callable[[dict[str, MieleDevice]], None]]
|
22
|
+
known_devices: set[str]
|
23
|
+
devices: dict[str, MieleDevice]
|
24
|
+
api: Incomplete
|
25
|
+
def __init__(self, hass: HomeAssistant, api: AsyncConfigEntryAuth) -> None: ...
|
26
|
+
async def _async_update_data(self) -> MieleCoordinatorData: ...
|
27
|
+
def async_add_devices(self, added_devices: set[str]) -> tuple[set[str], set[str]]: ...
|
28
|
+
async def callback_update_data(self, devices_json: dict[str, dict]) -> None: ...
|
29
|
+
async def callback_update_actions(self, actions_json: dict[str, dict]) -> None: ...
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
|
+
from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
|
6
|
+
from typing import Any
|
7
|
+
|
8
|
+
TO_REDACT: Incomplete
|
9
|
+
|
10
|
+
def hash_identifier(key: str) -> str: ...
|
11
|
+
def redact_identifiers(in_data: dict[str, Any]) -> dict[str, Any]: ...
|
12
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: MieleConfigEntry) -> dict[str, Any]: ...
|
13
|
+
async def async_get_device_diagnostics(hass: HomeAssistant, config_entry: MieleConfigEntry, device: DeviceEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,24 @@
|
|
1
|
+
from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
|
2
|
+
from .const import DEVICE_TYPE_TAGS as DEVICE_TYPE_TAGS, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, MieleAppliance as MieleAppliance, StateStatus as StateStatus
|
3
|
+
from .coordinator import MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
6
|
+
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
7
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
8
|
+
from pymiele import MieleAction as MieleAction, MieleDevice as MieleDevice
|
9
|
+
|
10
|
+
class MieleEntity(CoordinatorEntity[MieleDataUpdateCoordinator]):
|
11
|
+
_attr_has_entity_name: bool
|
12
|
+
_device_id: Incomplete
|
13
|
+
entity_description: Incomplete
|
14
|
+
_attr_unique_id: Incomplete
|
15
|
+
_attr_device_info: Incomplete
|
16
|
+
def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: EntityDescription) -> None: ...
|
17
|
+
@property
|
18
|
+
def device(self) -> MieleDevice: ...
|
19
|
+
@property
|
20
|
+
def action(self) -> MieleAction: ...
|
21
|
+
@property
|
22
|
+
def api(self) -> AsyncConfigEntryAuth: ...
|
23
|
+
@property
|
24
|
+
def available(self) -> bool: ...
|
@@ -0,0 +1,39 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, MieleAppliance as MieleAppliance, POWER_OFF as POWER_OFF, POWER_ON as POWER_ON, VENTILATION_STEP as VENTILATION_STEP
|
2
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry, MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
|
3
|
+
from .entity import MieleEntity as MieleEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from homeassistant.components.fan import FanEntity as FanEntity, FanEntityDescription as FanEntityDescription, FanEntityFeature as FanEntityFeature
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
9
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
|
+
from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
|
11
|
+
from homeassistant.util.scaling import int_states_in_range as int_states_in_range
|
12
|
+
from typing import Any, Final
|
13
|
+
|
14
|
+
PARALLEL_UPDATES: int
|
15
|
+
_LOGGER: Incomplete
|
16
|
+
SPEED_RANGE: Incomplete
|
17
|
+
|
18
|
+
@dataclass(frozen=True, kw_only=True)
|
19
|
+
class MieleFanDefinition:
|
20
|
+
types: tuple[MieleAppliance, ...]
|
21
|
+
description: FanEntityDescription
|
22
|
+
|
23
|
+
FAN_TYPES: Final[tuple[MieleFanDefinition, ...]]
|
24
|
+
|
25
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
26
|
+
|
27
|
+
class MieleFan(MieleEntity, FanEntity):
|
28
|
+
entity_description: FanEntityDescription
|
29
|
+
_attr_supported_features: FanEntityFeature
|
30
|
+
def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: FanEntityDescription) -> None: ...
|
31
|
+
@property
|
32
|
+
def is_on(self) -> bool: ...
|
33
|
+
@property
|
34
|
+
def speed_count(self) -> int: ...
|
35
|
+
@property
|
36
|
+
def percentage(self) -> int | None: ...
|
37
|
+
async def async_set_percentage(self, percentage: int) -> None: ...
|
38
|
+
async def async_turn_on(self, percentage: int | None = None, preset_mode: str | None = None, **kwargs: Any) -> None: ...
|
39
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
@@ -0,0 +1,39 @@
|
|
1
|
+
from .const import AMBIENT_LIGHT as AMBIENT_LIGHT, DOMAIN as DOMAIN, LIGHT as LIGHT, LIGHT_OFF as LIGHT_OFF, LIGHT_ON as LIGHT_ON, MieleAppliance as MieleAppliance
|
2
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry
|
3
|
+
from .entity import MieleDevice as MieleDevice, MieleEntity as MieleEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity, LightEntityDescription as LightEntityDescription
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from homeassistant.helpers.typing import StateType as StateType
|
12
|
+
from typing import Any, Final
|
13
|
+
|
14
|
+
PARALLEL_UPDATES: int
|
15
|
+
_LOGGER: Incomplete
|
16
|
+
|
17
|
+
@dataclass(frozen=True, kw_only=True)
|
18
|
+
class MieleLightDescription(LightEntityDescription):
|
19
|
+
value_fn: Callable[[MieleDevice], StateType]
|
20
|
+
light_type: str
|
21
|
+
|
22
|
+
@dataclass
|
23
|
+
class MieleLightDefinition:
|
24
|
+
types: tuple[MieleAppliance, ...]
|
25
|
+
description: MieleLightDescription
|
26
|
+
|
27
|
+
LIGHT_TYPES: Final[tuple[MieleLightDefinition, ...]]
|
28
|
+
|
29
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
30
|
+
|
31
|
+
class MieleLight(MieleEntity, LightEntity):
|
32
|
+
entity_description: MieleLightDescription
|
33
|
+
_attr_color_mode: Incomplete
|
34
|
+
_attr_supported_color_modes: Incomplete
|
35
|
+
@property
|
36
|
+
def is_on(self) -> bool: ...
|
37
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
38
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
39
|
+
async def async_turn_light(self, mode: int) -> None: ...
|
@@ -0,0 +1,72 @@
|
|
1
|
+
from .const import MieleAppliance as MieleAppliance, STATE_PROGRAM_ID as STATE_PROGRAM_ID, STATE_PROGRAM_PHASE as STATE_PROGRAM_PHASE, STATE_STATUS_TAGS as STATE_STATUS_TAGS, StateDryingStep as StateDryingStep, StateProgramType as StateProgramType, StateStatus as StateStatus
|
2
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry, MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
|
3
|
+
from .entity import MieleEntity as MieleEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
8
|
+
from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfEnergy as UnitOfEnergy, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from homeassistant.helpers.typing import StateType as StateType
|
12
|
+
from pymiele import MieleDevice as MieleDevice
|
13
|
+
from typing import Final
|
14
|
+
|
15
|
+
PARALLEL_UPDATES: int
|
16
|
+
_LOGGER: Incomplete
|
17
|
+
DISABLED_TEMPERATURE: int
|
18
|
+
PLATE_POWERS: Incomplete
|
19
|
+
DEFAULT_PLATE_COUNT: int
|
20
|
+
PLATE_COUNT: Incomplete
|
21
|
+
|
22
|
+
def _get_plate_count(tech_type: str) -> int: ...
|
23
|
+
def _convert_duration(value_list: list[int]) -> int | None: ...
|
24
|
+
|
25
|
+
@dataclass(frozen=True, kw_only=True)
|
26
|
+
class MieleSensorDescription(SensorEntityDescription):
|
27
|
+
value_fn: Callable[[MieleDevice], StateType]
|
28
|
+
zone: int = ...
|
29
|
+
|
30
|
+
@dataclass
|
31
|
+
class MieleSensorDefinition:
|
32
|
+
types: tuple[MieleAppliance, ...]
|
33
|
+
description: MieleSensorDescription
|
34
|
+
|
35
|
+
SENSOR_TYPES: Final[tuple[MieleSensorDefinition, ...]]
|
36
|
+
|
37
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
38
|
+
|
39
|
+
APPLIANCE_ICONS: Incomplete
|
40
|
+
|
41
|
+
class MieleSensor(MieleEntity, SensorEntity):
|
42
|
+
entity_description: MieleSensorDescription
|
43
|
+
@property
|
44
|
+
def native_value(self) -> StateType: ...
|
45
|
+
|
46
|
+
class MielePlateSensor(MieleSensor):
|
47
|
+
entity_description: MieleSensorDescription
|
48
|
+
_attr_unique_id: Incomplete
|
49
|
+
def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: MieleSensorDescription) -> None: ...
|
50
|
+
@property
|
51
|
+
def native_value(self) -> StateType: ...
|
52
|
+
|
53
|
+
class MieleStatusSensor(MieleSensor):
|
54
|
+
_attr_name: Incomplete
|
55
|
+
_attr_icon: Incomplete
|
56
|
+
def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: MieleSensorDescription) -> None: ...
|
57
|
+
@property
|
58
|
+
def native_value(self) -> StateType: ...
|
59
|
+
@property
|
60
|
+
def available(self) -> bool: ...
|
61
|
+
|
62
|
+
class MielePhaseSensor(MieleSensor):
|
63
|
+
@property
|
64
|
+
def native_value(self) -> StateType: ...
|
65
|
+
@property
|
66
|
+
def options(self) -> list[str]: ...
|
67
|
+
|
68
|
+
class MieleProgramIdSensor(MieleSensor):
|
69
|
+
@property
|
70
|
+
def native_value(self) -> StateType: ...
|
71
|
+
@property
|
72
|
+
def options(self) -> list[str]: ...
|
@@ -0,0 +1,52 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, MieleActions as MieleActions, MieleAppliance as MieleAppliance, POWER_OFF as POWER_OFF, POWER_ON as POWER_ON, PROCESS_ACTION as PROCESS_ACTION, StateStatus as StateStatus
|
2
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry
|
3
|
+
from .entity import MieleEntity as MieleEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from homeassistant.helpers.typing import StateType as StateType
|
12
|
+
from pymiele import MieleDevice as MieleDevice
|
13
|
+
from typing import Any, Final
|
14
|
+
|
15
|
+
PARALLEL_UPDATES: int
|
16
|
+
_LOGGER: Incomplete
|
17
|
+
|
18
|
+
@dataclass(frozen=True, kw_only=True)
|
19
|
+
class MieleSwitchDescription(SwitchEntityDescription):
|
20
|
+
value_fn: Callable[[MieleDevice], StateType]
|
21
|
+
on_value: int = ...
|
22
|
+
off_value: int = ...
|
23
|
+
on_cmd_data: dict[str, str | int | bool]
|
24
|
+
off_cmd_data: dict[str, str | int | bool]
|
25
|
+
|
26
|
+
@dataclass
|
27
|
+
class MieleSwitchDefinition:
|
28
|
+
types: tuple[MieleAppliance, ...]
|
29
|
+
description: MieleSwitchDescription
|
30
|
+
|
31
|
+
SWITCH_TYPES: Final[tuple[MieleSwitchDefinition, ...]]
|
32
|
+
|
33
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
34
|
+
|
35
|
+
class MieleSwitch(MieleEntity, SwitchEntity):
|
36
|
+
entity_description: MieleSwitchDescription
|
37
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
38
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
39
|
+
async def async_turn_switch(self, mode: dict[str, str | int | bool]) -> None: ...
|
40
|
+
|
41
|
+
class MielePowerSwitch(MieleSwitch):
|
42
|
+
entity_description: MieleSwitchDescription
|
43
|
+
@property
|
44
|
+
def is_on(self) -> bool | None: ...
|
45
|
+
@property
|
46
|
+
def available(self) -> bool: ...
|
47
|
+
async def async_turn_switch(self, mode: dict[str, str | int | bool]) -> None: ...
|
48
|
+
|
49
|
+
class MieleSuperSwitch(MieleSwitch):
|
50
|
+
entity_description: MieleSwitchDescription
|
51
|
+
@property
|
52
|
+
def is_on(self) -> bool | None: ...
|
@@ -0,0 +1,84 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, MieleActions as MieleActions, MieleAppliance as MieleAppliance, PROCESS_ACTION as PROCESS_ACTION, PROGRAM_ID as PROGRAM_ID
|
2
|
+
from .coordinator import MieleConfigEntry as MieleConfigEntry
|
3
|
+
from .entity import MieleEntity as MieleEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from dataclasses import dataclass
|
6
|
+
from enum import IntEnum
|
7
|
+
from homeassistant.components.vacuum import StateVacuumEntity as StateVacuumEntity, StateVacuumEntityDescription as StateVacuumEntityDescription, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
10
|
+
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
11
|
+
from pymiele import MieleEnum
|
12
|
+
from typing import Any, Final
|
13
|
+
|
14
|
+
PARALLEL_UPDATES: int
|
15
|
+
_LOGGER: Incomplete
|
16
|
+
|
17
|
+
class FanSpeed(IntEnum):
|
18
|
+
normal = 0
|
19
|
+
turbo = 1
|
20
|
+
silent = 2
|
21
|
+
|
22
|
+
class FanProgram(IntEnum):
|
23
|
+
auto = 1
|
24
|
+
spot = 2
|
25
|
+
turbo = 3
|
26
|
+
silent = 4
|
27
|
+
|
28
|
+
PROGRAM_MAP: Incomplete
|
29
|
+
PROGRAM_TO_SPEED: dict[int, str]
|
30
|
+
|
31
|
+
class MieleVacuumStateCode(MieleEnum):
|
32
|
+
idle: int
|
33
|
+
cleaning: int
|
34
|
+
returning: int
|
35
|
+
paused: int
|
36
|
+
going_to_target_area: int
|
37
|
+
wheel_lifted: int
|
38
|
+
dirty_sensors: int
|
39
|
+
dust_box_missing: int
|
40
|
+
blocked_drive_wheels: int
|
41
|
+
blocked_brushes: int
|
42
|
+
check_dust_box_and_filter: int
|
43
|
+
internal_fault_reboot: int
|
44
|
+
blocked_front_wheel: int
|
45
|
+
docked: Incomplete
|
46
|
+
remote_controlled: int
|
47
|
+
missing2none: int
|
48
|
+
|
49
|
+
SUPPORTED_FEATURES: Incomplete
|
50
|
+
|
51
|
+
@dataclass(frozen=True, kw_only=True)
|
52
|
+
class MieleVacuumDescription(StateVacuumEntityDescription):
|
53
|
+
on_value: int
|
54
|
+
|
55
|
+
@dataclass
|
56
|
+
class MieleVacuumDefinition:
|
57
|
+
types: tuple[MieleAppliance, ...]
|
58
|
+
description: MieleVacuumDescription
|
59
|
+
|
60
|
+
VACUUM_TYPES: Final[tuple[MieleVacuumDefinition, ...]]
|
61
|
+
|
62
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
63
|
+
|
64
|
+
VACUUM_PHASE_TO_ACTIVITY: Incomplete
|
65
|
+
|
66
|
+
class MieleVacuum(MieleEntity, StateVacuumEntity):
|
67
|
+
entity_description: MieleVacuumDescription
|
68
|
+
_attr_supported_features = SUPPORTED_FEATURES
|
69
|
+
_attr_fan_speed_list: Incomplete
|
70
|
+
_attr_name: Incomplete
|
71
|
+
@property
|
72
|
+
def activity(self) -> VacuumActivity | None: ...
|
73
|
+
@property
|
74
|
+
def battery_level(self) -> int | None: ...
|
75
|
+
@property
|
76
|
+
def fan_speed(self) -> str | None: ...
|
77
|
+
@property
|
78
|
+
def available(self) -> bool: ...
|
79
|
+
async def send(self, device_id: str, action: dict[str, Any]) -> None: ...
|
80
|
+
async def async_clean_spot(self, **kwargs: Any) -> None: ...
|
81
|
+
async def async_start(self, **kwargs: Any) -> None: ...
|
82
|
+
async def async_stop(self, **kwargs: Any) -> None: ...
|
83
|
+
async def async_pause(self, **kwargs: Any) -> None: ...
|
84
|
+
async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
|
@@ -3,7 +3,7 @@ from dataclasses import dataclass
|
|
3
3
|
from enum import StrEnum
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
5
|
from mcstatus import BedrockServer, JavaServer
|
6
|
-
from mcstatus.
|
6
|
+
from mcstatus.responses import BedrockStatusResponse as BedrockStatusResponse, JavaStatusResponse
|
7
7
|
|
8
8
|
_LOGGER: Incomplete
|
9
9
|
LOOKUP_TIMEOUT: float
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT as CALL_TYPE_REGISTER_INPUT, CALL_TYPE_X_COILS as CALL_TYPE_X_COILS, CALL_TYPE_X_REGISTER_HOLDINGS as CALL_TYPE_X_REGISTER_HOLDINGS, CONF_BAUDRATE as CONF_BAUDRATE, CONF_BYTESIZE as CONF_BYTESIZE, CONF_CLIMATES as CONF_CLIMATES, CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FANS as CONF_FANS, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_ACTION_COOLING as CONF_HVAC_ACTION_COOLING, CONF_HVAC_ACTION_DEFROSTING as CONF_HVAC_ACTION_DEFROSTING, CONF_HVAC_ACTION_DRYING as CONF_HVAC_ACTION_DRYING, CONF_HVAC_ACTION_FAN as CONF_HVAC_ACTION_FAN, CONF_HVAC_ACTION_HEATING as CONF_HVAC_ACTION_HEATING, CONF_HVAC_ACTION_IDLE as CONF_HVAC_ACTION_IDLE, CONF_HVAC_ACTION_OFF as CONF_HVAC_ACTION_OFF, CONF_HVAC_ACTION_PREHEATING as CONF_HVAC_ACTION_PREHEATING, CONF_HVAC_ACTION_REGISTER as CONF_HVAC_ACTION_REGISTER, CONF_HVAC_ACTION_VALUES as CONF_HVAC_ACTION_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_OFF_VALUE as CONF_HVAC_OFF_VALUE, CONF_HVAC_ONOFF_COIL as CONF_HVAC_ONOFF_COIL, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_HVAC_ON_VALUE as CONF_HVAC_ON_VALUE, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MAX_VALUE as CONF_MAX_VALUE, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MIN_VALUE as CONF_MIN_VALUE, CONF_MSG_WAIT as CONF_MSG_WAIT, CONF_NAN_VALUE as CONF_NAN_VALUE, CONF_PARITY as CONF_PARITY, CONF_PRECISION as CONF_PRECISION, CONF_SCALE as CONF_SCALE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATUS_REGISTER as CONF_STATUS_REGISTER, CONF_STATUS_REGISTER_TYPE as CONF_STATUS_REGISTER_TYPE, CONF_STEP as CONF_STEP, CONF_STOPBITS as CONF_STOPBITS, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_VERIFY as CONF_VERIFY, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, CONF_WRITE_TYPE as CONF_WRITE_TYPE, CONF_ZERO_SUPPRESS as CONF_ZERO_SUPPRESS, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_HVAC_OFF_VALUE as DEFAULT_HVAC_OFF_VALUE, DEFAULT_HVAC_ON_VALUE as DEFAULT_HVAC_ON_VALUE, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DEFAULT_TEMP_UNIT as DEFAULT_TEMP_UNIT, DataType as DataType, RTUOVERTCP as RTUOVERTCP, SERIAL as SERIAL, TCP as TCP, UDP as UDP
|
1
|
+
from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT as CALL_TYPE_REGISTER_INPUT, CALL_TYPE_X_COILS as CALL_TYPE_X_COILS, CALL_TYPE_X_REGISTER_HOLDINGS as CALL_TYPE_X_REGISTER_HOLDINGS, CONF_BAUDRATE as CONF_BAUDRATE, CONF_BRIGHTNESS_REGISTER as CONF_BRIGHTNESS_REGISTER, CONF_BYTESIZE as CONF_BYTESIZE, CONF_CLIMATES as CONF_CLIMATES, CONF_COLOR_TEMP_REGISTER as CONF_COLOR_TEMP_REGISTER, CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FANS as CONF_FANS, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_ACTION_COOLING as CONF_HVAC_ACTION_COOLING, CONF_HVAC_ACTION_DEFROSTING as CONF_HVAC_ACTION_DEFROSTING, CONF_HVAC_ACTION_DRYING as CONF_HVAC_ACTION_DRYING, CONF_HVAC_ACTION_FAN as CONF_HVAC_ACTION_FAN, CONF_HVAC_ACTION_HEATING as CONF_HVAC_ACTION_HEATING, CONF_HVAC_ACTION_IDLE as CONF_HVAC_ACTION_IDLE, CONF_HVAC_ACTION_OFF as CONF_HVAC_ACTION_OFF, CONF_HVAC_ACTION_PREHEATING as CONF_HVAC_ACTION_PREHEATING, CONF_HVAC_ACTION_REGISTER as CONF_HVAC_ACTION_REGISTER, CONF_HVAC_ACTION_VALUES as CONF_HVAC_ACTION_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_OFF_VALUE as CONF_HVAC_OFF_VALUE, CONF_HVAC_ONOFF_COIL as CONF_HVAC_ONOFF_COIL, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_HVAC_ON_VALUE as CONF_HVAC_ON_VALUE, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MAX_VALUE as CONF_MAX_VALUE, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MIN_VALUE as CONF_MIN_VALUE, CONF_MSG_WAIT as CONF_MSG_WAIT, CONF_NAN_VALUE as CONF_NAN_VALUE, CONF_PARITY as CONF_PARITY, CONF_PRECISION as CONF_PRECISION, CONF_SCALE as CONF_SCALE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATUS_REGISTER as CONF_STATUS_REGISTER, CONF_STATUS_REGISTER_TYPE as CONF_STATUS_REGISTER_TYPE, CONF_STEP as CONF_STEP, CONF_STOPBITS as CONF_STOPBITS, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_VERIFY as CONF_VERIFY, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, CONF_WRITE_TYPE as CONF_WRITE_TYPE, CONF_ZERO_SUPPRESS as CONF_ZERO_SUPPRESS, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_HVAC_OFF_VALUE as DEFAULT_HVAC_OFF_VALUE, DEFAULT_HVAC_ON_VALUE as DEFAULT_HVAC_ON_VALUE, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DEFAULT_TEMP_UNIT as DEFAULT_TEMP_UNIT, DataType as DataType, RTUOVERTCP as RTUOVERTCP, SERIAL as SERIAL, TCP as TCP, UDP as UDP
|
2
2
|
from .modbus import DATA_MODBUS_HUBS as DATA_MODBUS_HUBS, ModbusHub as ModbusHub, async_modbus_setup as async_modbus_setup
|
3
3
|
from .validators import duplicate_fan_mode_validator as duplicate_fan_mode_validator, duplicate_swing_mode_validator as duplicate_swing_mode_validator, hvac_fixedsize_reglist_validator as hvac_fixedsize_reglist_validator, nan_validator as nan_validator, register_int_list_validator as register_int_list_validator, struct_validator as struct_validator
|
4
4
|
from _typeshed import Incomplete
|
@@ -5,6 +5,8 @@ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_BINARY_SENSOR
|
|
5
5
|
CONF_BAUDRATE: str
|
6
6
|
CONF_BYTESIZE: str
|
7
7
|
CONF_CLIMATES: str
|
8
|
+
CONF_BRIGHTNESS_REGISTER: str
|
9
|
+
CONF_COLOR_TEMP_REGISTER: str
|
8
10
|
CONF_DATA_TYPE: str
|
9
11
|
CONF_DEVICE_ADDRESS: str
|
10
12
|
CONF_FANS: str
|
@@ -131,3 +133,10 @@ DEFAULT_HVAC_OFF_VALUE: int
|
|
131
133
|
MODBUS_DOMAIN: str
|
132
134
|
ACTIVE_SCAN_INTERVAL: int
|
133
135
|
PLATFORMS: Incomplete
|
136
|
+
LIGHT_DEFAULT_MIN_KELVIN: int
|
137
|
+
LIGHT_DEFAULT_MAX_KELVIN: int
|
138
|
+
LIGHT_MIN_BRIGHTNESS: int
|
139
|
+
LIGHT_MAX_BRIGHTNESS: int
|
140
|
+
LIGHT_MODBUS_SCALE_MIN: int
|
141
|
+
LIGHT_MODBUS_SCALE_MAX: int
|
142
|
+
LIGHT_MODBUS_INVALID_VALUE: int
|
@@ -1,7 +1,9 @@
|
|
1
1
|
from . import get_hub as get_hub
|
2
|
+
from .const import CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_WRITE_REGISTER as CALL_TYPE_WRITE_REGISTER, CONF_BRIGHTNESS_REGISTER as CONF_BRIGHTNESS_REGISTER, CONF_COLOR_TEMP_REGISTER as CONF_COLOR_TEMP_REGISTER, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, LIGHT_DEFAULT_MAX_KELVIN as LIGHT_DEFAULT_MAX_KELVIN, LIGHT_DEFAULT_MIN_KELVIN as LIGHT_DEFAULT_MIN_KELVIN, LIGHT_MAX_BRIGHTNESS as LIGHT_MAX_BRIGHTNESS, LIGHT_MODBUS_INVALID_VALUE as LIGHT_MODBUS_INVALID_VALUE, LIGHT_MODBUS_SCALE_MAX as LIGHT_MODBUS_SCALE_MAX, LIGHT_MODBUS_SCALE_MIN as LIGHT_MODBUS_SCALE_MIN
|
2
3
|
from .entity import BaseSwitch as BaseSwitch
|
4
|
+
from .modbus import ModbusHub as ModbusHub
|
3
5
|
from _typeshed import Incomplete
|
4
|
-
from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
|
6
|
+
from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ColorMode as ColorMode, LightEntity as LightEntity
|
5
7
|
from homeassistant.const import CONF_LIGHTS as CONF_LIGHTS, CONF_NAME as CONF_NAME
|
6
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
@@ -9,10 +11,31 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
|
|
9
11
|
from typing import Any
|
10
12
|
|
11
13
|
PARALLEL_UPDATES: int
|
14
|
+
_LOGGER: Incomplete
|
12
15
|
|
13
16
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
14
17
|
|
15
18
|
class ModbusLight(BaseSwitch, LightEntity):
|
19
|
+
_brightness_address: int | None
|
20
|
+
_color_temp_address: int | None
|
16
21
|
_attr_color_mode: Incomplete
|
17
22
|
_attr_supported_color_modes: Incomplete
|
23
|
+
_attr_min_color_temp_kelvin: Incomplete
|
24
|
+
_attr_max_color_temp_kelvin: Incomplete
|
25
|
+
def __init__(self, hass: HomeAssistant, hub: ModbusHub, config: dict[str, Any]) -> None: ...
|
26
|
+
_attr_brightness: Incomplete
|
27
|
+
_attr_color_temp_kelvin: Incomplete
|
28
|
+
async def async_added_to_hass(self) -> None: ...
|
29
|
+
@staticmethod
|
30
|
+
def _detect_color_mode(config: dict[str, Any]) -> ColorMode: ...
|
18
31
|
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
32
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
33
|
+
async def async_set_brightness(self, brightness: int) -> None: ...
|
34
|
+
async def async_set_color_temp(self, color_temp_kelvin: int) -> None: ...
|
35
|
+
async def _async_update(self) -> None: ...
|
36
|
+
@staticmethod
|
37
|
+
def _convert_modbus_percent_to_brightness(percent: int) -> int: ...
|
38
|
+
def _convert_modbus_percent_to_temperature(self, percent: int) -> int: ...
|
39
|
+
@staticmethod
|
40
|
+
def _convert_brightness_to_modbus(brightness: int) -> int: ...
|
41
|
+
def _convert_color_temp_to_modbus(self, kelvin: int) -> int: ...
|
@@ -18,7 +18,7 @@ async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_ad
|
|
18
18
|
|
19
19
|
class ModbusRegisterSensor(BaseStructPlatform, RestoreSensor, SensorEntity):
|
20
20
|
_count: Incomplete
|
21
|
-
_coordinator: DataUpdateCoordinator[list[float] | None] | None
|
21
|
+
_coordinator: DataUpdateCoordinator[list[float | None] | None] | None
|
22
22
|
_attr_native_unit_of_measurement: Incomplete
|
23
23
|
_attr_state_class: Incomplete
|
24
24
|
_attr_device_class: Incomplete
|
@@ -30,7 +30,9 @@ class ModbusRegisterSensor(BaseStructPlatform, RestoreSensor, SensorEntity):
|
|
30
30
|
_attr_available: bool
|
31
31
|
async def _async_update(self) -> None: ...
|
32
32
|
|
33
|
-
class SlaveSensor(CoordinatorEntity[DataUpdateCoordinator[list[float] | None]], RestoreSensor, SensorEntity):
|
33
|
+
class SlaveSensor(CoordinatorEntity[DataUpdateCoordinator[list[float | None] | None]], RestoreSensor, SensorEntity):
|
34
|
+
@property
|
35
|
+
def available(self) -> bool: ...
|
34
36
|
_idx: Incomplete
|
35
37
|
_attr_name: Incomplete
|
36
38
|
_attr_unique_id: Incomplete
|
@@ -38,7 +40,7 @@ class SlaveSensor(CoordinatorEntity[DataUpdateCoordinator[list[float] | None]],
|
|
38
40
|
_attr_state_class: Incomplete
|
39
41
|
_attr_device_class: Incomplete
|
40
42
|
_attr_available: bool
|
41
|
-
def __init__(self, coordinator: DataUpdateCoordinator[list[float] | None], idx: int, entry: dict[str, Any]) -> None: ...
|
43
|
+
def __init__(self, coordinator: DataUpdateCoordinator[list[float | None] | None], idx: int, entry: dict[str, Any]) -> None: ...
|
42
44
|
_attr_native_value: Incomplete
|
43
45
|
async def async_added_to_hass(self) -> None: ...
|
44
46
|
@callback
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import voluptuous as vol
|
2
2
|
from . import subscription as subscription
|
3
3
|
from .config import MQTT_RO_SCHEMA as MQTT_RO_SCHEMA
|
4
|
-
from .const import CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
|
4
|
+
from .const import CONF_OFF_DELAY as CONF_OFF_DELAY, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
|
5
5
|
from .entity import MqttAvailabilityMixin as MqttAvailabilityMixin, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
|
6
6
|
from .models import MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
|
7
7
|
from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
|
@@ -21,7 +21,6 @@ from typing import Any
|
|
21
21
|
_LOGGER: Incomplete
|
22
22
|
PARALLEL_UPDATES: int
|
23
23
|
DEFAULT_NAME: str
|
24
|
-
CONF_OFF_DELAY: str
|
25
24
|
DEFAULT_PAYLOAD_OFF: str
|
26
25
|
DEFAULT_PAYLOAD_ON: str
|
27
26
|
DEFAULT_FORCE_UPDATE: bool
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import voluptuous as vol
|
2
2
|
from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
|
3
|
-
from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_RETAIN as CONF_RETAIN
|
3
|
+
from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_PAYLOAD_PRESS as CONF_PAYLOAD_PRESS, CONF_RETAIN as CONF_RETAIN, DEFAULT_PAYLOAD_PRESS as DEFAULT_PAYLOAD_PRESS
|
4
4
|
from .entity import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
|
5
5
|
from .models import MqttCommandTemplate as MqttCommandTemplate
|
6
6
|
from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
|
@@ -15,9 +15,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
|
15
15
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
16
16
|
|
17
17
|
PARALLEL_UPDATES: int
|
18
|
-
CONF_PAYLOAD_PRESS: str
|
19
18
|
DEFAULT_NAME: str
|
20
|
-
DEFAULT_PAYLOAD_PRESS: str
|
21
19
|
PLATFORM_SCHEMA_MODERN: Incomplete
|
22
20
|
DISCOVERY_SCHEMA: Incomplete
|
23
21
|
|