homeassistant-stubs 2024.2.5__py3-none-any.whl → 2024.3.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/bootstrap.pyi +20 -5
- homeassistant-stubs/components/aftership/const.pyi +0 -1
- homeassistant-stubs/components/aftership/sensor.pyi +2 -2
- homeassistant-stubs/components/airthings_ble/config_flow.pyi +1 -0
- homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
- homeassistant-stubs/components/alexa/config.pyi +2 -0
- homeassistant-stubs/components/amberelectric/sensor.pyi +0 -1
- homeassistant-stubs/components/androidtv/entity.pyi +30 -0
- homeassistant-stubs/components/androidtv/media_player.pyi +5 -23
- homeassistant-stubs/components/anthemav/media_player.pyi +0 -1
- homeassistant-stubs/components/api/__init__.pyi +0 -1
- homeassistant-stubs/components/apple_tv/__init__.pyi +68 -0
- homeassistant-stubs/components/apple_tv/browse_media.pyi +5 -0
- homeassistant-stubs/components/apple_tv/config_flow.pyi +63 -0
- homeassistant-stubs/components/apple_tv/const.pyi +4 -0
- homeassistant-stubs/components/apple_tv/media_player.pyi +93 -0
- homeassistant-stubs/components/apple_tv/remote.pyi +23 -0
- homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/const.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/error.pyi +4 -0
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -5
- homeassistant-stubs/components/asterisk_mbox/__init__.pyi +1 -0
- homeassistant-stubs/components/asuswrt/router.pyi +1 -1
- homeassistant-stubs/components/auth/__init__.pyi +2 -2
- homeassistant-stubs/components/automation/__init__.pyi +2 -1
- homeassistant-stubs/components/axis/binary_sensor.pyi +4 -0
- homeassistant-stubs/components/backup/manager.pyi +5 -3
- homeassistant-stubs/components/backup/websocket.pyi +4 -2
- homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
- homeassistant-stubs/components/blue_current/entity.pyi +5 -2
- homeassistant-stubs/components/bluetooth/manager.pyi +2 -2
- homeassistant-stubs/components/bluetooth/match.pyi +3 -0
- homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -0
- homeassistant-stubs/components/braviatv/coordinator.pyi +2 -0
- homeassistant-stubs/components/braviatv/media_player.pyi +5 -0
- homeassistant-stubs/components/brother/sensor.pyi +3 -3
- homeassistant-stubs/components/bthome/config_flow.pyi +4 -4
- homeassistant-stubs/components/calendar/trigger.pyi +2 -1
- homeassistant-stubs/components/camera/media_source.pyi +1 -0
- homeassistant-stubs/components/camera/prefs.pyi +2 -0
- homeassistant-stubs/components/cert_expiry/sensor.pyi +0 -1
- homeassistant-stubs/components/climate/__init__.pyi +3 -1
- homeassistant-stubs/components/cloud/const.pyi +2 -0
- homeassistant-stubs/components/cloud/google_config.pyi +7 -5
- homeassistant-stubs/components/cloud/http_api.pyi +1 -1
- homeassistant-stubs/components/cloud/prefs.pyi +6 -2
- homeassistant-stubs/components/cloud/tts.pyi +3 -2
- homeassistant-stubs/components/config/area_registry.pyi +1 -1
- homeassistant-stubs/components/config/auth.pyi +2 -2
- homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +2 -2
- homeassistant-stubs/components/config/automation.pyi +2 -2
- homeassistant-stubs/components/config/config_entries.pyi +5 -4
- homeassistant-stubs/components/config/core.pyi +2 -2
- homeassistant-stubs/components/config/device_registry.pyi +1 -1
- homeassistant-stubs/components/config/entity_registry.pyi +1 -1
- homeassistant-stubs/components/config/floor_registry.pyi +12 -0
- homeassistant-stubs/components/config/label_registry.pyi +12 -0
- homeassistant-stubs/components/config/scene.pyi +2 -2
- homeassistant-stubs/components/config/script.pyi +2 -2
- homeassistant-stubs/components/cpuspeed/sensor.pyi +0 -1
- homeassistant-stubs/components/crownstone/light.pyi +1 -1
- homeassistant-stubs/components/deconz/light.pyi +1 -1
- homeassistant-stubs/components/demo/fan.pyi +1 -0
- homeassistant-stubs/components/dhcp/__init__.pyi +24 -32
- homeassistant-stubs/components/dlna_dmr/media_player.pyi +8 -3
- homeassistant-stubs/components/dnsip/sensor.pyi +1 -1
- homeassistant-stubs/components/dunehd/media_player.pyi +5 -2
- homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
- homeassistant-stubs/components/ecovacs/button.pyi +5 -5
- homeassistant-stubs/components/ecovacs/controller.pyi +6 -3
- homeassistant-stubs/components/ecovacs/entity.pyi +11 -9
- homeassistant-stubs/components/ecovacs/image.pyi +2 -2
- homeassistant-stubs/components/ecovacs/lawn_mower.pyi +28 -0
- homeassistant-stubs/components/ecovacs/number.pyi +3 -3
- homeassistant-stubs/components/ecovacs/select.pyi +3 -3
- homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
- homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
- homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
- homeassistant-stubs/components/emulated_hue/config.pyi +1 -1
- homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -4
- homeassistant-stubs/components/esphome/bluetooth.pyi +1 -1
- homeassistant-stubs/components/esphome/camera.pyi +2 -2
- homeassistant-stubs/components/esphome/entry_data.pyi +3 -5
- homeassistant-stubs/components/esphome/manager.pyi +6 -7
- homeassistant-stubs/components/esphome/sensor.pyi +4 -2
- homeassistant-stubs/components/esphome/update.pyi +0 -1
- homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -1
- homeassistant-stubs/components/fastdotcom/sensor.pyi +0 -1
- homeassistant-stubs/components/filesize/sensor.pyi +0 -1
- homeassistant-stubs/components/flexit_bacnet/climate.pyi +4 -2
- homeassistant-stubs/components/flexit_bacnet/number.pyi +31 -0
- homeassistant-stubs/components/flux_led/__init__.pyi +2 -2
- homeassistant-stubs/components/fritz/common.pyi +2 -1
- homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -1
- homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -1
- homeassistant-stubs/components/goalzero/__init__.pyi +1 -0
- homeassistant-stubs/components/gpsd/sensor.pyi +15 -9
- homeassistant-stubs/components/group/__init__.pyi +1 -1
- homeassistant-stubs/components/group/light.pyi +3 -3
- homeassistant-stubs/components/hardkernel/__init__.pyi +1 -1
- homeassistant-stubs/components/hardware/hardware.pyi +2 -2
- homeassistant-stubs/components/hardware/websocket_api.pyi +1 -1
- homeassistant-stubs/components/homeassistant_green/__init__.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -1
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -2
- homeassistant-stubs/components/homekit/__init__.pyi +1 -1
- homeassistant-stubs/components/homekit/accessories.pyi +1 -1
- homeassistant-stubs/components/homekit/config_flow.pyi +13 -4
- homeassistant-stubs/components/homekit/type_cameras.pyi +1 -1
- homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
- homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
- homeassistant-stubs/components/homekit/type_triggers.pyi +3 -1
- homeassistant-stubs/components/homekit_controller/__init__.pyi +1 -0
- homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +0 -1
- homeassistant-stubs/components/homekit_controller/button.pyi +8 -4
- homeassistant-stubs/components/homekit_controller/utils.pyi +4 -0
- homeassistant-stubs/components/http/__init__.pyi +3 -3
- homeassistant-stubs/components/http/auth.pyi +1 -1
- homeassistant-stubs/components/http/ban.pyi +0 -1
- homeassistant-stubs/components/http/const.pyi +1 -1
- homeassistant-stubs/components/http/request_context.pyi +1 -2
- homeassistant-stubs/components/http/view.pyi +1 -29
- homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -6
- homeassistant-stubs/components/huawei_lte/switch.pyi +0 -4
- homeassistant-stubs/components/idasen_desk/sensor.pyi +2 -1
- homeassistant-stubs/components/image/__init__.pyi +13 -3
- homeassistant-stubs/components/image/media_source.pyi +18 -0
- homeassistant-stubs/components/imap/coordinator.pyi +8 -0
- homeassistant-stubs/components/imap/diagnostics.pyi +13 -0
- homeassistant-stubs/components/intent/__init__.pyi +7 -2
- homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -1
- homeassistant-stubs/components/knx/config_flow.pyi +1 -1
- homeassistant-stubs/components/knx/schema.pyi +3 -18
- homeassistant-stubs/components/knx/validation.pyi +19 -0
- homeassistant-stubs/components/lamarzocco/calendar.pyi +21 -0
- homeassistant-stubs/components/lamarzocco/entity.pyi +7 -4
- homeassistant-stubs/components/lamarzocco/number.pyi +26 -1
- homeassistant-stubs/components/light/__init__.pyi +3 -0
- homeassistant-stubs/components/local_todo/todo.pyi +3 -1
- homeassistant-stubs/components/logbook/__init__.pyi +1 -1
- homeassistant-stubs/components/logbook/helpers.pyi +2 -2
- homeassistant-stubs/components/logbook/models.pyi +2 -2
- homeassistant-stubs/components/mailbox/__init__.pyi +1 -0
- homeassistant-stubs/components/matter/light.pyi +6 -5
- homeassistant-stubs/components/media_player/intent.pyi +11 -0
- homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/climate.pyi +1 -0
- homeassistant-stubs/components/modbus/validators.pyi +4 -4
- homeassistant-stubs/components/mqtt/__init__.pyi +3 -3
- homeassistant-stubs/components/mqtt/climate.pyi +1 -8
- homeassistant-stubs/components/mqtt/const.pyi +2 -0
- homeassistant-stubs/components/mqtt/event.pyi +1 -1
- homeassistant-stubs/components/mqtt/image.pyi +1 -1
- homeassistant-stubs/components/mqtt/mixins.pyi +2 -2
- homeassistant-stubs/components/mqtt/models.pyi +10 -0
- homeassistant-stubs/components/mqtt/tag.pyi +1 -1
- homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
- homeassistant-stubs/components/myuplink/binary_sensor.pyi +24 -0
- homeassistant-stubs/components/myuplink/config_flow.pyi +7 -0
- homeassistant-stubs/components/myuplink/coordinator.pyi +1 -2
- homeassistant-stubs/components/myuplink/diagnostics.pyi +11 -0
- homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
- homeassistant-stubs/components/myuplink/number.pyi +30 -0
- homeassistant-stubs/components/myuplink/sensor.pyi +20 -3
- homeassistant-stubs/components/myuplink/switch.pyi +29 -0
- homeassistant-stubs/components/myuplink/update.pyi +20 -0
- homeassistant-stubs/components/notion/__init__.pyi +10 -6
- homeassistant-stubs/components/notion/config_flow.pyi +11 -3
- homeassistant-stubs/components/notion/const.pyi +2 -0
- homeassistant-stubs/components/notion/diagnostics.pyi +2 -2
- homeassistant-stubs/components/notion/model.pyi +1 -1
- homeassistant-stubs/components/notion/util.pyi +7 -0
- homeassistant-stubs/components/overkiz/climate.pyi +1 -1
- homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +8 -0
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +1 -1
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control.pyi +5 -1
- homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_zone_control_zone.pyi +33 -0
- homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.pyi +61 -0
- homeassistant-stubs/components/overkiz/number.pyi +7 -1
- homeassistant-stubs/components/proximity/config_flow.pyi +1 -1
- homeassistant-stubs/components/rainmachine/util.pyi +1 -1
- homeassistant-stubs/components/raspberry_pi/__init__.pyi +1 -1
- homeassistant-stubs/components/recorder/__init__.pyi +1 -1
- homeassistant-stubs/components/recorder/core.pyi +1 -0
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -5
- homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
- homeassistant-stubs/components/rfxtrx/__init__.pyi +3 -1
- homeassistant-stubs/components/samsungtv/__init__.pyi +1 -1
- homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -0
- homeassistant-stubs/components/sensor/recorder.pyi +0 -2
- homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
- homeassistant-stubs/components/shelly/button.pyi +1 -1
- homeassistant-stubs/components/shelly/climate.pyi +1 -3
- homeassistant-stubs/components/shelly/entity.pyi +1 -2
- homeassistant-stubs/components/shelly/number.pyi +1 -1
- homeassistant-stubs/components/shelly/sensor.pyi +2 -2
- homeassistant-stubs/components/shelly/switch.pyi +4 -5
- homeassistant-stubs/components/shelly/utils.pyi +2 -0
- homeassistant-stubs/components/shelly/valve.pyi +1 -1
- homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
- homeassistant-stubs/components/statistics/sensor.pyi +4 -1
- homeassistant-stubs/components/steamist/__init__.pyi +1 -1
- homeassistant-stubs/components/system_health/__init__.pyi +1 -1
- homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -0
- homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +48 -0
- homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -0
- homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
- homeassistant-stubs/components/systemmonitor/coordinator.pyi +14 -10
- homeassistant-stubs/components/systemmonitor/diagnostics.pyi +7 -0
- homeassistant-stubs/components/systemmonitor/repairs.pyi +15 -0
- homeassistant-stubs/components/systemmonitor/sensor.pyi +5 -4
- homeassistant-stubs/components/systemmonitor/util.pyi +6 -5
- homeassistant-stubs/components/technove/helpers.pyi +9 -0
- homeassistant-stubs/components/technove/switch.pyi +33 -0
- homeassistant-stubs/components/tedee/config_flow.pyi +1 -0
- homeassistant-stubs/components/tedee/sensor.pyi +1 -1
- homeassistant-stubs/components/tibber/sensor.pyi +7 -4
- homeassistant-stubs/components/tplink/__init__.pyi +1 -1
- homeassistant-stubs/components/tplink/config_flow.pyi +2 -2
- homeassistant-stubs/components/tplink/light.pyi +1 -0
- homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -2
- homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/controller.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
- homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
- homeassistant-stubs/components/tractive/device_tracker.pyi +0 -1
- homeassistant-stubs/components/unifi/__init__.pyi +1 -1
- homeassistant-stubs/components/unifi/button.pyi +1 -1
- homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
- homeassistant-stubs/components/unifi/device_tracker.pyi +6 -6
- homeassistant-stubs/components/unifi/diagnostics.pyi +1 -1
- homeassistant-stubs/components/unifi/entity.pyi +13 -13
- homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
- homeassistant-stubs/components/unifi/hub/api.pyi +10 -0
- homeassistant-stubs/components/unifi/{controller.pyi → hub/hub.pyi} +9 -19
- homeassistant-stubs/components/unifi/hub/websocket.pyi +25 -0
- homeassistant-stubs/components/unifi/image.pyi +4 -4
- homeassistant-stubs/components/unifi/sensor.pyi +14 -14
- homeassistant-stubs/components/unifi/switch.pyi +14 -14
- homeassistant-stubs/components/unifi/update.pyi +1 -1
- homeassistant-stubs/components/unifiprotect/__init__.pyi +4 -2
- homeassistant-stubs/components/unifiprotect/const.pyi +1 -0
- homeassistant-stubs/components/unifiprotect/data.pyi +3 -2
- homeassistant-stubs/components/unifiprotect/media_source.pyi +6 -3
- homeassistant-stubs/components/unifiprotect/migrate.pyi +3 -5
- homeassistant-stubs/components/unifiprotect/repairs.pyi +8 -2
- homeassistant-stubs/components/usb/__init__.pyi +1 -1
- homeassistant-stubs/components/vacuum/intent.pyi +8 -0
- homeassistant-stubs/components/vallox/__init__.pyi +5 -23
- homeassistant-stubs/components/vallox/fan.pyi +1 -1
- homeassistant-stubs/components/wake_word/models.pyi +4 -2
- homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
- homeassistant-stubs/components/websocket_api/connection.pyi +1 -1
- homeassistant-stubs/components/websocket_api/http.pyi +1 -0
- homeassistant-stubs/components/wiz/light.pyi +3 -2
- homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -0
- homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
- homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
- homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -1
- homeassistant-stubs/components/yalexs_ble/config_flow.pyi +1 -1
- homeassistant-stubs/components/zwave_js/climate.pyi +4 -0
- homeassistant-stubs/components/zwave_js/sensor.pyi +0 -1
- homeassistant-stubs/config.pyi +4 -2
- homeassistant-stubs/config_entries.pyi +40 -26
- homeassistant-stubs/const.pyi +1 -0
- homeassistant-stubs/core.pyi +11 -7
- homeassistant-stubs/data_entry_flow.pyi +1 -0
- homeassistant-stubs/helpers/area_registry.pyi +9 -4
- homeassistant-stubs/helpers/collection.pyi +19 -0
- homeassistant-stubs/helpers/config_validation.pyi +5 -0
- homeassistant-stubs/helpers/data_entry_flow.pyi +2 -1
- homeassistant-stubs/helpers/debounce.pyi +3 -1
- homeassistant-stubs/helpers/device_registry.pyi +13 -6
- homeassistant-stubs/helpers/entity.pyi +4 -2
- homeassistant-stubs/helpers/entity_component.pyi +1 -1
- homeassistant-stubs/helpers/entity_platform.pyi +7 -3
- homeassistant-stubs/helpers/entity_registry.pyi +10 -4
- homeassistant-stubs/helpers/event.pyi +28 -2
- homeassistant-stubs/helpers/floor_registry.pyi +59 -0
- homeassistant-stubs/helpers/frame.pyi +3 -1
- homeassistant-stubs/helpers/http.pyi +32 -0
- homeassistant-stubs/helpers/icon.pyi +1 -1
- homeassistant-stubs/helpers/integration_platform.pyi +12 -8
- homeassistant-stubs/helpers/intent.pyi +20 -6
- homeassistant-stubs/helpers/json.pyi +1 -0
- homeassistant-stubs/helpers/label_registry.pyi +59 -0
- homeassistant-stubs/helpers/redact.pyi +13 -0
- homeassistant-stubs/helpers/service.pyi +1 -0
- homeassistant-stubs/helpers/storage.pyi +7 -3
- homeassistant-stubs/helpers/template.pyi +7 -0
- homeassistant-stubs/helpers/translation.pyi +18 -4
- homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
- homeassistant-stubs/loader.pyi +35 -13
- homeassistant-stubs/setup.pyi +9 -3
- homeassistant-stubs/util/async_.pyi +3 -3
- homeassistant-stubs/util/file.pyi +2 -2
- homeassistant-stubs/util/yaml/loader.pyi +3 -0
- {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0.dist-info}/RECORD +302 -264
- {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.2.5.dist-info → homeassistant_stubs-2024.3.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,11 @@
|
|
1
|
+
from . import ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, DOMAIN as DOMAIN
|
2
|
+
from homeassistant.const import SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
|
+
from homeassistant.helpers import intent as intent
|
5
|
+
|
6
|
+
INTENT_MEDIA_PAUSE: str
|
7
|
+
INTENT_MEDIA_UNPAUSE: str
|
8
|
+
INTENT_MEDIA_NEXT: str
|
9
|
+
INTENT_SET_VOLUME: str
|
10
|
+
|
11
|
+
async def async_setup_intents(hass: HomeAssistant) -> None: ...
|
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
|
|
6
6
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
7
|
from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE, Platform as Platform
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
9
|
-
from homeassistant.exceptions import
|
9
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
10
10
|
from typing import Any
|
11
11
|
|
12
12
|
PLATFORMS: Incomplete
|
@@ -1,6 +1,6 @@
|
|
1
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_CLOSE_COMM_ON_ERROR as CONF_CLOSE_COMM_ON_ERROR, 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_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_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_LAZY_ERROR as CONF_LAZY_ERROR, 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_RETRIES as CONF_RETRIES, CONF_RETRY_ON_EMPTY as CONF_RETRY_ON_EMPTY, 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_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_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 ModbusHub as ModbusHub, async_modbus_setup as async_modbus_setup
|
3
|
-
from .validators import check_config as check_config, duplicate_fan_mode_validator as duplicate_fan_mode_validator, nan_validator as nan_validator, register_int_list_validator as register_int_list_validator, struct_validator as struct_validator
|
3
|
+
from .validators import check_config as check_config, check_hvac_target_temp_registers as check_hvac_target_temp_registers, duplicate_fan_mode_validator as duplicate_fan_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
5
|
from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS
|
6
6
|
from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_BINARY_SENSORS as CONF_BINARY_SENSORS, CONF_COMMAND_OFF as CONF_COMMAND_OFF, CONF_COMMAND_ON as CONF_COMMAND_ON, CONF_COUNT as CONF_COUNT, CONF_COVERS as CONF_COVERS, CONF_DELAY as CONF_DELAY, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_HOST as CONF_HOST, CONF_LIGHTS as CONF_LIGHTS, CONF_METHOD as CONF_METHOD, CONF_NAME as CONF_NAME, CONF_OFFSET as CONF_OFFSET, CONF_PORT as CONF_PORT, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SENSORS as CONF_SENSORS, CONF_SLAVE as CONF_SLAVE, CONF_STRUCTURE as CONF_STRUCTURE, CONF_SWITCHES as CONF_SWITCHES, CONF_TEMPERATURE_UNIT as CONF_TEMPERATURE_UNIT, CONF_TIMEOUT as CONF_TIMEOUT, CONF_TYPE as CONF_TYPE, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT
|
@@ -13,6 +13,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
|
|
13
13
|
from typing import Any
|
14
14
|
|
15
15
|
PARALLEL_UPDATES: int
|
16
|
+
HVACMODE_TO_TARG_TEMP_REG_INDEX_ARRAY: Incomplete
|
16
17
|
|
17
18
|
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
18
19
|
|
@@ -1,5 +1,6 @@
|
|
1
|
-
from .const import CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, 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_TARGET_TEMP as CONF_TARGET_TEMP, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_TYPE as CONF_WRITE_TYPE, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DataType as DataType, PLATFORMS as PLATFORMS, SERIAL as SERIAL
|
1
|
+
from .const import CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, 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_TARGET_TEMP as CONF_TARGET_TEMP, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_TYPE as CONF_WRITE_TYPE, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DataType as DataType, PLATFORMS as PLATFORMS, SERIAL as SERIAL
|
2
2
|
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.climate import HVACMode as HVACMode
|
3
4
|
from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_COMMAND_OFF as CONF_COMMAND_OFF, CONF_COMMAND_ON as CONF_COMMAND_ON, CONF_COUNT as CONF_COUNT, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SLAVE as CONF_SLAVE, CONF_STRUCTURE as CONF_STRUCTURE, CONF_TIMEOUT as CONF_TIMEOUT, CONF_TYPE as CONF_TYPE
|
4
5
|
from typing import Any, NamedTuple
|
5
6
|
|
@@ -24,10 +25,9 @@ class PARM_IS_LEGAL(NamedTuple):
|
|
24
25
|
DEFAULT_STRUCT_FORMAT: Incomplete
|
25
26
|
|
26
27
|
def struct_validator(config: dict[str, Any]) -> dict[str, Any]: ...
|
28
|
+
def hvac_fixedsize_reglist_validator(value: Any) -> list: ...
|
27
29
|
def nan_validator(value: Any) -> int: ...
|
28
30
|
def duplicate_fan_mode_validator(config: dict[str, Any]) -> dict: ...
|
29
|
-
def
|
30
|
-
def duplicate_entity_validator(config: dict) -> dict: ...
|
31
|
-
def duplicate_modbus_validator(config: dict) -> dict: ...
|
31
|
+
def check_hvac_target_temp_registers(config: dict) -> dict: ...
|
32
32
|
def register_int_list_validator(value: Any) -> Any: ...
|
33
33
|
def check_config(config: dict) -> dict: ...
|
@@ -2,8 +2,8 @@ from . import debug_info as debug_info, discovery as discovery
|
|
2
2
|
from .client import MQTT as MQTT, async_publish as async_publish, async_subscribe as async_subscribe, publish as publish, subscribe as subscribe
|
3
3
|
from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA, MQTT_RO_SCHEMA as MQTT_RO_SCHEMA, MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
|
4
4
|
from .config_integration import CONFIG_SCHEMA_BASE as CONFIG_SCHEMA_BASE
|
5
|
-
from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TOPIC as CONF_TOPIC, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DATA_MQTT as DATA_MQTT, DATA_MQTT_AVAILABLE as DATA_MQTT_AVAILABLE, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_RETAIN as DEFAULT_RETAIN, DOMAIN as DOMAIN, MQTT_CONNECTED as MQTT_CONNECTED, MQTT_DISCONNECTED as MQTT_DISCONNECTED, PLATFORMS as PLATFORMS, RELOADABLE_PLATFORMS as RELOADABLE_PLATFORMS
|
6
|
-
from .models import MqttCommandTemplate as MqttCommandTemplate, MqttData as MqttData, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
|
5
|
+
from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TOPIC as CONF_TOPIC, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DATA_MQTT as DATA_MQTT, DATA_MQTT_AVAILABLE as DATA_MQTT_AVAILABLE, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_RETAIN as DEFAULT_RETAIN, DOMAIN as DOMAIN, MQTT_CONNECTED as MQTT_CONNECTED, MQTT_DISCONNECTED as MQTT_DISCONNECTED, PLATFORMS as PLATFORMS, RELOADABLE_PLATFORMS as RELOADABLE_PLATFORMS, TEMPLATE_ERRORS as TEMPLATE_ERRORS
|
6
|
+
from .models import MqttCommandTemplate as MqttCommandTemplate, MqttData as MqttData, MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
|
7
7
|
from .util import async_create_certificate_temp_files as async_create_certificate_temp_files, async_wait_for_mqtt_client as async_wait_for_mqtt_client, get_mqtt_data as get_mqtt_data, mqtt_config_entry_enabled as mqtt_config_entry_enabled, valid_publish_topic as valid_publish_topic, valid_qos_schema as valid_qos_schema, valid_subscribe_topic as valid_subscribe_topic
|
8
8
|
from _typeshed import Incomplete
|
9
9
|
from collections.abc import Callable
|
@@ -11,7 +11,7 @@ from homeassistant.components import websocket_api as websocket_api
|
|
11
11
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
12
12
|
from homeassistant.const import CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DISCOVERY as CONF_DISCOVERY, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME, SERVICE_RELOAD as SERVICE_RELOAD
|
13
13
|
from homeassistant.core import HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
14
|
-
from homeassistant.exceptions import ConfigValidationError as ConfigValidationError, ServiceValidationError as ServiceValidationError,
|
14
|
+
from homeassistant.exceptions import ConfigValidationError as ConfigValidationError, ServiceValidationError as ServiceValidationError, Unauthorized as Unauthorized
|
15
15
|
from homeassistant.helpers import template as template
|
16
16
|
from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
|
17
17
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
|
@@ -2,7 +2,7 @@ import abc
|
|
2
2
|
import voluptuous as vol
|
3
3
|
from . import subscription as subscription
|
4
4
|
from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
|
5
|
-
from .const import CONF_ACTION_TEMPLATE as CONF_ACTION_TEMPLATE, CONF_ACTION_TOPIC as CONF_ACTION_TOPIC, CONF_CURRENT_HUMIDITY_TEMPLATE as CONF_CURRENT_HUMIDITY_TEMPLATE, CONF_CURRENT_HUMIDITY_TOPIC as CONF_CURRENT_HUMIDITY_TOPIC, CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_MODE_COMMAND_TEMPLATE as CONF_MODE_COMMAND_TEMPLATE, CONF_MODE_COMMAND_TOPIC as CONF_MODE_COMMAND_TOPIC, CONF_MODE_LIST as CONF_MODE_LIST, CONF_MODE_STATE_TEMPLATE as CONF_MODE_STATE_TEMPLATE, CONF_MODE_STATE_TOPIC as CONF_MODE_STATE_TOPIC, CONF_POWER_COMMAND_TEMPLATE as CONF_POWER_COMMAND_TEMPLATE, CONF_POWER_COMMAND_TOPIC as CONF_POWER_COMMAND_TOPIC, CONF_PRECISION as CONF_PRECISION, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_MAX as CONF_TEMP_MAX, CONF_TEMP_MIN as CONF_TEMP_MIN, CONF_TEMP_STATE_TEMPLATE as CONF_TEMP_STATE_TEMPLATE, CONF_TEMP_STATE_TOPIC as CONF_TEMP_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC,
|
5
|
+
from .const import CONF_ACTION_TEMPLATE as CONF_ACTION_TEMPLATE, CONF_ACTION_TOPIC as CONF_ACTION_TOPIC, CONF_CURRENT_HUMIDITY_TEMPLATE as CONF_CURRENT_HUMIDITY_TEMPLATE, CONF_CURRENT_HUMIDITY_TOPIC as CONF_CURRENT_HUMIDITY_TOPIC, CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_ENCODING as CONF_ENCODING, CONF_MODE_COMMAND_TEMPLATE as CONF_MODE_COMMAND_TEMPLATE, CONF_MODE_COMMAND_TOPIC as CONF_MODE_COMMAND_TOPIC, CONF_MODE_LIST as CONF_MODE_LIST, CONF_MODE_STATE_TEMPLATE as CONF_MODE_STATE_TEMPLATE, CONF_MODE_STATE_TOPIC as CONF_MODE_STATE_TOPIC, CONF_POWER_COMMAND_TEMPLATE as CONF_POWER_COMMAND_TEMPLATE, CONF_POWER_COMMAND_TOPIC as CONF_POWER_COMMAND_TOPIC, CONF_PRECISION as CONF_PRECISION, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_MAX as CONF_TEMP_MAX, CONF_TEMP_MIN as CONF_TEMP_MIN, CONF_TEMP_STATE_TEMPLATE as CONF_TEMP_STATE_TEMPLATE, CONF_TEMP_STATE_TOPIC as CONF_TEMP_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC, PAYLOAD_NONE as PAYLOAD_NONE
|
6
6
|
from .debug_info import log_messages as log_messages
|
7
7
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper, write_state_on_attr_change as write_state_on_attr_change
|
8
8
|
from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
|
@@ -16,14 +16,12 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
16
16
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_TEMPERATURE_UNIT as CONF_TEMPERATURE_UNIT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, PRECISION_HALVES as PRECISION_HALVES, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature
|
17
17
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
18
18
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
19
|
-
from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
|
20
19
|
from homeassistant.helpers.template import Template as Template
|
21
20
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
22
21
|
from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
|
23
22
|
from typing import Any
|
24
23
|
|
25
24
|
_LOGGER: Incomplete
|
26
|
-
MQTT_CLIMATE_AUX_DOCS: str
|
27
25
|
DEFAULT_NAME: str
|
28
26
|
CONF_AUX_COMMAND_TOPIC: str
|
29
27
|
CONF_AUX_STATE_TEMPLATE: str
|
@@ -99,7 +97,6 @@ class MqttTemperatureControlEntity(MqttEntity, ABC, metaclass=abc.ABCMeta):
|
|
99
97
|
class MqttClimate(MqttTemperatureControlEntity, ClimateEntity):
|
100
98
|
_attr_fan_mode: str | None
|
101
99
|
_attr_hvac_mode: HVACMode | None
|
102
|
-
_attr_is_aux_heat: bool | None
|
103
100
|
_attr_swing_mode: str | None
|
104
101
|
_default_name = DEFAULT_NAME
|
105
102
|
_entity_id_format: Incomplete
|
@@ -130,7 +127,6 @@ class MqttClimate(MqttTemperatureControlEntity, ClimateEntity):
|
|
130
127
|
_command_templates: Incomplete
|
131
128
|
_attr_supported_features: Incomplete
|
132
129
|
def _setup_from_config(self, config: ConfigType) -> None: ...
|
133
|
-
async def mqtt_async_added_to_hass(self) -> None: ...
|
134
130
|
_attr_hvac_action: Incomplete
|
135
131
|
def _prepare_subscribe_topics(self) -> None: ...
|
136
132
|
async def async_set_temperature(self, **kwargs: Any) -> None: ...
|
@@ -139,8 +135,5 @@ class MqttClimate(MqttTemperatureControlEntity, ClimateEntity):
|
|
139
135
|
async def async_set_fan_mode(self, fan_mode: str) -> None: ...
|
140
136
|
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
|
141
137
|
async def async_set_preset_mode(self, preset_mode: str) -> None: ...
|
142
|
-
async def _set_aux_heat(self, state: bool) -> None: ...
|
143
|
-
async def async_turn_aux_heat_on(self) -> None: ...
|
144
|
-
async def async_turn_aux_heat_off(self) -> None: ...
|
145
138
|
async def async_turn_on(self) -> None: ...
|
146
139
|
async def async_turn_off(self) -> None: ...
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from _typeshed import Incomplete
|
2
2
|
from homeassistant.const import CONF_PAYLOAD as CONF_PAYLOAD, Platform as Platform
|
3
|
+
from homeassistant.exceptions import TemplateError as TemplateError
|
3
4
|
|
4
5
|
ATTR_DISCOVERY_HASH: str
|
5
6
|
ATTR_DISCOVERY_PAYLOAD: str
|
@@ -112,3 +113,4 @@ PAYLOAD_EMPTY_JSON: str
|
|
112
113
|
PAYLOAD_NONE: str
|
113
114
|
PLATFORMS: Incomplete
|
114
115
|
RELOADABLE_PLATFORMS: Incomplete
|
116
|
+
TEMPLATE_ERRORS: Incomplete
|
@@ -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_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_EMPTY_JSON as PAYLOAD_EMPTY_JSON, PAYLOAD_NONE as PAYLOAD_NONE
|
4
|
+
from .const import CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_EMPTY_JSON as PAYLOAD_EMPTY_JSON, PAYLOAD_NONE as PAYLOAD_NONE, TEMPLATE_ERRORS as TEMPLATE_ERRORS
|
5
5
|
from .debug_info import log_messages as log_messages
|
6
6
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
|
7
7
|
from .models import MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
|
@@ -2,7 +2,7 @@ import httpx
|
|
2
2
|
import voluptuous as vol
|
3
3
|
from . import subscription as subscription
|
4
4
|
from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
|
5
|
-
from .const import CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS
|
5
|
+
from .const import CONF_ENCODING as CONF_ENCODING, CONF_QOS as CONF_QOS, TEMPLATE_ERRORS as TEMPLATE_ERRORS
|
6
6
|
from .debug_info import log_messages as log_messages
|
7
7
|
from .mixins import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
|
8
8
|
from .models import MessageCallbackType as MessageCallbackType, MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
|
@@ -2,10 +2,10 @@ import abc
|
|
2
2
|
import voluptuous as vol
|
3
3
|
from . import debug_info as debug_info, subscription as subscription
|
4
4
|
from .client import async_publish as async_publish
|
5
|
-
from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEPRECATED_VIA_HUB as CONF_DEPRECATED_VIA_HUB, CONF_ENCODING as CONF_ENCODING, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_QOS as CONF_QOS, CONF_SCHEMA as CONF_SCHEMA, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, DOMAIN as DOMAIN, MQTT_CONNECTED as MQTT_CONNECTED, MQTT_DISCONNECTED as MQTT_DISCONNECTED
|
5
|
+
from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEPRECATED_VIA_HUB as CONF_DEPRECATED_VIA_HUB, CONF_ENCODING as CONF_ENCODING, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_QOS as CONF_QOS, CONF_SCHEMA as CONF_SCHEMA, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, DOMAIN as DOMAIN, MQTT_CONNECTED as MQTT_CONNECTED, MQTT_DISCONNECTED as MQTT_DISCONNECTED, TEMPLATE_ERRORS as TEMPLATE_ERRORS
|
6
6
|
from .debug_info import log_message as log_message, log_messages as log_messages
|
7
7
|
from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload, MQTT_DISCOVERY_DONE as MQTT_DISCOVERY_DONE, MQTT_DISCOVERY_NEW as MQTT_DISCOVERY_NEW, MQTT_DISCOVERY_UPDATED as MQTT_DISCOVERY_UPDATED, MQTT_ORIGIN_INFO_SCHEMA as MQTT_ORIGIN_INFO_SCHEMA, clear_discovery_hash as clear_discovery_hash, set_discovery_hash as set_discovery_hash
|
8
|
-
from .models import MessageCallbackType as MessageCallbackType, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
|
8
|
+
from .models import MessageCallbackType as MessageCallbackType, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
|
9
9
|
from .subscription import EntitySubscription as EntitySubscription, async_prepare_subscribe_topics as async_prepare_subscribe_topics, async_subscribe_topics as async_subscribe_topics, async_unsubscribe_topics as async_unsubscribe_topics
|
10
10
|
from .util import get_mqtt_data as get_mqtt_data, mqtt_config_entry_enabled as mqtt_config_entry_enabled, valid_subscribe_topic as valid_subscribe_topic
|
11
11
|
from _typeshed import Incomplete
|
@@ -2,6 +2,7 @@ import asyncio
|
|
2
2
|
import datetime as dt
|
3
3
|
import voluptuous as vol
|
4
4
|
from .client import MQTT as MQTT, Subscription as Subscription
|
5
|
+
from .const import DOMAIN as DOMAIN, TEMPLATE_ERRORS as TEMPLATE_ERRORS
|
5
6
|
from .debug_info import TimestampedPublishMessage as TimestampedPublishMessage
|
6
7
|
from .device_trigger import Trigger as Trigger
|
7
8
|
from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload
|
@@ -13,6 +14,7 @@ from dataclasses import dataclass
|
|
13
14
|
from enum import StrEnum
|
14
15
|
from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_NAME as ATTR_NAME
|
15
16
|
from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
|
17
|
+
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError, TemplateError as TemplateError
|
16
18
|
from homeassistant.helpers import template as template
|
17
19
|
from homeassistant.helpers.entity import Entity as Entity
|
18
20
|
from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as ReceivePayloadType
|
@@ -72,6 +74,14 @@ class MqttOriginInfo(TypedDict, total=False):
|
|
72
74
|
hw_version: str
|
73
75
|
support_url: str
|
74
76
|
|
77
|
+
class MqttCommandTemplateException(ServiceValidationError):
|
78
|
+
translation_domain: Incomplete
|
79
|
+
translation_key: str
|
80
|
+
translation_placeholders: Incomplete
|
81
|
+
_message: Incomplete
|
82
|
+
def __init__(self, *args: object, base_exception: Exception, command_template: str, value: PublishPayloadType, entity_id: str | None = None) -> None: ...
|
83
|
+
def __str__(self) -> str: ...
|
84
|
+
|
75
85
|
class MqttCommandTemplate:
|
76
86
|
_template_state: Incomplete
|
77
87
|
_command_template: Incomplete
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from . import subscription as subscription
|
2
2
|
from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
|
3
|
-
from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, CONF_QOS as CONF_QOS, CONF_TOPIC as CONF_TOPIC
|
3
|
+
from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, CONF_QOS as CONF_QOS, CONF_TOPIC as CONF_TOPIC, TEMPLATE_ERRORS as TEMPLATE_ERRORS
|
4
4
|
from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload
|
5
5
|
from .mixins import MQTT_ENTITY_DEVICE_INFO_SCHEMA as MQTT_ENTITY_DEVICE_INFO_SCHEMA, MqttDiscoveryDeviceUpdate as MqttDiscoveryDeviceUpdate, async_handle_schema_error as async_handle_schema_error, async_setup_non_entity_entry_helper as async_setup_non_entity_entry_helper, send_discovery_done as send_discovery_done, update_device as update_device
|
6
6
|
from .models import MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage, ReceivePayloadType as ReceivePayloadType
|
@@ -1,9 +1,10 @@
|
|
1
1
|
from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
|
2
|
-
from .const import DOMAIN as DOMAIN
|
2
|
+
from .const import DOMAIN as DOMAIN, OAUTH2_SCOPES as OAUTH2_SCOPES
|
3
3
|
from .coordinator import MyUplinkDataCoordinator as MyUplinkDataCoordinator
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import Platform as Platform
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
|
+
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
7
8
|
from homeassistant.helpers import aiohttp_client as aiohttp_client, config_entry_oauth2_flow as config_entry_oauth2_flow
|
8
9
|
|
9
10
|
PLATFORMS: list[Platform]
|
@@ -0,0 +1,24 @@
|
|
1
|
+
from . import MyUplinkDataCoordinator as MyUplinkDataCoordinator
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .entity import MyUplinkEntity as MyUplinkEntity
|
4
|
+
from .helpers import find_matching_platform as find_matching_platform
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.const import Platform as Platform
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
11
|
+
from myuplink import DevicePoint as DevicePoint
|
12
|
+
|
13
|
+
CATEGORY_BASED_DESCRIPTIONS: dict[str, dict[str, BinarySensorEntityDescription]]
|
14
|
+
|
15
|
+
def get_description(device_point: DevicePoint) -> BinarySensorEntityDescription | None: ...
|
16
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
17
|
+
|
18
|
+
class MyUplinkDevicePointBinarySensor(MyUplinkEntity, BinarySensorEntity):
|
19
|
+
point_id: Incomplete
|
20
|
+
_attr_name: Incomplete
|
21
|
+
entity_description: Incomplete
|
22
|
+
def __init__(self, coordinator: MyUplinkDataCoordinator, device_id: str, device_point: DevicePoint, entity_description: BinarySensorEntityDescription | None, unique_id_suffix: str) -> None: ...
|
23
|
+
@property
|
24
|
+
def is_on(self) -> bool: ...
|
@@ -1,11 +1,18 @@
|
|
1
1
|
import logging
|
2
2
|
from .const import DOMAIN as DOMAIN, OAUTH2_SCOPES as OAUTH2_SCOPES
|
3
|
+
from collections.abc import Mapping
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
|
+
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
3
6
|
from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
|
4
7
|
from typing import Any
|
5
8
|
|
6
9
|
class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain=DOMAIN):
|
7
10
|
DOMAIN = DOMAIN
|
11
|
+
config_entry_reauth: ConfigEntry | None
|
8
12
|
@property
|
9
13
|
def logger(self) -> logging.Logger: ...
|
10
14
|
@property
|
11
15
|
def extra_authorize_data(self) -> dict[str, Any]: ...
|
16
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult: ...
|
17
|
+
async def async_step_reauth_confirm(self, user_input: Mapping[str, Any] | None = None) -> FlowResult: ...
|
18
|
+
async def async_oauth_create_entry(self, data: dict) -> FlowResult: ...
|
@@ -3,8 +3,7 @@ from dataclasses import dataclass
|
|
3
3
|
from datetime import datetime
|
4
4
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
5
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
6
|
-
from myuplink
|
7
|
-
from myuplink.models import Device as Device, DevicePoint as DevicePoint, System as System
|
6
|
+
from myuplink import Device as Device, DevicePoint as DevicePoint, MyUplinkAPI as MyUplinkAPI, System as System
|
8
7
|
|
9
8
|
_LOGGER: Incomplete
|
10
9
|
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
|
+
from myuplink import MyUplinkAPI as MyUplinkAPI
|
7
|
+
from typing import Any
|
8
|
+
|
9
|
+
TO_REDACT: Incomplete
|
10
|
+
|
11
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
|
@@ -0,0 +1,6 @@
|
|
1
|
+
from homeassistant.components.number import NumberEntityDescription as NumberEntityDescription
|
2
|
+
from homeassistant.components.sensor import SensorEntityDescription as SensorEntityDescription
|
3
|
+
from homeassistant.const import Platform as Platform
|
4
|
+
from myuplink import DevicePoint as DevicePoint
|
5
|
+
|
6
|
+
def find_matching_platform(device_point: DevicePoint, description: SensorEntityDescription | NumberEntityDescription | None = None) -> Platform: ...
|
@@ -0,0 +1,30 @@
|
|
1
|
+
from . import MyUplinkDataCoordinator as MyUplinkDataCoordinator
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .entity import MyUplinkEntity as MyUplinkEntity
|
4
|
+
from .helpers import find_matching_platform as find_matching_platform
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.const import Platform as Platform
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
|
+
from myuplink import DevicePoint as DevicePoint
|
13
|
+
|
14
|
+
DEVICE_POINT_UNIT_DESCRIPTIONS: dict[str, NumberEntityDescription]
|
15
|
+
CATEGORY_BASED_DESCRIPTIONS: dict[str, dict[str, NumberEntityDescription]]
|
16
|
+
|
17
|
+
def get_description(device_point: DevicePoint) -> NumberEntityDescription | None: ...
|
18
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
19
|
+
|
20
|
+
class MyUplinkNumber(MyUplinkEntity, NumberEntity):
|
21
|
+
point_id: Incomplete
|
22
|
+
_attr_name: Incomplete
|
23
|
+
_attr_native_min_value: Incomplete
|
24
|
+
_attr_native_max_value: Incomplete
|
25
|
+
_attr_step_value: Incomplete
|
26
|
+
entity_description: Incomplete
|
27
|
+
def __init__(self, coordinator: MyUplinkDataCoordinator, device_id: str, device_point: DevicePoint, entity_description: NumberEntityDescription | None, unique_id_suffix: str) -> None: ...
|
28
|
+
@property
|
29
|
+
def native_value(self) -> float: ...
|
30
|
+
async def async_set_native_value(self, value: float) -> None: ...
|
@@ -1,17 +1,21 @@
|
|
1
1
|
from . import MyUplinkDataCoordinator as MyUplinkDataCoordinator
|
2
2
|
from .const import DOMAIN as DOMAIN
|
3
3
|
from .entity import MyUplinkEntity as MyUplinkEntity
|
4
|
+
from .helpers import find_matching_platform as find_matching_platform
|
4
5
|
from _typeshed import Incomplete
|
5
6
|
from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
6
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
-
from homeassistant.const import UnitOfTemperature as UnitOfTemperature
|
8
|
+
from homeassistant.const import Platform as Platform, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
|
8
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
10
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
11
|
from homeassistant.helpers.typing import StateType as StateType
|
11
|
-
from myuplink
|
12
|
+
from myuplink import DevicePoint as DevicePoint
|
12
13
|
|
13
|
-
|
14
|
+
DEVICE_POINT_UNIT_DESCRIPTIONS: dict[str, SensorEntityDescription]
|
15
|
+
MARKER_FOR_UNKNOWN_VALUE: int
|
16
|
+
CATEGORY_BASED_DESCRIPTIONS: dict[str, dict[str, SensorEntityDescription]]
|
14
17
|
|
18
|
+
def get_description(device_point: DevicePoint) -> SensorEntityDescription | None: ...
|
15
19
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
16
20
|
|
17
21
|
class MyUplinkDevicePointSensor(MyUplinkEntity, SensorEntity):
|
@@ -22,3 +26,16 @@ class MyUplinkDevicePointSensor(MyUplinkEntity, SensorEntity):
|
|
22
26
|
def __init__(self, coordinator: MyUplinkDataCoordinator, device_id: str, device_point: DevicePoint, entity_description: SensorEntityDescription | None, unique_id_suffix: str) -> None: ...
|
23
27
|
@property
|
24
28
|
def native_value(self) -> StateType: ...
|
29
|
+
|
30
|
+
class MyUplinkEnumSensor(MyUplinkDevicePointSensor):
|
31
|
+
_attr_options: Incomplete
|
32
|
+
options_map: Incomplete
|
33
|
+
def __init__(self, coordinator: MyUplinkDataCoordinator, device_id: str, device_point: DevicePoint, entity_description: SensorEntityDescription | None, unique_id_suffix: str) -> None: ...
|
34
|
+
@property
|
35
|
+
def native_value(self) -> str: ...
|
36
|
+
|
37
|
+
class MyUplinkEnumRawSensor(MyUplinkDevicePointSensor):
|
38
|
+
_attr_entity_registry_enabled_default: bool
|
39
|
+
_attr_device_class: Incomplete
|
40
|
+
_attr_name: Incomplete
|
41
|
+
def __init__(self, coordinator: MyUplinkDataCoordinator, device_id: str, device_point: DevicePoint, entity_description: SensorEntityDescription | None, unique_id_suffix: str) -> None: ...
|
@@ -0,0 +1,29 @@
|
|
1
|
+
from . import MyUplinkDataCoordinator as MyUplinkDataCoordinator
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .entity import MyUplinkEntity as MyUplinkEntity
|
4
|
+
from .helpers import find_matching_platform as find_matching_platform
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
|
7
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
|
+
from homeassistant.const import Platform as Platform
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
10
|
+
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
11
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
12
|
+
from myuplink import DevicePoint as DevicePoint
|
13
|
+
from typing import Any
|
14
|
+
|
15
|
+
CATEGORY_BASED_DESCRIPTIONS: dict[str, dict[str, SwitchEntityDescription]]
|
16
|
+
|
17
|
+
def get_description(device_point: DevicePoint) -> SwitchEntityDescription | None: ...
|
18
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
19
|
+
|
20
|
+
class MyUplinkDevicePointSwitch(MyUplinkEntity, SwitchEntity):
|
21
|
+
point_id: Incomplete
|
22
|
+
_attr_name: Incomplete
|
23
|
+
entity_description: Incomplete
|
24
|
+
def __init__(self, coordinator: MyUplinkDataCoordinator, device_id: str, device_point: DevicePoint, entity_description: SwitchEntityDescription | None, unique_id_suffix: str) -> None: ...
|
25
|
+
@property
|
26
|
+
def is_on(self) -> bool: ...
|
27
|
+
async def async_turn_on(self, **kwargs: Any) -> None: ...
|
28
|
+
async def async_turn_off(self, **kwargs: Any) -> None: ...
|
29
|
+
async def _async_turn_switch(self, mode: int) -> None: ...
|
@@ -0,0 +1,20 @@
|
|
1
|
+
from . import MyUplinkDataCoordinator as MyUplinkDataCoordinator
|
2
|
+
from .const import DOMAIN as DOMAIN
|
3
|
+
from .entity import MyUplinkEntity as MyUplinkEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription
|
6
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
7
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
+
|
10
|
+
UPDATE_DESCRIPTION: Incomplete
|
11
|
+
|
12
|
+
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
13
|
+
|
14
|
+
class MyUplinkDeviceUpdate(MyUplinkEntity, UpdateEntity):
|
15
|
+
entity_description: Incomplete
|
16
|
+
def __init__(self, coordinator: MyUplinkDataCoordinator, device_id: str, entity_description: UpdateEntityDescription, unique_id_suffix: str) -> None: ...
|
17
|
+
@property
|
18
|
+
def installed_version(self) -> str | None: ...
|
19
|
+
@property
|
20
|
+
def latest_version(self) -> str | None: ...
|
@@ -1,14 +1,15 @@
|
|
1
|
-
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER, SENSOR_BATTERY as SENSOR_BATTERY, SENSOR_DOOR as SENSOR_DOOR, SENSOR_GARAGE_DOOR as SENSOR_GARAGE_DOOR, SENSOR_LEAK as SENSOR_LEAK, SENSOR_MISSING as SENSOR_MISSING, SENSOR_SAFE as SENSOR_SAFE, SENSOR_SLIDING as SENSOR_SLIDING, SENSOR_SMOKE_CO as SENSOR_SMOKE_CO, SENSOR_TEMPERATURE as SENSOR_TEMPERATURE, SENSOR_WINDOW_HINGED as SENSOR_WINDOW_HINGED
|
1
|
+
from .const import CONF_REFRESH_TOKEN as CONF_REFRESH_TOKEN, CONF_USER_UUID as CONF_USER_UUID, DOMAIN as DOMAIN, LOGGER as LOGGER, SENSOR_BATTERY as SENSOR_BATTERY, SENSOR_DOOR as SENSOR_DOOR, SENSOR_GARAGE_DOOR as SENSOR_GARAGE_DOOR, SENSOR_LEAK as SENSOR_LEAK, SENSOR_MISSING as SENSOR_MISSING, SENSOR_SAFE as SENSOR_SAFE, SENSOR_SLIDING as SENSOR_SLIDING, SENSOR_SMOKE_CO as SENSOR_SMOKE_CO, SENSOR_TEMPERATURE as SENSOR_TEMPERATURE, SENSOR_WINDOW_HINGED as SENSOR_WINDOW_HINGED
|
2
|
+
from .util import async_get_client_with_credentials as async_get_client_with_credentials, async_get_client_with_refresh_token as async_get_client_with_refresh_token
|
2
3
|
from _typeshed import Incomplete
|
3
|
-
from aionotion.bridge.models import Bridge as Bridge
|
4
|
-
from aionotion.
|
5
|
-
from aionotion.
|
4
|
+
from aionotion.bridge.models import Bridge as Bridge
|
5
|
+
from aionotion.listener.models import Listener as Listener, ListenerKind
|
6
|
+
from aionotion.sensor.models import Sensor as Sensor
|
7
|
+
from aionotion.user.models import UserPreferences as UserPreferences
|
6
8
|
from dataclasses import dataclass
|
7
9
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
8
10
|
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
|
9
11
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
12
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
11
|
-
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
12
13
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
13
14
|
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
14
15
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
@@ -35,7 +36,10 @@ class NotionData:
|
|
35
36
|
listeners: dict[str, Listener] = ...
|
36
37
|
sensors: dict[str, Sensor] = ...
|
37
38
|
user_preferences: UserPreferences | None = ...
|
38
|
-
def
|
39
|
+
def update_bridges(self, bridges: list[Bridge]) -> None: ...
|
40
|
+
def update_listeners(self, listeners: list[Listener]) -> None: ...
|
41
|
+
def update_sensors(self, sensors: list[Sensor]) -> None: ...
|
42
|
+
def update_user_preferences(self, user_preferences: UserPreferences) -> None: ...
|
39
43
|
def asdict(self) -> dict[str, Any]: ...
|
40
44
|
def __init__(self, hass, entry, bridges, listeners, sensors, user_preferences) -> None: ...
|
41
45
|
|
@@ -1,18 +1,26 @@
|
|
1
|
-
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
1
|
+
from .const import CONF_REFRESH_TOKEN as CONF_REFRESH_TOKEN, CONF_USER_UUID as CONF_USER_UUID, DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
|
+
from .util import async_get_client_with_credentials as async_get_client_with_credentials
|
2
3
|
from _typeshed import Incomplete
|
3
4
|
from collections.abc import Mapping
|
5
|
+
from dataclasses import dataclass
|
4
6
|
from homeassistant import config_entries as config_entries
|
5
7
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
8
|
from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
|
7
9
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
10
|
from homeassistant.data_entry_flow import FlowResult as FlowResult
|
9
|
-
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
10
11
|
from typing import Any
|
11
12
|
|
12
13
|
AUTH_SCHEMA: Incomplete
|
13
14
|
REAUTH_SCHEMA: Incomplete
|
14
15
|
|
15
|
-
|
16
|
+
@dataclass(frozen=True, kw_only=True)
|
17
|
+
class CredentialsValidationResult:
|
18
|
+
user_uuid: str | None = ...
|
19
|
+
refresh_token: str | None = ...
|
20
|
+
errors: dict[str, Any] = ...
|
21
|
+
def __init__(self, *, user_uuid, refresh_token, errors) -> None: ...
|
22
|
+
|
23
|
+
async def async_validate_credentials(hass: HomeAssistant, username: str, password: str) -> CredentialsValidationResult: ...
|
16
24
|
|
17
25
|
class NotionFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
18
26
|
VERSION: int
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from . import NotionData as NotionData
|
2
|
-
from .const import DOMAIN as DOMAIN
|
2
|
+
from .const import CONF_REFRESH_TOKEN as CONF_REFRESH_TOKEN, CONF_USER_UUID as CONF_USER_UUID, DOMAIN as DOMAIN
|
3
3
|
from _typeshed import Incomplete
|
4
4
|
from homeassistant.components.diagnostics import async_redact_data as async_redact_data
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
|
-
from homeassistant.const import CONF_EMAIL as CONF_EMAIL,
|
6
|
+
from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_USERNAME as CONF_USERNAME
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
|
9
9
|
from typing import Any
|
@@ -0,0 +1,7 @@
|
|
1
|
+
from aionotion.client import Client as Client
|
2
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
|
+
from homeassistant.helpers import aiohttp_client as aiohttp_client
|
4
|
+
from homeassistant.helpers.instance_id import async_get as async_get
|
5
|
+
|
6
|
+
async def async_get_client_with_credentials(hass: HomeAssistant, email: str, password: str) -> Client: ...
|
7
|
+
async def async_get_client_with_refresh_token(hass: HomeAssistant, user_uuid: str, refresh_token: str) -> Client: ...
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from . import HomeAssistantOverkizData as HomeAssistantOverkizData
|
2
|
-
from .climate_entities import WIDGET_AND_PROTOCOL_TO_CLIMATE_ENTITY as WIDGET_AND_PROTOCOL_TO_CLIMATE_ENTITY, WIDGET_TO_CLIMATE_ENTITY as WIDGET_TO_CLIMATE_ENTITY
|
2
|
+
from .climate_entities import Controllable as Controllable, WIDGET_AND_CONTROLLABLE_TO_CLIMATE_ENTITY as WIDGET_AND_CONTROLLABLE_TO_CLIMATE_ENTITY, WIDGET_AND_PROTOCOL_TO_CLIMATE_ENTITY as WIDGET_AND_PROTOCOL_TO_CLIMATE_ENTITY, WIDGET_TO_CLIMATE_ENTITY as WIDGET_TO_CLIMATE_ENTITY
|
3
3
|
from .const import DOMAIN as DOMAIN
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
5
5
|
from homeassistant.const import Platform as Platform
|
@@ -4,11 +4,19 @@ from .atlantic_electrical_towel_dryer import AtlanticElectricalTowelDryer as Atl
|
|
4
4
|
from .atlantic_heat_recovery_ventilation import AtlanticHeatRecoveryVentilation as AtlanticHeatRecoveryVentilation
|
5
5
|
from .atlantic_pass_apc_heating_zone import AtlanticPassAPCHeatingZone as AtlanticPassAPCHeatingZone
|
6
6
|
from .atlantic_pass_apc_zone_control import AtlanticPassAPCZoneControl as AtlanticPassAPCZoneControl
|
7
|
+
from .atlantic_pass_apc_zone_control_zone import AtlanticPassAPCZoneControlZone as AtlanticPassAPCZoneControlZone
|
7
8
|
from .hitachi_air_to_air_heat_pump_hlrrwifi import HitachiAirToAirHeatPumpHLRRWIFI as HitachiAirToAirHeatPumpHLRRWIFI
|
9
|
+
from .hitachi_air_to_air_heat_pump_ovp import HitachiAirToAirHeatPumpOVP as HitachiAirToAirHeatPumpOVP
|
8
10
|
from .somfy_heating_temperature_interface import SomfyHeatingTemperatureInterface as SomfyHeatingTemperatureInterface
|
9
11
|
from .somfy_thermostat import SomfyThermostat as SomfyThermostat
|
10
12
|
from .valve_heating_temperature_interface import ValveHeatingTemperatureInterface as ValveHeatingTemperatureInterface
|
11
13
|
from _typeshed import Incomplete
|
14
|
+
from enum import StrEnum
|
15
|
+
|
16
|
+
class Controllable(StrEnum):
|
17
|
+
IO_ATLANTIC_PASS_APC_HEATING_AND_COOLING_ZONE: str
|
18
|
+
IO_ATLANTIC_PASS_APC_ZONE_CONTROL_ZONE: str
|
12
19
|
|
13
20
|
WIDGET_TO_CLIMATE_ENTITY: Incomplete
|
21
|
+
WIDGET_AND_CONTROLLABLE_TO_CLIMATE_ENTITY: Incomplete
|
14
22
|
WIDGET_AND_PROTOCOL_TO_CLIMATE_ENTITY: Incomplete
|
@@ -11,7 +11,7 @@ HVAC_MODE_TO_OVERKIZ: Incomplete
|
|
11
11
|
PRESET_EXTERNAL: str
|
12
12
|
PRESET_FROST_PROTECTION: str
|
13
13
|
OVERKIZ_TO_PRESET_MODES: dict[str, str]
|
14
|
-
PRESET_MODES_TO_OVERKIZ:
|
14
|
+
PRESET_MODES_TO_OVERKIZ: dict[str, str]
|
15
15
|
OVERKIZ_TO_PROFILE_MODES: dict[str, str]
|
16
16
|
OVERKIZ_TEMPERATURE_STATE_BY_PROFILE: dict[str, str]
|
17
17
|
|