Bump python-matter-server to 3.0.0 (#88607)
* Bump python-matter-server to 3.0.0 Include all fixes for the changed api schema of the library * fix test fixtures * remove invalid data from fixtures * fix some of the tests * fix binary sensor bug * fix sensor bug * fix switch test * fix tests * adjust bugs and typos
This commit is contained in:
parent
9c7adfc4b2
commit
881e85d74f
39 changed files with 3687 additions and 31021 deletions
|
@ -5,12 +5,8 @@ import asyncio
|
||||||
|
|
||||||
import async_timeout
|
import async_timeout
|
||||||
from matter_server.client import MatterClient
|
from matter_server.client import MatterClient
|
||||||
from matter_server.client.exceptions import (
|
from matter_server.client.exceptions import CannotConnect, InvalidServerVersion
|
||||||
CannotConnect,
|
from matter_server.common.errors import MatterError, NodeCommissionFailed
|
||||||
FailedCommand,
|
|
||||||
InvalidServerVersion,
|
|
||||||
)
|
|
||||||
from matter_server.common.models.error import MatterError
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.hassio import AddonError, AddonManager, AddonState
|
from homeassistant.components.hassio import AddonError, AddonManager, AddonState
|
||||||
|
@ -211,31 +207,10 @@ def _async_init_services(hass: HomeAssistant) -> None:
|
||||||
"""Get node id from ha device id."""
|
"""Get node id from ha device id."""
|
||||||
dev_reg = dr.async_get(hass)
|
dev_reg = dr.async_get(hass)
|
||||||
device = dev_reg.async_get(ha_device_id)
|
device = dev_reg.async_get(ha_device_id)
|
||||||
|
|
||||||
if device is None:
|
if device is None:
|
||||||
return None
|
return None
|
||||||
|
if node := await get_node_from_device_entry(hass, device):
|
||||||
matter_id = next(
|
return node.node_id
|
||||||
(
|
|
||||||
identifier
|
|
||||||
for identifier in device.identifiers
|
|
||||||
if identifier[0] == DOMAIN
|
|
||||||
),
|
|
||||||
None,
|
|
||||||
)
|
|
||||||
|
|
||||||
if not matter_id:
|
|
||||||
return None
|
|
||||||
|
|
||||||
unique_id = matter_id[1]
|
|
||||||
|
|
||||||
matter_client = get_matter(hass).matter_client
|
|
||||||
|
|
||||||
# This could be more efficient
|
|
||||||
for node in await matter_client.get_nodes():
|
|
||||||
if node.unique_id == unique_id:
|
|
||||||
return node.node_id
|
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
async def open_commissioning_window(call: ServiceCall) -> None:
|
async def open_commissioning_window(call: ServiceCall) -> None:
|
||||||
|
@ -251,7 +226,7 @@ def _async_init_services(hass: HomeAssistant) -> None:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
await matter_client.open_commissioning_window(node_id)
|
await matter_client.open_commissioning_window(node_id)
|
||||||
except FailedCommand as err:
|
except NodeCommissionFailed as err:
|
||||||
raise HomeAssistantError(str(err)) from err
|
raise HomeAssistantError(str(err)) from err
|
||||||
|
|
||||||
async_register_admin_service(
|
async_register_admin_service(
|
||||||
|
|
|
@ -4,12 +4,11 @@ from __future__ import annotations
|
||||||
from typing import TYPE_CHECKING, cast
|
from typing import TYPE_CHECKING, cast
|
||||||
|
|
||||||
from chip.clusters import Objects as all_clusters
|
from chip.clusters import Objects as all_clusters
|
||||||
from matter_server.common.models.events import EventType
|
from matter_server.client.models.node_device import (
|
||||||
from matter_server.common.models.node_device import (
|
|
||||||
AbstractMatterNodeDevice,
|
AbstractMatterNodeDevice,
|
||||||
MatterBridgedNodeDevice,
|
MatterBridgedNodeDevice,
|
||||||
)
|
)
|
||||||
from matter_server.common.models.server_information import ServerInfo
|
from matter_server.common.models import EventType, ServerInfoMessage
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import Platform
|
from homeassistant.const import Platform
|
||||||
|
@ -23,7 +22,7 @@ from .helpers import get_device_id
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from matter_server.client import MatterClient
|
from matter_server.client import MatterClient
|
||||||
from matter_server.common.models.node import MatterNode
|
from matter_server.client.models.node import MatterNode
|
||||||
|
|
||||||
|
|
||||||
class MatterAdapter:
|
class MatterAdapter:
|
||||||
|
@ -70,15 +69,19 @@ class MatterAdapter:
|
||||||
|
|
||||||
bridge_unique_id: str | None = None
|
bridge_unique_id: str | None = None
|
||||||
|
|
||||||
if node.aggregator_device_type_instance is not None and (
|
if (
|
||||||
node.root_device_type_instance.get_cluster(all_clusters.BasicInformation)
|
node.aggregator_device_type_instance is not None
|
||||||
|
and node.root_device_type_instance is not None
|
||||||
|
and node.root_device_type_instance.get_cluster(
|
||||||
|
all_clusters.BasicInformation
|
||||||
|
)
|
||||||
):
|
):
|
||||||
# create virtual (parent) device for bridge node device
|
# create virtual (parent) device for bridge node device
|
||||||
bridge_device = MatterBridgedNodeDevice(
|
bridge_device = MatterBridgedNodeDevice(
|
||||||
node.aggregator_device_type_instance
|
node.aggregator_device_type_instance
|
||||||
)
|
)
|
||||||
self._create_device_registry(bridge_device)
|
self._create_device_registry(bridge_device)
|
||||||
server_info = cast(ServerInfo, self.matter_client.server_info)
|
server_info = cast(ServerInfoMessage, self.matter_client.server_info)
|
||||||
bridge_unique_id = get_device_id(server_info, bridge_device)
|
bridge_unique_id = get_device_id(server_info, bridge_device)
|
||||||
|
|
||||||
for node_device in node.node_devices:
|
for node_device in node.node_devices:
|
||||||
|
@ -90,7 +93,7 @@ class MatterAdapter:
|
||||||
bridge_unique_id: str | None = None,
|
bridge_unique_id: str | None = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Create a device registry entry."""
|
"""Create a device registry entry."""
|
||||||
server_info = cast(ServerInfo, self.matter_client.server_info)
|
server_info = cast(ServerInfoMessage, self.matter_client.server_info)
|
||||||
|
|
||||||
basic_info = node_device.device_info()
|
basic_info = node_device.device_info()
|
||||||
device_type_instances = node_device.device_type_instances()
|
device_type_instances = node_device.device_type_instances()
|
||||||
|
|
|
@ -5,7 +5,7 @@ from collections.abc import Callable
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from matter_server.client.exceptions import FailedCommand
|
from matter_server.common.errors import MatterError
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components import websocket_api
|
from homeassistant.components import websocket_api
|
||||||
|
@ -44,7 +44,7 @@ def async_get_matter_adapter(func: Callable) -> Callable:
|
||||||
|
|
||||||
|
|
||||||
def async_handle_failed_command(func: Callable) -> Callable:
|
def async_handle_failed_command(func: Callable) -> Callable:
|
||||||
"""Decorate function to handle FailedCommand and send relevant error."""
|
"""Decorate function to handle MatterError and send relevant error."""
|
||||||
|
|
||||||
@wraps(func)
|
@wraps(func)
|
||||||
async def async_handle_failed_command_func(
|
async def async_handle_failed_command_func(
|
||||||
|
@ -54,11 +54,11 @@ def async_handle_failed_command(func: Callable) -> Callable:
|
||||||
*args: Any,
|
*args: Any,
|
||||||
**kwargs: Any,
|
**kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Handle FailedCommand within function and send relevant error."""
|
"""Handle MatterError within function and send relevant error."""
|
||||||
try:
|
try:
|
||||||
await func(hass, connection, msg, *args, **kwargs)
|
await func(hass, connection, msg, *args, **kwargs)
|
||||||
except FailedCommand as err:
|
except MatterError as err:
|
||||||
connection.send_error(msg[ID], err.error_code, err.args[0])
|
connection.send_error(msg[ID], str(err.error_code), err.args[0])
|
||||||
|
|
||||||
return async_handle_failed_command_func
|
return async_handle_failed_command_func
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ from dataclasses import dataclass
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
|
||||||
from chip.clusters import Objects as clusters
|
from chip.clusters import Objects as clusters
|
||||||
from matter_server.common.models import device_types
|
from matter_server.client.models import device_types
|
||||||
|
|
||||||
from homeassistant.components.binary_sensor import (
|
from homeassistant.components.binary_sensor import (
|
||||||
BinarySensorDeviceClass,
|
BinarySensorDeviceClass,
|
||||||
|
@ -39,8 +39,10 @@ class MatterBinarySensor(MatterEntity, BinarySensorEntity):
|
||||||
@callback
|
@callback
|
||||||
def _update_from_device(self) -> None:
|
def _update_from_device(self) -> None:
|
||||||
"""Update from device."""
|
"""Update from device."""
|
||||||
cluster = self._device_type_instance.get_cluster(clusters.BooleanState)
|
self._attr_is_on = self.get_matter_attribute_value(
|
||||||
self._attr_is_on = cluster.stateValue if cluster else None
|
# We always subscribe to a single value
|
||||||
|
self.entity_description.subscribe_attributes[0],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class MatterOccupancySensor(MatterBinarySensor):
|
class MatterOccupancySensor(MatterBinarySensor):
|
||||||
|
@ -51,9 +53,12 @@ class MatterOccupancySensor(MatterBinarySensor):
|
||||||
@callback
|
@callback
|
||||||
def _update_from_device(self) -> None:
|
def _update_from_device(self) -> None:
|
||||||
"""Update from device."""
|
"""Update from device."""
|
||||||
cluster = self._device_type_instance.get_cluster(clusters.OccupancySensing)
|
value = self.get_matter_attribute_value(
|
||||||
|
# We always subscribe to a single value
|
||||||
|
self.entity_description.subscribe_attributes[0],
|
||||||
|
)
|
||||||
# The first bit = if occupied
|
# The first bit = if occupied
|
||||||
self._attr_is_on = cluster.occupancy & 1 == 1 if cluster else None
|
self._attr_is_on = (value & 1 == 1) if value is not None else None
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|
|
@ -11,7 +11,7 @@ from .sensor import DEVICE_ENTITY as SENSOR_DEVICE_ENTITY
|
||||||
from .switch import DEVICE_ENTITY as SWITCH_DEVICE_ENTITY
|
from .switch import DEVICE_ENTITY as SWITCH_DEVICE_ENTITY
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from matter_server.common.models.device_types import DeviceType
|
from matter_server.client.models.device_types import DeviceType
|
||||||
|
|
||||||
from .entity import MatterEntityDescriptionBaseClass
|
from .entity import MatterEntityDescriptionBaseClass
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,8 @@ from __future__ import annotations
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from matter_server.common.helpers.util import dataclass_to_dict
|
from chip.clusters import Objects
|
||||||
|
from matter_server.common.helpers.util import dataclass_to_dict, parse_attribute_path
|
||||||
|
|
||||||
from homeassistant.components.diagnostics import REDACTED
|
from homeassistant.components.diagnostics import REDACTED
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
|
@ -13,16 +14,20 @@ from homeassistant.helpers import device_registry as dr
|
||||||
|
|
||||||
from .helpers import get_matter, get_node_from_device_entry
|
from .helpers import get_matter, get_node_from_device_entry
|
||||||
|
|
||||||
ATTRIBUTES_TO_REDACT = {"chip.clusters.Objects.BasicInformation.Attributes.Location"}
|
ATTRIBUTES_TO_REDACT = {Objects.BasicInformation.Attributes.Location}
|
||||||
|
|
||||||
|
|
||||||
def redact_matter_attributes(node_data: dict[str, Any]) -> dict[str, Any]:
|
def redact_matter_attributes(node_data: dict[str, Any]) -> dict[str, Any]:
|
||||||
"""Redact Matter cluster attribute."""
|
"""Redact Matter cluster attribute."""
|
||||||
redacted = deepcopy(node_data)
|
redacted = deepcopy(node_data)
|
||||||
for attribute_to_redact in ATTRIBUTES_TO_REDACT:
|
for attribute_to_redact in ATTRIBUTES_TO_REDACT:
|
||||||
for value in redacted["attributes"].values():
|
for attribute_path, _value in redacted["attributes"].items():
|
||||||
if value["attribute_type"] == attribute_to_redact:
|
_, cluster_id, attribute_id = parse_attribute_path(attribute_path)
|
||||||
value["value"] = REDACTED
|
if cluster_id != attribute_to_redact.cluster_id:
|
||||||
|
continue
|
||||||
|
if attribute_id != attribute_to_redact.attribute_id:
|
||||||
|
continue
|
||||||
|
redacted["attributes"][attribute_path] = REDACTED
|
||||||
|
|
||||||
return redacted
|
return redacted
|
||||||
|
|
||||||
|
@ -40,7 +45,7 @@ async def async_get_config_entry_diagnostics(
|
||||||
"""Return diagnostics for a config entry."""
|
"""Return diagnostics for a config entry."""
|
||||||
matter = get_matter(hass)
|
matter = get_matter(hass)
|
||||||
server_diagnostics = await matter.matter_client.get_diagnostics()
|
server_diagnostics = await matter.matter_client.get_diagnostics()
|
||||||
data = remove_serialization_type(dataclass_to_dict(server_diagnostics))
|
data = dataclass_to_dict(server_diagnostics)
|
||||||
nodes = [redact_matter_attributes(node_data) for node_data in data["nodes"]]
|
nodes = [redact_matter_attributes(node_data) for node_data in data["nodes"]]
|
||||||
data["nodes"] = nodes
|
data["nodes"] = nodes
|
||||||
|
|
||||||
|
@ -56,10 +61,8 @@ async def async_get_device_diagnostics(
|
||||||
node = await get_node_from_device_entry(hass, device)
|
node = await get_node_from_device_entry(hass, device)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"server_info": remove_serialization_type(
|
"server_info": dataclass_to_dict(server_diagnostics.info),
|
||||||
dataclass_to_dict(server_diagnostics.info)
|
|
||||||
),
|
|
||||||
"node": redact_matter_attributes(
|
"node": redact_matter_attributes(
|
||||||
remove_serialization_type(dataclass_to_dict(node) if node else {})
|
remove_serialization_type(dataclass_to_dict(node.node_data) if node else {})
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,10 +7,11 @@ from dataclasses import dataclass
|
||||||
import logging
|
import logging
|
||||||
from typing import TYPE_CHECKING, Any, cast
|
from typing import TYPE_CHECKING, Any, cast
|
||||||
|
|
||||||
from matter_server.common.models.device_type_instance import MatterDeviceTypeInstance
|
from chip.clusters.Objects import ClusterAttributeDescriptor
|
||||||
from matter_server.common.models.events import EventType
|
from matter_server.client.models.device_type_instance import MatterDeviceTypeInstance
|
||||||
from matter_server.common.models.node_device import AbstractMatterNodeDevice
|
from matter_server.client.models.node_device import AbstractMatterNodeDevice
|
||||||
from matter_server.common.models.server_information import ServerInfo
|
from matter_server.common.helpers.util import create_attribute_path
|
||||||
|
from matter_server.common.models import EventType, ServerInfoMessage
|
||||||
|
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.helpers.entity import DeviceInfo, Entity, EntityDescription
|
from homeassistant.helpers.entity import DeviceInfo, Entity, EntityDescription
|
||||||
|
@ -20,7 +21,6 @@ from .helpers import get_device_id, get_operational_instance_id
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from matter_server.client import MatterClient
|
from matter_server.client import MatterClient
|
||||||
from matter_server.common.models.node import MatterAttribute
|
|
||||||
|
|
||||||
LOGGER = logging.getLogger(__name__)
|
LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -59,19 +59,20 @@ class MatterEntity(Entity):
|
||||||
self.entity_description = entity_description
|
self.entity_description = entity_description
|
||||||
self._unsubscribes: list[Callable] = []
|
self._unsubscribes: list[Callable] = []
|
||||||
# for fast lookups we create a mapping to the attribute paths
|
# for fast lookups we create a mapping to the attribute paths
|
||||||
# The server info is set when the client connects to the server.
|
|
||||||
self._attributes_map: dict[type, str] = {}
|
self._attributes_map: dict[type, str] = {}
|
||||||
server_info = cast(ServerInfo, self.matter_client.server_info)
|
# The server info is set when the client connects to the server.
|
||||||
|
server_info = cast(ServerInfoMessage, self.matter_client.server_info)
|
||||||
# create unique_id based on "Operational Instance Name" and endpoint/device type
|
# create unique_id based on "Operational Instance Name" and endpoint/device type
|
||||||
self._attr_unique_id = (
|
self._attr_unique_id = (
|
||||||
f"{get_operational_instance_id(server_info, self._node_device.node())}-"
|
f"{get_operational_instance_id(server_info, self._node_device.node())}-"
|
||||||
f"{device_type_instance.endpoint}-"
|
f"{device_type_instance.endpoint.endpoint_id}-"
|
||||||
f"{device_type_instance.device_type.device_type}"
|
f"{device_type_instance.device_type.device_type}"
|
||||||
)
|
)
|
||||||
node_device_id = get_device_id(server_info, node_device)
|
node_device_id = get_device_id(server_info, node_device)
|
||||||
self._attr_device_info = DeviceInfo(
|
self._attr_device_info = DeviceInfo(
|
||||||
identifiers={(DOMAIN, f"{ID_TYPE_DEVICE_ID}_{node_device_id}")}
|
identifiers={(DOMAIN, f"{ID_TYPE_DEVICE_ID}_{node_device_id}")}
|
||||||
)
|
)
|
||||||
|
self._attr_available = self._node_device.node().available
|
||||||
|
|
||||||
async def async_added_to_hass(self) -> None:
|
async def async_added_to_hass(self) -> None:
|
||||||
"""Handle being added to Home Assistant."""
|
"""Handle being added to Home Assistant."""
|
||||||
|
@ -79,19 +80,24 @@ class MatterEntity(Entity):
|
||||||
|
|
||||||
# Subscribe to attribute updates.
|
# Subscribe to attribute updates.
|
||||||
for attr_cls in self.entity_description.subscribe_attributes:
|
for attr_cls in self.entity_description.subscribe_attributes:
|
||||||
if matter_attr := self.get_matter_attribute(attr_cls):
|
attr_path = self.get_matter_attribute_path(attr_cls)
|
||||||
self._attributes_map[attr_cls] = matter_attr.path
|
self._attributes_map[attr_cls] = attr_path
|
||||||
self._unsubscribes.append(
|
self._unsubscribes.append(
|
||||||
self.matter_client.subscribe(
|
self.matter_client.subscribe(
|
||||||
self._on_matter_event,
|
callback=self._on_matter_event,
|
||||||
EventType.ATTRIBUTE_UPDATED,
|
event_filter=EventType.ATTRIBUTE_UPDATED,
|
||||||
self._device_type_instance.node.node_id,
|
node_filter=self._device_type_instance.node.node_id,
|
||||||
matter_attr.path,
|
attr_path_filter=attr_path,
|
||||||
)
|
|
||||||
)
|
)
|
||||||
continue
|
)
|
||||||
# not sure if this can happen, but just in case log it.
|
# subscribe to node (availability changes)
|
||||||
LOGGER.warning("Attribute not found on device: %s", attr_cls)
|
self._unsubscribes.append(
|
||||||
|
self.matter_client.subscribe(
|
||||||
|
callback=self._on_matter_event,
|
||||||
|
event_filter=EventType.NODE_UPDATED,
|
||||||
|
node_filter=self._device_type_instance.node.node_id,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
# make sure to update the attributes once
|
# make sure to update the attributes once
|
||||||
self._update_from_device()
|
self._update_from_device()
|
||||||
|
@ -104,6 +110,7 @@ class MatterEntity(Entity):
|
||||||
@callback
|
@callback
|
||||||
def _on_matter_event(self, event: EventType, data: Any = None) -> None:
|
def _on_matter_event(self, event: EventType, data: Any = None) -> None:
|
||||||
"""Call on update."""
|
"""Call on update."""
|
||||||
|
self._attr_available = self._device_type_instance.node.available
|
||||||
self._update_from_device()
|
self._update_from_device()
|
||||||
self.async_write_ha_state()
|
self.async_write_ha_state()
|
||||||
|
|
||||||
|
@ -113,13 +120,18 @@ class MatterEntity(Entity):
|
||||||
"""Update data from Matter device."""
|
"""Update data from Matter device."""
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def get_matter_attribute(self, attribute: type) -> MatterAttribute | None:
|
def get_matter_attribute_value(
|
||||||
"""Lookup MatterAttribute on device by providing the attribute class."""
|
self, attribute: type[ClusterAttributeDescriptor]
|
||||||
return next(
|
) -> Any:
|
||||||
(
|
"""Get current value for given attribute."""
|
||||||
x
|
return self._device_type_instance.get_attribute_value(None, attribute)
|
||||||
for x in self._device_type_instance.attributes
|
|
||||||
if x.attribute_type == attribute
|
@callback
|
||||||
),
|
def get_matter_attribute_path(
|
||||||
None,
|
self, attribute: type[ClusterAttributeDescriptor]
|
||||||
|
) -> str:
|
||||||
|
"""Return AttributePath by providing the endpoint and Attribute class."""
|
||||||
|
endpoint = self._device_type_instance.endpoint.endpoint_id
|
||||||
|
return create_attribute_path(
|
||||||
|
endpoint, attribute.cluster_id, attribute.attribute_id
|
||||||
)
|
)
|
||||||
|
|
|
@ -11,9 +11,9 @@ from homeassistant.helpers import device_registry as dr
|
||||||
from .const import DOMAIN, ID_TYPE_DEVICE_ID
|
from .const import DOMAIN, ID_TYPE_DEVICE_ID
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from matter_server.common.models.node import MatterNode
|
from matter_server.client.models.node import MatterNode
|
||||||
from matter_server.common.models.node_device import AbstractMatterNodeDevice
|
from matter_server.client.models.node_device import AbstractMatterNodeDevice
|
||||||
from matter_server.common.models.server_information import ServerInfo
|
from matter_server.common.models import ServerInfoMessage
|
||||||
|
|
||||||
from .adapter import MatterAdapter
|
from .adapter import MatterAdapter
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ def get_matter(hass: HomeAssistant) -> MatterAdapter:
|
||||||
|
|
||||||
|
|
||||||
def get_operational_instance_id(
|
def get_operational_instance_id(
|
||||||
server_info: ServerInfo,
|
server_info: ServerInfoMessage,
|
||||||
node: MatterNode,
|
node: MatterNode,
|
||||||
) -> str:
|
) -> str:
|
||||||
"""Return `Operational Instance Name` for given MatterNode."""
|
"""Return `Operational Instance Name` for given MatterNode."""
|
||||||
|
@ -49,7 +49,7 @@ def get_operational_instance_id(
|
||||||
|
|
||||||
|
|
||||||
def get_device_id(
|
def get_device_id(
|
||||||
server_info: ServerInfo,
|
server_info: ServerInfoMessage,
|
||||||
node_device: AbstractMatterNodeDevice,
|
node_device: AbstractMatterNodeDevice,
|
||||||
) -> str:
|
) -> str:
|
||||||
"""Return HA device_id for the given MatterNodeDevice."""
|
"""Return HA device_id for the given MatterNodeDevice."""
|
||||||
|
|
|
@ -7,7 +7,7 @@ from functools import partial
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from chip.clusters import Objects as clusters
|
from chip.clusters import Objects as clusters
|
||||||
from matter_server.common.models import device_types
|
from matter_server.client.models import device_types
|
||||||
|
|
||||||
from homeassistant.components.light import (
|
from homeassistant.components.light import (
|
||||||
ATTR_BRIGHTNESS,
|
ATTR_BRIGHTNESS,
|
||||||
|
@ -85,15 +85,13 @@ class MatterLight(MatterEntity, LightEntity):
|
||||||
def _supports_color_mode(self, color_feature: MatterColorControlFeatures) -> bool:
|
def _supports_color_mode(self, color_feature: MatterColorControlFeatures) -> bool:
|
||||||
"""Return if device supports given color mode."""
|
"""Return if device supports given color mode."""
|
||||||
|
|
||||||
feature_map = self._device_type_instance.node.get_attribute(
|
feature_map = self.get_matter_attribute_value(
|
||||||
self._device_type_instance.endpoint,
|
|
||||||
clusters.ColorControl,
|
|
||||||
clusters.ColorControl.Attributes.FeatureMap,
|
clusters.ColorControl.Attributes.FeatureMap,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert isinstance(feature_map.value, int)
|
assert isinstance(feature_map, int)
|
||||||
|
|
||||||
return self._supports_feature(feature_map.value, color_feature)
|
return self._supports_feature(feature_map, color_feature)
|
||||||
|
|
||||||
def _supports_hs_color(self) -> bool:
|
def _supports_hs_color(self) -> bool:
|
||||||
"""Return if device supports hs color."""
|
"""Return if device supports hs color."""
|
||||||
|
@ -176,7 +174,7 @@ class MatterLight(MatterEntity, LightEntity):
|
||||||
|
|
||||||
assert level_control is not None
|
assert level_control is not None
|
||||||
|
|
||||||
level = round(
|
level = round( # type: ignore[unreachable]
|
||||||
renormalize(
|
renormalize(
|
||||||
brightness,
|
brightness,
|
||||||
(0, 255),
|
(0, 255),
|
||||||
|
@ -195,13 +193,17 @@ class MatterLight(MatterEntity, LightEntity):
|
||||||
def _get_xy_color(self) -> tuple[float, float]:
|
def _get_xy_color(self) -> tuple[float, float]:
|
||||||
"""Get xy color from matter."""
|
"""Get xy color from matter."""
|
||||||
|
|
||||||
x_color = self.get_matter_attribute(clusters.ColorControl.Attributes.CurrentX)
|
x_color = self.get_matter_attribute_value(
|
||||||
y_color = self.get_matter_attribute(clusters.ColorControl.Attributes.CurrentY)
|
clusters.ColorControl.Attributes.CurrentX
|
||||||
|
)
|
||||||
|
y_color = self.get_matter_attribute_value(
|
||||||
|
clusters.ColorControl.Attributes.CurrentY
|
||||||
|
)
|
||||||
|
|
||||||
assert x_color is not None
|
assert x_color is not None
|
||||||
assert y_color is not None
|
assert y_color is not None
|
||||||
|
|
||||||
xy_color = convert_to_hass_xy((x_color.value, y_color.value))
|
xy_color = convert_to_hass_xy((x_color, y_color))
|
||||||
LOGGER.debug(
|
LOGGER.debug(
|
||||||
"Got xy color %s for %s",
|
"Got xy color %s for %s",
|
||||||
xy_color,
|
xy_color,
|
||||||
|
@ -213,16 +215,18 @@ class MatterLight(MatterEntity, LightEntity):
|
||||||
def _get_hs_color(self) -> tuple[float, float]:
|
def _get_hs_color(self) -> tuple[float, float]:
|
||||||
"""Get hs color from matter."""
|
"""Get hs color from matter."""
|
||||||
|
|
||||||
hue = self.get_matter_attribute(clusters.ColorControl.Attributes.CurrentHue)
|
hue = self.get_matter_attribute_value(
|
||||||
|
clusters.ColorControl.Attributes.CurrentHue
|
||||||
|
)
|
||||||
|
|
||||||
saturation = self.get_matter_attribute(
|
saturation = self.get_matter_attribute_value(
|
||||||
clusters.ColorControl.Attributes.CurrentSaturation
|
clusters.ColorControl.Attributes.CurrentSaturation
|
||||||
)
|
)
|
||||||
|
|
||||||
assert hue is not None
|
assert hue is not None
|
||||||
assert saturation is not None
|
assert saturation is not None
|
||||||
|
|
||||||
hs_color = convert_to_hass_hs((hue.value, saturation.value))
|
hs_color = convert_to_hass_hs((hue, saturation))
|
||||||
|
|
||||||
LOGGER.debug(
|
LOGGER.debug(
|
||||||
"Got hs color %s for %s",
|
"Got hs color %s for %s",
|
||||||
|
@ -235,7 +239,7 @@ class MatterLight(MatterEntity, LightEntity):
|
||||||
def _get_color_temperature(self) -> int:
|
def _get_color_temperature(self) -> int:
|
||||||
"""Get color temperature from matter."""
|
"""Get color temperature from matter."""
|
||||||
|
|
||||||
color_temp = self.get_matter_attribute(
|
color_temp = self.get_matter_attribute_value(
|
||||||
clusters.ColorControl.Attributes.ColorTemperatureMireds
|
clusters.ColorControl.Attributes.ColorTemperatureMireds
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -243,11 +247,11 @@ class MatterLight(MatterEntity, LightEntity):
|
||||||
|
|
||||||
LOGGER.debug(
|
LOGGER.debug(
|
||||||
"Got color temperature %s for %s",
|
"Got color temperature %s for %s",
|
||||||
color_temp.value,
|
color_temp,
|
||||||
self._device_type_instance,
|
self._device_type_instance,
|
||||||
)
|
)
|
||||||
|
|
||||||
return int(color_temp.value)
|
return int(color_temp)
|
||||||
|
|
||||||
def _get_brightness(self) -> int:
|
def _get_brightness(self) -> int:
|
||||||
"""Get brightness from matter."""
|
"""Get brightness from matter."""
|
||||||
|
@ -257,7 +261,7 @@ class MatterLight(MatterEntity, LightEntity):
|
||||||
# We should not get here if brightness is not supported.
|
# We should not get here if brightness is not supported.
|
||||||
assert level_control is not None
|
assert level_control is not None
|
||||||
|
|
||||||
LOGGER.debug(
|
LOGGER.debug( # type: ignore[unreachable]
|
||||||
"Got brightness %s for %s",
|
"Got brightness %s for %s",
|
||||||
level_control.currentLevel,
|
level_control.currentLevel,
|
||||||
self._device_type_instance,
|
self._device_type_instance,
|
||||||
|
@ -274,13 +278,13 @@ class MatterLight(MatterEntity, LightEntity):
|
||||||
def _get_color_mode(self) -> ColorMode:
|
def _get_color_mode(self) -> ColorMode:
|
||||||
"""Get color mode from matter."""
|
"""Get color mode from matter."""
|
||||||
|
|
||||||
color_mode = self.get_matter_attribute(
|
color_mode = self.get_matter_attribute_value(
|
||||||
clusters.ColorControl.Attributes.ColorMode
|
clusters.ColorControl.Attributes.ColorMode
|
||||||
)
|
)
|
||||||
|
|
||||||
assert color_mode is not None
|
assert color_mode is not None
|
||||||
|
|
||||||
ha_color_mode = COLOR_MODE_MAP[MatterColorMode(color_mode.value)]
|
ha_color_mode = COLOR_MODE_MAP[MatterColorMode(color_mode)]
|
||||||
|
|
||||||
LOGGER.debug(
|
LOGGER.debug(
|
||||||
"Got color mode (%s) for %s", ha_color_mode, self._device_type_instance
|
"Got color mode (%s) for %s", ha_color_mode, self._device_type_instance
|
||||||
|
@ -292,7 +296,7 @@ class MatterLight(MatterEntity, LightEntity):
|
||||||
"""Send device command."""
|
"""Send device command."""
|
||||||
await self.matter_client.send_device_command(
|
await self.matter_client.send_device_command(
|
||||||
node_id=self._device_type_instance.node.node_id,
|
node_id=self._device_type_instance.node.node_id,
|
||||||
endpoint=self._device_type_instance.endpoint,
|
endpoint_id=self._device_type_instance.endpoint_id,
|
||||||
command=command,
|
command=command,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -369,8 +373,9 @@ class MatterLight(MatterEntity, LightEntity):
|
||||||
if supports_color_temperature:
|
if supports_color_temperature:
|
||||||
self._attr_color_temp = self._get_color_temperature()
|
self._attr_color_temp = self._get_color_temperature()
|
||||||
|
|
||||||
if attr := self.get_matter_attribute(clusters.OnOff.Attributes.OnOff):
|
self._attr_is_on = self.get_matter_attribute_value(
|
||||||
self._attr_is_on = attr.value
|
clusters.OnOff.Attributes.OnOff
|
||||||
|
)
|
||||||
|
|
||||||
if supports_brightness:
|
if supports_brightness:
|
||||||
self._attr_brightness = self._get_brightness()
|
self._attr_brightness = self._get_brightness()
|
||||||
|
|
|
@ -6,5 +6,5 @@
|
||||||
"dependencies": ["websocket_api"],
|
"dependencies": ["websocket_api"],
|
||||||
"documentation": "https://www.home-assistant.io/integrations/matter",
|
"documentation": "https://www.home-assistant.io/integrations/matter",
|
||||||
"iot_class": "local_push",
|
"iot_class": "local_push",
|
||||||
"requirements": ["python-matter-server==2.1.1"]
|
"requirements": ["python-matter-server==3.0.0"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,12 +4,10 @@ from __future__ import annotations
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from typing import Any
|
|
||||||
|
|
||||||
from chip.clusters import Objects as clusters
|
from chip.clusters import Objects as clusters
|
||||||
from chip.clusters.Types import Nullable, NullValue
|
from chip.clusters.Types import Nullable, NullValue
|
||||||
from matter_server.common.models import device_types
|
from matter_server.client.models import device_types
|
||||||
from matter_server.common.models.device_type_instance import MatterDeviceTypeInstance
|
|
||||||
|
|
||||||
from homeassistant.components.sensor import (
|
from homeassistant.components.sensor import (
|
||||||
SensorDeviceClass,
|
SensorDeviceClass,
|
||||||
|
@ -53,13 +51,12 @@ class MatterSensor(MatterEntity, SensorEntity):
|
||||||
def _update_from_device(self) -> None:
|
def _update_from_device(self) -> None:
|
||||||
"""Update from device."""
|
"""Update from device."""
|
||||||
measurement: Nullable | float | None
|
measurement: Nullable | float | None
|
||||||
measurement = _get_attribute_value(
|
measurement = self.get_matter_attribute_value(
|
||||||
self._device_type_instance,
|
|
||||||
# We always subscribe to a single value
|
# We always subscribe to a single value
|
||||||
self.entity_description.subscribe_attributes[0],
|
self.entity_description.subscribe_attributes[0],
|
||||||
)
|
)
|
||||||
|
|
||||||
if measurement is NullValue or measurement is None:
|
if measurement == NullValue or measurement is None:
|
||||||
measurement = None
|
measurement = None
|
||||||
else:
|
else:
|
||||||
measurement = self.entity_description.measurement_to_ha(measurement)
|
measurement = self.entity_description.measurement_to_ha(measurement)
|
||||||
|
@ -67,29 +64,6 @@ class MatterSensor(MatterEntity, SensorEntity):
|
||||||
self._attr_native_value = measurement
|
self._attr_native_value = measurement
|
||||||
|
|
||||||
|
|
||||||
def _get_attribute_value(
|
|
||||||
device_type_instance: MatterDeviceTypeInstance,
|
|
||||||
attribute: clusters.ClusterAttributeDescriptor,
|
|
||||||
) -> Any:
|
|
||||||
"""Return the value of an attribute."""
|
|
||||||
# Find the cluster for this attribute. We don't have a lookup table yet.
|
|
||||||
cluster_cls: clusters.Cluster = next(
|
|
||||||
cluster
|
|
||||||
for cluster in device_type_instance.device_type.clusters
|
|
||||||
if cluster.id == attribute.cluster_id
|
|
||||||
)
|
|
||||||
|
|
||||||
# Find the attribute descriptor so we know the instance variable to fetch
|
|
||||||
attribute_descriptor: clusters.ClusterObjectFieldDescriptor = next(
|
|
||||||
descriptor
|
|
||||||
for descriptor in cluster_cls.descriptor.Fields
|
|
||||||
if descriptor.Tag == attribute.attribute_id
|
|
||||||
)
|
|
||||||
|
|
||||||
cluster_data = device_type_instance.get_cluster(cluster_cls)
|
|
||||||
return getattr(cluster_data, attribute_descriptor.Label)
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class MatterSensorEntityDescriptionMixin:
|
class MatterSensorEntityDescriptionMixin:
|
||||||
"""Required fields for sensor device mapping."""
|
"""Required fields for sensor device mapping."""
|
||||||
|
|
|
@ -6,7 +6,7 @@ from functools import partial
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from chip.clusters import Objects as clusters
|
from chip.clusters import Objects as clusters
|
||||||
from matter_server.common.models import device_types
|
from matter_server.client.models import device_types
|
||||||
|
|
||||||
from homeassistant.components.switch import (
|
from homeassistant.components.switch import (
|
||||||
SwitchDeviceClass,
|
SwitchDeviceClass,
|
||||||
|
@ -41,7 +41,7 @@ class MatterSwitch(MatterEntity, SwitchEntity):
|
||||||
"""Turn switch on."""
|
"""Turn switch on."""
|
||||||
await self.matter_client.send_device_command(
|
await self.matter_client.send_device_command(
|
||||||
node_id=self._device_type_instance.node.node_id,
|
node_id=self._device_type_instance.node.node_id,
|
||||||
endpoint=self._device_type_instance.endpoint,
|
endpoint_id=self._device_type_instance.endpoint_id,
|
||||||
command=clusters.OnOff.Commands.On(),
|
command=clusters.OnOff.Commands.On(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -49,15 +49,16 @@ class MatterSwitch(MatterEntity, SwitchEntity):
|
||||||
"""Turn switch off."""
|
"""Turn switch off."""
|
||||||
await self.matter_client.send_device_command(
|
await self.matter_client.send_device_command(
|
||||||
node_id=self._device_type_instance.node.node_id,
|
node_id=self._device_type_instance.node.node_id,
|
||||||
endpoint=self._device_type_instance.endpoint,
|
endpoint_id=self._device_type_instance.endpoint_id,
|
||||||
command=clusters.OnOff.Commands.Off(),
|
command=clusters.OnOff.Commands.Off(),
|
||||||
)
|
)
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def _update_from_device(self) -> None:
|
def _update_from_device(self) -> None:
|
||||||
"""Update from device."""
|
"""Update from device."""
|
||||||
cluster = self._device_type_instance.get_cluster(clusters.OnOff)
|
self._attr_is_on = self.get_matter_attribute_value(
|
||||||
self._attr_is_on = cluster.onOff if cluster else None
|
clusters.OnOff.Attributes.OnOff
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|
|
@ -2081,7 +2081,7 @@ python-kasa==0.5.1
|
||||||
# python-lirc==1.2.3
|
# python-lirc==1.2.3
|
||||||
|
|
||||||
# homeassistant.components.matter
|
# homeassistant.components.matter
|
||||||
python-matter-server==2.1.1
|
python-matter-server==3.0.0
|
||||||
|
|
||||||
# homeassistant.components.xiaomi_miio
|
# homeassistant.components.xiaomi_miio
|
||||||
python-miio==0.5.12
|
python-miio==0.5.12
|
||||||
|
|
|
@ -1480,7 +1480,7 @@ python-juicenet==1.1.0
|
||||||
python-kasa==0.5.1
|
python-kasa==0.5.1
|
||||||
|
|
||||||
# homeassistant.components.matter
|
# homeassistant.components.matter
|
||||||
python-matter-server==2.1.1
|
python-matter-server==3.0.0
|
||||||
|
|
||||||
# homeassistant.components.xiaomi_miio
|
# homeassistant.components.xiaomi_miio
|
||||||
python-miio==0.5.12
|
python-miio==0.5.12
|
||||||
|
|
|
@ -6,9 +6,9 @@ import json
|
||||||
from typing import Any
|
from typing import Any
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
|
from matter_server.client.models.node import MatterNode
|
||||||
from matter_server.common.helpers.util import dataclass_from_dict
|
from matter_server.common.helpers.util import dataclass_from_dict
|
||||||
from matter_server.common.models.events import EventType
|
from matter_server.common.models import EventType, MatterNodeData
|
||||||
from matter_server.common.models.node import MatterNode
|
|
||||||
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
|
@ -33,9 +33,11 @@ async def setup_integration_with_node_fixture(
|
||||||
) -> MatterNode:
|
) -> MatterNode:
|
||||||
"""Set up Matter integration with fixture as node."""
|
"""Set up Matter integration with fixture as node."""
|
||||||
node_data = load_and_parse_node_fixture(node_fixture)
|
node_data = load_and_parse_node_fixture(node_fixture)
|
||||||
node = dataclass_from_dict(
|
node = MatterNode(
|
||||||
MatterNode,
|
dataclass_from_dict(
|
||||||
node_data,
|
MatterNodeData,
|
||||||
|
node_data,
|
||||||
|
)
|
||||||
)
|
)
|
||||||
client.get_nodes.return_value = [node]
|
client.get_nodes.return_value = [node]
|
||||||
client.get_node.return_value = node
|
client.get_node.return_value = node
|
||||||
|
@ -58,8 +60,8 @@ def set_node_attribute(
|
||||||
value: Any,
|
value: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Set a node attribute."""
|
"""Set a node attribute."""
|
||||||
attribute = node.attributes[f"{endpoint}/{cluster_id}/{attribute_id}"]
|
attribute_path = f"{endpoint}/{cluster_id}/{attribute_id}"
|
||||||
attribute.value = value
|
node.endpoints[endpoint].set_attribute_value(attribute_path, value)
|
||||||
|
|
||||||
|
|
||||||
async def trigger_subscription_callback(
|
async def trigger_subscription_callback(
|
||||||
|
@ -69,6 +71,6 @@ async def trigger_subscription_callback(
|
||||||
data: Any = None,
|
data: Any = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Trigger a subscription callback."""
|
"""Trigger a subscription callback."""
|
||||||
callback = client.subscribe.call_args[0][0]
|
callback = client.subscribe.call_args.kwargs["callback"]
|
||||||
callback(event, data)
|
callback(event, data)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
|
@ -6,7 +6,7 @@ from collections.abc import AsyncGenerator, Generator
|
||||||
from unittest.mock import AsyncMock, MagicMock, patch
|
from unittest.mock import AsyncMock, MagicMock, patch
|
||||||
|
|
||||||
from matter_server.common.const import SCHEMA_VERSION
|
from matter_server.common.const import SCHEMA_VERSION
|
||||||
from matter_server.common.models.server_information import ServerInfo
|
from matter_server.common.models import ServerInfoMessage
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
@ -39,7 +39,7 @@ async def matter_client_fixture() -> AsyncGenerator[MagicMock, None]:
|
||||||
|
|
||||||
client.connect = AsyncMock(side_effect=connect)
|
client.connect = AsyncMock(side_effect=connect)
|
||||||
client.start_listening = AsyncMock(side_effect=listen)
|
client.start_listening = AsyncMock(side_effect=listen)
|
||||||
client.server_info = ServerInfo(
|
client.server_info = ServerInfoMessage(
|
||||||
fabric_id=MOCK_FABRIC_ID,
|
fabric_id=MOCK_FABRIC_ID,
|
||||||
compressed_fabric_id=MOCK_COMPR_FABRIC_ID,
|
compressed_fabric_id=MOCK_COMPR_FABRIC_ID,
|
||||||
schema_version=1,
|
schema_version=1,
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -2,655 +2,88 @@
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
"date_commissioned": "2022-11-29T21:23:48.485051",
|
"date_commissioned": "2022-11-29T21:23:48.485051",
|
||||||
"last_interview": "2022-11-29T21:23:48.485057",
|
"last_interview": "2022-11-29T21:23:48.485057",
|
||||||
"interview_version": 1,
|
"interview_version": 2,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"0/29/0": {
|
"0/29/0": [
|
||||||
"node_id": 1,
|
{
|
||||||
"endpoint": 0,
|
"type": 22,
|
||||||
"cluster_id": 29,
|
"revision": 1
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 22,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [
|
|
||||||
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62,
|
|
||||||
63, 64, 65
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": [41]
|
|
||||||
},
|
|
||||||
"0/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [1]
|
|
||||||
},
|
|
||||||
"0/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"0/40/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.DataModelRevision",
|
|
||||||
"attribute_name": "DataModelRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorName",
|
|
||||||
"attribute_name": "VendorName",
|
|
||||||
"value": "Nabu Casa"
|
|
||||||
},
|
|
||||||
"0/40/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorID",
|
|
||||||
"attribute_name": "VendorID",
|
|
||||||
"value": 65521
|
|
||||||
},
|
|
||||||
"0/40/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductName",
|
|
||||||
"attribute_name": "ProductName",
|
|
||||||
"value": "Mock ContactSensor"
|
|
||||||
},
|
|
||||||
"0/40/4": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 4,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductID",
|
|
||||||
"attribute_name": "ProductID",
|
|
||||||
"value": 32768
|
|
||||||
},
|
|
||||||
"0/40/5": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 5,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.NodeLabel",
|
|
||||||
"attribute_name": "NodeLabel",
|
|
||||||
"value": "Mock Contact sensor"
|
|
||||||
},
|
|
||||||
"0/40/6": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 6,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Location",
|
|
||||||
"attribute_name": "Location",
|
|
||||||
"value": "XX"
|
|
||||||
},
|
|
||||||
"0/40/7": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 7,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersion",
|
|
||||||
"attribute_name": "HardwareVersion",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/40/8": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 8,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersionString",
|
|
||||||
"attribute_name": "HardwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/9": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 9,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersion",
|
|
||||||
"attribute_name": "SoftwareVersion",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/10": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 10,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersionString",
|
|
||||||
"attribute_name": "SoftwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/11": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 11,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ManufacturingDate",
|
|
||||||
"attribute_name": "ManufacturingDate",
|
|
||||||
"value": "20221206"
|
|
||||||
},
|
|
||||||
"0/40/12": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 12,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.PartNumber",
|
|
||||||
"attribute_name": "PartNumber",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/13": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 13,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductURL",
|
|
||||||
"attribute_name": "ProductURL",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/14": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 14,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductLabel",
|
|
||||||
"attribute_name": "ProductLabel",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/15": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 15,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SerialNumber",
|
|
||||||
"attribute_name": "SerialNumber",
|
|
||||||
"value": "TEST_SN"
|
|
||||||
},
|
|
||||||
"0/40/16": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 16,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.LocalConfigDisabled",
|
|
||||||
"attribute_name": "LocalConfigDisabled",
|
|
||||||
"value": false
|
|
||||||
},
|
|
||||||
"0/40/17": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 17,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Reachable",
|
|
||||||
"attribute_name": "Reachable",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"0/40/18": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 18,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.UniqueID",
|
|
||||||
"attribute_name": "UniqueID",
|
|
||||||
"value": "mock-contact-sensor"
|
|
||||||
},
|
|
||||||
"0/40/19": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 19,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.CapabilityMinima",
|
|
||||||
"attribute_name": "CapabilityMinima",
|
|
||||||
"value": {
|
|
||||||
"caseSessionsPerFabric": 3,
|
|
||||||
"subscriptionsPerFabric": 3
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"0/29/1": [
|
||||||
|
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62, 63,
|
||||||
|
64, 65
|
||||||
|
],
|
||||||
|
"0/29/2": [41],
|
||||||
|
"0/29/3": [1],
|
||||||
|
"0/29/65532": 0,
|
||||||
|
"0/29/65533": 1,
|
||||||
|
"0/29/65528": [],
|
||||||
|
"0/29/65529": [],
|
||||||
|
"0/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
|
"0/40/0": 1,
|
||||||
|
"0/40/1": "Nabu Casa",
|
||||||
|
"0/40/2": 65521,
|
||||||
|
"0/40/3": "Mock ContactSensor",
|
||||||
|
"0/40/4": 32768,
|
||||||
|
"0/40/5": "Mock Contact sensor",
|
||||||
|
"0/40/6": "XX",
|
||||||
|
"0/40/7": 0,
|
||||||
|
"0/40/8": "v1.0",
|
||||||
|
"0/40/9": 1,
|
||||||
|
"0/40/10": "v1.0",
|
||||||
|
"0/40/11": "20221206",
|
||||||
|
"0/40/12": "",
|
||||||
|
"0/40/13": "",
|
||||||
|
"0/40/14": "",
|
||||||
|
"0/40/15": "TEST_SN",
|
||||||
|
"0/40/16": false,
|
||||||
|
"0/40/17": true,
|
||||||
|
"0/40/18": "mock-contact-sensor",
|
||||||
|
"0/40/19": {
|
||||||
|
"caseSessionsPerFabric": 3,
|
||||||
|
"subscriptionsPerFabric": 3
|
||||||
},
|
},
|
||||||
"0/40/65532": {
|
"0/40/65532": 0,
|
||||||
"node_id": 1,
|
"0/40/65533": 1,
|
||||||
"endpoint": 0,
|
"0/40/65528": [],
|
||||||
"cluster_id": 40,
|
"0/40/65529": [],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"0/40/65531": [
|
||||||
"cluster_name": "Basic",
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||||
"attribute_id": 65532,
|
65528, 65529, 65531, 65532, 65533
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.FeatureMap",
|
],
|
||||||
"attribute_name": "FeatureMap",
|
"1/3/0": 0,
|
||||||
"value": 0
|
"1/3/1": 2,
|
||||||
},
|
"1/3/65532": 0,
|
||||||
"0/40/65533": {
|
"1/3/65533": 4,
|
||||||
"node_id": 1,
|
"1/3/65528": [],
|
||||||
"endpoint": 0,
|
"1/3/65529": [0, 64],
|
||||||
"cluster_id": 40,
|
"1/3/65531": [0, 1, 65528, 65529, 65531, 65532, 65533],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/29/0": [
|
||||||
"cluster_name": "Basic",
|
{
|
||||||
"attribute_id": 65533,
|
"type": 21,
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ClusterRevision",
|
"revision": 1
|
||||||
"attribute_name": "ClusterRevision",
|
}
|
||||||
"value": 1
|
],
|
||||||
},
|
"1/29/1": [
|
||||||
"0/40/65528": {
|
3, 4, 5, 6, 7, 8, 15, 29, 30, 37, 47, 59, 64, 65, 69, 80, 257, 258, 259,
|
||||||
"node_id": 1,
|
512, 513, 514, 516, 768, 1024, 1026, 1027, 1028, 1029, 1030, 1283, 1284,
|
||||||
"endpoint": 0,
|
1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 2820,
|
||||||
"cluster_id": 40,
|
4294048773
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
],
|
||||||
"cluster_name": "Basic",
|
"1/29/2": [],
|
||||||
"attribute_id": 65528,
|
"1/29/3": [],
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.GeneratedCommandList",
|
"1/29/65532": 0,
|
||||||
"attribute_name": "GeneratedCommandList",
|
"1/29/65533": 1,
|
||||||
"value": []
|
"1/29/65528": [],
|
||||||
},
|
"1/29/65529": [],
|
||||||
"0/40/65529": {
|
"1/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
"node_id": 1,
|
"1/69/0": true,
|
||||||
"endpoint": 0,
|
"1/69/65532": 0,
|
||||||
"cluster_id": 40,
|
"1/69/65533": 1,
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/69/65528": [],
|
||||||
"cluster_name": "Basic",
|
"1/69/65529": [],
|
||||||
"attribute_id": 65529,
|
"1/69/65531": [0, 65528, 65529, 65531, 65532, 65533]
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/40/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [
|
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
|
||||||
65528, 65529, 65531, 65532, 65533
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/3/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.IdentifyTime",
|
|
||||||
"attribute_name": "IdentifyTime",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/3/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.IdentifyType",
|
|
||||||
"attribute_name": "IdentifyType",
|
|
||||||
"value": 2
|
|
||||||
},
|
|
||||||
"1/3/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/3/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 4
|
|
||||||
},
|
|
||||||
"1/3/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/3/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": [0, 64]
|
|
||||||
},
|
|
||||||
"1/3/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/29/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 21,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"1/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [
|
|
||||||
3, 4, 5, 6, 7, 8, 15, 29, 30, 37, 47, 59, 64, 65, 69, 80, 257, 258, 259,
|
|
||||||
512, 513, 514, 516, 768, 1024, 1026, 1027, 1028, 1029, 1030, 1283, 1284,
|
|
||||||
1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 2820,
|
|
||||||
4294048773
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"1/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"1/69/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 69,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BooleanState",
|
|
||||||
"cluster_name": "BooleanState",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BooleanState.Attributes.StateValue",
|
|
||||||
"attribute_name": "StateValue",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"1/69/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 69,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BooleanState",
|
|
||||||
"cluster_name": "BooleanState",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BooleanState.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/69/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 69,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BooleanState",
|
|
||||||
"cluster_name": "BooleanState",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BooleanState.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/69/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 69,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BooleanState",
|
|
||||||
"cluster_name": "BooleanState",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BooleanState.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/69/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 69,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BooleanState",
|
|
||||||
"cluster_name": "BooleanState",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BooleanState.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/69/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 69,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BooleanState",
|
|
||||||
"cluster_name": "BooleanState",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BooleanState.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"endpoints": [0, 1],
|
"available": true
|
||||||
"root_device_type_instance": null,
|
|
||||||
"aggregator_device_type_instance": null,
|
|
||||||
"device_type_instances": [null],
|
|
||||||
"node_devices": [null],
|
|
||||||
"_type": "matter_server.common.models.node.MatterNode"
|
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -2,624 +2,81 @@
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
"date_commissioned": "2022-11-29T21:23:48.485051",
|
"date_commissioned": "2022-11-29T21:23:48.485051",
|
||||||
"last_interview": "2022-11-29T21:23:48.485057",
|
"last_interview": "2022-11-29T21:23:48.485057",
|
||||||
"interview_version": 1,
|
"interview_version": 2,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"0/29/0": {
|
"0/29/0": [
|
||||||
"node_id": 1,
|
{
|
||||||
"endpoint": 0,
|
"type": 22,
|
||||||
"cluster_id": 29,
|
"revision": 1
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 22,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [
|
|
||||||
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62,
|
|
||||||
63, 64, 65
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": [41]
|
|
||||||
},
|
|
||||||
"0/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [1]
|
|
||||||
},
|
|
||||||
"0/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"0/40/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.DataModelRevision",
|
|
||||||
"attribute_name": "DataModelRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorName",
|
|
||||||
"attribute_name": "VendorName",
|
|
||||||
"value": "Nabu Casa"
|
|
||||||
},
|
|
||||||
"0/40/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorID",
|
|
||||||
"attribute_name": "VendorID",
|
|
||||||
"value": 65521
|
|
||||||
},
|
|
||||||
"0/40/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductName",
|
|
||||||
"attribute_name": "ProductName",
|
|
||||||
"value": "Mock FlowSensor"
|
|
||||||
},
|
|
||||||
"0/40/4": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 4,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductID",
|
|
||||||
"attribute_name": "ProductID",
|
|
||||||
"value": 32768
|
|
||||||
},
|
|
||||||
"0/40/5": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 5,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.NodeLabel",
|
|
||||||
"attribute_name": "NodeLabel",
|
|
||||||
"value": "Mock Flow Sensor"
|
|
||||||
},
|
|
||||||
"0/40/6": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 6,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Location",
|
|
||||||
"attribute_name": "Location",
|
|
||||||
"value": "XX"
|
|
||||||
},
|
|
||||||
"0/40/7": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 7,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersion",
|
|
||||||
"attribute_name": "HardwareVersion",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/40/8": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 8,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersionString",
|
|
||||||
"attribute_name": "HardwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/9": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 9,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersion",
|
|
||||||
"attribute_name": "SoftwareVersion",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/10": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 10,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersionString",
|
|
||||||
"attribute_name": "SoftwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/11": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 11,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ManufacturingDate",
|
|
||||||
"attribute_name": "ManufacturingDate",
|
|
||||||
"value": "20221206"
|
|
||||||
},
|
|
||||||
"0/40/12": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 12,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.PartNumber",
|
|
||||||
"attribute_name": "PartNumber",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/13": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 13,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductURL",
|
|
||||||
"attribute_name": "ProductURL",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/14": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 14,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductLabel",
|
|
||||||
"attribute_name": "ProductLabel",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/15": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 15,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SerialNumber",
|
|
||||||
"attribute_name": "SerialNumber",
|
|
||||||
"value": "TEST_SN"
|
|
||||||
},
|
|
||||||
"0/40/16": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 16,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.LocalConfigDisabled",
|
|
||||||
"attribute_name": "LocalConfigDisabled",
|
|
||||||
"value": false
|
|
||||||
},
|
|
||||||
"0/40/17": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 17,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Reachable",
|
|
||||||
"attribute_name": "Reachable",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"0/40/18": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 18,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.UniqueID",
|
|
||||||
"attribute_name": "UniqueID",
|
|
||||||
"value": "mock-flow-sensor"
|
|
||||||
},
|
|
||||||
"0/40/19": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 19,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.CapabilityMinima",
|
|
||||||
"attribute_name": "CapabilityMinima",
|
|
||||||
"value": {
|
|
||||||
"caseSessionsPerFabric": 3,
|
|
||||||
"subscriptionsPerFabric": 3
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"0/29/1": [
|
||||||
|
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62, 63,
|
||||||
|
64, 65
|
||||||
|
],
|
||||||
|
"0/29/2": [41],
|
||||||
|
"0/29/3": [1],
|
||||||
|
"0/29/65532": 0,
|
||||||
|
"0/29/65533": 1,
|
||||||
|
"0/29/65528": [],
|
||||||
|
"0/29/65529": [],
|
||||||
|
"0/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
|
"0/40/0": 1,
|
||||||
|
"0/40/1": "Nabu Casa",
|
||||||
|
"0/40/2": 65521,
|
||||||
|
"0/40/3": "Mock FlowSensor",
|
||||||
|
"0/40/4": 32768,
|
||||||
|
"0/40/5": "Mock Flow Sensor",
|
||||||
|
"0/40/6": "XX",
|
||||||
|
"0/40/7": 0,
|
||||||
|
"0/40/8": "v1.0",
|
||||||
|
"0/40/9": 1,
|
||||||
|
"0/40/10": "v1.0",
|
||||||
|
"0/40/11": "20221206",
|
||||||
|
"0/40/12": "",
|
||||||
|
"0/40/13": "",
|
||||||
|
"0/40/14": "",
|
||||||
|
"0/40/15": "TEST_SN",
|
||||||
|
"0/40/16": false,
|
||||||
|
"0/40/17": true,
|
||||||
|
"0/40/18": "mock-flow-sensor",
|
||||||
|
"0/40/19": {
|
||||||
|
"caseSessionsPerFabric": 3,
|
||||||
|
"subscriptionsPerFabric": 3
|
||||||
},
|
},
|
||||||
"0/40/65532": {
|
"0/40/65532": 0,
|
||||||
"node_id": 1,
|
"0/40/65533": 1,
|
||||||
"endpoint": 0,
|
"0/40/65528": [],
|
||||||
"cluster_id": 40,
|
"0/40/65529": [],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"0/40/65531": [
|
||||||
"cluster_name": "Basic",
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||||
"attribute_id": 65532,
|
65528, 65529, 65531, 65532, 65533
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.FeatureMap",
|
],
|
||||||
"attribute_name": "FeatureMap",
|
"1/3/65529": [0, 64],
|
||||||
"value": 0
|
"1/3/65531": [0, 1, 65528, 65529, 65531, 65532, 65533],
|
||||||
},
|
"1/29/0": [
|
||||||
"0/40/65533": {
|
{
|
||||||
"node_id": 1,
|
"type": 774,
|
||||||
"endpoint": 0,
|
"revision": 1
|
||||||
"cluster_id": 40,
|
}
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
],
|
||||||
"cluster_name": "Basic",
|
"1/29/1": [6, 29, 57, 768, 8, 40],
|
||||||
"attribute_id": 65533,
|
"1/29/2": [],
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ClusterRevision",
|
"1/29/3": [9, 10],
|
||||||
"attribute_name": "ClusterRevision",
|
"1/29/65532": null,
|
||||||
"value": 1
|
"1/29/65533": 1,
|
||||||
},
|
"1/29/65528": [],
|
||||||
"0/40/65528": {
|
"1/29/65529": [],
|
||||||
"node_id": 1,
|
"1/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
"endpoint": 0,
|
"1/1028/0": 0,
|
||||||
"cluster_id": 40,
|
"1/1028/1": 0,
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/1028/2": 0,
|
||||||
"cluster_name": "Basic",
|
"1/1028/3": 0,
|
||||||
"attribute_id": 65528,
|
"1/1028/65532": 0,
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.GeneratedCommandList",
|
"1/1028/65533": 3,
|
||||||
"attribute_name": "GeneratedCommandList",
|
"1/1028/65528": [],
|
||||||
"value": []
|
"1/1028/65529": [],
|
||||||
},
|
"1/1028/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
||||||
"0/40/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/40/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [
|
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
|
||||||
65528, 65529, 65531, 65532, 65533
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/3/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": [0, 64]
|
|
||||||
},
|
|
||||||
"1/3/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/29/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 774,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"1/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [6, 29, 57, 768, 8, 40]
|
|
||||||
},
|
|
||||||
"1/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [9, 10]
|
|
||||||
},
|
|
||||||
"1/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": null
|
|
||||||
},
|
|
||||||
"1/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"1/1028/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1028,
|
|
||||||
"cluster_type": "chip.clusters.Objects.FlowMeasurement",
|
|
||||||
"cluster_name": "FlowMeasurement",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.FlowMeasurement.Attributes.MeasuredValue",
|
|
||||||
"attribute_name": "MeasuredValue",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1028/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1028,
|
|
||||||
"cluster_type": "chip.clusters.Objects.FlowMeasurement",
|
|
||||||
"cluster_name": "FlowMeasurement",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.FlowMeasurement.Attributes.MinMeasuredValue",
|
|
||||||
"attribute_name": "MinMeasuredValue",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1028/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1028,
|
|
||||||
"cluster_type": "chip.clusters.Objects.FlowMeasurement",
|
|
||||||
"cluster_name": "FlowMeasurement",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.FlowMeasurement.Attributes.MaxMeasuredValue",
|
|
||||||
"attribute_name": "MaxMeasuredValue",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1028/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1028,
|
|
||||||
"cluster_type": "chip.clusters.Objects.FlowMeasurement",
|
|
||||||
"cluster_name": "FlowMeasurement",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.FlowMeasurement.Attributes.Tolerance",
|
|
||||||
"attribute_name": "Tolerance",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1028/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1028,
|
|
||||||
"cluster_type": "chip.clusters.Objects.FlowMeasurement",
|
|
||||||
"cluster_name": "FlowMeasurement",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.FlowMeasurement.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1028/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1028,
|
|
||||||
"cluster_type": "chip.clusters.Objects.FlowMeasurement",
|
|
||||||
"cluster_name": "FlowMeasurement",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.FlowMeasurement.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 3
|
|
||||||
},
|
|
||||||
"1/1028/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1028,
|
|
||||||
"cluster_type": "chip.clusters.Objects.FlowMeasurement",
|
|
||||||
"cluster_name": "FlowMeasurement",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.FlowMeasurement.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1028/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1028,
|
|
||||||
"cluster_type": "chip.clusters.Objects.FlowMeasurement",
|
|
||||||
"cluster_name": "FlowMeasurement",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.FlowMeasurement.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1028/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1028,
|
|
||||||
"cluster_type": "chip.clusters.Objects.FlowMeasurement",
|
|
||||||
"cluster_name": "FlowMeasurement",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.FlowMeasurement.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"endpoints": [0, 1],
|
"available": true
|
||||||
"_type": "matter_server.common.models.node.MatterNode"
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,613 +2,80 @@
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
"date_commissioned": "2022-11-29T21:23:48.485051",
|
"date_commissioned": "2022-11-29T21:23:48.485051",
|
||||||
"last_interview": "2022-11-29T21:23:48.485057",
|
"last_interview": "2022-11-29T21:23:48.485057",
|
||||||
"interview_version": 1,
|
"interview_version": 2,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"0/29/0": {
|
"0/29/0": [
|
||||||
"node_id": 1,
|
{
|
||||||
"endpoint": 0,
|
"type": 22,
|
||||||
"cluster_id": 29,
|
"revision": 1
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 22,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [
|
|
||||||
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62,
|
|
||||||
63, 64, 65
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": [41]
|
|
||||||
},
|
|
||||||
"0/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [1]
|
|
||||||
},
|
|
||||||
"0/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"0/40/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.DataModelRevision",
|
|
||||||
"attribute_name": "DataModelRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorName",
|
|
||||||
"attribute_name": "VendorName",
|
|
||||||
"value": "Nabu Casa"
|
|
||||||
},
|
|
||||||
"0/40/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorID",
|
|
||||||
"attribute_name": "VendorID",
|
|
||||||
"value": 65521
|
|
||||||
},
|
|
||||||
"0/40/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductName",
|
|
||||||
"attribute_name": "ProductName",
|
|
||||||
"value": "Mock HumiditySensor"
|
|
||||||
},
|
|
||||||
"0/40/4": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 4,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductID",
|
|
||||||
"attribute_name": "ProductID",
|
|
||||||
"value": 32768
|
|
||||||
},
|
|
||||||
"0/40/5": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 5,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.NodeLabel",
|
|
||||||
"attribute_name": "NodeLabel",
|
|
||||||
"value": "Mock Humidity Sensor"
|
|
||||||
},
|
|
||||||
"0/40/6": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 6,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Location",
|
|
||||||
"attribute_name": "Location",
|
|
||||||
"value": "XX"
|
|
||||||
},
|
|
||||||
"0/40/7": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 7,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersion",
|
|
||||||
"attribute_name": "HardwareVersion",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/40/8": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 8,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersionString",
|
|
||||||
"attribute_name": "HardwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/9": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 9,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersion",
|
|
||||||
"attribute_name": "SoftwareVersion",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/10": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 10,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersionString",
|
|
||||||
"attribute_name": "SoftwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/11": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 11,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ManufacturingDate",
|
|
||||||
"attribute_name": "ManufacturingDate",
|
|
||||||
"value": "20221206"
|
|
||||||
},
|
|
||||||
"0/40/12": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 12,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.PartNumber",
|
|
||||||
"attribute_name": "PartNumber",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/13": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 13,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductURL",
|
|
||||||
"attribute_name": "ProductURL",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/14": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 14,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductLabel",
|
|
||||||
"attribute_name": "ProductLabel",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/15": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 15,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SerialNumber",
|
|
||||||
"attribute_name": "SerialNumber",
|
|
||||||
"value": "TEST_SN"
|
|
||||||
},
|
|
||||||
"0/40/16": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 16,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.LocalConfigDisabled",
|
|
||||||
"attribute_name": "LocalConfigDisabled",
|
|
||||||
"value": false
|
|
||||||
},
|
|
||||||
"0/40/17": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 17,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Reachable",
|
|
||||||
"attribute_name": "Reachable",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"0/40/18": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 18,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.UniqueID",
|
|
||||||
"attribute_name": "UniqueID",
|
|
||||||
"value": "mock-humidity-sensor"
|
|
||||||
},
|
|
||||||
"0/40/19": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 19,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.CapabilityMinima",
|
|
||||||
"attribute_name": "CapabilityMinima",
|
|
||||||
"value": {
|
|
||||||
"caseSessionsPerFabric": 3,
|
|
||||||
"subscriptionsPerFabric": 3
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"0/29/1": [
|
||||||
|
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62, 63,
|
||||||
|
64, 65
|
||||||
|
],
|
||||||
|
"0/29/2": [41],
|
||||||
|
"0/29/3": [1],
|
||||||
|
"0/29/65532": 0,
|
||||||
|
"0/29/65533": 1,
|
||||||
|
"0/29/65528": [],
|
||||||
|
"0/29/65529": [],
|
||||||
|
"0/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
|
"0/40/0": 1,
|
||||||
|
"0/40/1": "Nabu Casa",
|
||||||
|
"0/40/2": 65521,
|
||||||
|
"0/40/3": "Mock HumiditySensor",
|
||||||
|
"0/40/4": 32768,
|
||||||
|
"0/40/5": "Mock Humidity Sensor",
|
||||||
|
"0/40/6": "XX",
|
||||||
|
"0/40/7": 0,
|
||||||
|
"0/40/8": "v1.0",
|
||||||
|
"0/40/9": 1,
|
||||||
|
"0/40/10": "v1.0",
|
||||||
|
"0/40/11": "20221206",
|
||||||
|
"0/40/12": "",
|
||||||
|
"0/40/13": "",
|
||||||
|
"0/40/14": "",
|
||||||
|
"0/40/15": "TEST_SN",
|
||||||
|
"0/40/16": false,
|
||||||
|
"0/40/17": true,
|
||||||
|
"0/40/18": "mock-humidity-sensor",
|
||||||
|
"0/40/19": {
|
||||||
|
"caseSessionsPerFabric": 3,
|
||||||
|
"subscriptionsPerFabric": 3
|
||||||
},
|
},
|
||||||
"0/40/65532": {
|
"0/40/65532": 0,
|
||||||
"node_id": 1,
|
"0/40/65533": 1,
|
||||||
"endpoint": 0,
|
"0/40/65528": [],
|
||||||
"cluster_id": 40,
|
"0/40/65529": [],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"0/40/65531": [
|
||||||
"cluster_name": "Basic",
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||||
"attribute_id": 65532,
|
65528, 65529, 65531, 65532, 65533
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.FeatureMap",
|
],
|
||||||
"attribute_name": "FeatureMap",
|
"1/3/65529": [0, 64],
|
||||||
"value": 0
|
"1/3/65531": [0, 1, 65528, 65529, 65531, 65532, 65533],
|
||||||
},
|
"1/29/0": [
|
||||||
"0/40/65533": {
|
{
|
||||||
"node_id": 1,
|
"type": 775,
|
||||||
"endpoint": 0,
|
"revision": 1
|
||||||
"cluster_id": 40,
|
}
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
],
|
||||||
"cluster_name": "Basic",
|
"1/29/1": [6, 29, 57, 768, 8, 40],
|
||||||
"attribute_id": 65533,
|
"1/29/2": [],
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ClusterRevision",
|
"1/29/3": [9, 10],
|
||||||
"attribute_name": "ClusterRevision",
|
"1/29/65532": null,
|
||||||
"value": 1
|
"1/29/65533": 1,
|
||||||
},
|
"1/29/65528": [],
|
||||||
"0/40/65528": {
|
"1/29/65529": [],
|
||||||
"node_id": 1,
|
"1/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
"endpoint": 0,
|
"1/1029/0": 0,
|
||||||
"cluster_id": 40,
|
"1/1029/1": 0,
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/1029/2": 10000,
|
||||||
"cluster_name": "Basic",
|
"1/1029/65532": 0,
|
||||||
"attribute_id": 65528,
|
"1/1029/65533": 3,
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.GeneratedCommandList",
|
"1/1029/65528": [],
|
||||||
"attribute_name": "GeneratedCommandList",
|
"1/1029/65529": [],
|
||||||
"value": []
|
"1/1029/65531": [0, 1, 2, 65528, 65529, 65531, 65532, 65533]
|
||||||
},
|
|
||||||
"0/40/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/40/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [
|
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
|
||||||
65528, 65529, 65531, 65532, 65533
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/3/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": [0, 64]
|
|
||||||
},
|
|
||||||
"1/3/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/29/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 775,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"1/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [6, 29, 57, 768, 8, 40]
|
|
||||||
},
|
|
||||||
"1/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [9, 10]
|
|
||||||
},
|
|
||||||
"1/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": null
|
|
||||||
},
|
|
||||||
"1/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"1/1029/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1029,
|
|
||||||
"cluster_type": "chip.clusters.Objects.RelativeHumidityMeasurement",
|
|
||||||
"cluster_name": "RelativeHumidityMeasurement",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.RelativeHumidityMeasurement.Attributes.MeasuredValue",
|
|
||||||
"attribute_name": "MeasuredValue",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1029/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1029,
|
|
||||||
"cluster_type": "chip.clusters.Objects.RelativeHumidityMeasurement",
|
|
||||||
"cluster_name": "RelativeHumidityMeasurement",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.RelativeHumidityMeasurement.Attributes.MinMeasuredValue",
|
|
||||||
"attribute_name": "MinMeasuredValue",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1029/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1029,
|
|
||||||
"cluster_type": "chip.clusters.Objects.RelativeHumidityMeasurement",
|
|
||||||
"cluster_name": "RelativeHumidityMeasurement",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.RelativeHumidityMeasurement.Attributes.MaxMeasuredValue",
|
|
||||||
"attribute_name": "MaxMeasuredValue",
|
|
||||||
"value": 10000
|
|
||||||
},
|
|
||||||
"1/1029/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1029,
|
|
||||||
"cluster_type": "chip.clusters.Objects.RelativeHumidityMeasurement",
|
|
||||||
"cluster_name": "RelativeHumidityMeasurement",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.RelativeHumidityMeasurement.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1029/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1029,
|
|
||||||
"cluster_type": "chip.clusters.Objects.RelativeHumidityMeasurement",
|
|
||||||
"cluster_name": "RelativeHumidityMeasurement",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.RelativeHumidityMeasurement.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 3
|
|
||||||
},
|
|
||||||
"1/1029/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1029,
|
|
||||||
"cluster_type": "chip.clusters.Objects.RelativeHumidityMeasurement",
|
|
||||||
"cluster_name": "RelativeHumidityMeasurement",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.RelativeHumidityMeasurement.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1029/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1029,
|
|
||||||
"cluster_type": "chip.clusters.Objects.RelativeHumidityMeasurement",
|
|
||||||
"cluster_name": "RelativeHumidityMeasurement",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.RelativeHumidityMeasurement.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1029/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1029,
|
|
||||||
"cluster_type": "chip.clusters.Objects.RelativeHumidityMeasurement",
|
|
||||||
"cluster_name": "RelativeHumidityMeasurement",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.RelativeHumidityMeasurement.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"endpoints": [0, 1],
|
"available": true
|
||||||
"_type": "matter_server.common.models.node.MatterNode"
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,701 +2,88 @@
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
"date_commissioned": "2022-11-29T21:23:48.485051",
|
"date_commissioned": "2022-11-29T21:23:48.485051",
|
||||||
"last_interview": "2022-11-29T21:23:48.485057",
|
"last_interview": "2022-11-29T21:23:48.485057",
|
||||||
"interview_version": 1,
|
"interview_version": 2,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"0/29/0": {
|
"0/29/0": [
|
||||||
"node_id": 1,
|
{
|
||||||
"endpoint": 0,
|
"type": 22,
|
||||||
"cluster_id": 29,
|
"revision": 1
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 22,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [
|
|
||||||
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62,
|
|
||||||
63, 64, 65
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": [41]
|
|
||||||
},
|
|
||||||
"0/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [1]
|
|
||||||
},
|
|
||||||
"0/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"0/40/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.DataModelRevision",
|
|
||||||
"attribute_name": "DataModelRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorName",
|
|
||||||
"attribute_name": "VendorName",
|
|
||||||
"value": "Nabu Casa"
|
|
||||||
},
|
|
||||||
"0/40/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorID",
|
|
||||||
"attribute_name": "VendorID",
|
|
||||||
"value": 65521
|
|
||||||
},
|
|
||||||
"0/40/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductName",
|
|
||||||
"attribute_name": "ProductName",
|
|
||||||
"value": "Mock LightSensor"
|
|
||||||
},
|
|
||||||
"0/40/4": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 4,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductID",
|
|
||||||
"attribute_name": "ProductID",
|
|
||||||
"value": 32768
|
|
||||||
},
|
|
||||||
"0/40/5": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 5,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.NodeLabel",
|
|
||||||
"attribute_name": "NodeLabel",
|
|
||||||
"value": "Mock Light Sensor"
|
|
||||||
},
|
|
||||||
"0/40/6": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 6,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Location",
|
|
||||||
"attribute_name": "Location",
|
|
||||||
"value": "XX"
|
|
||||||
},
|
|
||||||
"0/40/7": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 7,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersion",
|
|
||||||
"attribute_name": "HardwareVersion",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/40/8": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 8,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersionString",
|
|
||||||
"attribute_name": "HardwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/9": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 9,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersion",
|
|
||||||
"attribute_name": "SoftwareVersion",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/10": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 10,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersionString",
|
|
||||||
"attribute_name": "SoftwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/11": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 11,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ManufacturingDate",
|
|
||||||
"attribute_name": "ManufacturingDate",
|
|
||||||
"value": "20221206"
|
|
||||||
},
|
|
||||||
"0/40/12": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 12,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.PartNumber",
|
|
||||||
"attribute_name": "PartNumber",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/13": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 13,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductURL",
|
|
||||||
"attribute_name": "ProductURL",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/14": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 14,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductLabel",
|
|
||||||
"attribute_name": "ProductLabel",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/15": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 15,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SerialNumber",
|
|
||||||
"attribute_name": "SerialNumber",
|
|
||||||
"value": "TEST_SN"
|
|
||||||
},
|
|
||||||
"0/40/16": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 16,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.LocalConfigDisabled",
|
|
||||||
"attribute_name": "LocalConfigDisabled",
|
|
||||||
"value": false
|
|
||||||
},
|
|
||||||
"0/40/17": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 17,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Reachable",
|
|
||||||
"attribute_name": "Reachable",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"0/40/18": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 18,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.UniqueID",
|
|
||||||
"attribute_name": "UniqueID",
|
|
||||||
"value": "mock-light-sensor"
|
|
||||||
},
|
|
||||||
"0/40/19": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 19,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.CapabilityMinima",
|
|
||||||
"attribute_name": "CapabilityMinima",
|
|
||||||
"value": {
|
|
||||||
"caseSessionsPerFabric": 3,
|
|
||||||
"subscriptionsPerFabric": 3
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"0/29/1": [
|
||||||
|
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62, 63,
|
||||||
|
64, 65
|
||||||
|
],
|
||||||
|
"0/29/2": [41],
|
||||||
|
"0/29/3": [1],
|
||||||
|
"0/29/65532": 0,
|
||||||
|
"0/29/65533": 1,
|
||||||
|
"0/29/65528": [],
|
||||||
|
"0/29/65529": [],
|
||||||
|
"0/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
|
"0/40/0": 1,
|
||||||
|
"0/40/1": "Nabu Casa",
|
||||||
|
"0/40/2": 65521,
|
||||||
|
"0/40/3": "Mock LightSensor",
|
||||||
|
"0/40/4": 32768,
|
||||||
|
"0/40/5": "Mock Light Sensor",
|
||||||
|
"0/40/6": "XX",
|
||||||
|
"0/40/7": 0,
|
||||||
|
"0/40/8": "v1.0",
|
||||||
|
"0/40/9": 1,
|
||||||
|
"0/40/10": "v1.0",
|
||||||
|
"0/40/11": "20221206",
|
||||||
|
"0/40/12": "",
|
||||||
|
"0/40/13": "",
|
||||||
|
"0/40/14": "",
|
||||||
|
"0/40/15": "TEST_SN",
|
||||||
|
"0/40/16": false,
|
||||||
|
"0/40/17": true,
|
||||||
|
"0/40/18": "mock-light-sensor",
|
||||||
|
"0/40/19": {
|
||||||
|
"caseSessionsPerFabric": 3,
|
||||||
|
"subscriptionsPerFabric": 3
|
||||||
},
|
},
|
||||||
"0/40/65532": {
|
"0/40/65532": 0,
|
||||||
"node_id": 1,
|
"0/40/65533": 1,
|
||||||
"endpoint": 0,
|
"0/40/65528": [],
|
||||||
"cluster_id": 40,
|
"0/40/65529": [],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"0/40/65531": [
|
||||||
"cluster_name": "Basic",
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||||
"attribute_id": 65532,
|
65528, 65529, 65531, 65532, 65533
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.FeatureMap",
|
],
|
||||||
"attribute_name": "FeatureMap",
|
"1/3/65529": [0, 64],
|
||||||
"value": 0
|
"1/3/65531": [0, 1, 65528, 65529, 65531, 65532, 65533],
|
||||||
},
|
"1/29/0": [
|
||||||
"0/40/65533": {
|
{
|
||||||
"node_id": 1,
|
"type": 262,
|
||||||
"endpoint": 0,
|
"revision": 1
|
||||||
"cluster_id": 40,
|
}
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
],
|
||||||
"cluster_name": "Basic",
|
"1/29/1": [6, 29, 57, 768, 8, 40],
|
||||||
"attribute_id": 65533,
|
"1/29/2": [],
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ClusterRevision",
|
"1/29/3": [9, 10],
|
||||||
"attribute_name": "ClusterRevision",
|
"1/29/65532": null,
|
||||||
"value": 1
|
"1/29/65533": 1,
|
||||||
},
|
"1/29/65528": [],
|
||||||
"0/40/65528": {
|
"1/29/65529": [],
|
||||||
"node_id": 1,
|
"1/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
"endpoint": 0,
|
"1/30/0": [],
|
||||||
"cluster_id": 40,
|
"1/30/65532": 0,
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/30/65533": 1,
|
||||||
"cluster_name": "Basic",
|
"1/30/65528": [],
|
||||||
"attribute_id": 65528,
|
"1/30/65529": [],
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.GeneratedCommandList",
|
"1/30/65531": [0, 65528, 65529, 65531, 65532, 65533],
|
||||||
"attribute_name": "GeneratedCommandList",
|
"1/1024/0": 1000,
|
||||||
"value": []
|
"1/1024/1": 1,
|
||||||
},
|
"1/1024/2": 65534,
|
||||||
"0/40/65529": {
|
"1/1024/3": 0,
|
||||||
"node_id": 1,
|
"1/1024/4": null,
|
||||||
"endpoint": 0,
|
"1/1024/65532": 0,
|
||||||
"cluster_id": 40,
|
"1/1024/65533": 3,
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/1024/65528": [],
|
||||||
"cluster_name": "Basic",
|
"1/1024/65529": [],
|
||||||
"attribute_id": 65529,
|
"1/1024/65531": [0, 1, 2, 3, 4, 65528, 65529, 65531, 65532, 65533]
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/40/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [
|
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
|
||||||
65528, 65529, 65531, 65532, 65533
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/3/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": [0, 64]
|
|
||||||
},
|
|
||||||
"1/3/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/29/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 262,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"1/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [6, 29, 57, 768, 8, 40]
|
|
||||||
},
|
|
||||||
"1/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [9, 10]
|
|
||||||
},
|
|
||||||
"1/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": null
|
|
||||||
},
|
|
||||||
"1/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"1/30/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.Binding",
|
|
||||||
"attribute_name": "Binding",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/30/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/30/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/30/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/30/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/30/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"1/1024/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1024,
|
|
||||||
"cluster_type": "chip.clusters.Objects.IlluminanceMeasurement",
|
|
||||||
"cluster_name": "IlluminanceMeasurement",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.IlluminanceMeasurement.Attributes.MeasuredValue",
|
|
||||||
"attribute_name": "MeasuredValue",
|
|
||||||
"value": 1000
|
|
||||||
},
|
|
||||||
"1/1024/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1024,
|
|
||||||
"cluster_type": "chip.clusters.Objects.IlluminanceMeasurement",
|
|
||||||
"cluster_name": "IlluminanceMeasurement",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.IlluminanceMeasurement.Attributes.MinMeasuredValue",
|
|
||||||
"attribute_name": "MinMeasuredValue",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/1024/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1024,
|
|
||||||
"cluster_type": "chip.clusters.Objects.IlluminanceMeasurement",
|
|
||||||
"cluster_name": "IlluminanceMeasurement",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.IlluminanceMeasurement.Attributes.MaxMeasuredValue",
|
|
||||||
"attribute_name": "MaxMeasuredValue",
|
|
||||||
"value": 65534
|
|
||||||
},
|
|
||||||
"1/1024/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1024,
|
|
||||||
"cluster_type": "chip.clusters.Objects.IlluminanceMeasurement",
|
|
||||||
"cluster_name": "IlluminanceMeasurement",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.IlluminanceMeasurement.Attributes.Tolerance",
|
|
||||||
"attribute_name": "Tolerance",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1024/4": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1024,
|
|
||||||
"cluster_type": "chip.clusters.Objects.IlluminanceMeasurement",
|
|
||||||
"cluster_name": "IlluminanceMeasurement",
|
|
||||||
"attribute_id": 4,
|
|
||||||
"attribute_type": "chip.clusters.Objects.IlluminanceMeasurement.Attributes.LightSensorType",
|
|
||||||
"attribute_name": "LightSensorType",
|
|
||||||
"value": null
|
|
||||||
},
|
|
||||||
"1/1024/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1024,
|
|
||||||
"cluster_type": "chip.clusters.Objects.IlluminanceMeasurement",
|
|
||||||
"cluster_name": "IlluminanceMeasurement",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.IlluminanceMeasurement.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1024/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1024,
|
|
||||||
"cluster_type": "chip.clusters.Objects.IlluminanceMeasurement",
|
|
||||||
"cluster_name": "IlluminanceMeasurement",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.IlluminanceMeasurement.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 3
|
|
||||||
},
|
|
||||||
"1/1024/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1024,
|
|
||||||
"cluster_type": "chip.clusters.Objects.IlluminanceMeasurement",
|
|
||||||
"cluster_name": "IlluminanceMeasurement",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.IlluminanceMeasurement.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1024/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1024,
|
|
||||||
"cluster_type": "chip.clusters.Objects.IlluminanceMeasurement",
|
|
||||||
"cluster_name": "IlluminanceMeasurement",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.IlluminanceMeasurement.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1024/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1024,
|
|
||||||
"cluster_type": "chip.clusters.Objects.IlluminanceMeasurement",
|
|
||||||
"cluster_name": "IlluminanceMeasurement",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.IlluminanceMeasurement.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 4, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"endpoints": [0, 1],
|
"available": true
|
||||||
"_type": "matter_server.common.models.node.MatterNode"
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,739 +2,96 @@
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
"date_commissioned": "2022-11-29T21:23:48.485051",
|
"date_commissioned": "2022-11-29T21:23:48.485051",
|
||||||
"last_interview": "2022-11-29T21:23:48.485057",
|
"last_interview": "2022-11-29T21:23:48.485057",
|
||||||
"interview_version": 1,
|
"interview_version": 2,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"0/29/0": {
|
"0/29/0": [
|
||||||
"node_id": 1,
|
{
|
||||||
"endpoint": 0,
|
"type": 22,
|
||||||
"cluster_id": 29,
|
"revision": 1
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 22,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [
|
|
||||||
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62,
|
|
||||||
63, 64, 65
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": [41]
|
|
||||||
},
|
|
||||||
"0/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [1]
|
|
||||||
},
|
|
||||||
"0/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"0/40/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.DataModelRevision",
|
|
||||||
"attribute_name": "DataModelRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorName",
|
|
||||||
"attribute_name": "VendorName",
|
|
||||||
"value": "Nabu Casa"
|
|
||||||
},
|
|
||||||
"0/40/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorID",
|
|
||||||
"attribute_name": "VendorID",
|
|
||||||
"value": 65521
|
|
||||||
},
|
|
||||||
"0/40/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductName",
|
|
||||||
"attribute_name": "ProductName",
|
|
||||||
"value": "Mock OccupancySensor"
|
|
||||||
},
|
|
||||||
"0/40/4": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 4,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductID",
|
|
||||||
"attribute_name": "ProductID",
|
|
||||||
"value": 32768
|
|
||||||
},
|
|
||||||
"0/40/5": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 5,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.NodeLabel",
|
|
||||||
"attribute_name": "NodeLabel",
|
|
||||||
"value": "Mock Occupancy Sensor"
|
|
||||||
},
|
|
||||||
"0/40/6": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 6,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Location",
|
|
||||||
"attribute_name": "Location",
|
|
||||||
"value": "XX"
|
|
||||||
},
|
|
||||||
"0/40/7": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 7,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersion",
|
|
||||||
"attribute_name": "HardwareVersion",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/40/8": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 8,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersionString",
|
|
||||||
"attribute_name": "HardwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/9": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 9,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersion",
|
|
||||||
"attribute_name": "SoftwareVersion",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/10": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 10,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersionString",
|
|
||||||
"attribute_name": "SoftwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/11": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 11,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ManufacturingDate",
|
|
||||||
"attribute_name": "ManufacturingDate",
|
|
||||||
"value": "20221206"
|
|
||||||
},
|
|
||||||
"0/40/12": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 12,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.PartNumber",
|
|
||||||
"attribute_name": "PartNumber",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/13": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 13,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductURL",
|
|
||||||
"attribute_name": "ProductURL",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/14": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 14,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductLabel",
|
|
||||||
"attribute_name": "ProductLabel",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/15": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 15,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SerialNumber",
|
|
||||||
"attribute_name": "SerialNumber",
|
|
||||||
"value": "TEST_SN"
|
|
||||||
},
|
|
||||||
"0/40/16": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 16,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.LocalConfigDisabled",
|
|
||||||
"attribute_name": "LocalConfigDisabled",
|
|
||||||
"value": false
|
|
||||||
},
|
|
||||||
"0/40/17": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 17,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Reachable",
|
|
||||||
"attribute_name": "Reachable",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"0/40/18": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 18,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.UniqueID",
|
|
||||||
"attribute_name": "UniqueID",
|
|
||||||
"value": "mock-temperature-sensor"
|
|
||||||
},
|
|
||||||
"0/40/19": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 19,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.CapabilityMinima",
|
|
||||||
"attribute_name": "CapabilityMinima",
|
|
||||||
"value": {
|
|
||||||
"caseSessionsPerFabric": 3,
|
|
||||||
"subscriptionsPerFabric": 3
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"0/29/1": [
|
||||||
|
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62, 63,
|
||||||
|
64, 65
|
||||||
|
],
|
||||||
|
"0/29/2": [41],
|
||||||
|
"0/29/3": [1],
|
||||||
|
"0/29/65532": 0,
|
||||||
|
"0/29/65533": 1,
|
||||||
|
"0/29/65528": [],
|
||||||
|
"0/29/65529": [],
|
||||||
|
"0/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
|
"0/40/0": 1,
|
||||||
|
"0/40/1": "Nabu Casa",
|
||||||
|
"0/40/2": 65521,
|
||||||
|
"0/40/3": "Mock OccupancySensor",
|
||||||
|
"0/40/4": 32768,
|
||||||
|
"0/40/5": "Mock Occupancy Sensor",
|
||||||
|
"0/40/6": "XX",
|
||||||
|
"0/40/7": 0,
|
||||||
|
"0/40/8": "v1.0",
|
||||||
|
"0/40/9": 1,
|
||||||
|
"0/40/10": "v1.0",
|
||||||
|
"0/40/11": "20221206",
|
||||||
|
"0/40/12": "",
|
||||||
|
"0/40/13": "",
|
||||||
|
"0/40/14": "",
|
||||||
|
"0/40/15": "TEST_SN",
|
||||||
|
"0/40/16": false,
|
||||||
|
"0/40/17": true,
|
||||||
|
"0/40/18": "mock-temperature-sensor",
|
||||||
|
"0/40/19": {
|
||||||
|
"caseSessionsPerFabric": 3,
|
||||||
|
"subscriptionsPerFabric": 3
|
||||||
},
|
},
|
||||||
"0/40/65532": {
|
"0/40/65532": 0,
|
||||||
"node_id": 1,
|
"0/40/65533": 1,
|
||||||
"endpoint": 0,
|
"0/40/65528": [],
|
||||||
"cluster_id": 40,
|
"0/40/65529": [],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"0/40/65531": [
|
||||||
"cluster_name": "Basic",
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||||
"attribute_id": 65532,
|
65528, 65529, 65531, 65532, 65533
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.FeatureMap",
|
],
|
||||||
"attribute_name": "FeatureMap",
|
"1/3/0": 0,
|
||||||
"value": 0
|
"1/3/1": 2,
|
||||||
},
|
"1/3/65532": 0,
|
||||||
"0/40/65533": {
|
"1/3/65533": 4,
|
||||||
"node_id": 1,
|
"1/3/65528": [],
|
||||||
"endpoint": 0,
|
"1/3/65529": [0, 64],
|
||||||
"cluster_id": 40,
|
"1/3/65531": [0, 1, 65528, 65529, 65531, 65532, 65533],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/29/0": [
|
||||||
"cluster_name": "Basic",
|
{
|
||||||
"attribute_id": 65533,
|
"type": 263,
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ClusterRevision",
|
"revision": 1
|
||||||
"attribute_name": "ClusterRevision",
|
}
|
||||||
"value": 1
|
],
|
||||||
},
|
"1/29/1": [
|
||||||
"0/40/65528": {
|
3, 4, 5, 6, 7, 8, 15, 29, 30, 37, 47, 59, 64, 65, 69, 80, 257, 258, 259,
|
||||||
"node_id": 1,
|
512, 513, 514, 516, 768, 1024, 1026, 1027, 1028, 1029, 1030, 1283, 1284,
|
||||||
"endpoint": 0,
|
1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 2820,
|
||||||
"cluster_id": 40,
|
4294048773
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
],
|
||||||
"cluster_name": "Basic",
|
"1/29/2": [],
|
||||||
"attribute_id": 65528,
|
"1/29/3": [],
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.GeneratedCommandList",
|
"1/29/65532": 0,
|
||||||
"attribute_name": "GeneratedCommandList",
|
"1/29/65533": 1,
|
||||||
"value": []
|
"1/29/65528": [],
|
||||||
},
|
"1/29/65529": [],
|
||||||
"0/40/65529": {
|
"1/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
"node_id": 1,
|
"1/30/0": [],
|
||||||
"endpoint": 0,
|
"1/30/65532": 0,
|
||||||
"cluster_id": 40,
|
"1/30/65533": 1,
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/30/65528": [],
|
||||||
"cluster_name": "Basic",
|
"1/30/65529": [],
|
||||||
"attribute_id": 65529,
|
"1/30/65531": [0, 65528, 65529, 65531, 65532, 65533],
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AcceptedCommandList",
|
"1/1030/0": 1,
|
||||||
"attribute_name": "AcceptedCommandList",
|
"1/1030/1": 0,
|
||||||
"value": []
|
"1/1030/2": 1,
|
||||||
},
|
"1/1030/65532": 0,
|
||||||
"0/40/65531": {
|
"1/1030/65533": 3,
|
||||||
"node_id": 1,
|
"1/1030/65528": [],
|
||||||
"endpoint": 0,
|
"1/1030/65529": [],
|
||||||
"cluster_id": 40,
|
"1/1030/65531": [0, 1, 2, 65528, 65529, 65531, 65532, 65533]
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [
|
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
|
||||||
65528, 65529, 65531, 65532, 65533
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/3/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.IdentifyTime",
|
|
||||||
"attribute_name": "IdentifyTime",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/3/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.IdentifyType",
|
|
||||||
"attribute_name": "IdentifyType",
|
|
||||||
"value": 2
|
|
||||||
},
|
|
||||||
"1/3/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/3/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 4
|
|
||||||
},
|
|
||||||
"1/3/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/3/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": [0, 64]
|
|
||||||
},
|
|
||||||
"1/3/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/29/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 263,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"1/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [
|
|
||||||
3, 4, 5, 6, 7, 8, 15, 29, 30, 37, 47, 59, 64, 65, 69, 80, 257, 258, 259,
|
|
||||||
512, 513, 514, 516, 768, 1024, 1026, 1027, 1028, 1029, 1030, 1283, 1284,
|
|
||||||
1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 2820,
|
|
||||||
4294048773
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"1/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"1/30/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.Binding",
|
|
||||||
"attribute_name": "Binding",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/30/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/30/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/30/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/30/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/30/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 30,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Binding",
|
|
||||||
"cluster_name": "Binding",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Binding.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"1/1030/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1030,
|
|
||||||
"cluster_type": "chip.clusters.Objects.OccupancySensing",
|
|
||||||
"cluster_name": "OccupancySensing",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.OccupancySensing.Attributes.Occupancy",
|
|
||||||
"attribute_name": "Occupancy",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/1030/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1030,
|
|
||||||
"cluster_type": "chip.clusters.Objects.OccupancySensing",
|
|
||||||
"cluster_name": "OccupancySensing",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.OccupancySensing.Attributes.OccupancySensorType",
|
|
||||||
"attribute_name": "OccupancySensorType",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1030/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1030,
|
|
||||||
"cluster_type": "chip.clusters.Objects.OccupancySensing",
|
|
||||||
"cluster_name": "OccupancySensing",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.OccupancySensing.Attributes.OccupancySensorTypeBitmap",
|
|
||||||
"attribute_name": "OccupancySensorTypeBitmap",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/1030/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1030,
|
|
||||||
"cluster_type": "chip.clusters.Objects.OccupancySensing",
|
|
||||||
"cluster_name": "OccupancySensing",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.OccupancySensing.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1030/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1030,
|
|
||||||
"cluster_type": "chip.clusters.Objects.OccupancySensing",
|
|
||||||
"cluster_name": "OccupancySensing",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.OccupancySensing.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 3
|
|
||||||
},
|
|
||||||
"1/1030/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1030,
|
|
||||||
"cluster_type": "chip.clusters.Objects.OccupancySensing",
|
|
||||||
"cluster_name": "OccupancySensing",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.OccupancySensing.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1030/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1030,
|
|
||||||
"cluster_type": "chip.clusters.Objects.OccupancySensing",
|
|
||||||
"cluster_name": "OccupancySensing",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.OccupancySensing.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1030/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1030,
|
|
||||||
"cluster_type": "chip.clusters.Objects.OccupancySensing",
|
|
||||||
"cluster_name": "OccupancySensing",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.OccupancySensing.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"endpoints": [0, 1],
|
"available": true
|
||||||
"_type": "matter_server.common.models.node.MatterNode"
|
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -2,613 +2,80 @@
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
"date_commissioned": "2022-11-29T21:23:48.485051",
|
"date_commissioned": "2022-11-29T21:23:48.485051",
|
||||||
"last_interview": "2022-11-29T21:23:48.485057",
|
"last_interview": "2022-11-29T21:23:48.485057",
|
||||||
"interview_version": 1,
|
"interview_version": 2,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"0/29/0": {
|
"0/29/0": [
|
||||||
"node_id": 1,
|
{
|
||||||
"endpoint": 0,
|
"type": 22,
|
||||||
"cluster_id": 29,
|
"revision": 1
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 22,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [
|
|
||||||
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62,
|
|
||||||
63, 64, 65
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": [41]
|
|
||||||
},
|
|
||||||
"0/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [1]
|
|
||||||
},
|
|
||||||
"0/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"0/40/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.DataModelRevision",
|
|
||||||
"attribute_name": "DataModelRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorName",
|
|
||||||
"attribute_name": "VendorName",
|
|
||||||
"value": "Nabu Casa"
|
|
||||||
},
|
|
||||||
"0/40/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorID",
|
|
||||||
"attribute_name": "VendorID",
|
|
||||||
"value": 65521
|
|
||||||
},
|
|
||||||
"0/40/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductName",
|
|
||||||
"attribute_name": "ProductName",
|
|
||||||
"value": "Mock PressureSensor"
|
|
||||||
},
|
|
||||||
"0/40/4": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 4,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductID",
|
|
||||||
"attribute_name": "ProductID",
|
|
||||||
"value": 32768
|
|
||||||
},
|
|
||||||
"0/40/5": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 5,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.NodeLabel",
|
|
||||||
"attribute_name": "NodeLabel",
|
|
||||||
"value": "Mock Pressure Sensor"
|
|
||||||
},
|
|
||||||
"0/40/6": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 6,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Location",
|
|
||||||
"attribute_name": "Location",
|
|
||||||
"value": "XX"
|
|
||||||
},
|
|
||||||
"0/40/7": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 7,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersion",
|
|
||||||
"attribute_name": "HardwareVersion",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/40/8": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 8,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersionString",
|
|
||||||
"attribute_name": "HardwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/9": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 9,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersion",
|
|
||||||
"attribute_name": "SoftwareVersion",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/10": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 10,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersionString",
|
|
||||||
"attribute_name": "SoftwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/11": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 11,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ManufacturingDate",
|
|
||||||
"attribute_name": "ManufacturingDate",
|
|
||||||
"value": "20221206"
|
|
||||||
},
|
|
||||||
"0/40/12": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 12,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.PartNumber",
|
|
||||||
"attribute_name": "PartNumber",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/13": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 13,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductURL",
|
|
||||||
"attribute_name": "ProductURL",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/14": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 14,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductLabel",
|
|
||||||
"attribute_name": "ProductLabel",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/15": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 15,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SerialNumber",
|
|
||||||
"attribute_name": "SerialNumber",
|
|
||||||
"value": "TEST_SN"
|
|
||||||
},
|
|
||||||
"0/40/16": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 16,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.LocalConfigDisabled",
|
|
||||||
"attribute_name": "LocalConfigDisabled",
|
|
||||||
"value": false
|
|
||||||
},
|
|
||||||
"0/40/17": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 17,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Reachable",
|
|
||||||
"attribute_name": "Reachable",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"0/40/18": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 18,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.UniqueID",
|
|
||||||
"attribute_name": "UniqueID",
|
|
||||||
"value": "mock-pressure-sensor"
|
|
||||||
},
|
|
||||||
"0/40/19": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 19,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.CapabilityMinima",
|
|
||||||
"attribute_name": "CapabilityMinima",
|
|
||||||
"value": {
|
|
||||||
"caseSessionsPerFabric": 3,
|
|
||||||
"subscriptionsPerFabric": 3
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"0/29/1": [
|
||||||
|
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62, 63,
|
||||||
|
64, 65
|
||||||
|
],
|
||||||
|
"0/29/2": [41],
|
||||||
|
"0/29/3": [1],
|
||||||
|
"0/29/65532": 0,
|
||||||
|
"0/29/65533": 1,
|
||||||
|
"0/29/65528": [],
|
||||||
|
"0/29/65529": [],
|
||||||
|
"0/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
|
"0/40/0": 1,
|
||||||
|
"0/40/1": "Nabu Casa",
|
||||||
|
"0/40/2": 65521,
|
||||||
|
"0/40/3": "Mock PressureSensor",
|
||||||
|
"0/40/4": 32768,
|
||||||
|
"0/40/5": "Mock Pressure Sensor",
|
||||||
|
"0/40/6": "XX",
|
||||||
|
"0/40/7": 0,
|
||||||
|
"0/40/8": "v1.0",
|
||||||
|
"0/40/9": 1,
|
||||||
|
"0/40/10": "v1.0",
|
||||||
|
"0/40/11": "20221206",
|
||||||
|
"0/40/12": "",
|
||||||
|
"0/40/13": "",
|
||||||
|
"0/40/14": "",
|
||||||
|
"0/40/15": "TEST_SN",
|
||||||
|
"0/40/16": false,
|
||||||
|
"0/40/17": true,
|
||||||
|
"0/40/18": "mock-pressure-sensor",
|
||||||
|
"0/40/19": {
|
||||||
|
"caseSessionsPerFabric": 3,
|
||||||
|
"subscriptionsPerFabric": 3
|
||||||
},
|
},
|
||||||
"0/40/65532": {
|
"0/40/65532": 0,
|
||||||
"node_id": 1,
|
"0/40/65533": 1,
|
||||||
"endpoint": 0,
|
"0/40/65528": [],
|
||||||
"cluster_id": 40,
|
"0/40/65529": [],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"0/40/65531": [
|
||||||
"cluster_name": "Basic",
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||||
"attribute_id": 65532,
|
65528, 65529, 65531, 65532, 65533
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.FeatureMap",
|
],
|
||||||
"attribute_name": "FeatureMap",
|
"1/3/65529": [0, 64],
|
||||||
"value": 0
|
"1/3/65531": [0, 1, 65528, 65529, 65531, 65532, 65533],
|
||||||
},
|
"1/29/0": [
|
||||||
"0/40/65533": {
|
{
|
||||||
"node_id": 1,
|
"type": 773,
|
||||||
"endpoint": 0,
|
"revision": 1
|
||||||
"cluster_id": 40,
|
}
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
],
|
||||||
"cluster_name": "Basic",
|
"1/29/1": [6, 29, 57, 768, 8, 40],
|
||||||
"attribute_id": 65533,
|
"1/29/2": [],
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ClusterRevision",
|
"1/29/3": [9, 10],
|
||||||
"attribute_name": "ClusterRevision",
|
"1/29/65532": null,
|
||||||
"value": 1
|
"1/29/65533": 1,
|
||||||
},
|
"1/29/65528": [],
|
||||||
"0/40/65528": {
|
"1/29/65529": [],
|
||||||
"node_id": 1,
|
"1/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
"endpoint": 0,
|
"1/1027/0": 0,
|
||||||
"cluster_id": 40,
|
"1/1027/1": 0,
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/1027/2": 0,
|
||||||
"cluster_name": "Basic",
|
"1/1027/65532": 0,
|
||||||
"attribute_id": 65528,
|
"1/1027/65533": 3,
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.GeneratedCommandList",
|
"1/1027/65528": [],
|
||||||
"attribute_name": "GeneratedCommandList",
|
"1/1027/65529": [],
|
||||||
"value": []
|
"1/1027/65531": [0, 1, 2, 65528, 65529, 65531, 65532, 65533]
|
||||||
},
|
|
||||||
"0/40/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/40/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [
|
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
|
||||||
65528, 65529, 65531, 65532, 65533
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/3/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": [0, 64]
|
|
||||||
},
|
|
||||||
"1/3/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/29/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 773,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"1/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [6, 29, 57, 768, 8, 40]
|
|
||||||
},
|
|
||||||
"1/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [9, 10]
|
|
||||||
},
|
|
||||||
"1/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": null
|
|
||||||
},
|
|
||||||
"1/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"1/1027/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1027,
|
|
||||||
"cluster_type": "chip.clusters.Objects.PressureMeasurement",
|
|
||||||
"cluster_name": "PressureMeasurement",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.PressureMeasurement.Attributes.MeasuredValue",
|
|
||||||
"attribute_name": "MeasuredValue",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1027/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1027,
|
|
||||||
"cluster_type": "chip.clusters.Objects.PressureMeasurement",
|
|
||||||
"cluster_name": "PressureMeasurement",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.PressureMeasurement.Attributes.MinMeasuredValue",
|
|
||||||
"attribute_name": "MinMeasuredValue",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1027/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1027,
|
|
||||||
"cluster_type": "chip.clusters.Objects.PressureMeasurement",
|
|
||||||
"cluster_name": "PressureMeasurement",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.PressureMeasurement.Attributes.MaxMeasuredValue",
|
|
||||||
"attribute_name": "MaxMeasuredValue",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1027/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1027,
|
|
||||||
"cluster_type": "chip.clusters.Objects.PressureMeasurement",
|
|
||||||
"cluster_name": "PressureMeasurement",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.PressureMeasurement.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1027/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1027,
|
|
||||||
"cluster_type": "chip.clusters.Objects.PressureMeasurement",
|
|
||||||
"cluster_name": "PressureMeasurement",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.PressureMeasurement.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 3
|
|
||||||
},
|
|
||||||
"1/1027/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1027,
|
|
||||||
"cluster_type": "chip.clusters.Objects.PressureMeasurement",
|
|
||||||
"cluster_name": "PressureMeasurement",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.PressureMeasurement.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1027/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1027,
|
|
||||||
"cluster_type": "chip.clusters.Objects.PressureMeasurement",
|
|
||||||
"cluster_name": "PressureMeasurement",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.PressureMeasurement.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1027/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1027,
|
|
||||||
"cluster_type": "chip.clusters.Objects.PressureMeasurement",
|
|
||||||
"cluster_name": "PressureMeasurement",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.PressureMeasurement.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"endpoints": [0, 1],
|
"available": true
|
||||||
"_type": "matter_server.common.models.node.MatterNode"
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,680 +2,86 @@
|
||||||
"node_id": 1,
|
"node_id": 1,
|
||||||
"date_commissioned": "2022-11-29T21:23:48.485051",
|
"date_commissioned": "2022-11-29T21:23:48.485051",
|
||||||
"last_interview": "2022-11-29T21:23:48.485057",
|
"last_interview": "2022-11-29T21:23:48.485057",
|
||||||
"interview_version": 1,
|
"interview_version": 2,
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"0/29/0": {
|
"0/29/0": [
|
||||||
"node_id": 1,
|
{
|
||||||
"endpoint": 0,
|
"type": 22,
|
||||||
"cluster_id": 29,
|
"revision": 1
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 22,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [
|
|
||||||
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62,
|
|
||||||
63, 64, 65
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"0/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": [41]
|
|
||||||
},
|
|
||||||
"0/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [1]
|
|
||||||
},
|
|
||||||
"0/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
"0/40/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.DataModelRevision",
|
|
||||||
"attribute_name": "DataModelRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorName",
|
|
||||||
"attribute_name": "VendorName",
|
|
||||||
"value": "Nabu Casa"
|
|
||||||
},
|
|
||||||
"0/40/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.VendorID",
|
|
||||||
"attribute_name": "VendorID",
|
|
||||||
"value": 65521
|
|
||||||
},
|
|
||||||
"0/40/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductName",
|
|
||||||
"attribute_name": "ProductName",
|
|
||||||
"value": "Mock PressureSensor"
|
|
||||||
},
|
|
||||||
"0/40/4": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 4,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductID",
|
|
||||||
"attribute_name": "ProductID",
|
|
||||||
"value": 32768
|
|
||||||
},
|
|
||||||
"0/40/5": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 5,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.NodeLabel",
|
|
||||||
"attribute_name": "NodeLabel",
|
|
||||||
"value": "Mock Temperature Sensor"
|
|
||||||
},
|
|
||||||
"0/40/6": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 6,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Location",
|
|
||||||
"attribute_name": "Location",
|
|
||||||
"value": "XX"
|
|
||||||
},
|
|
||||||
"0/40/7": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 7,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersion",
|
|
||||||
"attribute_name": "HardwareVersion",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/40/8": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 8,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.HardwareVersionString",
|
|
||||||
"attribute_name": "HardwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/9": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 9,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersion",
|
|
||||||
"attribute_name": "SoftwareVersion",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"0/40/10": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 10,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SoftwareVersionString",
|
|
||||||
"attribute_name": "SoftwareVersionString",
|
|
||||||
"value": "v1.0"
|
|
||||||
},
|
|
||||||
"0/40/11": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 11,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ManufacturingDate",
|
|
||||||
"attribute_name": "ManufacturingDate",
|
|
||||||
"value": "20221206"
|
|
||||||
},
|
|
||||||
"0/40/12": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 12,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.PartNumber",
|
|
||||||
"attribute_name": "PartNumber",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/13": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 13,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductURL",
|
|
||||||
"attribute_name": "ProductURL",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/14": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 14,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ProductLabel",
|
|
||||||
"attribute_name": "ProductLabel",
|
|
||||||
"value": ""
|
|
||||||
},
|
|
||||||
"0/40/15": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 15,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.SerialNumber",
|
|
||||||
"attribute_name": "SerialNumber",
|
|
||||||
"value": "TEST_SN"
|
|
||||||
},
|
|
||||||
"0/40/16": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 16,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.LocalConfigDisabled",
|
|
||||||
"attribute_name": "LocalConfigDisabled",
|
|
||||||
"value": false
|
|
||||||
},
|
|
||||||
"0/40/17": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 17,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.Reachable",
|
|
||||||
"attribute_name": "Reachable",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"0/40/18": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 18,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.UniqueID",
|
|
||||||
"attribute_name": "UniqueID",
|
|
||||||
"value": "mock-temperature-sensor"
|
|
||||||
},
|
|
||||||
"0/40/19": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 19,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.CapabilityMinima",
|
|
||||||
"attribute_name": "CapabilityMinima",
|
|
||||||
"value": {
|
|
||||||
"caseSessionsPerFabric": 3,
|
|
||||||
"subscriptionsPerFabric": 3
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"0/29/1": [
|
||||||
|
4, 29, 31, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 59, 60, 62, 63,
|
||||||
|
64, 65
|
||||||
|
],
|
||||||
|
"0/29/2": [41],
|
||||||
|
"0/29/3": [1],
|
||||||
|
"0/29/65532": 0,
|
||||||
|
"0/29/65533": 1,
|
||||||
|
"0/29/65528": [],
|
||||||
|
"0/29/65529": [],
|
||||||
|
"0/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
|
"0/40/0": 1,
|
||||||
|
"0/40/1": "Nabu Casa",
|
||||||
|
"0/40/2": 65521,
|
||||||
|
"0/40/3": "Mock PressureSensor",
|
||||||
|
"0/40/4": 32768,
|
||||||
|
"0/40/5": "Mock Temperature Sensor",
|
||||||
|
"0/40/6": "XX",
|
||||||
|
"0/40/7": 0,
|
||||||
|
"0/40/8": "v1.0",
|
||||||
|
"0/40/9": 1,
|
||||||
|
"0/40/10": "v1.0",
|
||||||
|
"0/40/11": "20221206",
|
||||||
|
"0/40/12": "",
|
||||||
|
"0/40/13": "",
|
||||||
|
"0/40/14": "",
|
||||||
|
"0/40/15": "TEST_SN",
|
||||||
|
"0/40/16": false,
|
||||||
|
"0/40/17": true,
|
||||||
|
"0/40/18": "mock-temperature-sensor",
|
||||||
|
"0/40/19": {
|
||||||
|
"caseSessionsPerFabric": 3,
|
||||||
|
"subscriptionsPerFabric": 3
|
||||||
},
|
},
|
||||||
"0/40/65532": {
|
"0/40/65532": 0,
|
||||||
"node_id": 1,
|
"0/40/65533": 1,
|
||||||
"endpoint": 0,
|
"0/40/65528": [],
|
||||||
"cluster_id": 40,
|
"0/40/65529": [],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"0/40/65531": [
|
||||||
"cluster_name": "Basic",
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||||
"attribute_id": 65532,
|
65528, 65529, 65531, 65532, 65533
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.FeatureMap",
|
],
|
||||||
"attribute_name": "FeatureMap",
|
"0/3/0": 0,
|
||||||
"value": 0
|
"0/3/1": 2,
|
||||||
},
|
"0/3/65532": 0,
|
||||||
"0/40/65533": {
|
"0/3/65533": 4,
|
||||||
"node_id": 1,
|
"0/3/65528": [],
|
||||||
"endpoint": 0,
|
"1/3/65529": [0, 64],
|
||||||
"cluster_id": 40,
|
"1/3/65531": [0, 1, 65528, 65529, 65531, 65532, 65533],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/29/0": [
|
||||||
"cluster_name": "Basic",
|
{
|
||||||
"attribute_id": 65533,
|
"type": 770,
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.ClusterRevision",
|
"revision": 1
|
||||||
"attribute_name": "ClusterRevision",
|
}
|
||||||
"value": 1
|
],
|
||||||
},
|
"1/29/1": [6, 29, 57, 768, 8, 40],
|
||||||
"0/40/65528": {
|
"1/29/2": [],
|
||||||
"node_id": 1,
|
"1/29/3": [9, 10],
|
||||||
"endpoint": 0,
|
"1/29/65532": null,
|
||||||
"cluster_id": 40,
|
"1/29/65533": 1,
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/29/65528": [],
|
||||||
"cluster_name": "Basic",
|
"1/29/65529": [],
|
||||||
"attribute_id": 65528,
|
"1/29/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533],
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.GeneratedCommandList",
|
"1/1026/0": 2100,
|
||||||
"attribute_name": "GeneratedCommandList",
|
"1/1026/1": null,
|
||||||
"value": []
|
"1/1026/2": null,
|
||||||
},
|
"1/1026/3": 0,
|
||||||
"0/40/65529": {
|
"1/1026/65532": 0,
|
||||||
"node_id": 1,
|
"1/1026/65533": 4,
|
||||||
"endpoint": 0,
|
"1/1026/65528": [],
|
||||||
"cluster_id": 40,
|
"1/1026/65529": [],
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
"1/1026/65531": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"0/40/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 40,
|
|
||||||
"cluster_type": "chip.clusters.Objects.BasicInformation",
|
|
||||||
"cluster_name": "Basic",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.BasicInformation.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [
|
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
|
||||||
65528, 65529, 65531, 65532, 65533
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
"0/3/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.IdentifyTime",
|
|
||||||
"attribute_name": "IdentifyTime",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/3/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.IdentifyType",
|
|
||||||
"attribute_name": "IdentifyType",
|
|
||||||
"value": 2
|
|
||||||
},
|
|
||||||
"0/3/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"0/3/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 4
|
|
||||||
},
|
|
||||||
"0/3/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/3/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": [0, 64]
|
|
||||||
},
|
|
||||||
"1/3/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 3,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Identify",
|
|
||||||
"cluster_name": "Identify",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Identify.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/29/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.DeviceTypeList",
|
|
||||||
"attribute_name": "DeviceTypeList",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"type": 770,
|
|
||||||
"revision": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"1/29/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ServerList",
|
|
||||||
"attribute_name": "ServerList",
|
|
||||||
"value": [6, 29, 57, 768, 8, 40]
|
|
||||||
},
|
|
||||||
"1/29/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClientList",
|
|
||||||
"attribute_name": "ClientList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.PartsList",
|
|
||||||
"attribute_name": "PartsList",
|
|
||||||
"value": [9, 10]
|
|
||||||
},
|
|
||||||
"1/29/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": null
|
|
||||||
},
|
|
||||||
"1/29/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
"1/29/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/29/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 0,
|
|
||||||
"cluster_id": 29,
|
|
||||||
"cluster_type": "chip.clusters.Objects.Descriptor",
|
|
||||||
"cluster_name": "Descriptor",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.Descriptor.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
},
|
|
||||||
|
|
||||||
"1/1026/0": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1026,
|
|
||||||
"cluster_type": "chip.clusters.Objects.TemperatureMeasurement",
|
|
||||||
"cluster_name": "TemperatureMeasurement",
|
|
||||||
"attribute_id": 0,
|
|
||||||
"attribute_type": "chip.clusters.Objects.TemperatureMeasurement.Attributes.MeasuredValue",
|
|
||||||
"attribute_name": "MeasuredValue",
|
|
||||||
"value": 2100
|
|
||||||
},
|
|
||||||
"1/1026/1": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1026,
|
|
||||||
"cluster_type": "chip.clusters.Objects.TemperatureMeasurement",
|
|
||||||
"cluster_name": "TemperatureMeasurement",
|
|
||||||
"attribute_id": 1,
|
|
||||||
"attribute_type": "chip.clusters.Objects.TemperatureMeasurement.Attributes.MinMeasuredValue",
|
|
||||||
"attribute_name": "MinMeasuredValue",
|
|
||||||
"value": null
|
|
||||||
},
|
|
||||||
"1/1026/2": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1026,
|
|
||||||
"cluster_type": "chip.clusters.Objects.TemperatureMeasurement",
|
|
||||||
"cluster_name": "TemperatureMeasurement",
|
|
||||||
"attribute_id": 2,
|
|
||||||
"attribute_type": "chip.clusters.Objects.TemperatureMeasurement.Attributes.MaxMeasuredValue",
|
|
||||||
"attribute_name": "MaxMeasuredValue",
|
|
||||||
"value": null
|
|
||||||
},
|
|
||||||
"1/1026/3": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1026,
|
|
||||||
"cluster_type": "chip.clusters.Objects.TemperatureMeasurement",
|
|
||||||
"cluster_name": "TemperatureMeasurement",
|
|
||||||
"attribute_id": 3,
|
|
||||||
"attribute_type": "chip.clusters.Objects.TemperatureMeasurement.Attributes.Tolerance",
|
|
||||||
"attribute_name": "Tolerance",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1026/65532": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1026,
|
|
||||||
"cluster_type": "chip.clusters.Objects.TemperatureMeasurement",
|
|
||||||
"cluster_name": "TemperatureMeasurement",
|
|
||||||
"attribute_id": 65532,
|
|
||||||
"attribute_type": "chip.clusters.Objects.TemperatureMeasurement.Attributes.FeatureMap",
|
|
||||||
"attribute_name": "FeatureMap",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
"1/1026/65533": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1026,
|
|
||||||
"cluster_type": "chip.clusters.Objects.TemperatureMeasurement",
|
|
||||||
"cluster_name": "TemperatureMeasurement",
|
|
||||||
"attribute_id": 65533,
|
|
||||||
"attribute_type": "chip.clusters.Objects.TemperatureMeasurement.Attributes.ClusterRevision",
|
|
||||||
"attribute_name": "ClusterRevision",
|
|
||||||
"value": 4
|
|
||||||
},
|
|
||||||
"1/1026/65528": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1026,
|
|
||||||
"cluster_type": "chip.clusters.Objects.TemperatureMeasurement",
|
|
||||||
"cluster_name": "TemperatureMeasurement",
|
|
||||||
"attribute_id": 65528,
|
|
||||||
"attribute_type": "chip.clusters.Objects.TemperatureMeasurement.Attributes.GeneratedCommandList",
|
|
||||||
"attribute_name": "GeneratedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1026/65529": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1026,
|
|
||||||
"cluster_type": "chip.clusters.Objects.TemperatureMeasurement",
|
|
||||||
"cluster_name": "TemperatureMeasurement",
|
|
||||||
"attribute_id": 65529,
|
|
||||||
"attribute_type": "chip.clusters.Objects.TemperatureMeasurement.Attributes.AcceptedCommandList",
|
|
||||||
"attribute_name": "AcceptedCommandList",
|
|
||||||
"value": []
|
|
||||||
},
|
|
||||||
"1/1026/65531": {
|
|
||||||
"node_id": 1,
|
|
||||||
"endpoint": 1,
|
|
||||||
"cluster_id": 1026,
|
|
||||||
"cluster_type": "chip.clusters.Objects.TemperatureMeasurement",
|
|
||||||
"cluster_name": "TemperatureMeasurement",
|
|
||||||
"attribute_id": 65531,
|
|
||||||
"attribute_type": "chip.clusters.Objects.TemperatureMeasurement.Attributes.AttributeList",
|
|
||||||
"attribute_name": "AttributeList",
|
|
||||||
"value": [0, 1, 2, 3, 65528, 65529, 65531, 65532, 65533]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"endpoints": [0, 1],
|
"available": true
|
||||||
"_type": "matter_server.common.models.node.MatterNode"
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,9 +3,9 @@ from __future__ import annotations
|
||||||
|
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
|
from matter_server.client.models.node import MatterNode
|
||||||
from matter_server.common.helpers.util import dataclass_from_dict
|
from matter_server.common.helpers.util import dataclass_from_dict
|
||||||
from matter_server.common.models.events import EventType
|
from matter_server.common.models import EventType, MatterNodeData
|
||||||
from matter_server.common.models.node import MatterNode
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from homeassistant.components.matter.const import DOMAIN
|
from homeassistant.components.matter.const import DOMAIN
|
||||||
|
@ -124,9 +124,11 @@ async def test_node_added_subscription(
|
||||||
|
|
||||||
node_added_callback = matter_client.subscribe.call_args[0][0]
|
node_added_callback = matter_client.subscribe.call_args[0][0]
|
||||||
node_data = load_and_parse_node_fixture("onoff-light")
|
node_data = load_and_parse_node_fixture("onoff-light")
|
||||||
node = dataclass_from_dict(
|
node = MatterNode(
|
||||||
MatterNode,
|
dataclass_from_dict(
|
||||||
node_data,
|
MatterNodeData,
|
||||||
|
node_data,
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
entity_state = hass.states.get("light.mock_onoff_light")
|
entity_state = hass.states.get("light.mock_onoff_light")
|
||||||
|
|
|
@ -3,7 +3,7 @@ from collections.abc import Awaitable, Callable
|
||||||
from unittest.mock import MagicMock, call
|
from unittest.mock import MagicMock, call
|
||||||
|
|
||||||
from aiohttp import ClientWebSocketResponse
|
from aiohttp import ClientWebSocketResponse
|
||||||
from matter_server.client.exceptions import FailedCommand
|
from matter_server.common.errors import InvalidCommand, NodeCommissionFailed
|
||||||
|
|
||||||
from homeassistant.components.matter.api import ID, TYPE
|
from homeassistant.components.matter.api import ID, TYPE
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
@ -33,8 +33,8 @@ async def test_commission(
|
||||||
matter_client.commission_with_code.assert_called_once_with("12345678")
|
matter_client.commission_with_code.assert_called_once_with("12345678")
|
||||||
|
|
||||||
matter_client.commission_with_code.reset_mock()
|
matter_client.commission_with_code.reset_mock()
|
||||||
matter_client.commission_with_code.side_effect = FailedCommand(
|
matter_client.commission_with_code.side_effect = InvalidCommand(
|
||||||
"test_id", "test_code", "Failed to commission"
|
"test_id", "9", "Failed to commission"
|
||||||
)
|
)
|
||||||
|
|
||||||
await ws_client.send_json(
|
await ws_client.send_json(
|
||||||
|
@ -47,7 +47,7 @@ async def test_commission(
|
||||||
msg = await ws_client.receive_json()
|
msg = await ws_client.receive_json()
|
||||||
|
|
||||||
assert not msg["success"]
|
assert not msg["success"]
|
||||||
assert msg["error"]["code"] == "test_code"
|
assert msg["error"]["code"] == "9"
|
||||||
matter_client.commission_with_code.assert_called_once_with("12345678")
|
matter_client.commission_with_code.assert_called_once_with("12345678")
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,8 +73,8 @@ async def test_commission_on_network(
|
||||||
matter_client.commission_on_network.assert_called_once_with(1234)
|
matter_client.commission_on_network.assert_called_once_with(1234)
|
||||||
|
|
||||||
matter_client.commission_on_network.reset_mock()
|
matter_client.commission_on_network.reset_mock()
|
||||||
matter_client.commission_on_network.side_effect = FailedCommand(
|
matter_client.commission_on_network.side_effect = NodeCommissionFailed(
|
||||||
"test_id", "test_code", "Failed to commission on network"
|
"test_id", "1", "Failed to commission on network"
|
||||||
)
|
)
|
||||||
|
|
||||||
await ws_client.send_json(
|
await ws_client.send_json(
|
||||||
|
@ -87,7 +87,7 @@ async def test_commission_on_network(
|
||||||
msg = await ws_client.receive_json()
|
msg = await ws_client.receive_json()
|
||||||
|
|
||||||
assert not msg["success"]
|
assert not msg["success"]
|
||||||
assert msg["error"]["code"] == "test_code"
|
assert msg["error"]["code"] == "1"
|
||||||
matter_client.commission_on_network.assert_called_once_with(1234)
|
matter_client.commission_on_network.assert_called_once_with(1234)
|
||||||
|
|
||||||
|
|
||||||
|
@ -113,8 +113,8 @@ async def test_set_thread_dataset(
|
||||||
matter_client.set_thread_operational_dataset.assert_called_once_with("test_dataset")
|
matter_client.set_thread_operational_dataset.assert_called_once_with("test_dataset")
|
||||||
|
|
||||||
matter_client.set_thread_operational_dataset.reset_mock()
|
matter_client.set_thread_operational_dataset.reset_mock()
|
||||||
matter_client.set_thread_operational_dataset.side_effect = FailedCommand(
|
matter_client.set_thread_operational_dataset.side_effect = NodeCommissionFailed(
|
||||||
"test_id", "test_code", "Failed to commission"
|
"test_id", "1", "Failed to commission"
|
||||||
)
|
)
|
||||||
|
|
||||||
await ws_client.send_json(
|
await ws_client.send_json(
|
||||||
|
@ -127,7 +127,7 @@ async def test_set_thread_dataset(
|
||||||
msg = await ws_client.receive_json()
|
msg = await ws_client.receive_json()
|
||||||
|
|
||||||
assert not msg["success"]
|
assert not msg["success"]
|
||||||
assert msg["error"]["code"] == "test_code"
|
assert msg["error"]["code"] == "1"
|
||||||
matter_client.set_thread_operational_dataset.assert_called_once_with("test_dataset")
|
matter_client.set_thread_operational_dataset.assert_called_once_with("test_dataset")
|
||||||
|
|
||||||
|
|
||||||
|
@ -157,8 +157,8 @@ async def test_set_wifi_credentials(
|
||||||
)
|
)
|
||||||
|
|
||||||
matter_client.set_wifi_credentials.reset_mock()
|
matter_client.set_wifi_credentials.reset_mock()
|
||||||
matter_client.set_wifi_credentials.side_effect = FailedCommand(
|
matter_client.set_wifi_credentials.side_effect = NodeCommissionFailed(
|
||||||
"test_id", "test_code", "Failed to commission on network"
|
"test_id", "1", "Failed to commission on network"
|
||||||
)
|
)
|
||||||
|
|
||||||
await ws_client.send_json(
|
await ws_client.send_json(
|
||||||
|
@ -172,7 +172,7 @@ async def test_set_wifi_credentials(
|
||||||
msg = await ws_client.receive_json()
|
msg = await ws_client.receive_json()
|
||||||
|
|
||||||
assert not msg["success"]
|
assert not msg["success"]
|
||||||
assert msg["error"]["code"] == "test_code"
|
assert msg["error"]["code"] == "1"
|
||||||
assert matter_client.set_wifi_credentials.call_count == 1
|
assert matter_client.set_wifi_credentials.call_count == 1
|
||||||
assert matter_client.set_wifi_credentials.call_args == call(
|
assert matter_client.set_wifi_credentials.call_args == call(
|
||||||
ssid="test_network", credentials="test_password"
|
ssid="test_network", credentials="test_password"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
"""Test Matter binary sensors."""
|
"""Test Matter binary sensors."""
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
from matter_server.common.models.node import MatterNode
|
from matter_server.client.models.node import MatterNode
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
@ -34,7 +34,9 @@ async def test_contact_sensor(
|
||||||
assert state.state == "on"
|
assert state.state == "on"
|
||||||
|
|
||||||
set_node_attribute(contact_sensor_node, 1, 69, 0, False)
|
set_node_attribute(contact_sensor_node, 1, 69, 0, False)
|
||||||
await trigger_subscription_callback(hass, matter_client)
|
await trigger_subscription_callback(
|
||||||
|
hass, matter_client, data=(contact_sensor_node.node_id, "1/69/0", False)
|
||||||
|
)
|
||||||
|
|
||||||
state = hass.states.get("binary_sensor.mock_contact_sensor_contact")
|
state = hass.states.get("binary_sensor.mock_contact_sensor_contact")
|
||||||
assert state
|
assert state
|
||||||
|
@ -62,7 +64,9 @@ async def test_occupancy_sensor(
|
||||||
assert state.state == "on"
|
assert state.state == "on"
|
||||||
|
|
||||||
set_node_attribute(occupancy_sensor_node, 1, 1030, 0, 0)
|
set_node_attribute(occupancy_sensor_node, 1, 1030, 0, 0)
|
||||||
await trigger_subscription_callback(hass, matter_client)
|
await trigger_subscription_callback(
|
||||||
|
hass, matter_client, data=(occupancy_sensor_node.node_id, "1/1030/0", 0)
|
||||||
|
)
|
||||||
|
|
||||||
state = hass.states.get("binary_sensor.mock_occupancy_sensor_occupancy")
|
state = hass.states.get("binary_sensor.mock_occupancy_sensor_occupancy")
|
||||||
assert state
|
assert state
|
||||||
|
|
|
@ -6,7 +6,7 @@ from typing import Any
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
from matter_server.common.helpers.util import dataclass_from_dict
|
from matter_server.common.helpers.util import dataclass_from_dict
|
||||||
from matter_server.common.models.server_information import ServerDiagnostics
|
from matter_server.common.models import ServerDiagnostics
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from homeassistant.components.matter.const import DOMAIN
|
from homeassistant.components.matter.const import DOMAIN
|
||||||
|
@ -44,17 +44,15 @@ def device_diagnostics_fixture() -> dict[str, Any]:
|
||||||
|
|
||||||
async def test_matter_attribute_redact(device_diagnostics: dict[str, Any]) -> None:
|
async def test_matter_attribute_redact(device_diagnostics: dict[str, Any]) -> None:
|
||||||
"""Test the matter attribute redact helper."""
|
"""Test the matter attribute redact helper."""
|
||||||
assert device_diagnostics["attributes"]["0/40/6"]["value"] == "XX"
|
assert device_diagnostics["attributes"]["0/40/6"] == "XX"
|
||||||
|
|
||||||
redacted_device_diagnostics = redact_matter_attributes(device_diagnostics)
|
redacted_device_diagnostics = redact_matter_attributes(device_diagnostics)
|
||||||
|
|
||||||
# Check that the correct attribute value is redacted.
|
# Check that the correct attribute value is redacted.
|
||||||
assert (
|
assert redacted_device_diagnostics["attributes"]["0/40/6"] == "**REDACTED**"
|
||||||
redacted_device_diagnostics["attributes"]["0/40/6"]["value"] == "**REDACTED**"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Check that the other attribute values are not redacted.
|
# Check that the other attribute values are not redacted.
|
||||||
redacted_device_diagnostics["attributes"]["0/40/6"]["value"] = "XX"
|
redacted_device_diagnostics["attributes"]["0/40/6"] = "XX"
|
||||||
assert redacted_device_diagnostics == device_diagnostics
|
assert redacted_device_diagnostics == device_diagnostics
|
||||||
|
|
||||||
|
|
||||||
|
@ -107,5 +105,4 @@ async def test_device_diagnostics(
|
||||||
diagnostics = await get_diagnostics_for_device(
|
diagnostics = await get_diagnostics_for_device(
|
||||||
hass, hass_client, config_entry, device
|
hass, hass_client, config_entry, device
|
||||||
)
|
)
|
||||||
|
|
||||||
assert diagnostics == device_diagnostics_redacted
|
assert diagnostics == device_diagnostics_redacted
|
||||||
|
|
|
@ -7,9 +7,10 @@ from unittest.mock import AsyncMock, MagicMock, call, patch
|
||||||
|
|
||||||
from aiohttp import ClientWebSocketResponse
|
from aiohttp import ClientWebSocketResponse
|
||||||
from matter_server.client.exceptions import CannotConnect, InvalidServerVersion
|
from matter_server.client.exceptions import CannotConnect, InvalidServerVersion
|
||||||
|
from matter_server.client.models.node import MatterNode
|
||||||
|
from matter_server.common.errors import MatterError
|
||||||
from matter_server.common.helpers.util import dataclass_from_dict
|
from matter_server.common.helpers.util import dataclass_from_dict
|
||||||
from matter_server.common.models.error import MatterError
|
from matter_server.common.models import MatterNodeData
|
||||||
from matter_server.common.models.node import MatterNode
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from homeassistant.components.hassio import HassioAPIError
|
from homeassistant.components.hassio import HassioAPIError
|
||||||
|
@ -51,9 +52,11 @@ async def test_entry_setup_unload(
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test the integration set up and unload."""
|
"""Test the integration set up and unload."""
|
||||||
node_data = load_and_parse_node_fixture("onoff-light")
|
node_data = load_and_parse_node_fixture("onoff-light")
|
||||||
node = dataclass_from_dict(
|
node = MatterNode(
|
||||||
MatterNode,
|
dataclass_from_dict(
|
||||||
node_data,
|
MatterNodeData,
|
||||||
|
node_data,
|
||||||
|
)
|
||||||
)
|
)
|
||||||
matter_client.get_nodes.return_value = [node]
|
matter_client.get_nodes.return_value = [node]
|
||||||
matter_client.get_node.return_value = node
|
matter_client.get_node.return_value = node
|
||||||
|
|
|
@ -66,7 +66,7 @@ async def test_on_off_light(
|
||||||
assert matter_client.send_device_command.call_count == 1
|
assert matter_client.send_device_command.call_count == 1
|
||||||
assert matter_client.send_device_command.call_args == call(
|
assert matter_client.send_device_command.call_args == call(
|
||||||
node_id=light_node.node_id,
|
node_id=light_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.OnOff.Commands.Off(),
|
command=clusters.OnOff.Commands.Off(),
|
||||||
)
|
)
|
||||||
matter_client.send_device_command.reset_mock()
|
matter_client.send_device_command.reset_mock()
|
||||||
|
@ -84,7 +84,7 @@ async def test_on_off_light(
|
||||||
assert matter_client.send_device_command.call_count == 1
|
assert matter_client.send_device_command.call_count == 1
|
||||||
assert matter_client.send_device_command.call_args == call(
|
assert matter_client.send_device_command.call_args == call(
|
||||||
node_id=light_node.node_id,
|
node_id=light_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.OnOff.Commands.On(),
|
command=clusters.OnOff.Commands.On(),
|
||||||
)
|
)
|
||||||
matter_client.send_device_command.reset_mock()
|
matter_client.send_device_command.reset_mock()
|
||||||
|
@ -135,7 +135,7 @@ async def test_dimmable_light(
|
||||||
assert matter_client.send_device_command.call_count == 1
|
assert matter_client.send_device_command.call_count == 1
|
||||||
assert matter_client.send_device_command.call_args == call(
|
assert matter_client.send_device_command.call_args == call(
|
||||||
node_id=light_node.node_id,
|
node_id=light_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.LevelControl.Commands.MoveToLevelWithOnOff(
|
command=clusters.LevelControl.Commands.MoveToLevelWithOnOff(
|
||||||
level=128,
|
level=128,
|
||||||
transitionTime=0,
|
transitionTime=0,
|
||||||
|
@ -192,7 +192,7 @@ async def test_color_temperature_light(
|
||||||
[
|
[
|
||||||
call(
|
call(
|
||||||
node_id=light_node.node_id,
|
node_id=light_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.ColorControl.Commands.MoveToColorTemperature(
|
command=clusters.ColorControl.Commands.MoveToColorTemperature(
|
||||||
colorTemperature=3003,
|
colorTemperature=3003,
|
||||||
transitionTime=0,
|
transitionTime=0,
|
||||||
|
@ -200,7 +200,7 @@ async def test_color_temperature_light(
|
||||||
),
|
),
|
||||||
call(
|
call(
|
||||||
node_id=light_node.node_id,
|
node_id=light_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.OnOff.Commands.On(),
|
command=clusters.OnOff.Commands.On(),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
@ -268,14 +268,14 @@ async def test_extended_color_light(
|
||||||
[
|
[
|
||||||
call(
|
call(
|
||||||
node_id=light_node.node_id,
|
node_id=light_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.ColorControl.Commands.MoveToColor(
|
command=clusters.ColorControl.Commands.MoveToColor(
|
||||||
colorX=0.5 * 65536, colorY=0.5 * 65536, transitionTime=0
|
colorX=0.5 * 65536, colorY=0.5 * 65536, transitionTime=0
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
call(
|
call(
|
||||||
node_id=light_node.node_id,
|
node_id=light_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.OnOff.Commands.On(),
|
command=clusters.OnOff.Commands.On(),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
@ -298,14 +298,14 @@ async def test_extended_color_light(
|
||||||
[
|
[
|
||||||
call(
|
call(
|
||||||
node_id=light_node.node_id,
|
node_id=light_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.ColorControl.Commands.MoveToHueAndSaturation(
|
command=clusters.ColorControl.Commands.MoveToHueAndSaturation(
|
||||||
hue=0, saturation=0, transitionTime=0
|
hue=0, saturation=0, transitionTime=0
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
call(
|
call(
|
||||||
node_id=light_node.node_id,
|
node_id=light_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.OnOff.Commands.On(),
|
command=clusters.OnOff.Commands.On(),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
"""Test Matter sensors."""
|
"""Test Matter sensors."""
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
from matter_server.common.models.node import MatterNode
|
from matter_server.client.models.node import MatterNode
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
from unittest.mock import MagicMock, call
|
from unittest.mock import MagicMock, call
|
||||||
|
|
||||||
from chip.clusters import Objects as clusters
|
from chip.clusters import Objects as clusters
|
||||||
from matter_server.common.models.node import MatterNode
|
from matter_server.client.models.node import MatterNode
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
@ -46,7 +46,7 @@ async def test_turn_on(
|
||||||
assert matter_client.send_device_command.call_count == 1
|
assert matter_client.send_device_command.call_count == 1
|
||||||
assert matter_client.send_device_command.call_args == call(
|
assert matter_client.send_device_command.call_args == call(
|
||||||
node_id=switch_node.node_id,
|
node_id=switch_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.OnOff.Commands.On(),
|
command=clusters.OnOff.Commands.On(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -80,6 +80,6 @@ async def test_turn_off(
|
||||||
assert matter_client.send_device_command.call_count == 1
|
assert matter_client.send_device_command.call_count == 1
|
||||||
assert matter_client.send_device_command.call_args == call(
|
assert matter_client.send_device_command.call_args == call(
|
||||||
node_id=switch_node.node_id,
|
node_id=switch_node.node_id,
|
||||||
endpoint=1,
|
endpoint_id=1,
|
||||||
command=clusters.OnOff.Commands.Off(),
|
command=clusters.OnOff.Commands.Off(),
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Reference in a new issue