homeassistant-stubs 2024.2.4__py3-none-any.whl → 2024.3.0b0__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 -4
- 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/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/camera/media_source.pyi +1 -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/cover/intent.pyi +2 -2
- homeassistant-stubs/components/cpuspeed/sensor.pyi +0 -1
- homeassistant-stubs/components/crownstone/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/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/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/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 +1 -0
- 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/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/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/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 +3 -4
- 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 +1 -1
- 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/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/valve/intent.pyi +6 -0
- homeassistant-stubs/components/wake_word/models.pyi +4 -2
- homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
- 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 +38 -22
- homeassistant-stubs/core.pyi +8 -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 +4 -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/icon.pyi +1 -1
- homeassistant-stubs/helpers/integration_platform.pyi +12 -8
- homeassistant-stubs/helpers/intent.pyi +8 -2
- 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 +24 -11
- 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.4.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/RECORD +275 -239
- {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.2.4.dist-info → homeassistant_stubs-2024.3.0b0.dist-info}/WHEEL +0 -0
@@ -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: ...
|
@@ -40,4 +40,4 @@ class RainMachineDataUpdateCoordinator(DataUpdateCoordinator[dict]):
|
|
40
40
|
signal_reboot_requested: Incomplete
|
41
41
|
def __init__(self, hass: HomeAssistant, *, entry: ConfigEntry, name: str, api_category: str, update_interval: timedelta, update_method: Callable[..., Awaitable]) -> None: ...
|
42
42
|
last_update_success: bool
|
43
|
-
|
43
|
+
def async_initialize(self) -> None: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from homeassistant.components.hassio import get_os_info as get_os_info
|
1
|
+
from homeassistant.components.hassio import get_os_info as get_os_info, is_hassio as is_hassio
|
2
2
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
3
3
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
4
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
@@ -6,7 +6,7 @@ from .tasks import AddRecorderPlatformTask as AddRecorderPlatformTask
|
|
6
6
|
from .util import get_instance as get_instance
|
7
7
|
from _typeshed import Incomplete
|
8
8
|
from homeassistant.const import CONF_EXCLUDE as CONF_EXCLUDE, EVENT_RECORDER_5MIN_STATISTICS_GENERATED as EVENT_RECORDER_5MIN_STATISTICS_GENERATED, EVENT_RECORDER_HOURLY_STATISTICS_GENERATED as EVENT_RECORDER_HOURLY_STATISTICS_GENERATED, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
|
9
|
-
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
10
10
|
from homeassistant.helpers.entityfilter import INCLUDE_EXCLUDE_BASE_FILTER_SCHEMA as INCLUDE_EXCLUDE_BASE_FILTER_SCHEMA, INCLUDE_EXCLUDE_FILTER_SCHEMA_INNER as INCLUDE_EXCLUDE_FILTER_SCHEMA_INNER, convert_include_exclude_filter as convert_include_exclude_filter
|
11
11
|
from homeassistant.helpers.integration_platform import async_process_integration_platforms as async_process_integration_platforms
|
12
12
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
@@ -1,7 +1,6 @@
|
|
1
|
-
import logging
|
2
1
|
from .models import StatisticPeriod as StatisticPeriod
|
3
2
|
from .statistics import STATISTIC_UNIT_TO_UNIT_CONVERTER as STATISTIC_UNIT_TO_UNIT_CONVERTER, async_add_external_statistics as async_add_external_statistics, async_change_statistics_unit as async_change_statistics_unit, async_import_statistics as async_import_statistics, async_list_statistic_ids as async_list_statistic_ids, list_statistic_ids as list_statistic_ids, statistic_during_period as statistic_during_period, statistics_during_period as statistics_during_period, validate_statistics as validate_statistics
|
4
|
-
from .util import PERIOD_SCHEMA as PERIOD_SCHEMA,
|
3
|
+
from .util import PERIOD_SCHEMA as PERIOD_SCHEMA, get_instance as get_instance, resolve_period as resolve_period
|
5
4
|
from _typeshed import Incomplete
|
6
5
|
from datetime import datetime as dt
|
7
6
|
from homeassistant.components import websocket_api as websocket_api
|
@@ -12,7 +11,6 @@ from homeassistant.helpers.json import json_bytes as json_bytes
|
|
12
11
|
from homeassistant.util.unit_conversion import DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
|
13
12
|
from typing import Any, Literal
|
14
13
|
|
15
|
-
_LOGGER: logging.Logger
|
16
14
|
UNIT_SCHEMA: Incomplete
|
17
15
|
|
18
16
|
def async_setup(hass: HomeAssistant) -> None: ...
|
@@ -32,5 +30,3 @@ def ws_change_statistics_unit(hass: HomeAssistant, connection: websocket_api.Act
|
|
32
30
|
async def ws_adjust_sum_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
33
31
|
def ws_import_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
34
32
|
def ws_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
35
|
-
async def ws_backup_start(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
36
|
-
async def ws_backup_end(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
@@ -17,4 +17,4 @@ class RepairsFlowManager(data_entry_flow.FlowManager):
|
|
17
17
|
|
18
18
|
def async_setup(hass: HomeAssistant) -> None: ...
|
19
19
|
async def async_process_repairs_platforms(hass: HomeAssistant) -> None: ...
|
20
|
-
|
20
|
+
def _register_repairs_platform(hass: HomeAssistant, integration_domain: str, platform: RepairsProtocol) -> None: ...
|
@@ -5,6 +5,7 @@ from collections.abc import Callable as Callable, Mapping
|
|
5
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
6
6
|
from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_DEVICE as CONF_DEVICE, CONF_DEVICES as CONF_DEVICES, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
|
7
7
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
|
8
|
+
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
8
9
|
from homeassistant.helpers import device_registry as dr
|
9
10
|
from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
|
10
11
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
|
@@ -15,6 +16,7 @@ from typing import Any, NamedTuple, TypeVarTuple
|
|
15
16
|
|
16
17
|
DEFAULT_OFF_DELAY: float
|
17
18
|
SIGNAL_EVENT: Incomplete
|
19
|
+
CONNECT_TIMEOUT: float
|
18
20
|
_Ts = TypeVarTuple('_Ts')
|
19
21
|
_LOGGER: Incomplete
|
20
22
|
|
@@ -30,7 +32,7 @@ PLATFORMS: Incomplete
|
|
30
32
|
|
31
33
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
32
34
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
33
|
-
def _create_rfx(config: Mapping[str, Any]) -> rfxtrxmod.Connect: ...
|
35
|
+
def _create_rfx(config: Mapping[str, Any], event_callback: Callable[[rfxtrxmod.RFXtrxEvent], None]) -> rfxtrxmod.Connect: ...
|
34
36
|
def _get_device_lookup(devices: dict[str, dict[str, Any]]) -> dict[DeviceTuple, dict[str, Any]]: ...
|
35
37
|
async def async_setup_internal(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
36
38
|
async def async_setup_platform_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback, supported: Callable[[rfxtrxmod.RFXtrxEvent], bool], constructor: Callable[[rfxtrxmod.RFXtrxEvent, rfxtrxmod.RFXtrxEvent | None, DeviceTuple, dict[str, Any]], list[Entity]]) -> None: ...
|
@@ -21,7 +21,7 @@ class DebouncedEntryReloader:
|
|
21
21
|
_debounced_reload: Incomplete
|
22
22
|
def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
23
23
|
async def async_call(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
24
|
-
|
24
|
+
def async_shutdown(self) -> None: ...
|
25
25
|
async def _async_reload_entry(self) -> None: ...
|
26
26
|
|
27
27
|
async def _async_update_ssdp_locations(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
|
@@ -15,6 +15,7 @@ DATA_SCHEMA: Incomplete
|
|
15
15
|
|
16
16
|
def _strip_uuid(udn: str) -> str: ...
|
17
17
|
def _entry_is_complete(entry: config_entries.ConfigEntry, ssdp_rendering_control_location: str | None, ssdp_main_tv_agent_location: str | None) -> bool: ...
|
18
|
+
def _mac_is_same_with_incorrect_formatting(current_unformatted_mac: str, formatted_mac: str) -> bool: ...
|
18
19
|
|
19
20
|
class SamsungTVConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
20
21
|
VERSION: int
|
@@ -27,8 +27,6 @@ def _get_sensor_states(hass: HomeAssistant) -> list[State]: ...
|
|
27
27
|
def _time_weighted_average(fstates: list[tuple[float, State]], start: datetime.datetime, end: datetime.datetime) -> float: ...
|
28
28
|
def _get_units(fstates: list[tuple[float, State]]) -> set[str | None]: ...
|
29
29
|
def _equivalent_units(units: set[str | None]) -> bool: ...
|
30
|
-
def _parse_float(state: str) -> float: ...
|
31
|
-
def _float_or_none(state: str) -> float | None: ...
|
32
30
|
def _entity_history_to_float_and_state(entity_history: Iterable[State]) -> list[tuple[float, State]]: ...
|
33
31
|
def _normalize_states(hass: HomeAssistant, old_metadatas: dict[str, tuple[int, StatisticMetaData]], fstates: list[tuple[float, State]], entity_id: str) -> tuple[str | None, list[tuple[float, State]]]: ...
|
34
32
|
def _suggest_report_issue(hass: HomeAssistant, entity_id: str) -> str: ...
|
@@ -13,7 +13,7 @@ from typing import Final
|
|
13
13
|
|
14
14
|
@dataclass(frozen=True)
|
15
15
|
class BlockBinarySensorDescription(BlockEntityDescription, BinarySensorEntityDescription):
|
16
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement,
|
16
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
|
17
17
|
|
18
18
|
@dataclass(frozen=True)
|
19
19
|
class RpcBinarySensorDescription(RpcEntityDescription, BinarySensorEntityDescription):
|
@@ -29,7 +29,7 @@ class ShellyButtonDescription(ButtonEntityDescription, ShellyButtonDescriptionMi
|
|
29
29
|
|
30
30
|
BUTTONS: Final[list[ShellyButtonDescription[Any]]]
|
31
31
|
|
32
|
-
def async_migrate_unique_ids(
|
32
|
+
def async_migrate_unique_ids(coordinator: ShellyRpcCoordinator | ShellyBlockCoordinator, entity_entry: er.RegistryEntry) -> dict[str, Any] | None: ...
|
33
33
|
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
34
34
|
|
35
35
|
class ShellyButton(CoordinatorEntity[ShellyRpcCoordinator | ShellyBlockCoordinator], ButtonEntity):
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER, NOT_CALIBRATED_ISSUE_ID as NOT_CALIBRATED_ISSUE_ID, RPC_THERMOSTAT_SETTINGS as RPC_THERMOSTAT_SETTINGS, SHTRV_01_TEMPERATURE_SETTINGS as SHTRV_01_TEMPERATURE_SETTINGS
|
2
2
|
from .coordinator import ShellyBlockCoordinator as ShellyBlockCoordinator, ShellyRpcCoordinator as ShellyRpcCoordinator, get_entry_data as get_entry_data
|
3
3
|
from .entity import ShellyRpcEntity as ShellyRpcEntity
|
4
|
-
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids
|
4
|
+
from .utils import async_remove_shelly_entity as async_remove_shelly_entity, get_device_entry_gen as get_device_entry_gen, get_rpc_key_ids as get_rpc_key_ids, is_rpc_thermostat_internal_actuator as is_rpc_thermostat_internal_actuator
|
5
5
|
from _typeshed import Incomplete
|
6
6
|
from aioshelly.block_device import Block as Block
|
7
7
|
from dataclasses import dataclass
|
@@ -32,7 +32,6 @@ class ShellyClimateExtraStoredData(ExtraStoredData):
|
|
32
32
|
|
33
33
|
class BlockSleepingClimate(CoordinatorEntity[ShellyBlockCoordinator], RestoreEntity, ClimateEntity):
|
34
34
|
_attr_hvac_modes: Incomplete
|
35
|
-
_attr_icon: str
|
36
35
|
_attr_max_temp: Incomplete
|
37
36
|
_attr_min_temp: Incomplete
|
38
37
|
_attr_supported_features: Incomplete
|
@@ -78,7 +77,6 @@ class BlockSleepingClimate(CoordinatorEntity[ShellyBlockCoordinator], RestoreEnt
|
|
78
77
|
def _handle_coordinator_update(self) -> None: ...
|
79
78
|
|
80
79
|
class RpcClimate(ShellyRpcEntity, ClimateEntity):
|
81
|
-
_attr_icon: str
|
82
80
|
_attr_max_temp: Incomplete
|
83
81
|
_attr_min_temp: Incomplete
|
84
82
|
_attr_supported_features: Incomplete
|
@@ -27,13 +27,12 @@ def async_setup_entry_rest(hass: HomeAssistant, config_entry: ConfigEntry, async
|
|
27
27
|
@dataclass(frozen=True)
|
28
28
|
class BlockEntityDescription(EntityDescription):
|
29
29
|
name: str = ...
|
30
|
-
icon_fn: Callable[[dict], str] | None = ...
|
31
30
|
unit_fn: Callable[[dict], str] | None = ...
|
32
31
|
value: Callable[[Any], Any] = ...
|
33
32
|
available: Callable[[Block], bool] | None = ...
|
34
33
|
removal_condition: Callable[[dict, Block], bool] | None = ...
|
35
34
|
extra_state_attributes: Callable[[Block], dict | None] | None = ...
|
36
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement,
|
35
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, unit_fn, value, available, removal_condition, extra_state_attributes) -> None: ...
|
37
36
|
|
38
37
|
@dataclass(frozen=True)
|
39
38
|
class RpcEntityRequiredKeysMixin:
|
@@ -17,7 +17,7 @@ from typing import Any
|
|
17
17
|
class BlockNumberDescription(BlockEntityDescription, NumberEntityDescription):
|
18
18
|
rest_path: str = ...
|
19
19
|
rest_arg: str = ...
|
20
|
-
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step,
|
20
|
+
def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, unit_fn, value, available, removal_condition, extra_state_attributes, rest_path, rest_arg) -> None: ...
|
21
21
|
|
22
22
|
NUMBERS: dict[tuple[str, str], BlockNumberDescription]
|
23
23
|
|