mirror of
https://github.com/home-assistant/core.git
synced 2026-04-29 10:23:46 +02:00
Improve entity id generation (#160302)
This commit is contained in:
@@ -11,13 +11,11 @@ from homeassistant import config_entries
|
||||
from homeassistant.components import websocket_api
|
||||
from homeassistant.components.websocket_api import ERR_NOT_FOUND, require_admin
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.exceptions import HomeAssistantError
|
||||
from homeassistant.helpers import (
|
||||
config_validation as cv,
|
||||
device_registry as dr,
|
||||
entity_registry as er,
|
||||
)
|
||||
from homeassistant.helpers.entity_component import async_get_entity_suggested_object_id
|
||||
from homeassistant.helpers.json import json_dumps
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
@@ -351,26 +349,12 @@ def websocket_get_automatic_entity_ids(
|
||||
if not (entry := registry.entities.get(entity_id)):
|
||||
automatic_entity_ids[entity_id] = None
|
||||
continue
|
||||
try:
|
||||
suggested = async_get_entity_suggested_object_id(hass, entity_id)
|
||||
except HomeAssistantError as err:
|
||||
# This is raised if the entity has no object.
|
||||
_LOGGER.debug(
|
||||
"Unable to get suggested object ID for %s, entity ID: %s (%s)",
|
||||
entry.entity_id,
|
||||
entity_id,
|
||||
err,
|
||||
)
|
||||
automatic_entity_ids[entity_id] = None
|
||||
continue
|
||||
suggested_entity_id = registry.async_generate_entity_id(
|
||||
entry.domain,
|
||||
suggested or f"{entry.platform}_{entry.unique_id}",
|
||||
current_entity_id=entity_id,
|
||||
new_entity_id = registry.async_regenerate_entity_id(
|
||||
entry,
|
||||
reserved_entity_ids=reserved_entity_ids,
|
||||
)
|
||||
automatic_entity_ids[entity_id] = suggested_entity_id
|
||||
reserved_entity_ids.add(suggested_entity_id)
|
||||
automatic_entity_ids[entity_id] = new_entity_id
|
||||
reserved_entity_ids.add(new_entity_id)
|
||||
|
||||
connection.send_message(
|
||||
websocket_api.result_message(msg["id"], automatic_entity_ids)
|
||||
|
||||
@@ -46,7 +46,7 @@ class MobileAppFlowHandler(ConfigFlow, domain=DOMAIN):
|
||||
"device_tracker",
|
||||
DOMAIN,
|
||||
user_input[ATTR_DEVICE_ID],
|
||||
suggested_object_id=user_input[ATTR_DEVICE_NAME],
|
||||
object_id_base=user_input[ATTR_DEVICE_NAME],
|
||||
)
|
||||
await person.async_add_user_device_tracker(
|
||||
self.hass, user_input[CONF_USER_ID], devt_entry.entity_id
|
||||
|
||||
@@ -126,9 +126,9 @@ async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
"media_player",
|
||||
DOMAIN,
|
||||
unique_id,
|
||||
suggested_object_id=new_id,
|
||||
config_entry=entry,
|
||||
device_id=e_entry.device_id,
|
||||
object_id_base=new_id,
|
||||
)
|
||||
_LOGGER.debug(
|
||||
"PlayStation 4 identifier for entity: %s has changed",
|
||||
|
||||
@@ -83,8 +83,8 @@ def _create_entry(
|
||||
DOMAIN,
|
||||
DOMAIN,
|
||||
tag_id,
|
||||
object_id_base=slugify(name) if name else tag_id,
|
||||
original_name=f"{DEFAULT_NAME} {tag_id}",
|
||||
suggested_object_id=slugify(name) if name else tag_id,
|
||||
)
|
||||
if name:
|
||||
return entity_registry.async_update_entity(entry.entity_id, name=name)
|
||||
|
||||
@@ -250,7 +250,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
else:
|
||||
# Create tariff selection + one meter sensor for each tariff
|
||||
entity_entry = entity_registry.async_get_or_create(
|
||||
Platform.SELECT, DOMAIN, entry.entry_id, suggested_object_id=entry.title
|
||||
Platform.SELECT, DOMAIN, entry.entry_id, object_id_base=entry.title
|
||||
)
|
||||
hass.data[DATA_UTILITY][entry.entry_id][CONF_TARIFF_ENTITY] = (
|
||||
entity_entry.entity_id
|
||||
|
||||
@@ -452,6 +452,11 @@ class Entity(
|
||||
# Entity description instance for this Entity
|
||||
entity_description: EntityDescription
|
||||
|
||||
# Integration suggested object id, derived from entity_id, if it is set by the
|
||||
# integration before the entity is added.
|
||||
# Only handled internally, never to be used by integrations.
|
||||
internal_integration_suggested_object_id: str | None
|
||||
|
||||
# If we reported if this entity was slow
|
||||
_slow_reported = False
|
||||
|
||||
@@ -715,7 +720,7 @@ class Entity(
|
||||
|
||||
@property
|
||||
def suggested_object_id(self) -> str | None:
|
||||
"""Return input for object id."""
|
||||
"""Return suggested object id."""
|
||||
if (
|
||||
# Check our class has overridden the name property from Entity
|
||||
# We need to use type.__getattribute__ to retrieve the underlying
|
||||
@@ -733,6 +738,7 @@ class Entity(
|
||||
)
|
||||
else:
|
||||
name = self.name
|
||||
|
||||
return None if name is UNDEFINED else name
|
||||
|
||||
@cached_property
|
||||
|
||||
@@ -29,8 +29,8 @@ from homeassistant.loader import async_get_integration, bind_hass
|
||||
from homeassistant.setup import async_prepare_setup_platform
|
||||
from homeassistant.util.hass_dict import HassKey
|
||||
|
||||
from . import device_registry as dr, discovery, entity, entity_registry as er, service
|
||||
from .entity_platform import EntityPlatform, async_calculate_suggested_object_id
|
||||
from . import discovery, entity, service
|
||||
from .entity_platform import EntityPlatform
|
||||
from .typing import ConfigType, DiscoveryInfoType, VolDictType, VolSchemaType
|
||||
|
||||
DEFAULT_SCAN_INTERVAL = timedelta(seconds=15)
|
||||
@@ -58,36 +58,6 @@ async def async_update_entity(hass: HomeAssistant, entity_id: str) -> None:
|
||||
await entity_obj.async_update_ha_state(True)
|
||||
|
||||
|
||||
@callback
|
||||
def async_get_entity_suggested_object_id(
|
||||
hass: HomeAssistant, entity_id: str
|
||||
) -> str | None:
|
||||
"""Get the suggested object id for an entity.
|
||||
|
||||
Raises HomeAssistantError if the entity is not in the registry or
|
||||
is not backed by an object.
|
||||
"""
|
||||
entity_registry = er.async_get(hass)
|
||||
if not (entity_entry := entity_registry.async_get(entity_id)):
|
||||
raise HomeAssistantError(f"Entity {entity_id} is not in the registry.")
|
||||
|
||||
domain = entity_id.partition(".")[0]
|
||||
|
||||
if entity_entry.name:
|
||||
return entity_entry.name
|
||||
|
||||
if entity_entry.suggested_object_id:
|
||||
return entity_entry.suggested_object_id
|
||||
|
||||
entity_comp = hass.data.get(DATA_INSTANCES, {}).get(domain)
|
||||
if not (entity_obj := entity_comp.get_entity(entity_id) if entity_comp else None):
|
||||
raise HomeAssistantError(f"Entity {entity_id} has no object.")
|
||||
device: dr.DeviceEntry | None = None
|
||||
if device_id := entity_entry.device_id:
|
||||
device = dr.async_get(hass).async_get(device_id)
|
||||
return async_calculate_suggested_object_id(entity_obj, device)
|
||||
|
||||
|
||||
class EntityComponent[_EntityT: entity.Entity = entity.Entity]:
|
||||
"""The EntityComponent manages platforms that manage entities.
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ from collections.abc import Awaitable, Callable, Coroutine, Iterable, Mapping
|
||||
from contextvars import ContextVar
|
||||
from datetime import timedelta
|
||||
from logging import Logger, getLogger
|
||||
from typing import TYPE_CHECKING, Any, Protocol
|
||||
from typing import TYPE_CHECKING, Any, Protocol, overload
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import (
|
||||
@@ -786,7 +786,7 @@ class EntityPlatform:
|
||||
already_exists = True
|
||||
return (already_exists, restored)
|
||||
|
||||
async def _async_add_entity( # noqa: C901
|
||||
async def _async_add_entity(
|
||||
self,
|
||||
entity: Entity,
|
||||
update_before_add: bool,
|
||||
@@ -813,12 +813,23 @@ class EntityPlatform:
|
||||
entity.add_to_platform_abort()
|
||||
return
|
||||
|
||||
suggested_object_id: str | None = None
|
||||
|
||||
entity_name = entity.name
|
||||
if entity_name is UNDEFINED:
|
||||
entity_name = None
|
||||
|
||||
suggested_object_id: str | None = None
|
||||
|
||||
# An entity may suggest the entity_id by setting entity_id itself
|
||||
if not hasattr(entity, "internal_integration_suggested_object_id"):
|
||||
if entity.entity_id is not None and not valid_entity_id(entity.entity_id):
|
||||
entity.add_to_platform_abort()
|
||||
raise HomeAssistantError(f"Invalid entity ID: {entity.entity_id}")
|
||||
entity.internal_integration_suggested_object_id = (
|
||||
split_entity_id(entity.entity_id)[1]
|
||||
if entity.entity_id is not None
|
||||
else None
|
||||
)
|
||||
|
||||
# Get entity_id from unique ID registration
|
||||
if entity.unique_id is not None:
|
||||
registered_entity_id = entity_registry.async_get_entity_id(
|
||||
@@ -871,23 +882,7 @@ class EntityPlatform:
|
||||
else:
|
||||
device = None
|
||||
|
||||
calculated_object_id: str | None = None
|
||||
# An entity may suggest the entity_id by setting entity_id itself
|
||||
suggested_entity_id: str | None = entity.entity_id
|
||||
if suggested_entity_id is not None:
|
||||
suggested_object_id = split_entity_id(entity.entity_id)[1]
|
||||
if self.entity_namespace is not None:
|
||||
suggested_object_id = (
|
||||
f"{self.entity_namespace} {suggested_object_id}"
|
||||
)
|
||||
if not registered_entity_id and suggested_entity_id is None:
|
||||
# Do not bother working out a suggested_object_id
|
||||
# if the entity is already registered as it will
|
||||
# be ignored.
|
||||
#
|
||||
calculated_object_id = async_calculate_suggested_object_id(
|
||||
entity, device
|
||||
)
|
||||
suggested_object_id, object_id_base = _async_derive_object_ids(entity, self)
|
||||
|
||||
disabled_by: RegistryEntryDisabler | None = None
|
||||
if not entity.entity_registry_enabled_default:
|
||||
@@ -901,7 +896,6 @@ class EntityPlatform:
|
||||
self.domain,
|
||||
self.platform_name,
|
||||
entity.unique_id,
|
||||
calculated_object_id=calculated_object_id,
|
||||
capabilities=entity.capability_attributes,
|
||||
config_entry=self.config_entry,
|
||||
config_subentry_id=config_subentry_id,
|
||||
@@ -911,6 +905,7 @@ class EntityPlatform:
|
||||
get_initial_options=entity.get_initial_entity_options,
|
||||
has_entity_name=entity.has_entity_name,
|
||||
hidden_by=hidden_by,
|
||||
object_id_base=object_id_base,
|
||||
original_device_class=entity.device_class,
|
||||
original_icon=entity.icon,
|
||||
original_name=entity_name,
|
||||
@@ -928,40 +923,22 @@ class EntityPlatform:
|
||||
entity.registry_entry = entry
|
||||
entity.entity_id = entry.entity_id
|
||||
|
||||
else: # entity.unique_id is None
|
||||
generate_new_entity_id = False
|
||||
else: # entity.unique_id is None # noqa: PLR5501
|
||||
# We won't generate an entity ID if the platform has already set one
|
||||
# We will however make sure that platform cannot pick a registered ID
|
||||
if entity.entity_id is not None and entity_registry.async_is_registered(
|
||||
if entity.entity_id is None or entity_registry.async_is_registered(
|
||||
entity.entity_id
|
||||
):
|
||||
# If entity already registered, convert entity id to suggestion
|
||||
suggested_object_id = split_entity_id(entity.entity_id)[1]
|
||||
generate_new_entity_id = True
|
||||
|
||||
# Generate entity ID
|
||||
if entity.entity_id is None or generate_new_entity_id:
|
||||
suggested_object_id = (
|
||||
suggested_object_id
|
||||
or entity.suggested_object_id
|
||||
or DEVICE_DEFAULT_NAME
|
||||
object_ids = _async_derive_object_ids(
|
||||
entity, self, fallback_object_id=DEVICE_DEFAULT_NAME
|
||||
)
|
||||
|
||||
if self.entity_namespace is not None:
|
||||
suggested_object_id = (
|
||||
f"{self.entity_namespace} {suggested_object_id}"
|
||||
)
|
||||
entity.entity_id = entity_registry.async_generate_entity_id(
|
||||
suggested_object_id = (
|
||||
object_ids[0] if object_ids[0] is not None else object_ids[1]
|
||||
)
|
||||
entity.entity_id = entity_registry.async_get_available_entity_id(
|
||||
self.domain, suggested_object_id
|
||||
)
|
||||
|
||||
# Make sure it is valid in case an entity set the value themselves
|
||||
# Avoid calling valid_entity_id if we already know it is valid
|
||||
# since it already made it in the registry
|
||||
if not valid_entity_id(entity.entity_id):
|
||||
entity.add_to_platform_abort()
|
||||
raise HomeAssistantError(f"Invalid entity ID: {entity.entity_id}")
|
||||
|
||||
already_exists, restored = self._entity_id_already_exists(entity.entity_id)
|
||||
|
||||
if already_exists:
|
||||
@@ -1229,25 +1206,52 @@ class EntityPlatform:
|
||||
return await self.platform_data.async_load_translations()
|
||||
|
||||
|
||||
@overload
|
||||
def _async_derive_object_ids(
|
||||
entity: Entity, platform: EntityPlatform, *, fallback_object_id: None = None
|
||||
) -> tuple[str | None, str | None]: ...
|
||||
|
||||
|
||||
@overload
|
||||
def _async_derive_object_ids(
|
||||
entity: Entity, platform: EntityPlatform, *, fallback_object_id: str
|
||||
) -> tuple[str, None] | tuple[None, str]: ...
|
||||
|
||||
|
||||
@callback
|
||||
def async_calculate_suggested_object_id(
|
||||
entity: Entity, device: dr.DeviceEntry | None
|
||||
) -> str | None:
|
||||
"""Calculate the suggested object ID for an entity."""
|
||||
calculated_object_id: str | None = None
|
||||
if device and entity.has_entity_name:
|
||||
device_name = device.name_by_user or device.name
|
||||
if entity.use_device_name:
|
||||
calculated_object_id = device_name
|
||||
else:
|
||||
calculated_object_id = f"{device_name} {entity.suggested_object_id}"
|
||||
if not calculated_object_id:
|
||||
calculated_object_id = entity.suggested_object_id
|
||||
def _async_derive_object_ids(
|
||||
entity: Entity, platform: EntityPlatform, *, fallback_object_id: str | None = None
|
||||
) -> tuple[str | None, str | None]:
|
||||
"""Derive the object IDs for an entity.
|
||||
|
||||
if (platform := entity.platform) and platform.entity_namespace is not None:
|
||||
calculated_object_id = f"{platform.entity_namespace} {calculated_object_id}"
|
||||
Derives both suggested and base object IDs.
|
||||
"""
|
||||
is_base = True
|
||||
object_id: str | None
|
||||
|
||||
return calculated_object_id
|
||||
if entity.internal_integration_suggested_object_id is not None:
|
||||
is_base = False
|
||||
object_id = entity.internal_integration_suggested_object_id
|
||||
else:
|
||||
object_id = entity.suggested_object_id
|
||||
|
||||
if not object_id and fallback_object_id is not None:
|
||||
object_id = fallback_object_id
|
||||
|
||||
if platform.entity_namespace is not None:
|
||||
is_base = False
|
||||
if entity.unique_id is not None and not object_id:
|
||||
object_id = f"{platform.platform_name}_{entity.unique_id}"
|
||||
object_id = f"{platform.entity_namespace} {object_id}"
|
||||
|
||||
suggested_object_id: str | None = None
|
||||
object_id_base: str | None = None
|
||||
if is_base:
|
||||
object_id_base = object_id
|
||||
else:
|
||||
suggested_object_id = object_id
|
||||
|
||||
return suggested_object_id, object_id_base
|
||||
|
||||
|
||||
current_platform: ContextVar[EntityPlatform | None] = ContextVar(
|
||||
|
||||
@@ -58,6 +58,7 @@ from .device_registry import (
|
||||
EVENT_DEVICE_REGISTRY_UPDATED,
|
||||
EventDeviceRegistryUpdatedData,
|
||||
)
|
||||
from .frame import ReportBehavior, report_usage
|
||||
from .json import JSON_DUMP, find_paths_unserializable_data, json_bytes, json_fragment
|
||||
from .registry import BaseRegistry, BaseRegistryItems, RegistryIndexType
|
||||
from .singleton import singleton
|
||||
@@ -79,7 +80,7 @@ EVENT_ENTITY_REGISTRY_UPDATED: EventType[EventEntityRegistryUpdatedData] = Event
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
STORAGE_VERSION_MAJOR = 1
|
||||
STORAGE_VERSION_MINOR = 19
|
||||
STORAGE_VERSION_MINOR = 20
|
||||
STORAGE_KEY = "core.entity_registry"
|
||||
|
||||
CLEANUP_INTERVAL = 3600 * 24
|
||||
@@ -204,6 +205,7 @@ class RegistryEntry:
|
||||
labels: set[str] = attr.ib(factory=set)
|
||||
modified_at: datetime = attr.ib(factory=utcnow)
|
||||
name: str | None = attr.ib(default=None)
|
||||
object_id_base: str | None = attr.ib()
|
||||
options: ReadOnlyEntityOptionsType = attr.ib(converter=_protect_entity_options)
|
||||
# As set by integration
|
||||
original_device_class: str | None = attr.ib()
|
||||
@@ -366,6 +368,7 @@ class RegistryEntry:
|
||||
"labels": list(self.labels),
|
||||
"modified_at": self.modified_at,
|
||||
"name": self.name,
|
||||
"object_id_base": self.object_id_base,
|
||||
"options": self.options,
|
||||
"original_device_class": self.original_device_class,
|
||||
"original_icon": self.original_icon,
|
||||
@@ -410,6 +413,31 @@ class RegistryEntry:
|
||||
hass.states.async_set(self.entity_id, STATE_UNAVAILABLE, attrs)
|
||||
|
||||
|
||||
@callback
|
||||
def _async_get_full_entity_name(
|
||||
name: str | None,
|
||||
*,
|
||||
device: dr.DeviceEntry | None = None,
|
||||
platform: str,
|
||||
unique_id: str,
|
||||
) -> str:
|
||||
"""Get full name for an entity.
|
||||
|
||||
This includes the device name if appropriate.
|
||||
"""
|
||||
if device is not None:
|
||||
device_name = device.name_by_user or device.name
|
||||
if not name:
|
||||
name = device_name
|
||||
else:
|
||||
name = f"{device_name} {name}"
|
||||
|
||||
if not name:
|
||||
name = f"{platform}_{unique_id}"
|
||||
|
||||
return name
|
||||
|
||||
|
||||
@attr.s(frozen=True, slots=True)
|
||||
class DeletedRegistryEntry:
|
||||
"""Deleted Entity Registry Entry."""
|
||||
@@ -619,6 +647,11 @@ class EntityRegistryStore(storage.Store[dict[str, list[dict[str, Any]]]]):
|
||||
entity["hidden_by_undefined"] = set_to_undefined
|
||||
entity["options_undefined"] = set_to_undefined
|
||||
|
||||
if old_minor_version < 20:
|
||||
# Version 1.20 adds object_id_base to entities
|
||||
for entity in data["entities"]:
|
||||
entity["object_id_base"] = entity["original_name"]
|
||||
|
||||
if old_major_version > 1:
|
||||
raise NotImplementedError
|
||||
return data
|
||||
@@ -882,9 +915,41 @@ class EntityRegistry(BaseRegistry):
|
||||
current_entity_id: str | None = None,
|
||||
reserved_entity_ids: set[str] | None = None,
|
||||
) -> str:
|
||||
"""Generate an entity ID that does not conflict.
|
||||
"""Get available entity ID.
|
||||
|
||||
Conflicts checked against registered and currently existing entities.
|
||||
This function is deprecated. Use `async_get_available_entity_id` instead.
|
||||
|
||||
Entity ID conflicts are checked against registered and currently existing entities,
|
||||
as well as provided `reserved_entity_ids`.
|
||||
"""
|
||||
report_usage(
|
||||
"calls `entity_registry.async_generate_entity_id`, "
|
||||
"which is deprecated and will be removed in Home Assistant 2027.2; "
|
||||
"use `entity_registry.async_get_available_entity_id` instead",
|
||||
core_behavior=ReportBehavior.LOG,
|
||||
breaks_in_ha_version="2027.2.0",
|
||||
)
|
||||
|
||||
return self.async_get_available_entity_id(
|
||||
domain,
|
||||
suggested_object_id,
|
||||
current_entity_id=current_entity_id,
|
||||
reserved_entity_ids=reserved_entity_ids,
|
||||
)
|
||||
|
||||
@callback
|
||||
def async_get_available_entity_id(
|
||||
self,
|
||||
domain: str,
|
||||
suggested_object_id: str,
|
||||
*,
|
||||
current_entity_id: str | None = None,
|
||||
reserved_entity_ids: set[str] | None = None,
|
||||
) -> str:
|
||||
"""Get next available entity ID.
|
||||
|
||||
Entity ID conflicts are checked against registered and currently existing entities,
|
||||
as well as provided `reserved_entity_ids`.
|
||||
"""
|
||||
preferred_string = f"{domain}.{slugify(suggested_object_id)}"
|
||||
|
||||
@@ -906,6 +971,84 @@ class EntityRegistry(BaseRegistry):
|
||||
|
||||
return test_string
|
||||
|
||||
def _async_generate_entity_id(
|
||||
self,
|
||||
*,
|
||||
current_entity_id: str | None,
|
||||
device_id: str | None,
|
||||
domain: str,
|
||||
has_entity_name: bool,
|
||||
name: str | None,
|
||||
object_id_base: str | None,
|
||||
platform: str,
|
||||
reserved_entity_ids: set[str] | None = None,
|
||||
suggested_object_id: str | None,
|
||||
unique_id: str,
|
||||
) -> str:
|
||||
"""Generate an entity ID, based on all the provided parameters.
|
||||
|
||||
`name` has priority over `suggested_object_id`, which has priority
|
||||
over `object_id_base`.
|
||||
`name` and `suggested_object_id` do not cause the use of device name,
|
||||
`object_id_base` does if `has_entity_name` is True.
|
||||
Entity ID conflicts are checked against registered and currently
|
||||
existing entities, as well as provided `reserved_entity_ids`.
|
||||
"""
|
||||
object_id: str | None
|
||||
use_device = False
|
||||
if name is not None:
|
||||
object_id = name
|
||||
elif suggested_object_id is not None:
|
||||
object_id = suggested_object_id
|
||||
else:
|
||||
object_id = object_id_base
|
||||
if has_entity_name:
|
||||
use_device = True
|
||||
|
||||
device = (
|
||||
dr.async_get(self.hass).async_get(device_id)
|
||||
if use_device and device_id is not None
|
||||
else None
|
||||
)
|
||||
|
||||
object_id = _async_get_full_entity_name(
|
||||
object_id,
|
||||
device=device,
|
||||
platform=platform,
|
||||
unique_id=unique_id,
|
||||
)
|
||||
return self.async_get_available_entity_id(
|
||||
domain,
|
||||
object_id,
|
||||
current_entity_id=current_entity_id,
|
||||
reserved_entity_ids=reserved_entity_ids,
|
||||
)
|
||||
|
||||
@callback
|
||||
def async_regenerate_entity_id(
|
||||
self,
|
||||
entry: RegistryEntry,
|
||||
*,
|
||||
reserved_entity_ids: set[str] | None = None,
|
||||
) -> str:
|
||||
"""Regenerate an entity ID for an entry.
|
||||
|
||||
Entity ID conflicts are checked against registered and currently existing entities,
|
||||
as well as provided `reserved_entity_ids`.
|
||||
"""
|
||||
return self._async_generate_entity_id(
|
||||
current_entity_id=entry.entity_id,
|
||||
device_id=entry.device_id,
|
||||
domain=entry.domain,
|
||||
has_entity_name=entry.has_entity_name,
|
||||
name=entry.name,
|
||||
object_id_base=entry.object_id_base,
|
||||
platform=entry.platform,
|
||||
reserved_entity_ids=reserved_entity_ids,
|
||||
suggested_object_id=entry.suggested_object_id,
|
||||
unique_id=entry.unique_id,
|
||||
)
|
||||
|
||||
@callback
|
||||
def async_get_or_create(
|
||||
self,
|
||||
@@ -913,9 +1056,10 @@ class EntityRegistry(BaseRegistry):
|
||||
platform: str,
|
||||
unique_id: str,
|
||||
*,
|
||||
# To influence entity ID generation
|
||||
calculated_object_id: str | None = None,
|
||||
suggested_object_id: str | None = None,
|
||||
# Used for entity ID generation, if entity gets created.
|
||||
# `suggested_object_id` has priority over `object_id_base`.
|
||||
object_id_base: str | None | UndefinedType = UNDEFINED,
|
||||
suggested_object_id: str | None | UndefinedType = UNDEFINED,
|
||||
# To disable or hide an entity if it gets created, does not affect
|
||||
# existing entities
|
||||
disabled_by: RegistryEntryDisabler | None = None,
|
||||
@@ -948,7 +1092,7 @@ class EntityRegistry(BaseRegistry):
|
||||
entity_id = self.async_get_entity_id(domain, platform, unique_id)
|
||||
|
||||
if entity_id:
|
||||
return self.async_update_entity(
|
||||
return self._async_update_entity(
|
||||
entity_id,
|
||||
capabilities=capabilities,
|
||||
config_entry_id=config_entry_id,
|
||||
@@ -956,9 +1100,11 @@ class EntityRegistry(BaseRegistry):
|
||||
device_id=device_id,
|
||||
entity_category=entity_category,
|
||||
has_entity_name=has_entity_name,
|
||||
object_id_base=object_id_base,
|
||||
original_device_class=original_device_class,
|
||||
original_icon=original_icon,
|
||||
original_name=original_name,
|
||||
suggested_object_id=suggested_object_id,
|
||||
supported_features=supported_features,
|
||||
translation_key=translation_key,
|
||||
unit_of_measurement=unit_of_measurement,
|
||||
@@ -1022,12 +1168,26 @@ class EntityRegistry(BaseRegistry):
|
||||
name = None
|
||||
options = get_initial_options() if get_initial_options else None
|
||||
|
||||
if not entity_id:
|
||||
entity_id = self.async_generate_entity_id(
|
||||
domain,
|
||||
suggested_object_id
|
||||
or calculated_object_id
|
||||
or f"{platform}_{unique_id}",
|
||||
def none_if_undefined[_T](value: _T | UndefinedType) -> _T | None:
|
||||
"""Return None if value is UNDEFINED, otherwise return value."""
|
||||
return None if value is UNDEFINED else value
|
||||
|
||||
device_id = none_if_undefined(device_id)
|
||||
has_entity_name_bool = none_if_undefined(has_entity_name) or False
|
||||
object_id_base = none_if_undefined(object_id_base)
|
||||
suggested_object_id = none_if_undefined(suggested_object_id)
|
||||
|
||||
if entity_id is None:
|
||||
entity_id = self._async_generate_entity_id(
|
||||
current_entity_id=None,
|
||||
device_id=device_id,
|
||||
domain=domain,
|
||||
has_entity_name=has_entity_name_bool,
|
||||
name=name,
|
||||
object_id_base=object_id_base,
|
||||
platform=platform,
|
||||
suggested_object_id=suggested_object_id,
|
||||
unique_id=unique_id,
|
||||
)
|
||||
|
||||
if (
|
||||
@@ -1038,10 +1198,6 @@ class EntityRegistry(BaseRegistry):
|
||||
):
|
||||
disabled_by = RegistryEntryDisabler.INTEGRATION
|
||||
|
||||
def none_if_undefined[_T](value: _T | UndefinedType) -> _T | None:
|
||||
"""Return None if value is UNDEFINED, otherwise return value."""
|
||||
return None if value is UNDEFINED else value
|
||||
|
||||
entry = RegistryEntry(
|
||||
aliases=aliases,
|
||||
area_id=area_id,
|
||||
@@ -1051,16 +1207,17 @@ class EntityRegistry(BaseRegistry):
|
||||
config_subentry_id=none_if_undefined(config_subentry_id),
|
||||
created_at=created_at,
|
||||
device_class=device_class,
|
||||
device_id=none_if_undefined(device_id),
|
||||
device_id=device_id,
|
||||
disabled_by=disabled_by,
|
||||
entity_category=none_if_undefined(entity_category),
|
||||
entity_id=entity_id,
|
||||
hidden_by=hidden_by,
|
||||
has_entity_name=none_if_undefined(has_entity_name) or False,
|
||||
has_entity_name=has_entity_name_bool,
|
||||
icon=icon,
|
||||
id=entity_registry_id,
|
||||
labels=labels,
|
||||
name=name,
|
||||
object_id_base=object_id_base,
|
||||
options=options,
|
||||
original_device_class=none_if_undefined(original_device_class),
|
||||
original_icon=none_if_undefined(original_icon),
|
||||
@@ -1255,11 +1412,13 @@ class EntityRegistry(BaseRegistry):
|
||||
name: str | None | UndefinedType = UNDEFINED,
|
||||
new_entity_id: str | UndefinedType = UNDEFINED,
|
||||
new_unique_id: str | UndefinedType = UNDEFINED,
|
||||
object_id_base: str | None | UndefinedType = UNDEFINED,
|
||||
options: EntityOptionsType | UndefinedType = UNDEFINED,
|
||||
original_device_class: str | None | UndefinedType = UNDEFINED,
|
||||
original_icon: str | None | UndefinedType = UNDEFINED,
|
||||
original_name: str | None | UndefinedType = UNDEFINED,
|
||||
platform: str | None | UndefinedType = UNDEFINED,
|
||||
suggested_object_id: str | None | UndefinedType = UNDEFINED,
|
||||
supported_features: int | UndefinedType = UNDEFINED,
|
||||
translation_key: str | None | UndefinedType = UNDEFINED,
|
||||
unit_of_measurement: str | None | UndefinedType = UNDEFINED,
|
||||
@@ -1286,11 +1445,13 @@ class EntityRegistry(BaseRegistry):
|
||||
("has_entity_name", has_entity_name),
|
||||
("labels", labels),
|
||||
("name", name),
|
||||
("object_id_base", object_id_base),
|
||||
("options", options),
|
||||
("original_device_class", original_device_class),
|
||||
("original_icon", original_icon),
|
||||
("original_name", original_name),
|
||||
("platform", platform),
|
||||
("suggested_object_id", suggested_object_id),
|
||||
("supported_features", supported_features),
|
||||
("translation_key", translation_key),
|
||||
("unit_of_measurement", unit_of_measurement),
|
||||
@@ -1552,6 +1713,7 @@ class EntityRegistry(BaseRegistry):
|
||||
labels=set(entity["labels"]),
|
||||
modified_at=datetime.fromisoformat(entity["modified_at"]),
|
||||
name=entity["name"],
|
||||
object_id_base=entity.get("object_id_base"),
|
||||
options=entity["options"],
|
||||
original_device_class=entity["original_device_class"],
|
||||
original_icon=entity["original_icon"],
|
||||
|
||||
@@ -697,6 +697,7 @@ class RegistryEntryWithDefaults(er.RegistryEntry):
|
||||
converter=attr.converters.default_if_none(factory=uuid_util.random_uuid_hex), # type: ignore[misc]
|
||||
)
|
||||
has_entity_name: bool = attr.ib(default=False)
|
||||
object_id_base: str | None = attr.ib(default=None)
|
||||
options: er.ReadOnlyEntityOptionsType = attr.ib(
|
||||
default=None, converter=er._protect_entity_options
|
||||
)
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Timer running',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.RUNNING: 'running'>,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Reset timer',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Start/stop timer',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -116,6 +118,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Tare',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -75,6 +76,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Volume flow rate',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -131,6 +133,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Weight',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Air quality day 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -93,6 +94,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Air quality day 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -158,6 +160,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Air quality day 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -223,6 +226,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Air quality day 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -288,6 +292,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Air quality day 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -347,6 +352,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Apparent temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -404,6 +410,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud ceiling',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -461,6 +468,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -512,6 +520,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover day 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -562,6 +571,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover day 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -612,6 +622,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover day 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -662,6 +673,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover day 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -712,6 +724,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover day 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -762,6 +775,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover night 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -812,6 +826,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover night 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -862,6 +877,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover night 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -912,6 +928,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover night 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -962,6 +979,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cloud cover night 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1012,6 +1030,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition day 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1061,6 +1080,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition day 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1110,6 +1130,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition day 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1159,6 +1180,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition day 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1208,6 +1230,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition day 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1257,6 +1280,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition night 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1306,6 +1330,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition night 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1355,6 +1380,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition night 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1404,6 +1430,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition night 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1453,6 +1480,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition night 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1504,6 +1532,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Dew point',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1559,6 +1588,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Grass pollen day 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1610,6 +1640,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Grass pollen day 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1661,6 +1692,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Grass pollen day 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1712,6 +1744,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Grass pollen day 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1763,6 +1796,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Grass pollen day 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1814,6 +1848,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Hours of sun day 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1864,6 +1899,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Hours of sun day 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1914,6 +1950,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Hours of sun day 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1964,6 +2001,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Hours of sun day 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2014,6 +2052,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Hours of sun day 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2066,6 +2105,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -2118,6 +2158,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Mold pollen day 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2169,6 +2210,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Mold pollen day 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2220,6 +2262,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Mold pollen day 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2271,6 +2314,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Mold pollen day 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2322,6 +2366,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Mold pollen day 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2375,6 +2420,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Precipitation',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -2433,6 +2479,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -2494,6 +2541,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Pressure tendency',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -2549,6 +2597,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Ragweed pollen day 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2600,6 +2649,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Ragweed pollen day 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2651,6 +2701,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Ragweed pollen day 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2702,6 +2753,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Ragweed pollen day 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2753,6 +2805,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Ragweed pollen day 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2806,6 +2859,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2861,6 +2915,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature max day 0',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2915,6 +2970,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature max day 1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2969,6 +3025,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature max day 2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3023,6 +3080,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature max day 3',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3077,6 +3135,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature max day 4',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3131,6 +3190,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature min day 0',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3185,6 +3245,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature min day 1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3239,6 +3300,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature min day 2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3293,6 +3355,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature min day 3',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3347,6 +3410,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature min day 4',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3403,6 +3467,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3458,6 +3523,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade max day 0',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3512,6 +3578,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade max day 1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3566,6 +3633,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade max day 2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3620,6 +3688,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade max day 3',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3674,6 +3743,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade max day 4',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3728,6 +3798,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade min day 0',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3782,6 +3853,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade min day 1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3836,6 +3908,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade min day 2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3890,6 +3963,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade min day 3',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3944,6 +4018,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RealFeel temperature shade min day 4',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -3998,6 +4073,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Solar irradiance day 0',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -4052,6 +4128,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Solar irradiance day 1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -4106,6 +4183,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Solar irradiance day 2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -4160,6 +4238,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Solar irradiance day 3',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -4214,6 +4293,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Solar irradiance day 4',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -4268,6 +4348,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Solar irradiance night 0',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -4322,6 +4403,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Solar irradiance night 1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -4376,6 +4458,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Solar irradiance night 2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -4430,6 +4513,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Solar irradiance night 3',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -4484,6 +4568,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Solar irradiance night 4',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -4540,6 +4625,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -4595,6 +4681,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Thunderstorm probability day 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -4645,6 +4732,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Thunderstorm probability day 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -4695,6 +4783,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Thunderstorm probability day 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -4745,6 +4834,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Thunderstorm probability day 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -4795,6 +4885,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Thunderstorm probability day 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -4845,6 +4936,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Thunderstorm probability night 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -4895,6 +4987,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Thunderstorm probability night 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -4945,6 +5038,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Thunderstorm probability night 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -4995,6 +5089,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Thunderstorm probability night 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5045,6 +5140,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Thunderstorm probability night 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5095,6 +5191,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Tree pollen day 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5146,6 +5243,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Tree pollen day 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5197,6 +5295,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Tree pollen day 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5248,6 +5347,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Tree pollen day 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5299,6 +5399,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Tree pollen day 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5352,6 +5453,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'UV index',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5404,6 +5506,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'UV index day 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5455,6 +5558,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'UV index day 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5506,6 +5610,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'UV index day 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5557,6 +5662,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'UV index day 3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5608,6 +5714,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'UV index day 4',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -5661,6 +5768,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wet bulb temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -5718,6 +5826,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind chill temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -5775,6 +5884,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -5830,6 +5940,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed day 0',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -5885,6 +5996,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed day 1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -5940,6 +6052,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed day 2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -5995,6 +6108,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed day 3',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6050,6 +6164,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed day 4',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6105,6 +6220,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed night 0',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6160,6 +6276,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed night 1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6215,6 +6332,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed night 2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6270,6 +6388,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed night 3',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6325,6 +6444,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust speed night 4',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6382,6 +6502,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6437,6 +6558,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed day 0',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6492,6 +6614,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed day 1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6547,6 +6670,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed day 2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6602,6 +6726,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed day 3',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6657,6 +6782,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed day 4',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6712,6 +6838,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed night 0',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6767,6 +6894,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed night 1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6822,6 +6950,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed night 2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6877,6 +7006,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed night 3',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -6932,6 +7062,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed night 4',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
|
||||
@@ -437,6 +437,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Away mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Continuous fan',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -116,6 +118,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Quiet mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -164,6 +167,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Turbo mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Energy',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 3,
|
||||
@@ -81,6 +82,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -137,6 +139,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Energy',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 3,
|
||||
@@ -196,6 +199,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -252,6 +256,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Energy',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 3,
|
||||
@@ -311,6 +316,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -367,6 +373,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Energy',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 3,
|
||||
@@ -426,6 +433,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Average processing speed',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'DNS queries',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -118,6 +120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'DNS queries blocked',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -167,6 +170,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'DNS queries blocked ratio',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -216,6 +220,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Parental control blocked',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -265,6 +270,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rules count',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -314,6 +320,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Safe browsing blocked',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -363,6 +370,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Safe searches enforced',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Filtering',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Parental control',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -116,6 +118,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Protection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -164,6 +167,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Query log',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -212,6 +216,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Safe browsing',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -260,6 +265,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Safe search',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Calibrate CO2 sensor',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Test LED bar',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -116,6 +118,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Calibrate CO2 sensor',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Display brightness',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -83,6 +84,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'LED bar brightness',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CO2 automatic baseline duration',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -90,6 +91,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Configuration source',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -147,6 +149,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Display PM standard',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -204,6 +207,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Display temperature unit',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -262,6 +266,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'LED bar mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -323,6 +328,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'NOx index learning offset',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -386,6 +392,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'VOC index learning offset',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -450,6 +457,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CO2 automatic baseline duration',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -511,6 +519,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Configuration source',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -571,6 +580,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'NOx index learning offset',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -634,6 +644,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'VOC index learning offset',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.CO2: 'carbon_dioxide'>,
|
||||
@@ -73,6 +74,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide automatic baseline calibration',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -126,6 +128,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Display brightness',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -180,6 +183,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Display PM standard',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -238,6 +242,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Display temperature unit',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -293,6 +298,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -344,6 +350,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'LED bar brightness',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -399,6 +406,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'LED bar mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -455,6 +463,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'NOx index',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -504,6 +513,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'NOx index learning offset',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -559,6 +569,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM0.3',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -611,6 +622,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM1: 'pm1'>,
|
||||
@@ -664,6 +676,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM10',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM10: 'pm10'>,
|
||||
@@ -717,6 +730,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM2.5',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM25: 'pm25'>,
|
||||
@@ -770,6 +784,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Raw NOx',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -822,6 +837,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Raw PM2.5',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM25: 'pm25'>,
|
||||
@@ -875,6 +891,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Raw VOC',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -927,6 +944,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Signal strength',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.SIGNAL_STRENGTH: 'signal_strength'>,
|
||||
@@ -980,6 +998,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1036,6 +1055,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'VOC index',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1085,6 +1105,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'VOC index learning offset',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1138,6 +1159,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide automatic baseline calibration',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1193,6 +1215,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'NOx index',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1242,6 +1265,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'NOx index learning offset',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1297,6 +1321,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Raw NOx',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1349,6 +1374,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Raw VOC',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1401,6 +1427,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Signal strength',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.SIGNAL_STRENGTH: 'signal_strength'>,
|
||||
@@ -1454,6 +1481,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'VOC index',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1503,6 +1531,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'VOC index learning offset',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Post data to Airgradient',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Firmware',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <UpdateDeviceClass.FIRMWARE: 'firmware'>,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon monoxide',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -78,6 +79,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Common air quality index',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -136,6 +138,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -193,6 +196,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Nitrogen dioxide',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -252,6 +256,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Ozone',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -311,6 +316,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -368,6 +374,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM10',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -427,6 +434,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM2.5',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -486,6 +494,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -543,6 +552,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Sulphur dioxide',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -602,6 +612,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Recalibrate CO2 sensor',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Restart',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <ButtonDeviceClass.RESTART: 'restart'>,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Hysteresis band',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <NumberDeviceClass.TEMPERATURE: 'temperature'>,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Air temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -76,6 +77,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Device uptime',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -127,6 +129,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Error count',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -178,6 +181,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Heating uptime',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -237,6 +241,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'DHCP client',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.RUNNING: 'running'>,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'DHCP server',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.RUNNING: 'running'>,
|
||||
@@ -118,6 +120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'DHCPv6 server',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.RUNNING: 'running'>,
|
||||
@@ -167,6 +170,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Port forwarding',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -215,6 +219,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PPPoE link',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.CONNECTIVITY: 'connectivity'>,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Antenna gain',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.SIGNAL_STRENGTH: 'signal_strength'>,
|
||||
@@ -75,6 +76,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CPU load',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -130,6 +132,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Download capacity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -192,6 +195,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Network role',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -247,6 +251,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Throughput receive (actual)',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -306,6 +311,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Throughput transmit (actual)',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -365,6 +371,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Upload capacity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -422,6 +429,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Uptime',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -478,6 +486,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wireless distance',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -536,6 +545,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wireless frequency',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.FREQUENCY: 'frequency'>,
|
||||
@@ -592,6 +602,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wireless mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -650,6 +661,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wireless role',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -703,6 +715,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wireless SSID',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -119,6 +120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -75,6 +76,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Atmospheric pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -81,6 +82,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -137,6 +139,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -193,6 +196,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -249,6 +253,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -305,6 +310,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM2.5',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -361,6 +367,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Radon',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -416,6 +423,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -472,6 +480,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Volatile organic compounds parts',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -528,6 +537,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Atmospheric pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -587,6 +597,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -643,6 +654,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -699,6 +711,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -755,6 +768,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Illuminance',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -811,6 +825,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Sound pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -867,6 +882,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -923,6 +939,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Volatile organic compounds parts',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -979,6 +996,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Atmospheric pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1038,6 +1056,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1094,6 +1113,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1150,6 +1170,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1206,6 +1227,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Radon',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1261,6 +1283,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1317,6 +1340,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Volatile organic compounds parts',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Damper',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <CoverDeviceClass.DAMPER: 'damper'>,
|
||||
@@ -71,6 +72,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Damper',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <CoverDeviceClass.DAMPER: 'damper'>,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -75,6 +76,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -131,6 +133,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -187,6 +190,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'RSSI',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.SIGNAL_STRENGTH: 'signal_strength'>,
|
||||
@@ -240,6 +244,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -296,6 +301,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -349,6 +355,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -402,6 +409,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Signal strength',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -454,6 +462,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -510,6 +519,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -566,6 +576,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -619,6 +630,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -672,6 +684,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Signal strength',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -724,6 +737,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -780,6 +794,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -833,6 +848,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -886,6 +902,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Signal strength',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -938,6 +955,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -994,6 +1012,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -1047,6 +1066,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -1100,6 +1120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Signal strength',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1152,6 +1173,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1208,6 +1230,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -1261,6 +1284,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Connectivity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.CONNECTIVITY: 'connectivity'>,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Announce',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Speak',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Next alarm',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Next reminder',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -118,6 +120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Next timer',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -169,6 +172,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Do not disturb',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Average noise',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -78,6 +79,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'BME280 humidity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -134,6 +136,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'BME280 pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -193,6 +196,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'BME280 temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -249,6 +253,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Maximum noise',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -305,6 +310,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM10',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -361,6 +367,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM2.5',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -417,6 +424,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Radiation level',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -472,6 +480,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Signal strength',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Absolute pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -83,6 +84,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Daily rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -144,6 +146,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Dew point',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -202,6 +205,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Feels like',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -260,6 +264,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Hourly rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -321,6 +326,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -379,6 +385,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Irradiance',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -435,6 +442,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Last rain',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -488,6 +496,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Max daily gust',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -549,6 +558,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Monthly rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -610,6 +620,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Relative pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -671,6 +682,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -729,6 +741,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'UV index',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -786,6 +799,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Weekly rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -847,6 +861,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind direction',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -905,6 +920,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -966,6 +982,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1027,6 +1044,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Absolute pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1088,6 +1106,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Daily rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1149,6 +1168,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Dew point',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1207,6 +1227,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Feels like',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1265,6 +1286,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Hourly rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1326,6 +1348,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1384,6 +1407,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Irradiance',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1440,6 +1464,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Last rain',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -1493,6 +1518,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Max daily gust',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1554,6 +1580,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Monthly rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1615,6 +1642,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Relative pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1676,6 +1704,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1734,6 +1763,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'UV index',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1791,6 +1821,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Weekly rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1852,6 +1883,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind direction',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1910,6 +1942,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1971,6 +2004,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2032,6 +2066,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Absolute pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2092,6 +2127,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Daily rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2152,6 +2188,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Dew point',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2209,6 +2246,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Feels like',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2266,6 +2304,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Hourly rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2326,6 +2365,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2383,6 +2423,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Irradiance',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2440,6 +2481,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Max daily gust',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2500,6 +2542,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Monthly rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2560,6 +2603,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Relative pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2620,6 +2664,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2677,6 +2722,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'UV index',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2733,6 +2779,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Weekly rain',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2793,6 +2840,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind direction',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -2850,6 +2898,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind gust',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2910,6 +2959,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wind speed',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
|
||||
@@ -1201,6 +1201,7 @@ async def test_devices_payload_with_entities(
|
||||
entity_category=EntityCategory.CONFIG,
|
||||
has_entity_name=True,
|
||||
original_device_class=NumberDeviceClass.TEMPERATURE,
|
||||
suggested_object_id="hue_1",
|
||||
)
|
||||
hass.states.async_set("number.hue_1", "2")
|
||||
# Entity with assumed state
|
||||
@@ -1210,6 +1211,7 @@ async def test_devices_payload_with_entities(
|
||||
unique_id="2",
|
||||
device_id=device_entry.id,
|
||||
has_entity_name=True,
|
||||
suggested_object_id="hue_2",
|
||||
)
|
||||
hass.states.async_set("light.hue_2", "on", {ATTR_ASSUMED_STATE: True})
|
||||
# Entity from a different integration
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'core_samba',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -74,6 +75,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'hacs (custom)',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -126,6 +128,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'myq',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -178,6 +181,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'spotify',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -230,6 +234,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Total active installations',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -282,6 +287,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Total reported integrations',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -334,6 +340,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'YouTube',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Latest reading',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -76,6 +77,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': "Yesterday's sewerage cost",
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.MONETARY: 'monetary'>,
|
||||
@@ -128,6 +130,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': "Yesterday's usage",
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -182,6 +185,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': "Yesterday's water cost",
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.MONETARY: 'monetary'>,
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'hot_water_plus_level',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Energy usage',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -76,6 +77,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Hot water availability',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -87,6 +88,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Online status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -260,6 +260,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Alarm delay',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -311,6 +312,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -362,6 +364,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery nominal voltage',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -415,6 +418,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery replaced',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -463,6 +467,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery shutdown',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -512,6 +517,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery timeout',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -563,6 +569,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery voltage',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -617,6 +624,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cable type',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -665,6 +673,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Daemon version',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -713,6 +722,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Date and time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -761,6 +771,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Driver',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -809,6 +820,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Firmware version',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -859,6 +871,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Input voltage',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -915,6 +928,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Internal temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -969,6 +983,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Last self-test',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -1018,6 +1033,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Last transfer',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1068,6 +1084,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Load',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1118,6 +1135,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Master update',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -1167,6 +1185,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1215,6 +1234,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Model',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1263,6 +1283,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Model',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1311,6 +1332,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Name',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1359,6 +1381,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Nominal apparent power',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1412,6 +1435,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Nominal input voltage',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1465,6 +1489,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Nominal output power',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1520,6 +1545,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Output current',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1574,6 +1600,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Self-test interval',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1623,6 +1650,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Self-test result',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1671,6 +1699,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Sensitivity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1719,6 +1748,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Serial number',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1767,6 +1797,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Shutdown time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1816,6 +1847,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Startup time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -1865,6 +1897,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1913,6 +1946,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Status data',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1961,6 +1995,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Status date',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2009,6 +2044,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Status flag',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2059,6 +2095,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Time left',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2115,6 +2152,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Time on battery',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2171,6 +2209,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Total time on battery',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2227,6 +2266,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Transfer count',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2276,6 +2316,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Transfer from battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -2325,6 +2366,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Transfer high',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -2378,6 +2420,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Transfer low',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -2431,6 +2474,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Transfer to battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'DC 1 short circuit error status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'DC 2 short circuit error status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -118,6 +120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Off-grid status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -167,6 +170,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Output fault status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Max output',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <NumberDeviceClass.POWER: 'power'>,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Lifetime production of P1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -78,6 +79,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Lifetime production of P2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -134,6 +136,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Power of P1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -190,6 +193,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Power of P2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -246,6 +250,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Production of today',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -302,6 +307,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Production of today from P1',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -358,6 +364,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Production of today from P2',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -414,6 +421,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Total lifetime production',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -470,6 +478,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Total power',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Inverter status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SwitchDeviceClass.SWITCH: 'switch'>,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -70,6 +71,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Last update',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -121,6 +123,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Salt left side percentage',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -171,6 +174,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Salt left side time remaining',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -226,6 +230,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Salt right side percentage',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -276,6 +281,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Salt right side time remaining',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -335,6 +341,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Wi-Fi strength',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Air quality index',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.AQI: 'aqi'>,
|
||||
@@ -59,6 +60,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.CO2: 'carbon_dioxide'>,
|
||||
@@ -96,6 +98,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -133,6 +136,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM10',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM10: 'pm10'>,
|
||||
@@ -170,6 +174,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM2.5',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM25: 'pm25'>,
|
||||
@@ -207,6 +212,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -247,6 +253,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Total volatile organic compounds',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charged month',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -78,6 +79,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charged today',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -134,6 +136,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charged total',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -190,6 +193,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Discharged month',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -246,6 +250,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Discharged today',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -302,6 +307,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Discharged total',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -358,6 +364,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Flow now',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -414,6 +421,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'State of charge',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -467,6 +475,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Energy AC output total',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -523,6 +532,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Power AC output',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -579,6 +589,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Energy AC output total',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -635,6 +646,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Power AC output',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -691,6 +703,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Energy production month',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -747,6 +760,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Energy production today',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -803,6 +817,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Energy production total',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -859,6 +874,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Power production',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.CO2: 'carbon_dioxide'>,
|
||||
@@ -77,6 +78,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -132,6 +134,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM10',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM10: 'pm10'>,
|
||||
@@ -187,6 +190,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM2.5',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM25: 'pm25'>,
|
||||
@@ -242,6 +246,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Score',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -295,6 +300,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -353,6 +359,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Volatile organic compounds parts',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: 'volatile_organic_compounds_parts'>,
|
||||
@@ -408,6 +415,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.CO2: 'carbon_dioxide'>,
|
||||
@@ -463,6 +471,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -518,6 +527,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM2.5',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM25: 'pm25'>,
|
||||
@@ -573,6 +583,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Score',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -626,6 +637,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -684,6 +696,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Volatile organic compounds parts',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: 'volatile_organic_compounds_parts'>,
|
||||
@@ -739,6 +752,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.CO2: 'carbon_dioxide'>,
|
||||
@@ -794,6 +808,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -849,6 +864,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Score',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -902,6 +918,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -960,6 +977,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Volatile organic compounds parts',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: 'volatile_organic_compounds_parts'>,
|
||||
@@ -1015,6 +1033,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -1070,6 +1089,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Illuminance',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ILLUMINANCE: 'illuminance'>,
|
||||
@@ -1124,6 +1144,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM2.5',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM25: 'pm25'>,
|
||||
@@ -1179,6 +1200,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Score',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1232,6 +1254,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1290,6 +1313,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Volatile organic compounds parts',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: 'volatile_organic_compounds_parts'>,
|
||||
@@ -1345,6 +1369,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.CO2: 'carbon_dioxide'>,
|
||||
@@ -1400,6 +1425,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -1455,6 +1481,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Illuminance',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ILLUMINANCE: 'illuminance'>,
|
||||
@@ -1509,6 +1536,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM2.5',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM25: 'pm25'>,
|
||||
@@ -1564,6 +1592,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Score',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1617,6 +1646,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Sound level',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.SOUND_PRESSURE: 'sound_pressure'>,
|
||||
@@ -1671,6 +1701,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1729,6 +1760,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Volatile organic compounds parts',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: 'volatile_organic_compounds_parts'>,
|
||||
@@ -1784,6 +1816,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Absolute humidity',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1841,6 +1874,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Carbon dioxide',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.CO2: 'carbon_dioxide'>,
|
||||
@@ -1895,6 +1929,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Dew point',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -1952,6 +1987,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -2006,6 +2042,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PM2.5',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.PM25: 'pm25'>,
|
||||
@@ -2060,6 +2097,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Score',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2113,6 +2151,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -2170,6 +2209,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Volatile organic compounds parts',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS: 'volatile_organic_compounds_parts'>,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'DayNight 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.LIGHT: 'light'>,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Object Analytics Device1Scenario8',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.MOTION: 'motion'>,
|
||||
@@ -118,6 +120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Sound 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.SOUND: 'sound'>,
|
||||
@@ -167,6 +170,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PIR sensor',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.CONNECTIVITY: 'connectivity'>,
|
||||
@@ -216,6 +220,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PIR 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.MOTION: 'motion'>,
|
||||
@@ -265,6 +270,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Fence Guard Profile 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.MOTION: 'motion'>,
|
||||
@@ -314,6 +320,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Motion Guard Profile 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.MOTION: 'motion'>,
|
||||
@@ -363,6 +370,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Loitering Guard Profile 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.MOTION: 'motion'>,
|
||||
@@ -412,6 +420,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'VMD4 Profile 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.MOTION: 'motion'>,
|
||||
@@ -461,6 +470,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Object Analytics Scenario 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.MOTION: 'motion'>,
|
||||
@@ -510,6 +520,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'VMD4 Camera1Profile9',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.MOTION: 'motion'>,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -71,6 +72,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'IR Light 0',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Doorbell',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SwitchDeviceClass.OUTLET: 'outlet'>,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Relay 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SwitchDeviceClass.OUTLET: 'outlet'>,
|
||||
@@ -118,6 +120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Doorbell',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SwitchDeviceClass.OUTLET: 'outlet'>,
|
||||
@@ -167,6 +170,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Relay 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SwitchDeviceClass.OUTLET: 'outlet'>,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CI latest build',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -80,6 +81,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CI latest build finish time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -129,6 +131,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CI latest build ID',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -177,6 +180,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CI latest build queue time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -226,6 +230,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CI latest build reason',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -274,6 +279,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CI latest build result',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -322,6 +328,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CI latest build source branch',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -370,6 +377,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CI latest build source version',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -418,6 +426,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CI latest build start time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -467,6 +476,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CI latest build URL',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Automatic backup',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Backup Manager state',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -84,6 +85,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Last attempted automatic backup',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -133,6 +135,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Last successful automatic backup',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -182,6 +185,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Next scheduled automatic backup',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Circulation pump',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.RUNNING: 'running'>,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Filter cycle 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.RUNNING: 'running'>,
|
||||
@@ -118,6 +120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Filter cycle 2',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.RUNNING: 'running'>,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Fault',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Pump 1',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Light',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature range',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Filter cycle 2 enabled',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Filter cycle 1 end',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Filter cycle 1 start',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -116,6 +118,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Filter cycle 2 end',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -164,6 +167,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Filter cycle 2 start',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Reboot',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <ButtonDeviceClass.RESTART: 'restart'>,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Reset',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <ButtonDeviceClass.RESTART: 'restart'>,
|
||||
@@ -118,6 +120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Stop charge session',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -75,6 +76,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Dew point',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -131,6 +133,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Humidity',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.HUMIDITY: 'humidity'>,
|
||||
@@ -184,6 +187,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Signal strength',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.SIGNAL_STRENGTH: 'signal_strength'>,
|
||||
@@ -237,6 +241,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.BATTERY_CHARGING: 'battery_charging'>,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Check control messages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -118,6 +120,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition-based services',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -173,6 +176,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Connection status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PLUG: 'plug'>,
|
||||
@@ -222,6 +226,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Door lock state',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.LOCK: 'lock'>,
|
||||
@@ -272,6 +277,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Lids',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.OPENING: 'opening'>,
|
||||
@@ -328,6 +334,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Pre-entry climatization',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -376,6 +383,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Windows',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.OPENING: 'opening'>,
|
||||
@@ -427,6 +435,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.BATTERY_CHARGING: 'battery_charging'>,
|
||||
@@ -476,6 +485,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Check control messages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -526,6 +536,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition-based services',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -586,6 +597,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Connection status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PLUG: 'plug'>,
|
||||
@@ -635,6 +647,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Door lock state',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.LOCK: 'lock'>,
|
||||
@@ -685,6 +698,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Lids',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.OPENING: 'opening'>,
|
||||
@@ -740,6 +754,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Pre-entry climatization',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -788,6 +803,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Windows',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.OPENING: 'opening'>,
|
||||
@@ -842,6 +858,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.BATTERY_CHARGING: 'battery_charging'>,
|
||||
@@ -891,6 +908,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Check control messages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -941,6 +959,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition-based services',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1001,6 +1020,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Connection status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PLUG: 'plug'>,
|
||||
@@ -1050,6 +1070,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Door lock state',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.LOCK: 'lock'>,
|
||||
@@ -1100,6 +1121,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Lids',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.OPENING: 'opening'>,
|
||||
@@ -1156,6 +1178,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Pre-entry climatization',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1204,6 +1227,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Windows',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.OPENING: 'opening'>,
|
||||
@@ -1258,6 +1282,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Check control messages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1309,6 +1334,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Condition-based services',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1372,6 +1398,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Door lock state',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.LOCK: 'lock'>,
|
||||
@@ -1422,6 +1449,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Lids',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.OPENING: 'opening'>,
|
||||
@@ -1477,6 +1505,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Windows',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.OPENING: 'opening'>,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Activate air conditioning',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Find vehicle',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -116,6 +118,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Flash lights',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -164,6 +167,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Sound horn',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -212,6 +216,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Activate air conditioning',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -260,6 +265,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Deactivate air conditioning',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -308,6 +314,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Find vehicle',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -356,6 +363,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Flash lights',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -404,6 +412,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Sound horn',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -452,6 +461,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Activate air conditioning',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -500,6 +510,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Deactivate air conditioning',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -548,6 +559,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Find vehicle',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -596,6 +608,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Flash lights',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -644,6 +657,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Sound horn',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -692,6 +706,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Activate air conditioning',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -740,6 +755,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Deactivate air conditioning',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -788,6 +804,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Find vehicle',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -836,6 +853,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Flash lights',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -884,6 +902,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Sound horn',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Lock',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -70,6 +71,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Lock',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -120,6 +122,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Lock',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -170,6 +173,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Lock',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Target SoC',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <NumberDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -83,6 +84,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Target SoC',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <NumberDeviceClass.BATTERY: 'battery'>,
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -95,6 +96,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'AC charging limit',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -165,6 +167,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -234,6 +237,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'AC charging limit',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -304,6 +308,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'AC current limit',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -73,6 +74,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging end time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -122,6 +124,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging start time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -186,6 +189,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -249,6 +253,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging target',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -303,6 +308,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Mileage',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -359,6 +365,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining battery percent',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -415,6 +422,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining fuel',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -471,6 +479,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining fuel percent',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -526,6 +535,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining range electric',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -582,6 +592,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining range fuel',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -638,6 +649,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining range total',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -692,6 +704,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'AC current limit',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -745,6 +758,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging end time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -794,6 +808,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging start time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -858,6 +873,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -921,6 +937,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging target',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -981,6 +998,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Climate status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -1039,6 +1057,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front left target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1098,6 +1117,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front left tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1157,6 +1177,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front right target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1216,6 +1237,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front right tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1275,6 +1297,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Mileage',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1331,6 +1354,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear left target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1390,6 +1414,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear left tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1449,6 +1474,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear right target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1508,6 +1534,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear right tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -1567,6 +1594,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining battery percent',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1623,6 +1651,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining range electric',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1679,6 +1708,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining range total',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1733,6 +1763,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'AC current limit',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -1786,6 +1817,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging end time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -1835,6 +1867,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging start time',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -1899,6 +1932,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -1962,6 +1996,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging target',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -2022,6 +2057,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Climate status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -2080,6 +2116,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front left target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2139,6 +2176,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front left tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2198,6 +2236,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front right target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2257,6 +2296,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front right tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2316,6 +2356,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Mileage',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -2372,6 +2413,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear left target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2431,6 +2473,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear left tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2490,6 +2533,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear right target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2549,6 +2593,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear right tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2608,6 +2653,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining battery percent',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -2664,6 +2710,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining range electric',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -2720,6 +2767,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining range total',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -2782,6 +2830,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Climate status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -2840,6 +2889,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front left target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2899,6 +2949,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front left tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -2958,6 +3009,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front right target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -3017,6 +3069,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Front right tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -3076,6 +3129,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Mileage',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -3132,6 +3186,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear left target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -3191,6 +3246,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear left tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -3250,6 +3306,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear right target pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -3309,6 +3366,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Rear right tire pressure',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
@@ -3368,6 +3426,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining fuel',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -3424,6 +3483,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining fuel percent',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -3479,6 +3539,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining range fuel',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
@@ -3535,6 +3596,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Remaining range total',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 0,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Climate',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Charging',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -116,6 +118,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Climate',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -164,6 +167,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Climate',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -72,6 +73,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -124,6 +126,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Area ready to arm away',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Area ready to arm home',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -116,6 +118,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -164,6 +167,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'AC failure',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -213,6 +217,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -262,6 +267,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery missing',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -311,6 +317,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CRC failure in panel configuration',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -360,6 +367,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Failure to call RPS since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -408,6 +416,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Log overflow',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -457,6 +466,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Log threshold reached',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -506,6 +516,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Phone line failure',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.CONNECTIVITY: 'connectivity'>,
|
||||
@@ -555,6 +566,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Point bus failure since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -604,6 +616,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Problem',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -653,6 +666,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'SDI failure since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -702,6 +716,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'User code tamper since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -751,6 +766,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -799,6 +815,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -847,6 +864,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -895,6 +913,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -943,6 +962,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -991,6 +1011,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1039,6 +1060,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Area ready to arm away',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1087,6 +1109,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Area ready to arm home',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1135,6 +1158,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1183,6 +1207,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'AC failure',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1232,6 +1257,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -1281,6 +1307,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery missing',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1330,6 +1357,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CRC failure in panel configuration',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1379,6 +1407,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Failure to call RPS since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1427,6 +1456,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Log overflow',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1476,6 +1506,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Log threshold reached',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1525,6 +1556,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Phone line failure',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.CONNECTIVITY: 'connectivity'>,
|
||||
@@ -1574,6 +1606,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Point bus failure since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1623,6 +1656,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Problem',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1672,6 +1706,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'SDI failure since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1721,6 +1756,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'User code tamper since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -1770,6 +1806,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1818,6 +1855,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1866,6 +1904,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1914,6 +1953,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1962,6 +2002,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2010,6 +2051,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2058,6 +2100,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Area ready to arm away',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2106,6 +2149,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Area ready to arm home',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2154,6 +2198,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2202,6 +2247,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'AC failure',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -2251,6 +2297,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.BATTERY: 'battery'>,
|
||||
@@ -2300,6 +2347,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Battery missing',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -2349,6 +2397,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'CRC failure in panel configuration',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -2398,6 +2447,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Failure to call RPS since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2446,6 +2496,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Log overflow',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -2495,6 +2546,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Log threshold reached',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -2544,6 +2596,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Phone line failure',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.CONNECTIVITY: 'connectivity'>,
|
||||
@@ -2593,6 +2646,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Point bus failure since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -2642,6 +2696,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Problem',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -2691,6 +2746,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'SDI failure since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -2740,6 +2796,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'User code tamper since last RPS connection',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
|
||||
@@ -2789,6 +2846,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2837,6 +2895,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2885,6 +2944,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2933,6 +2993,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -2981,6 +3042,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -3029,6 +3091,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Burglary alarm issues',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Faulting points',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -117,6 +119,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Fire alarm issues',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -165,6 +168,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Gas alarm issues',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -213,6 +217,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Burglary alarm issues',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -261,6 +266,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Faulting points',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -310,6 +316,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Fire alarm issues',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -358,6 +365,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Gas alarm issues',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -406,6 +414,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Burglary alarm issues',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -454,6 +463,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Faulting points',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -503,6 +513,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Fire alarm issues',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -551,6 +562,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Gas alarm issues',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Locked',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Momentarily unlocked',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -116,6 +118,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Secured',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -164,6 +167,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -212,6 +216,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Locked',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -260,6 +265,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Momentarily unlocked',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -308,6 +314,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Secured',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -356,6 +363,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -404,6 +412,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Locked',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -452,6 +461,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Momentarily unlocked',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -500,6 +510,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Secured',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -548,6 +559,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Activities',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -111,6 +112,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Activities',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Discount only',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -75,6 +76,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'List access',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -129,6 +131,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'On occasion',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -201,6 +204,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Region & language',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -272,6 +276,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Urgent',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -321,6 +326,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Discount only',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -376,6 +382,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'List access',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -430,6 +437,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'On occasion',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -502,6 +510,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Region & language',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
@@ -573,6 +582,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Urgent',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -69,6 +70,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'B/W pages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -74,6 +75,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Belt unit remaining lifetime',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -126,6 +128,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Black drum page counter',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -178,6 +181,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Black drum remaining lifetime',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -230,6 +234,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Black drum remaining pages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -282,6 +287,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Black toner remaining',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -334,6 +340,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Color pages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -386,6 +393,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cyan drum page counter',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -438,6 +446,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cyan drum remaining lifetime',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -490,6 +499,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cyan drum remaining pages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -542,6 +552,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Cyan toner remaining',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -594,6 +605,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Drum page counter',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -646,6 +658,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Drum remaining lifetime',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -698,6 +711,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Drum remaining pages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -750,6 +764,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Duplex unit page counter',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -802,6 +817,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Fuser remaining lifetime',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -852,6 +868,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Last restart',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
@@ -903,6 +920,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Magenta drum page counter',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -955,6 +973,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Magenta drum remaining lifetime',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1007,6 +1026,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Magenta drum remaining pages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1059,6 +1079,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Magenta toner remaining',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1111,6 +1132,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Page counter',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1163,6 +1185,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'PF Kit 1 remaining lifetime',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1213,6 +1236,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Status',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1263,6 +1287,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Yellow drum page counter',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1315,6 +1340,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Yellow drum remaining lifetime',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1367,6 +1393,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Yellow drum remaining pages',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -1419,6 +1446,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Yellow toner remaining',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -107,6 +108,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Current temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
@@ -78,6 +79,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Outside temperature',
|
||||
'options': dict({
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 1,
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Audio output',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -85,6 +86,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Control Bus mode',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -144,6 +146,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Display brightness',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Early update',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -68,6 +69,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': 'Pre-Amp',
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -99,6 +100,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -236,6 +238,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
@@ -293,6 +296,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'object_id_base': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <CoverDeviceClass.SHUTTER: 'shutter'>,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user