From 2664409e0c1058b9f291bb60425096292863910b Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Fri, 20 Oct 2023 18:12:55 -0400 Subject: [PATCH 01/44] Add a parser for CSA XML data models (#29888) * Move xml to say zapxml since that is the format * Start defining a data_model_xml parser (no functionality for now) * Start adding some basic support for data model xml parsing * make the DM parser executable * Start having the ability to parse clusters * More updates, we seem to have parsing for features * Hard-code global attributes * Remove some comments * Add enumeration handling * Add bitmap handling * Restyle * Parse structs * Re-organize parsing a bit * Make a linter happy * Another linter fix * Handling of events * More handling and logic on events * Add support for access privilege parsing * XMLs have maybe invalid enum entries. Handle them gracefully * More attribute handling updates * restyle * Support deprecate constraint * Support constraint decoding, apply on attributes for now * Restyle * Restyle * Field handling * Field handling * Some bug fixing * Start adding command handling * Restyle * Name normalization and more parsing updates * Name normalization and more parsing updates * Better messaging and fix constraint types * Restyle * Start creating a IDL codegen so we can self-test parsed output * Start with listing clusters * Enum listing * A lot more things supported * Attribute rendering * Support for string and octet string sizes * Timed command support * Restyle * Add descriptions to clusters * Attempt to fix up alignment of things * Alignment looks slightly better * Better command separation * Align comments * Align and output descriptions including clusters * More work regarding loop structures * Apply hex formatting to bitmaps. output now seems identical except one whitespace change * Identical output for now * Support API maturity. Notice that doccomments are lost on maturity :( * Fix doxygen parsing for api maturity at the cluster level * Restyle * Support endpoints, although that is not 1:1 as hex encoding and ordering for events is lost * Restyle * Add todo note that default value does not string escaping * Default rendering and add to files * More updates on file dependencies * Unit test IDL generator * Add the IDL unit test as a standard unit test * Update for python compatibility * Fix unit testing of builds when GSDK root is defined * Added a readme file * Restyle * Make xml parser use the idl codegen * Restyle * look to fix misspell warnings * Undo repo update * Fix linter errors * Codegen as idl for data_model_xml_parser.py * Parsing closer to matter idl content * more normalization and type processing * More mandatory conformance logic * Fix mandatory conditionals * Make unit test pass * Fix tests a bit more and make parsers better * Restyle * Ignore min/max values while parsing xmls, even though raw data internally contains them * Restyle * Fix space after click annotations * Compare support for human reviews * Restyle * Fix slash * Undo submodule change * fix xml to zapxml naming changes * Restyle * Update dates from 2022 to 2023 * Add note about the complex test input * Remove unused imports * Restyle * Add some commends based on code review * Add heuristic for setting enum and bitmap sizes, to make output from XML much more readable * Add support for timed and fabric scoped commands * Add missing import --------- Co-authored-by: Andrei Litvin --- .github/workflows/tests.yaml | 2 +- scripts/py_matter_idl/BUILD.gn | 2 +- scripts/py_matter_idl/files.gni | 11 +- .../matter_idl/data_model_xml/__init__.py | 128 ++++ .../data_model_xml/handlers/__init__.py | 34 ++ .../data_model_xml/handlers/base.py | 63 ++ .../data_model_xml/handlers/context.py | 123 ++++ .../data_model_xml/handlers/handlers.py | 547 ++++++++++++++++++ .../data_model_xml/handlers/parsing.py | 269 +++++++++ .../matter_idl/data_model_xml_parser.py | 181 ++++++ .../matter_idl/generators/idl/README.md | 2 +- .../matter_idl/test_data_model_xml.py | 274 +++++++++ .../{test_xml_parser.py => test_zapxml.py} | 0 .../{xml_parser.py => zapxml_parser.py} | 3 +- 14 files changed, 1633 insertions(+), 6 deletions(-) create mode 100644 scripts/py_matter_idl/matter_idl/data_model_xml/__init__.py create mode 100644 scripts/py_matter_idl/matter_idl/data_model_xml/handlers/__init__.py create mode 100644 scripts/py_matter_idl/matter_idl/data_model_xml/handlers/base.py create mode 100644 scripts/py_matter_idl/matter_idl/data_model_xml/handlers/context.py create mode 100644 scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py create mode 100644 scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py create mode 100755 scripts/py_matter_idl/matter_idl/data_model_xml_parser.py create mode 100755 scripts/py_matter_idl/matter_idl/test_data_model_xml.py rename scripts/py_matter_idl/matter_idl/{test_xml_parser.py => test_zapxml.py} (100%) rename scripts/py_matter_idl/matter_idl/{xml_parser.py => zapxml_parser.py} (96%) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index bb0a781f8b566c..1a2eedcb59c3a0 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -85,7 +85,7 @@ jobs: # run: | ./scripts/run_in_build_env.sh \ - "./scripts/py_matter_idl/matter_idl/xml_parser.py \ + "./scripts/py_matter_idl/matter_idl/zapxml_parser.py \ --no-print \ --log-level info \ src/app/zap-templates/zcl/data-model/chip/global-attributes.xml \ diff --git a/scripts/py_matter_idl/BUILD.gn b/scripts/py_matter_idl/BUILD.gn index c57df9b7d5287d..37b17477aabfbc 100644 --- a/scripts/py_matter_idl/BUILD.gn +++ b/scripts/py_matter_idl/BUILD.gn @@ -67,7 +67,7 @@ pw_python_package("matter_idl") { "matter_idl/test_matter_idl_parser.py", "matter_idl/test_generators.py", "matter_idl/test_idl_generator.py", - "matter_idl/test_xml_parser.py", + "matter_idl/test_zapxml.py", ] # TODO: at a future time consider enabling all (* or missing) here to get diff --git a/scripts/py_matter_idl/files.gni b/scripts/py_matter_idl/files.gni index cb54b253ef0615..fb9f3991b87c4c 100644 --- a/scripts/py_matter_idl/files.gni +++ b/scripts/py_matter_idl/files.gni @@ -23,6 +23,12 @@ matter_idl_generator_templates = [ matter_idl_generator_sources = [ "${chip_root}/scripts/py_matter_idl/matter_idl/__init__.py", "${chip_root}/scripts/py_matter_idl/matter_idl/backwards_compatibility.py", + "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/__init__.py", + "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/base.py", + "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/context.py", + "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py", + "${chip_root}/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py", "${chip_root}/scripts/py_matter_idl/matter_idl/generators/__init__.py", "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cpp/__init__.py", "${chip_root}/scripts/py_matter_idl/matter_idl/generators/cpp/application/__init__.py", @@ -38,16 +44,17 @@ matter_idl_generator_sources = [ "${chip_root}/scripts/py_matter_idl/matter_idl/matter_idl_parser.py", "${chip_root}/scripts/py_matter_idl/matter_idl/matter_idl_types.py", "${chip_root}/scripts/py_matter_idl/matter_idl/test_backwards_compatibility.py", + "${chip_root}/scripts/py_matter_idl/matter_idl/test_data_model_xml.py", "${chip_root}/scripts/py_matter_idl/matter_idl/test_generators.py", "${chip_root}/scripts/py_matter_idl/matter_idl/test_matter_idl_parser.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/test_xml_parser.py", - "${chip_root}/scripts/py_matter_idl/matter_idl/xml_parser.py", + "${chip_root}/scripts/py_matter_idl/matter_idl/test_zapxml.py", "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/__init__.py", "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/handlers/__init__.py", "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/handlers/base.py", "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/handlers/context.py", "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/handlers/handlers.py", "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml/handlers/parsing.py", + "${chip_root}/scripts/py_matter_idl/matter_idl/zapxml_parser.py", ] # All the files that the matter idl infrastructure will use diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/__init__.py b/scripts/py_matter_idl/matter_idl/data_model_xml/__init__.py new file mode 100644 index 00000000000000..fb0a0cf8d516a9 --- /dev/null +++ b/scripts/py_matter_idl/matter_idl/data_model_xml/__init__.py @@ -0,0 +1,128 @@ +# Copyright (c) 2022 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging +import typing +import xml.sax.handler +from dataclasses import dataclass +from typing import List, Optional, Union + +from matter_idl.data_model_xml.handlers import Context, DataModelXmlHandler +from matter_idl.matter_idl_types import Idl + + +class ParseHandler(xml.sax.handler.ContentHandler): + """A parser for data model XML data definitions. + + Defers its processing to DataModelXmlHandler and keeps track of: + - an internal context for all handlers + - the parsed Idl structure that is incrementally built + - sets up parsing location within the context + - keeps track of ParsePath + + Overall converts a python SAX handler into matter_idl.zapxml.handlers + """ + + def __init__(self, include_meta_data=True): + super().__init__() + self._idl = Idl() + self._processing_stack = [] + # Context persists across all + self._context = Context() + self._include_meta_data = include_meta_data + self._locator = None + + def PrepareParsing(self, filename): + # This is a bit ugly: filename keeps changing during parse + # IDL meta is not prepared for this (as source is XML and .matter is + # single file) + if self._include_meta_data: + self._idl.parse_file_name = filename + + self._context.file_name = filename + + def Finish(self) -> Idl: + self._context.PostProcess(self._idl) + return self._idl + + def startDocument(self): + if self._include_meta_data and self._locator: + self._context.locator = self._locator + self._processing_stack = [ + DataModelXmlHandler(self._context, self._idl)] + + def endDocument(self): + if len(self._processing_stack) != 1: + raise Exception("Unexpected nesting!") + + def startElement(self, name: str, attrs): + logging.debug("ELEMENT START: %r / %r" % (name, attrs)) + self._context.path.push(name) + self._processing_stack.append( + self._processing_stack[-1].GetNextProcessor(name, attrs)) + + def endElement(self, name: str): + logging.debug("ELEMENT END: %r" % name) + + last = self._processing_stack.pop() + last.EndProcessing() + + # important to pop AFTER processing end to allow processing + # end to access the current context + self._context.path.pop() + + def characters(self, content): + self._processing_stack[-1].HandleContent(content) + + +@dataclass +class ParseSource: + """Represents an input sopurce for ParseXmls. + + Allows for named data sources to be parsed. + """ + source: Union[str, typing.IO] # filename or stream + # actual filename to use, None if the source is a filename already + name: Optional[str] = None + + @ property + def source_file_name(self): + if self.name: + return self.name + return self.source # assume string + + +def ParseXmls(sources: List[ParseSource], include_meta_data=True) -> Idl: + """Parse one or more XML inputs and return the resulting Idl data. + + Params: + sources - what to parse + include_meta_data - if parsing location data should be included in the Idl + """ + handler = ParseHandler(include_meta_data=include_meta_data) + + for source in sources: + logging.info('Parsing %s...' % source.source_file_name) + handler.PrepareParsing(source.source_file_name) + + parser = xml.sax.make_parser() + parser.setContentHandler(handler) + try: + parser.parse(source.source) + except AssertionError as e: + logging.error("AssertionError %s at %r", e, + handler._context.GetCurrentLocationMeta()) + raise + + return handler.Finish() diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/__init__.py b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/__init__.py new file mode 100644 index 00000000000000..a2192ee010c46d --- /dev/null +++ b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/__init__.py @@ -0,0 +1,34 @@ +# Copyright (c) 2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from matter_idl.matter_idl_types import Idl + +from .base import BaseHandler +from .context import Context +from .handlers import ClusterHandler + + +class DataModelXmlHandler(BaseHandler): + """Handles the top level (/) of a data model xml file + """ + + def __init__(self, context: Context, idl: Idl): + super().__init__(context) + self._idl = idl + + def GetNextProcessor(self, name, attrs): + if name.lower() == 'cluster': + return ClusterHandler(self.context, self._idl, attrs) + else: + return BaseHandler(self.context) diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/base.py b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/base.py new file mode 100644 index 00000000000000..c446a2e4bb43d1 --- /dev/null +++ b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/base.py @@ -0,0 +1,63 @@ +# Copyright (c) 2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import enum + +from .context import Context + + +class HandledDepth: + """Defines how deep a XML element has been handled.""" + NOT_HANDLED = enum.auto() # Unknown/parsed element + ENTIRE_TREE = enum.auto() # Entire tree can be ignored + SINGLE_TAG = enum.auto() # Single tag processed, but not sub-items + + +class BaseHandler: + """A generic element handler. + + XML processing is done in the form of depth-first processing: + - Tree is descended into using `GetNextProcessor` + - Processors are expected to extend `BaseHandler` and allow for: + - GetNextProcessor to recurse + - HandleContent in case the text content is relevant + - EndProcessing once the entire tree has been walked (when xml element ends) + + BaseHandler keeps track if it has been handled or ot by its `_handled` setting and + init parameter. Non-handled elements will be tagged within the context, resulting + in logs. This is to detect if unknown/new tags appear in XML files. + """ + + def __init__(self, context: Context, handled=HandledDepth.NOT_HANDLED): + self.context = context + self._handled = handled + + def GetNextProcessor(self, name, attrs): + """Get the next processor to use for the given name""" + + if self._handled == HandledDepth.SINGLE_TAG: + handled = HandledDepth.NOT_HANDLED + else: + handled = self._handled + + return BaseHandler(context=self.context, handled=handled) + + def HandleContent(self, content): + """Processes some content""" + pass + + def EndProcessing(self): + """Finalizes the processing of the current element""" + if self._handled == HandledDepth.NOT_HANDLED: + self.context.MarkTagNotHandled() diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/context.py b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/context.py new file mode 100644 index 00000000000000..3e3220ee699c87 --- /dev/null +++ b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/context.py @@ -0,0 +1,123 @@ +# Copyright (c) 2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging +import xml.sax.xmlreader +from typing import List, Optional + +from matter_idl.matter_idl_types import Idl, ParseMetaData + + +class IdlPostProcessor: + """Defines a callback that will apply after an entire parsing + is complete. + """ + + def FinalizeProcessing(self, idl: Idl): + """Update idl with any post-processing directives.""" + pass + + +class ProcessingPath: + """Maintains the current path of tags within xml processing. + + As processing descents into an xml like `....` + paths will have contents like ['configurator', 'cluster', ...]. + + The main purpose for this is to log and keep track of what was visited + and in general to report things like 'this path found but was not handled'. + """ + + def __init__(self, paths: Optional[List[str]] = None): + if paths is None: + paths = [] + self.paths = paths + + def push(self, name: str): + self.paths.append(name) + + def pop(self): + self.paths.pop() + + def __str__(self): + return '::'.join(self.paths) + + def __repr__(self): + return 'ProcessingPath(%r)' % self.paths + + +class Context: + """ + Contains a processing state during XML reading. + + The purpose of this is to allow elements to interact with each other, share + data and defer processing. + + Usage: + - globally shared data: + > locator: parsing location, for error reporting + > path: current ProcessingPath for any logging of where we are located + - post-processing support: + > can register AddIdlPostProcessor to perform some processing once + a full parsing pass has been done + + More data may be added in time if it involves separate XML parse handlers + needing to interact with each other. + """ + + def __init__(self, locator: Optional[xml.sax.xmlreader.Locator] = None): + self.path = ProcessingPath() + self.locator = locator + self.file_name = None + self._not_handled: set[str] = set() + self._idl_post_processors: list[IdlPostProcessor] = [] + + def GetCurrentLocationMeta(self) -> Optional[ParseMetaData]: + if not self.locator: + return None + + return ParseMetaData(line=self.locator.getLineNumber(), column=self.locator.getColumnNumber()) + + def ParseLogLocation(self) -> Optional[str]: + if not self.file_name: + return None + meta = self.GetCurrentLocationMeta() + if not meta: + return None + + return f"{self.file_name}:{meta.line}:{meta.column}" + + def MarkTagNotHandled(self): + path = str(self.path) + if path not in self._not_handled: + msg = "TAG %s was not handled/recognized" % path + + where = self.ParseLogLocation() + if where: + msg = msg + " at " + where + + logging.warning(msg) + self._not_handled.add(path) + + def AddIdlPostProcessor(self, processor: IdlPostProcessor, has_priority: bool = False): + if has_priority: + self._idl_post_processors.insert(0, processor) + else: + self._idl_post_processors.append(processor) + + def PostProcess(self, idl: Idl): + for p in self._idl_post_processors: + p.FinalizeProcessing(idl) + + self._idl_post_processors = [] diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py new file mode 100644 index 00000000000000..955c5e4c06020d --- /dev/null +++ b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py @@ -0,0 +1,547 @@ +# Copyright (c) 2023 Project CHIP +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging + +from matter_idl.matter_idl_types import (Attribute, AttributeQuality, Bitmap, Cluster, ClusterSide, CommandQuality, ConstantEntry, + DataType, Enum, Field, FieldQuality, Idl, Struct, StructTag) + +from .base import BaseHandler, HandledDepth +from .context import Context +from .parsing import (ApplyConstraint, AttributesToAttribute, AttributesToBitFieldConstantEntry, AttributesToCommand, + AttributesToEvent, AttributesToField, NormalizeDataType, NormalizeName, ParseInt, StringToAccessPrivilege) + +LOGGER = logging.getLogger('data-model-xml-parser') + + +class FeaturesHandler(BaseHandler): + + def __init__(self, context: Context, cluster: Cluster): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + self._bitmap = Bitmap(name="Feature", base_type="bitmap32", entries=[]) + + def EndProcessing(self): + if self._bitmap.entries: + self._cluster.bitmaps.append(self._bitmap) + + def GetNextProcessor(self, name: str, attrs): + if name in {"section", "optionalConform"}: + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "feature": + self._bitmap.entries.append( + AttributesToBitFieldConstantEntry(attrs)) + # assume everything handled. Sub-item is only section + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + else: + return BaseHandler(self.context) + + +class BitmapHandler(BaseHandler): + def __init__(self, context: Context, cluster: Cluster, attrs): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + + # TODO: base type is GUESSED here because xml does not contain it + self._bitmap = Bitmap(name=NormalizeName( + attrs["name"]), base_type="UNKNOWN", entries=[]) + + def EndProcessing(self): + if not self._bitmap.entries: + return + + # try to find the best size that fits + # TODO: this is a pure heuristic. XML containing this would be better. + acceptable = {8, 16, 32} + for entry in self._bitmap.entries: + if entry.code > 0xFF: + acceptable.remove(8) + if entry.code > 0xFFFF: + acceptable.remove(16) + + if 8 in acceptable: + self._bitmap.base_type = "bitmap8" + elif 16 in acceptable: + self._bitmap.base_type = "bitmap16" + else: + self._bitmap.base_type = "bitmap32" + + self._cluster.bitmaps.append(self._bitmap) + + def GetNextProcessor(self, name: str, attrs): + if name == "section": + # Documentation data, skipped + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "bitfield": + self._bitmap.entries.append( + AttributesToBitFieldConstantEntry(attrs)) + # Assume fully handled. We do not parse "mandatoryConform and such" + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + else: + return BaseHandler(self.context) + + +class MandatoryConfirmFieldHandler(BaseHandler): + def __init__(self, context: Context, field: Field): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._field = field + self._hadConditions = False + + def GetNextProcessor(self, name: str, attrs): + self._hadConditions = True + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + + def EndProcessing(self): + # A mandatory conformance with conditions means it is + # optional in some cases + if self._hadConditions: + self._field.qualities |= FieldQuality.OPTIONAL + + +class FieldHandler(BaseHandler): + def __init__(self, context: Context, field: Field): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._field = field + + def GetNextProcessor(self, name: str, attrs): + if name == "constraint": + ApplyConstraint(attrs, self._field) + return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) + elif name == "mandatoryConform": + return MandatoryConfirmFieldHandler(self.context, self._field) + elif name == "optionalConform": + self._field.qualities |= FieldQuality.OPTIONAL + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "access": + # per-field access is not something we model + return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) + elif name == "quality": + if "nullable" in attrs and attrs["nullable"] != "false": + self._field.qualities = self._field.qualities | FieldQuality.NULLABLE + return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) + elif name == "enum": + LOGGER.warning( + f"Anonymous enumeration not supported when handling field {self._field.name}") + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "bitmap": + LOGGER.warning( + f"Anonymous bitmap not supported when handling field {self._field.name}") + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "entry": + # Lists have "type=list" and then the type is inside entry + + if self._field.data_type.name != "list": + LOGGER.warning( + f"Entry type provided for non-list element {self._field.name}") + + assert "type" in attrs + + self._field.is_list = True + self._field.data_type.name = NormalizeDataType(attrs["type"]) + + return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) + else: + return BaseHandler(self.context) + + +class StructHandler(BaseHandler): + def __init__(self, context: Context, cluster: Cluster, attrs): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + self._struct = Struct(name=NormalizeName(attrs["name"]), fields=[]) + + def EndProcessing(self): + self._cluster.structs.append(self._struct) + + def GetNextProcessor(self, name: str, attrs): + if name == "section": + # Documentation data, skipped + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "field": + field = AttributesToField(attrs) + self._struct.fields.append(field) + return FieldHandler(self.context, field) + else: + return BaseHandler(self.context) + + +class EventHandler(BaseHandler): + def __init__(self, context: Context, cluster: Cluster, attrs): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + self._event = AttributesToEvent(attrs) + + def EndProcessing(self): + self._cluster.events.append(self._event) + + def GetNextProcessor(self, name: str, attrs): + if name == "section": + # Documentation data, skipped + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "field": + field = AttributesToField(attrs) + self._event.fields.append(field) + return FieldHandler(self.context, field) + elif name == "mandatoryConform": + # assume handled (we do not record conformance in IDL) + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "access": + if "readPrivilege" in attrs: + self._event.readacl = StringToAccessPrivilege( + attrs["readPrivilege"]) + return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) + else: + return BaseHandler(self.context) + + +class EnumHandler(BaseHandler): + def __init__(self, context: Context, cluster: Cluster, attrs): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + + # TODO: base type is GUESSED here because xml does not contain it + self._enum = Enum(name=NormalizeName( + attrs["name"]), base_type="UNKNOWN", entries=[]) + + def EndProcessing(self): + if not self._enum.entries: + return + + # try to find the best enum size that fits out of enum8, enum32 and enum32 + # TODO: this is a pure heuristic. XML containing this would be better. + acceptable = {8, 16, 32} + for entry in self._enum.entries: + if entry.code > 0xFF: + acceptable.remove(8) + if entry.code > 0xFFFF: + acceptable.remove(16) + + if 8 in acceptable: + self._enum.base_type = "enum8" + elif 16 in acceptable: + self._enum.base_type = "enum16" + else: + self._enum.base_type = "enum32" + + self._cluster.enums.append(self._enum) + + def GetNextProcessor(self, name: str, attrs): + if name == "section": + # Documentation data, skipped + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "item": + for key in ["name", "value"]: + if key not in attrs: + logging.error("Enumeration %s entry is missing a '%s' entry (at %r)", + self._enum.name, key, self.context.GetCurrentLocationMeta()) + # bad entry, nothing I can do about it. + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + + self._enum.entries.append( + ConstantEntry( + name="k" + NormalizeName(attrs["name"]), code=ParseInt(attrs["value"])) + ) + # Assume fully handled + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + else: + return BaseHandler(self.context) + + +class EventsHandler(BaseHandler): + def __init__(self, context: Context, cluster: Cluster): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + + def GetNextProcessor(self, name: str, attrs): + if name == "section": + # Documentation data, skipped + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "event": + return EventHandler(self.context, self._cluster, attrs) + else: + return BaseHandler(self.context) + + +class AttributeHandler(BaseHandler): + def __init__(self, context: Context, cluster: Cluster, attrs): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + self._attribute = AttributesToAttribute(attrs) + self._deprecated = False + + def EndProcessing(self): + if self._deprecated: + # Deprecation skips processing + return + + self._cluster.attributes.append(self._attribute) + + def GetNextProcessor(self, name: str, attrs): + if name == "enum": + LOGGER.warning( + f"Anonymous enumeration not supported when handling attribute {self._cluster.name}::{self._attribute.definition.name}") + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "bitmap": + LOGGER.warning( + f"Anonymous bitmap not supported when handling attribute {self._cluster.name}::{self._attribute.definition.name}") + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "access": + if "readPrivilege" in attrs: + self._attribute.readacl = StringToAccessPrivilege( + attrs["readPrivilege"]) + + if "writePrivilege" in attrs: + self._attribute.writeacl = StringToAccessPrivilege( + attrs["writePrivilege"]) + + if "read" in attrs and attrs["read"] != "false": + self._attribute.qualities = self._attribute.qualities | AttributeQuality.READABLE + + if "write" in attrs and attrs["write"] != "false": + self._attribute.qualities = self._attribute.qualities | AttributeQuality.WRITABLE + + if "timed" in attrs and attrs["timed"] != "false": + self._attribute.qualities = self._attribute.qualities | AttributeQuality.TIMED_WRITE + return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) + elif name == "quality": + # Out of the many interesting bits, only "nullable" seems relevant for codegen + if "nullable" in attrs and attrs["nullable"] != "false": + self._attribute.definition.qualities |= FieldQuality.NULLABLE + return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) + elif name == "optionalConform": + self._attribute.definition.qualities |= FieldQuality.OPTIONAL + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "mandatoryConform": + return MandatoryConfirmFieldHandler(self.context, self._attribute.definition) + elif name == "deprecateConform": + self._deprecated = True + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "constraint": + ApplyConstraint(attrs, self._attribute.definition) + return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) + else: + return BaseHandler(self.context) + + +class AttributesHandler(BaseHandler): + def __init__(self, context: Context, cluster: Cluster): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + + def GetNextProcessor(self, name: str, attrs): + if name == "attribute": + return AttributeHandler(self.context, self._cluster, attrs) + else: + return BaseHandler(self.context) + + +class CommandHandler(BaseHandler): + def __init__(self, context: Context, cluster: Cluster, attrs): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + + # Command information layout: + # "response": + # - is mandatory for "requests" and contains + # 'Y' for default response and something else + # for non-default responses + # "direction": + # - sometimes missing (seems to just be request to client) + # - "commandToClient" + # - "responseFromServer" + # + + # Heuristic logic of direction: + # - if we have a response, this must be a request + # - if direction is "commandToClient" it should be a request + # - if direction is "responseFromServer" it should be a response + # otherwise guess + + if "response" in attrs: + is_command = True + elif ("direction" in attrs) and attrs["direction"] == "commandToClient": + is_command = True + elif ("direction" in attrs) and attrs["direction"] == "responseFromServer": + is_command = False # response + else: + LOGGER.warn("Could not clearly determine command direction: %s" % + [item for item in attrs.items()]) + # Do a best-guess. However we should NOT need to guess once + # we have a good data set + is_command = not attrs["name"].endswith("Response") + + if is_command: + self._command = AttributesToCommand(attrs) + self._struct = Struct(name=NormalizeName(attrs["name"] + "Request"), + fields=[], + tag=StructTag.REQUEST, + ) + else: + self._command = None + self._struct = Struct( + name=NormalizeName(attrs["name"]), + fields=[], + code=ParseInt(attrs["id"]), + tag=StructTag.RESPONSE, + ) + + def EndProcessing(self): + if self._struct and self._struct.fields: + # A valid structure exists ... + self._cluster.structs.append(self._struct) + + if self._command: + # Input structure is well defined, set it + self._command.input_param = self._struct.name + + if self._command: + self._cluster.commands.append(self._command) + + def GetNextProcessor(self, name: str, attrs): + if name in {"mandatoryConform", "optionalConform", "disallowConform"}: + # Unclear how commands may be optional or mandatory + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "access": + # + if "invokePrivilege" in attrs: + if self._command: + self._command.invokeacl = StringToAccessPrivilege( + attrs["invokePrivilege"]) + else: + LOGGER.warn( + f"Ignoring invoke privilege for {self._struct.name}") + + if "timed" in attrs and attrs["timed"] != "false": + self._command.qualities |= CommandQuality.TIMED_INVOKE + + if "fabricScoped" in attrs and attrs["fabricScoped"] != "false": + self._command.qualities |= CommandQuality.FABRIC_SCOPED + + return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) + elif name == "field": + field = AttributesToField(attrs) + self._struct.fields.append(field) + return FieldHandler(self.context, field) + else: + return BaseHandler(self.context) + + +class CommandsHandler(BaseHandler): + def __init__(self, context: Context, cluster: Cluster): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + + def GetNextProcessor(self, name: str, attrs): + if name == "command": + return CommandHandler(self.context, self._cluster, attrs) + elif name in {"mandatoryConform", "optionalConform"}: + # Nothing to tag conformance + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + else: + return BaseHandler(self.context) + + +class DataTypesHandler(BaseHandler): + def __init__(self, context: Context, cluster: Cluster): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._cluster = cluster + + def GetNextProcessor(self, name: str, attrs): + if name == "section": + # Documentation data, skipped + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "number": + # Seems like a documentation of a number format + # + # TODO: actually ensure this has no meaning + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "enum": + return EnumHandler(self.context, self._cluster, attrs) + elif name == "bitmap": + return BitmapHandler(self.context, self._cluster, attrs) + elif name == "struct": + return StructHandler(self.context, self._cluster, attrs) + else: + return BaseHandler(self.context) + + +class ClusterHandler(BaseHandler): + """ Handling /cluster elements.""" + + def __init__(self, context: Context, idl: Idl, attrs): + super().__init__(context, handled=HandledDepth.SINGLE_TAG) + self._idl = idl + + assert ("name" in attrs) + assert ("id" in attrs) + + self._cluster = Cluster( + side=ClusterSide.CLIENT, + name=NormalizeName(attrs["name"]), + code=ParseInt(attrs["id"]), + parse_meta=context.GetCurrentLocationMeta() + ) + + def EndProcessing(self): + # Global things MUST be available everywhere + to_add = [ + # type, code, name, is_list + ('attrib_id', 65531, 'attributeList', True), + ('event_id', 65530, 'eventList', True), + ('command_id', 65529, 'acceptedCommandList', True), + ('command_id', 65528, 'generatedCommandList', True), + ('bitmap32', 65532, 'featureMap', False), + ('int16u', 65533, 'clusterRevision', False), + ] + + for data_type, code, name, is_list in to_add: + self._cluster.attributes.append(Attribute(definition=Field( + data_type=DataType(name=data_type), + code=code, + name=name, + is_list=is_list, + ), qualities=AttributeQuality.READABLE)) + self._idl.clusters.append(self._cluster) + + def GetNextProcessor(self, name: str, attrs): + if name == "revisionHistory": + # Revision history COULD be used to find the latest revision of a cluster + # however current IDL files do NOT have a revision info field + # + # NOTE: we COULD set this as a `default` for attribute clusterRevision, however this will likely + # not match with what matter IDL would parse into. + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "section": + # Documentation data, skipped + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "classification": + # Not an obvious mapping in the existing data model. + # + # TODO IFF hierarchy == derived, we should use baseCluster + # + # Other elements like role, picsCode, scope and primaryTransaction seem + # to not be used + return BaseHandler(self.context, handled=HandledDepth.ENTIRE_TREE) + elif name == "features": + return FeaturesHandler(self.context, self._cluster) + elif name == "dataTypes": + return DataTypesHandler(self.context, self._cluster) + elif name == "events": + return EventsHandler(self.context, self._cluster) + elif name == "attributes": + return AttributesHandler(self.context, self._cluster) + elif name == "commands": + return CommandsHandler(self.context, self._cluster) + else: + return BaseHandler(self.context) diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py new file mode 100644 index 00000000000000..a6b7b4287ef5fa --- /dev/null +++ b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py @@ -0,0 +1,269 @@ +# Copyright (c) 2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging +import re +from typing import Optional + +from matter_idl.generators.types import GetDataTypeSizeInBits, IsSignedDataType +from matter_idl.matter_idl_types import AccessPrivilege, Attribute, Command, ConstantEntry, DataType, Event, EventPriority, Field + +LOGGER = logging.getLogger('data-model-xml-data-parsing') + + +def ParseInt(value: str, data_type: Optional[DataType] = None) -> int: + """ + Convert a string that is a known integer into an actual number. + + Supports decimal or hex values prefixed with '0x' + """ + if value.startswith('0x'): + parsed = int(value[2:], 16) + if data_type and IsSignedDataType(data_type): + bits = GetDataTypeSizeInBits(data_type) + assert (bits) # size MUST be known + if parsed & (1 << (bits - 1)): + parsed -= 1 << bits + return parsed + else: + return int(value) + + +def ParseOptionalInt(value: str) -> Optional[int]: + """Parses numbers as long as they are in an expected format of numbers. + + "1" parses to 1 + "0x12" parses to 18 + "Min" parses to None + """ + if re.match("^-?((0x[0-9a-fA-F]*)|([0-9]*))$", value): + return ParseInt(value) + + return None + + +_TYPE_REMAP = { + # unsigned + "uint8": "int8u", + "uint16": "int16u", + "uint24": "int24u", + "uint32": "int32u", + "uint48": "int48u", + "uint52": "int52u", + "uint64": "int54u", + # signed + "sint8": "int8s", + "sint16": "int16s", + "sint24": "int24s", + "sint32": "int32s", + "sint48": "int48s", + "sint52": "int52s", + "sint64": "int54s", + # other + "bool": "boolean", + "string": "char_string", + "octets": "octet_string", +} + + +def NormalizeDataType(t: str) -> str: + """Convert data model xml types into matter idl types.""" + return _TYPE_REMAP.get(t.lower(), t.replace("-", "_")) + + +def NormalizeName(name: str) -> str: + """Convert a free form name from the spec into a programming language + name that is appropriate for matter IDL. + """ + + # Trim human name separators + for separator in " /-": + name = name.replace(separator, '_') + while '__' in name: + name = name.replace('__', '_') + + # NOTE: zapt generators for IDL files use a construct of the form + # `{{asUpperCamelCase name preserveAcronyms=true}}` + # and it is somewhat unclear what preserveAcronyms will do. + # + # Current assumption is that spec already has acronyms set in + # the correct place and at least for some basic tests this method + # generates good names + # + # If any acronyms seem off in naming at some point, more logic may + # be needed here. + + # At this point, we remove all _ and make sure _ is followed by an uppercase + while name.endswith('_'): + name = name[:-1] + + while '_' in name: + idx = name.find('_') + name = name[:idx] + name[idx+1].upper() + name[idx+2:] + + return name + + +def FieldName(name: str) -> str: + """Normalized name with the first letter lowercase. """ + name = NormalizeName(name) + return name[0].lower() + name[1:] + + +def AttributesToField(attrs) -> Field: + assert "name" in attrs + assert "id" in attrs + assert "type" in attrs + + return Field( + name=FieldName(attrs["name"]), + code=ParseInt(attrs["id"]), + data_type=DataType(name=NormalizeDataType(attrs["type"])) + ) + + +def AttributesToBitFieldConstantEntry(attrs) -> ConstantEntry: + """Creates a constant entry appropriate for bitmaps. + """ + assert ("name" in attrs) + assert ("bit" in attrs) + + return ConstantEntry(name="k" + NormalizeName(attrs["name"]), code=1 << ParseInt(attrs["bit"])) + + +def AttributesToAttribute(attrs) -> Attribute: + assert "name" in attrs + assert "id" in attrs + + if "type" in attrs: + attr_type = NormalizeDataType(attrs["type"]) + else: + # TODO: we should NOT have this, however we are now lenient + # to bad input data + LOGGER.error(f"Attribute {attrs['name']} has no type") + attr_type = "sint32" + + return Attribute( + definition=Field( + code=ParseInt(attrs["id"]), + name=FieldName(attrs["name"]), + data_type=DataType(name=attr_type), + ) + ) + + +def AttributesToEvent(attrs) -> Event: + assert "name" in attrs + assert "id" in attrs + assert "priority" in attrs + + if attrs["priority"] == "critical": + priority = EventPriority.CRITICAL + elif attrs["priority"] == "info": + priority = EventPriority.INFO + elif attrs["priority"] == "debug": + priority = EventPriority.DEBUG + elif attrs["priority"] == "desc": + LOGGER.warn("Found an event with 'desc' priority: %s" % + [item for item in attrs.items()]) + priority = EventPriority.CRITICAL + else: + raise Exception("UNKNOWN event priority: %r" % attrs["priority"]) + + return Event( + name=NormalizeName(attrs["name"]), + code=ParseInt(attrs["id"]), + priority=priority, + fields=[]) + + +def StringToAccessPrivilege(value: str) -> AccessPrivilege: + if value == "view": + return AccessPrivilege.VIEW + elif value == "operate": + return AccessPrivilege.OPERATE + elif value == "manage": + return AccessPrivilege.MANAGE + elif value == "admin": + return AccessPrivilege.ADMINISTER + else: + raise Exception("UNKNOWN privilege level: %r" % value) + + +def AttributesToCommand(attrs) -> Command: + assert "id" in attrs + assert "name" in attrs + + if "response" not in attrs: + LOGGER.warn(f"Command {attrs['name']} has no response set.") + # Matter IDL has no concept of "no response sent" + # Example is DoorLock::"Operating Event Notification" + # + # However that is not in the impl in general + # it is unclear what to do here (and what "NOT" is as conformance) + + output_param = "DefaultSuccess" + else: + output_param = NormalizeName(attrs["response"]) + if output_param == "Y": + output_param = "DefaultSuccess" # IDL name for no specific struct + + return Command( + name=NormalizeName(attrs["name"]), + code=ParseInt(attrs["id"]), + input_param=None, # not specified YET + output_param=output_param + ) + + +def ApplyConstraint(attrs, field: Field): + """ + Handles constraints according to Matter IDL formats. + + Specifically it does NOT handle min/max values as current IDL + format does not support having such values defined. + """ + assert "type" in attrs + + constraint_type = attrs["type"] + + if constraint_type == "allowed": + pass # unsure what to do allowed + elif constraint_type == "desc": + pass # free-form description + elif constraint_type in {"countBetween", "maxCount"}: + pass # cannot implement count + elif constraint_type == "min": + # field.data_type.min_value = ParseOptionalInt(attrs["value"]) + pass + elif constraint_type == "max": + # field.data_type.max_value = ParseOptionalInt(attrs["value"]) + pass + elif constraint_type == "between": + # TODO: examples existing in the parsed data which are NOT + # handled: + # - from="-2.5°C" to="2.5°C" + # - from="0%" to="100%" + # field.data_type.min_value = ParseOptionalInt(attrs["from"]) + # field.data_type.max_value = ParseOptionalInt(attrs["to"]) + pass + elif constraint_type == "maxLength": + field.data_type.max_length = ParseOptionalInt(attrs["value"]) + elif constraint_type == "minLength": + field.data_type.min_length = ParseOptionalInt(attrs["value"]) + elif constraint_type == "lengthBetween": + field.data_type.min_length = ParseOptionalInt(attrs["from"]) + field.data_type.max_length = ParseOptionalInt(attrs["to"]) + else: + logging.error(f"UNKNOWN constraint type {constraint_type}") diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml_parser.py b/scripts/py_matter_idl/matter_idl/data_model_xml_parser.py new file mode 100755 index 00000000000000..e0878572d0536f --- /dev/null +++ b/scripts/py_matter_idl/matter_idl/data_model_xml_parser.py @@ -0,0 +1,181 @@ +#!/usr/bin/env python3 +# Copyright (c) 2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging +import os +import sys +from typing import Optional + +import click + +try: + from matter_idl.data_model_xml import ParseSource, ParseXmls +except ImportError: + sys.path.append(os.path.abspath( + os.path.join(os.path.dirname(__file__), '..'))) + from matter_idl.data_model_xml import ParseSource, ParseXmls + +from matter_idl.generators import GeneratorStorage +from matter_idl.generators.idl import IdlGenerator +from matter_idl.matter_idl_parser import CreateParser +from matter_idl.matter_idl_types import Idl + + +class InMemoryStorage(GeneratorStorage): + def __init__(self): + super().__init__() + self.content: Optional[str] = None + + def get_existing_data(self, relative_path: str): + # Force re-generation each time + return None + + def write_new_data(self, relative_path: str, content: str): + if self.content: + raise Exception( + "Unexpected extra data: single file generation expected") + self.content = content + + +def normalize_order(idl: Idl): + """Re-sorts contents of things inside a cluster so that + output is easily diffed by humans + """ + + # This method exists because `zapt` generation of IDL files + # are generally based on SQL select query ordering, likely + # with some sort fields to achieve determinism + # + # However overall, especially if manual editing, it seems + # easier to just fix a sort order instead of trying to + # match another tool ordering that resides in another + # code location. + + idl.clusters.sort(key=lambda c: c.name) + + for cluster in idl.clusters: + cluster.enums.sort(key=lambda e: e.name) + cluster.bitmaps.sort(key=lambda b: b.name) + cluster.events.sort(key=lambda e: e.code) + cluster.attributes.sort(key=lambda a: a.definition.code) + cluster.structs.sort(key=lambda s: s.name) + cluster.commands.sort(key=lambda c: c.code) + + +# Supported log levels, mapping string values required for argument +# parsing into logging constants +__LOG_LEVELS__ = { + 'debug': logging.DEBUG, + 'info': logging.INFO, + 'warn': logging.WARN, + 'fatal': logging.FATAL, +} + + +@click.command() +@click.option( + '--log-level', + default='INFO', + show_default=True, + type=click.Choice(list(__LOG_LEVELS__.keys()), case_sensitive=False), + help='Determines the verbosity of script output.') +@click.option( + '--no-print', + show_default=True, + default=False, + is_flag=True, + help='Do not pring output data (parsed data)') +@click.option( + "-o", + "--output", + default=None, + type=click.Path(), + help="Where to output the parsed IDL." +) +@click.option( + "--compare", + default=None, + type=click.Path(exists=True), + help="An input .matter IDL to compare with." +) +@click.option( + "--compare-output", + default=None, + type=click.Path(), + help="Where to output the compare IDL" +) +@click.argument('filenames', nargs=-1) +def main(log_level, no_print, output, compare, compare_output, filenames): + """ + A program supporting parsing of CSA data model XML files and generating them + as human readable IDL output. + + Also supports parsing and generating a diff against an existing .matter file, + such as using: + + \b + ./scripts/py_matter_idl/matter_idl/data_model_xml_parser.py \\ + --compare src/controller/data_model/controller-clusters.matter \\ + --compare-output out/orig.matter \\ + --output out/from_xml.matter \\ + data_model/clusters/Switch.xml + """ + logging.basicConfig( + level=__LOG_LEVELS__[log_level], + format='%(asctime)s %(levelname)-7s %(message)s', + ) + + if (compare is None) != (compare_output is None): + logging.error( + "Either both or none of --compare AND --compare-output must be set") + sys.exit(1) + + logging.info("Starting to parse ...") + + sources = [ParseSource(source=name) for name in filenames] + data = ParseXmls(sources) + logging.info("Parse completed") + + if compare: + other_idl = CreateParser(skip_meta=True).parse( + open(compare).read(), file_name=compare) + + # ensure that input file is filtered to only interesting + # clusters + loaded_clusters = set([c.code for c in data.clusters]) + other_idl.clusters = [ + c for c in other_idl.clusters if c.code in loaded_clusters] + + # Ensure consistent ordering for compares + normalize_order(data) + normalize_order(other_idl) + + storage = InMemoryStorage() + IdlGenerator(storage=storage, idl=other_idl).render(dry_run=False) + with open(compare_output, 'wt', encoding="utf8") as o: + o.write(storage.content) + + storage = InMemoryStorage() + IdlGenerator(storage=storage, idl=data).render(dry_run=False) + + if output: + with open(output, 'wt', encoding="utf8") as o: + o.write(storage.content) + elif not no_print: + print(storage.content) + + +if __name__ == '__main__': + main(auto_envvar_prefix='CHIP') diff --git a/scripts/py_matter_idl/matter_idl/generators/idl/README.md b/scripts/py_matter_idl/matter_idl/generators/idl/README.md index 81e4b92c05e535..c19b428482e017 100644 --- a/scripts/py_matter_idl/matter_idl/generators/idl/README.md +++ b/scripts/py_matter_idl/matter_idl/generators/idl/README.md @@ -26,7 +26,7 @@ A XML parser will use this code generator to output a human readable view of the parsed data: ``` -./scripts/py_matter_idl/matter_idl/xml_parser.py \ +./scripts/py_matter_idl/matter_idl/zapxml_parser.py \ ./src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml \ ./src/app/zap-templates/zcl/data-model/chip/global-attributes.xm ``` diff --git a/scripts/py_matter_idl/matter_idl/test_data_model_xml.py b/scripts/py_matter_idl/matter_idl/test_data_model_xml.py new file mode 100755 index 00000000000000..b53a6e3c38fd43 --- /dev/null +++ b/scripts/py_matter_idl/matter_idl/test_data_model_xml.py @@ -0,0 +1,274 @@ +#!/usr/bin/env python3 +# Copyright (c) 2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import io +import unittest +from typing import List, Union + +try: + from matter_idl.data_model_xml import ParseSource, ParseXmls +except ImportError: + import os + import sys + + sys.path.append(os.path.abspath( + os.path.join(os.path.dirname(__file__), '..'))) + from matter_idl.data_model_xml import ParseSource, ParseXmls + +from matter_idl.matter_idl_types import Idl +from matter_idl_parser import CreateParser + + +def XmlToIdl(what: Union[str, List[str]]) -> Idl: + if not isinstance(what, list): + what = [what] + + sources = [] + for idx, txt in enumerate(what): + sources.append(ParseSource(source=io.StringIO( + txt), name=("Input %d" % (idx + 1)))) + + return ParseXmls(sources, include_meta_data=False) + + +def IdlTextToIdl(what: str) -> Idl: + return CreateParser(skip_meta=True).parse(what) + + +class TestXmlParser(unittest.TestCase): + + def __init__(self, *args, **kargs): + super().__init__(*args, **kargs) + self.maxDiff = None + + def testBasicInput(self): + + xml_idl = XmlToIdl(''' + + ''') + + expected_idl = IdlTextToIdl(''' + client cluster Test = 123 { + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute event_id eventList[] = 65530; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + } + ''') + + self.assertEqual(xml_idl, expected_idl) + + def testComplexInput(self): + # This parses a known copy of Switch.xml which happens to be fully + # spec-conformant (so assuming it as a good input) + xml_idl = XmlToIdl(''' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ''') + + expected_idl = IdlTextToIdl(''' + client cluster Switch = 59 { + bitmap Feature : bitmap32 { + kLatchingSwitch = 0x1; + kMomentarySwitch = 0x2; + kMomentarySwitchRelease = 0x4; + kMomentarySwitchLongPress = 0x8; + kMomentarySwitchMultiPress = 0x10; + } + + info event SwitchLatched = 0 { + int8u newPosition = 0; + } + + info event InitialPress = 1 { + int8u newPosition = 0; + } + + info event LongPress = 2 { + int8u newPosition = 0; + } + + info event ShortRelease = 3 { + int8u previousPosition = 0; + } + + info event LongRelease = 4 { + int8u previousPosition = 0; + } + + info event MultiPressOngoing = 5 { + int8u newPosition = 0; + int8u currentNumberOfPressesCounted = 1; + } + + info event MultiPressComplete = 6 { + int8u previousPosition = 0; + int8u totalNumberOfPressesCounted = 1; + } + + readonly attribute int8u numberOfPositions = 0; + readonly attribute int8u currentPosition = 1; + readonly attribute optional int8u multiPressMax = 2; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute event_id eventList[] = 65530; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + } + ''') + + self.assertEqual(xml_idl, expected_idl) + + +if __name__ == '__main__': + unittest.main() diff --git a/scripts/py_matter_idl/matter_idl/test_xml_parser.py b/scripts/py_matter_idl/matter_idl/test_zapxml.py similarity index 100% rename from scripts/py_matter_idl/matter_idl/test_xml_parser.py rename to scripts/py_matter_idl/matter_idl/test_zapxml.py diff --git a/scripts/py_matter_idl/matter_idl/xml_parser.py b/scripts/py_matter_idl/matter_idl/zapxml_parser.py similarity index 96% rename from scripts/py_matter_idl/matter_idl/xml_parser.py rename to scripts/py_matter_idl/matter_idl/zapxml_parser.py index d20bdb9dda67ec..1f9593cd2a74f4 100755 --- a/scripts/py_matter_idl/matter_idl/xml_parser.py +++ b/scripts/py_matter_idl/matter_idl/zapxml_parser.py @@ -44,7 +44,8 @@ def get_existing_data(self, relative_path: str): def write_new_data(self, relative_path: str, content: str): if self.content: - raise Exception("Unexpected extra data: single file generation expected") + raise Exception( + "Unexpected extra data: single file generation expected") self.content = content # Supported log levels, mapping string values required for argument From 7966379f2990f9c09f3f32739693f582aa23acfc Mon Sep 17 00:00:00 2001 From: pankore <86098180+pankore@users.noreply.github.com> Date: Sat, 21 Oct 2023 06:13:30 +0800 Subject: [PATCH 02/44] [Ameba] Additional Ameba Implementation (#29720) * [Ameba] added implementation for manual operation of several clusters (dishwasher alarm, refrigerator alarm, operational state, rvc operational state, rvc runmode, and rvc cleanmode), test event trigger for smoke alarm, shutdown function of CHIPDeviceManager, and init laundrywashercontrolserver * [Ameba] Run restyle-diff.sh, and modified cmake configuration to add additional implementation * [Ameba] Added CONFIG_ENABLE_AMEBA_TEST_EVENT_TRIGGER macro * [Ameba] added CONFIG_ENABLE_AMEBA_TEST_EVENT_TRIGGER define flag at cmake * [Ameba] Updated switch case at ManualOperationalStateCommand.h and updated raise and lower alarm function at ManualDishWasherAlarmCommand.h * [Ameba] Updated RvcOperationalState::ErrorStateEnum::kUnknownEnumValue to OperationalState::ErrorStateEnum::kUnknownEnumValue because it was removed, and added minor comments. --- .../all-clusters-app/ameba/chip_main.cmake | 12 +- .../ameba/main/CHIPDeviceManager.cpp | 6 + .../ameba/main/ManualOperationCommand.cpp | 159 +++++++++++++++ .../ameba/main/OperationalStateManager.cpp | 173 ++++++++++++++++ .../ameba/main/SmokeCOAlarmManager.cpp | 171 ++++++++++++++++ .../ameba/main/chipinterface.cpp | 32 +++ .../ameba/main/include/CHIPDeviceManager.h | 2 + .../include/ManualDishWasherAlarmCommand.h | 172 ++++++++++++++++ .../main/include/ManualOperationCommand.h | 26 +++ .../include/ManualOperationalStateCommand.h | 185 ++++++++++++++++++ .../main/include/ManualRVCModesCommand.h | 135 +++++++++++++ .../include/ManualRefrigeratorAlarmCommand.h | 160 +++++++++++++++ .../main/include/OperationalStateManager.h | 162 +++++++++++++++ .../ameba/main/include/SmokeCOAlarmManager.h | 47 +++++ .../AmebaTestEventTriggerDelegate.cpp | 37 ++++ .../AmebaTestEventTriggerDelegate.h | 61 ++++++ 16 files changed, 1538 insertions(+), 2 deletions(-) create mode 100644 examples/all-clusters-app/ameba/main/ManualOperationCommand.cpp create mode 100644 examples/all-clusters-app/ameba/main/OperationalStateManager.cpp create mode 100644 examples/all-clusters-app/ameba/main/SmokeCOAlarmManager.cpp create mode 100644 examples/all-clusters-app/ameba/main/include/ManualDishWasherAlarmCommand.h create mode 100644 examples/all-clusters-app/ameba/main/include/ManualOperationCommand.h create mode 100644 examples/all-clusters-app/ameba/main/include/ManualOperationalStateCommand.h create mode 100644 examples/all-clusters-app/ameba/main/include/ManualRVCModesCommand.h create mode 100644 examples/all-clusters-app/ameba/main/include/ManualRefrigeratorAlarmCommand.h create mode 100644 examples/all-clusters-app/ameba/main/include/OperationalStateManager.h create mode 100644 examples/all-clusters-app/ameba/main/include/SmokeCOAlarmManager.h create mode 100644 examples/platform/ameba/test_event_trigger/AmebaTestEventTriggerDelegate.cpp create mode 100644 examples/platform/ameba/test_event_trigger/AmebaTestEventTriggerDelegate.h diff --git a/examples/all-clusters-app/ameba/chip_main.cmake b/examples/all-clusters-app/ameba/chip_main.cmake index f105d3efe41a44..07052e123757cd 100755 --- a/examples/all-clusters-app/ameba/chip_main.cmake +++ b/examples/all-clusters-app/ameba/chip_main.cmake @@ -154,10 +154,12 @@ list( APPEND ${list_chip_main_sources} ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/bridged-actions-stub.cpp - ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/air-quality-instance.cpp - ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/concentration-measurement-instances.cpp + ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/air-quality-instance.cpp + ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/concentration-measurement-instances.cpp ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/fan-stub.cpp + ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/laundry-washer-controls-delegate-impl.cpp ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/resource-monitoring-delegates.cpp + ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/rvc-modes.cpp ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/smco-stub.cpp ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp ${chip_dir}/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp @@ -167,10 +169,15 @@ list( ${chip_dir}/examples/all-clusters-app/ameba/main/CHIPDeviceManager.cpp ${chip_dir}/examples/all-clusters-app/ameba/main/Globals.cpp ${chip_dir}/examples/all-clusters-app/ameba/main/LEDWidget.cpp + ${chip_dir}/examples/all-clusters-app/ameba/main/OperationalStateManager.cpp + ${chip_dir}/examples/all-clusters-app/ameba/main/ManualOperationCommand.cpp + ${chip_dir}/examples/all-clusters-app/ameba/main/SmokeCOAlarmManager.cpp ${chip_dir}/examples/platform/ameba/route_hook/ameba_route_hook.c ${chip_dir}/examples/platform/ameba/route_hook/ameba_route_table.c + ${chip_dir}/examples/platform/ameba/test_event_trigger/AmebaTestEventTriggerDelegate.cpp + ${chip_dir}/examples/providers/DeviceInfoProviderImpl.cpp ) @@ -263,6 +270,7 @@ list( -DMBEDTLS_CONFIG_FILE= -DCHIP_SHELL_MAX_TOKENS=11 -DCONFIG_ENABLE_AMEBA_FACTORY_DATA=0 + -DCONFIG_ENABLE_AMEBA_TEST_EVENT_TRIGGER=0 ) if (matter_enable_persistentstorage_audit) diff --git a/examples/all-clusters-app/ameba/main/CHIPDeviceManager.cpp b/examples/all-clusters-app/ameba/main/CHIPDeviceManager.cpp index 50e6d11db53c25..7b178060a6fff2 100644 --- a/examples/all-clusters-app/ameba/main/CHIPDeviceManager.cpp +++ b/examples/all-clusters-app/ameba/main/CHIPDeviceManager.cpp @@ -93,6 +93,12 @@ CHIP_ERROR CHIPDeviceManager::Init(CHIPDeviceManagerCallbacks * cb) exit: return err; } + +void CHIPDeviceManager::Shutdown() +{ + PlatformMgr().Shutdown(); +} + } // namespace DeviceManager } // namespace chip diff --git a/examples/all-clusters-app/ameba/main/ManualOperationCommand.cpp b/examples/all-clusters-app/ameba/main/ManualOperationCommand.cpp new file mode 100644 index 00000000000000..feb346b892f6bb --- /dev/null +++ b/examples/all-clusters-app/ameba/main/ManualOperationCommand.cpp @@ -0,0 +1,159 @@ +/* + * + * Copyright (c) 2022 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ManualOperationCommand.h" +#include "ManualDishWasherAlarmCommand.h" +#include "ManualOperationalStateCommand.h" +#include "ManualRVCModesCommand.h" +#include "ManualRefrigeratorAlarmCommand.h" + +#include "app/server/Server.h" +#include "platform/CHIPDeviceLayer.h" +#include + +#if CONFIG_ENABLE_CHIP_SHELL +#include "lib/shell/Engine.h" +#include "lib/shell/commands/Help.h" +#endif // ENABLE_CHIP_SHELL + +using namespace chip; +using namespace chip::app; + +#if CONFIG_ENABLE_CHIP_SHELL +using Shell::Engine; +using Shell::shell_command_t; +using Shell::streamer_get; +using Shell::streamer_printf; + +Engine sShellManualOperationSubCommands; +#endif // defined(ENABLE_CHIP_SHELL) + +namespace { +#if CONFIG_ENABLE_CHIP_SHELL + +/******************************************************** + * Manual Operation shell functions + *********************************************************/ + +CHIP_ERROR ManualOperationHelpHandler(int argc, char ** argv) +{ + sShellManualOperationSubCommands.ForEachCommand(Shell::PrintCommandHelp, nullptr); + return CHIP_NO_ERROR; +} + +CHIP_ERROR ManualOperationCommandHandler(int argc, char ** argv) +{ + if (argc == 0) + { + return ManualOperationHelpHandler(argc, argv); + } + + return sShellManualOperationSubCommands.ExecCommand(argc, argv); +} + +/** + * @brief configures switch matter shell + * + */ +static void RegisterManualOperationCommands() +{ + + static const shell_command_t sManualOperationSubCommands[] = { + { &ManualOperationHelpHandler, "help", "Usage: manual " }, + { &ManualOperationalStateCommandHandler, "opstate", " Usage: manual opstate " }, + { &ManualRVCCommandHandler, "rvc", " Usage: manual rvc " }, + { &ManualRefrigeratorAlarmCommandHandler, "refalm", " Usage: manual refalm " }, + { &ManualDishWasherAlarmCommandHandler, "dishalm", " Usage: manual dishalm " }, + }; + + static const shell_command_t sManualOperationalStateSubCommands[] = { + { &ManualOperationalStateCommandHelpHandler, "help", "Usage: manual opstate " }, + { &ManualOperationalStateSetStateCommandHandler, "set-state", "set-state Usage: manual opstate set-state " }, + { &ManualOperationalStateSetErrorCommandHandler, "set-error", "set-error Usage: manual opstate set-error " }, + }; + + static const shell_command_t sManualRVCSubCommands[] = { + { &ManualRVCCommandHelpHandler, "help", "Usage: manual rvc " }, + { &ManualRVCOperationalStateCommandHandler, "opstate", "Usage: manual rvc opstate " }, + { &ManualRVCRunModeCommandHandler, "runmode", "Usage: manual rvc runmode " }, + { &ManualRVCCleanModeCommandHandler, "cleanmode", "Usage: manual rvc cleanmode " }, + }; + + static const shell_command_t sManualRVCOperationalStateSubCommands[] = { + { &ManualRVCOperationalStateCommandHelpHandler, "help", "Usage: manual rvc opstate " }, + { &ManualRVCOperationalStateSetStateCommandHandler, "set-state", "set-state Usage: manual rvc opstate set-state " }, + { &ManualRVCOperationalStateSetErrorCommandHandler, "set-error", "set-error Usage: manual rvc opstate set-error " }, + }; + + static const shell_command_t sManualRVCRunModeSubCommands[] = { + { &ManualRVCRunModeCommandHelpHandler, "help", "Usage: manual rvc runmode " }, + { &ManualRVCRunModeSetModeCommandHandler, "set-mode", "set-mode Usage: manual rvc runmode set-mode " }, + }; + + static const shell_command_t sManualRVCCleanModeSubCommands[] = { + { &ManualRVCCleanModeCommandHelpHandler, "help", "Usage: manual rvc cleanmode " }, + { &ManualRVCCleanModeSetModeCommandHandler, "set-mode", "set-mode Usage: manual rvc cleanmode set-mode " }, + }; + + static const shell_command_t sManualRefrigeratorAlarmStateSubCommands[] = { + { &ManualRefrigeratorAlarmCommandHelpHandler, "help", "Usage: manual refalm " }, + { &ManualRefrigeratorAlarmDoorOpenCommandHandler, "door-open", "door-open Usage: manual refalm door-open" }, + { &ManualRefrigeratorAlarmDoorCloseCommandHandler, "door-close", "door-close Usage: manual refalm door-close" }, + { &ManualRefrigeratorAlarmSuppressCommandHandler, "suppress-alarm", "suppress-alarm Usage: manual refalm suppress-alarm" }, + }; + + static const shell_command_t sManualDishWasherAlarmSubCommands[] = { + { &ManualDishWasherAlarmCommandHelpHandler, "help", "Usage: manual dishalm " }, + { &ManualDishWasherAlarmSetRaiseCommandHandler, "raise", "raise Usage: manual dishalm raise" }, + { &ManualDishWasherAlarmSetLowerCommandHandler, "lower", "lower Usage: manual dishalm lower" }, + }; + + static const shell_command_t sManualOperationCommand = { &ManualOperationCommandHandler, "manual", + "Manual Operation commands. Usage: manual " }; + + // Register commands + sShellManualOperationSubCommands.RegisterCommands(sManualOperationSubCommands, ArraySize(sManualOperationSubCommands)); + sShellManualOperationalStateSubCommands.RegisterCommands(sManualOperationalStateSubCommands, + ArraySize(sManualOperationalStateSubCommands)); + sShellManualRVCSubCommands.RegisterCommands(sManualRVCSubCommands, ArraySize(sManualRVCSubCommands)); + sShellManualRVCOperationalStateSubCommands.RegisterCommands(sManualRVCOperationalStateSubCommands, + ArraySize(sManualRVCOperationalStateSubCommands)); + sShellManualRVCRunModeSubCommands.RegisterCommands(sManualRVCRunModeSubCommands, ArraySize(sManualRVCRunModeSubCommands)); + sShellManualRVCCleanModeSubCommands.RegisterCommands(sManualRVCCleanModeSubCommands, ArraySize(sManualRVCCleanModeSubCommands)); + sShellManualRefrigeratorAlarmStateSubCommands.RegisterCommands(sManualRefrigeratorAlarmStateSubCommands, + ArraySize(sManualRefrigeratorAlarmStateSubCommands)); + sShellManualDishWasherAlarmStateSubCommands.RegisterCommands(sManualDishWasherAlarmSubCommands, + ArraySize(sManualDishWasherAlarmSubCommands)); + + Engine::Root().RegisterCommands(&sManualOperationCommand, 1); +} +#endif // ENABLE_CHIP_SHELL + +} // namespace + +/******************************************************** + * Switch functions + *********************************************************/ + +CHIP_ERROR InitManualOperation() +{ +#if CONFIG_ENABLE_CHIP_SHELL + RegisterManualOperationCommands(); +#endif + return CHIP_NO_ERROR; +} diff --git a/examples/all-clusters-app/ameba/main/OperationalStateManager.cpp b/examples/all-clusters-app/ameba/main/OperationalStateManager.cpp new file mode 100644 index 00000000000000..9e4001e7d24e2d --- /dev/null +++ b/examples/all-clusters-app/ameba/main/OperationalStateManager.cpp @@ -0,0 +1,173 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include + +using namespace chip; +using namespace chip::app; +using namespace chip::app::Clusters; +using namespace chip::app::Clusters::OperationalState; +using namespace chip::app::Clusters::RvcOperationalState; + +CHIP_ERROR GenericOperationalStateDelegateImpl::GetOperationalStateAtIndex(size_t index, GenericOperationalState & operationalState) +{ + if (index >= mOperationalStateList.size()) + { + return CHIP_ERROR_NOT_FOUND; + } + operationalState = mOperationalStateList[index]; + return CHIP_NO_ERROR; +} + +CHIP_ERROR GenericOperationalStateDelegateImpl::GetOperationalPhaseAtIndex(size_t index, GenericOperationalPhase & operationalPhase) +{ + if (index >= mOperationalPhaseList.size()) + { + return CHIP_ERROR_NOT_FOUND; + } + operationalPhase = mOperationalPhaseList[index]; + return CHIP_NO_ERROR; +} + +void GenericOperationalStateDelegateImpl::HandlePauseStateCallback(GenericOperationalError & err) +{ + auto error = GetInstance()->SetOperationalState(to_underlying(OperationalState::OperationalStateEnum::kPaused)); + if (error == CHIP_NO_ERROR) + { + err.Set(to_underlying(ErrorStateEnum::kNoError)); + } + else + { + err.Set(to_underlying(ErrorStateEnum::kUnableToCompleteOperation)); + } +} + +void GenericOperationalStateDelegateImpl::HandleResumeStateCallback(GenericOperationalError & err) +{ + auto error = GetInstance()->SetOperationalState(to_underlying(OperationalStateEnum::kRunning)); + if (error == CHIP_NO_ERROR) + { + err.Set(to_underlying(ErrorStateEnum::kNoError)); + } + else + { + err.Set(to_underlying(ErrorStateEnum::kUnableToCompleteOperation)); + } +} + +void GenericOperationalStateDelegateImpl::HandleStartStateCallback(GenericOperationalError & err) +{ + auto error = GetInstance()->SetOperationalState(to_underlying(OperationalStateEnum::kRunning)); + if (error == CHIP_NO_ERROR) + { + err.Set(to_underlying(ErrorStateEnum::kNoError)); + } + else + { + err.Set(to_underlying(ErrorStateEnum::kUnableToCompleteOperation)); + } +} + +void GenericOperationalStateDelegateImpl::HandleStopStateCallback(GenericOperationalError & err) +{ + auto error = GetInstance()->SetOperationalState(to_underlying(OperationalStateEnum::kStopped)); + if (error == CHIP_NO_ERROR) + { + err.Set(to_underlying(ErrorStateEnum::kNoError)); + } + else + { + err.Set(to_underlying(ErrorStateEnum::kUnableToCompleteOperation)); + } +} + +// Init Operational State cluster + +static OperationalState::Instance * gOperationalStateInstance = nullptr; +static OperationalStateDelegate * gOperationalStateDelegate = nullptr; + +void OperationalState::Shutdown() +{ + if (gOperationalStateInstance != nullptr) + { + delete gOperationalStateInstance; + gOperationalStateInstance = nullptr; + } + if (gOperationalStateDelegate != nullptr) + { + delete gOperationalStateDelegate; + gOperationalStateDelegate = nullptr; + } +} + +OperationalState::Instance * OperationalState::GetOperationalStateInstance() +{ + return gOperationalStateInstance; +} + +void emberAfOperationalStateClusterInitCallback(chip::EndpointId endpointId) +{ + VerifyOrDie(endpointId == 1); // this cluster is only enabled for endpoint 1. + VerifyOrDie(gOperationalStateInstance == nullptr && gOperationalStateDelegate == nullptr); + + gOperationalStateDelegate = new OperationalStateDelegate; + EndpointId operationalStateEndpoint = 0x01; + gOperationalStateInstance = new Instance(gOperationalStateDelegate, operationalStateEndpoint, Clusters::OperationalState::Id); + + gOperationalStateInstance->SetOperationalState(to_underlying(OperationalState::OperationalStateEnum::kStopped)); + + gOperationalStateInstance->Init(); +} + +// Init RVC Operational State cluster + +static OperationalState::Instance * gRvcOperationalStateInstance = nullptr; +static RvcOperationalStateDelegate * gRvcOperationalStateDelegate = nullptr; + +OperationalState::Instance * OperationalState::GetRVCOperationalStateInstance() +{ + return gRvcOperationalStateInstance; +} + +void RvcOperationalState::Shutdown() +{ + if (gRvcOperationalStateInstance != nullptr) + { + delete gRvcOperationalStateInstance; + gRvcOperationalStateInstance = nullptr; + } + if (gRvcOperationalStateDelegate != nullptr) + { + delete gRvcOperationalStateDelegate; + gRvcOperationalStateDelegate = nullptr; + } +} + +void emberAfRvcOperationalStateClusterInitCallback(chip::EndpointId endpointId) +{ + VerifyOrDie(endpointId == 1); // this cluster is only enabled for endpoint 1. + VerifyOrDie(gRvcOperationalStateInstance == nullptr && gRvcOperationalStateDelegate == nullptr); + + gRvcOperationalStateDelegate = new RvcOperationalStateDelegate; + EndpointId operationalStateEndpoint = 0x01; + gRvcOperationalStateInstance = + new Instance(gRvcOperationalStateDelegate, operationalStateEndpoint, Clusters::RvcOperationalState::Id); + + gRvcOperationalStateInstance->SetOperationalState(to_underlying(OperationalState::OperationalStateEnum::kStopped)); + + gRvcOperationalStateInstance->Init(); +} diff --git a/examples/all-clusters-app/ameba/main/SmokeCOAlarmManager.cpp b/examples/all-clusters-app/ameba/main/SmokeCOAlarmManager.cpp new file mode 100644 index 00000000000000..bede2bcf537a76 --- /dev/null +++ b/examples/all-clusters-app/ameba/main/SmokeCOAlarmManager.cpp @@ -0,0 +1,171 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "SmokeCOAlarmManager.h" +#include +#include + +using namespace chip; +using namespace chip::app::Clusters::SmokeCoAlarm; +using namespace chip::DeviceLayer; + +static std::array sPriorityOrder = { + ExpressedStateEnum::kSmokeAlarm, ExpressedStateEnum::kInterconnectSmoke, ExpressedStateEnum::kCOAlarm, + ExpressedStateEnum::kInterconnectCO, ExpressedStateEnum::kHardwareFault, ExpressedStateEnum::kTesting, + ExpressedStateEnum::kEndOfService, ExpressedStateEnum::kBatteryAlert +}; + +CHIP_ERROR SmokeCoAlarmManager::Init() +{ + return CHIP_NO_ERROR; +} + +void SmokeCoAlarmManager::StartSelfTesting() +{ + // Currently selftest is not implemented +} + +bool emberAfHandleEventTrigger(uint64_t eventTrigger) +{ + SmokeCOTrigger trigger = static_cast(eventTrigger); + + switch (trigger) + { + case SmokeCOTrigger::kForceSmokeCritical: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force smoke (critical)"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetSmokeState(1, AlarmStateEnum::kCritical), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kForceSmokeWarning: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force smoke (warning)"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetSmokeState(1, AlarmStateEnum::kWarning), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kForceSmokeInterconnect: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force smoke interconnect (warning)"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetInterconnectSmokeAlarm(1, AlarmStateEnum::kWarning), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kForceCOCritical: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force CO (critical)"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetCOState(1, AlarmStateEnum::kCritical), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kForceCOWarning: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force CO (warning)"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetCOState(1, AlarmStateEnum::kWarning), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kForceCOInterconnect: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force CO (warning)"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetInterconnectCOAlarm(1, AlarmStateEnum::kWarning), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kForceSmokeContaminationHigh: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force smoke contamination (critical)"); + SmokeCoAlarmServer::Instance().SetContaminationState(1, ContaminationStateEnum::kCritical); + break; + case SmokeCOTrigger::kForceSmokeContaminationLow: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force smoke contamination (warning)"); + SmokeCoAlarmServer::Instance().SetContaminationState(1, ContaminationStateEnum::kLow); + break; + case SmokeCOTrigger::kForceSmokeSensitivityHigh: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force smoke sensistivity (high)"); + SmokeCoAlarmServer::Instance().SetSmokeSensitivityLevel(1, SensitivityEnum::kHigh); + break; + case SmokeCOTrigger::kForceSmokeSensitivityLow: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force smoke sensitivity (low)"); + SmokeCoAlarmServer::Instance().SetSmokeSensitivityLevel(1, SensitivityEnum::kLow); + break; + case SmokeCOTrigger::kForceMalfunction: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force malfunction"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetHardwareFaultAlert(1, true), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kForceLowBatteryWarning: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force low battery (warning)"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetBatteryAlert(1, AlarmStateEnum::kWarning), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kForceLowBatteryCritical: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force low battery (critical)"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetBatteryAlert(1, AlarmStateEnum::kCritical), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kForceEndOfLife: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force end-of-life"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetEndOfServiceAlert(1, EndOfServiceEnum::kExpired), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kForceSilence: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force silence"); + SmokeCoAlarmServer::Instance().SetDeviceMuted(1, MuteStateEnum::kMuted); + break; + case SmokeCOTrigger::kClearSmoke: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Clear smoke"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetSmokeState(1, AlarmStateEnum::kNormal), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kClearCO: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Clear CO"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetCOState(1, AlarmStateEnum::kNormal), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kClearSmokeInterconnect: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Clear smoke interconnect"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetInterconnectSmokeAlarm(1, AlarmStateEnum::kNormal), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kClearCOInterconnect: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Clear CO interconnect"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetInterconnectCOAlarm(1, AlarmStateEnum::kNormal), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kClearMalfunction: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Clear malfunction"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetHardwareFaultAlert(1, false), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kClearEndOfLife: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Clear end-of-life"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetEndOfServiceAlert(1, EndOfServiceEnum::kNormal), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kClearSilence: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Clear silence"); + SmokeCoAlarmServer::Instance().SetDeviceMuted(1, MuteStateEnum::kNotMuted); + break; + case SmokeCOTrigger::kClearBatteryLevelLow: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Clear low battery"); + VerifyOrReturnValue(SmokeCoAlarmServer::Instance().SetBatteryAlert(1, AlarmStateEnum::kNormal), true); + SmokeCoAlarmServer::Instance().SetExpressedStateByPriority(1, sPriorityOrder); + break; + case SmokeCOTrigger::kClearContamination: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Force SmokeContamination (warning)"); + SmokeCoAlarmServer::Instance().SetContaminationState(1, ContaminationStateEnum::kNormal); + break; + case SmokeCOTrigger::kClearSensitivity: + ChipLogProgress(Support, "[Smoke-CO-Alarm-Test-Event] => Clear Smoke Sensitivity"); + SmokeCoAlarmServer::Instance().SetSmokeSensitivityLevel(1, SensitivityEnum::kStandard); + break; + default: + + return false; + } + + return true; +} diff --git a/examples/all-clusters-app/ameba/main/chipinterface.cpp b/examples/all-clusters-app/ameba/main/chipinterface.cpp index ac3426f4b438cc..21280c676154be 100644 --- a/examples/all-clusters-app/ameba/main/chipinterface.cpp +++ b/examples/all-clusters-app/ameba/main/chipinterface.cpp @@ -22,15 +22,18 @@ #include "DeviceCallbacks.h" #include "Globals.h" #include "LEDWidget.h" +#include "ManualOperationCommand.h" #include "chip_porting.h" #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -39,6 +42,9 @@ #include #include #include +#if CONFIG_ENABLE_AMEBA_TEST_EVENT_TRIGGER +#include +#endif #if CONFIG_ENABLE_PW_RPC #include @@ -123,11 +129,23 @@ Identify gIdentify1 = { static DeviceCallbacks EchoCallbacks; chip::DeviceLayer::DeviceInfoProviderImpl gExampleDeviceInfoProvider; +#if CONFIG_ENABLE_AMEBA_TEST_EVENT_TRIGGER +uint8_t sTestEventTriggerEnableKey[TestEventTriggerDelegate::kEnableKeyLength] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, + 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff }; +#endif + static void InitServer(intptr_t context) { // Init ZCL Data Model and CHIP App Server static chip::CommonCaseDeviceServerInitParams initParams; + +#if CONFIG_ENABLE_AMEBA_TEST_EVENT_TRIGGER + static AmebaTestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) }; + initParams.testEventTriggerDelegate = &testEventTriggerDelegate; +#endif + initParams.InitializeStaticResourcesBeforeServerInit(); + chip::Server::GetInstance().Init(initParams); gExampleDeviceInfoProvider.SetStorageDelegate(&Server::GetInstance().GetPersistentStorage()); // TODO: Use our own DeviceInfoProvider @@ -143,6 +161,7 @@ static void InitServer(intptr_t context) #if CONFIG_ENABLE_CHIP_SHELL InitBindingHandler(); + InitManualOperation(); #endif app::Clusters::TemperatureControl::SetInstance(&sAppSupportedTemperatureLevelsDelegate); } @@ -175,7 +194,20 @@ extern "C" void ChipTest(void) #endif } +extern "C" void ChipTestShutdown(void) +{ + ChipLogProgress(DeviceLayer, "All Clusters Demo! Shutdown Now!"); + CHIPDeviceManager & deviceMgr = CHIPDeviceManager::GetInstance(); + deviceMgr.Shutdown(); +} + bool lowPowerClusterSleep() { return true; } + +using namespace chip::app::Clusters::LaundryWasherControls; +void emberAfLaundryWasherControlsClusterInitCallback(EndpointId endpoint) +{ + LaundryWasherControlsServer::SetDefaultDelegate(endpoint, &LaundryWasherControlDelegate::getLaundryWasherControlDelegate()); +} diff --git a/examples/all-clusters-app/ameba/main/include/CHIPDeviceManager.h b/examples/all-clusters-app/ameba/main/include/CHIPDeviceManager.h index 4ceddc65e7085e..03588bee0d02c6 100644 --- a/examples/all-clusters-app/ameba/main/include/CHIPDeviceManager.h +++ b/examples/all-clusters-app/ameba/main/include/CHIPDeviceManager.h @@ -103,6 +103,8 @@ class DLL_EXPORT CHIPDeviceManager */ CHIP_ERROR Init(CHIPDeviceManagerCallbacks * cb); + void Shutdown(); + /** * @brief * Fetch a pointer to the registered CHIPDeviceManagerCallbacks object. diff --git a/examples/all-clusters-app/ameba/main/include/ManualDishWasherAlarmCommand.h b/examples/all-clusters-app/ameba/main/include/ManualDishWasherAlarmCommand.h new file mode 100644 index 00000000000000..c1a37be41d385a --- /dev/null +++ b/examples/all-clusters-app/ameba/main/include/ManualDishWasherAlarmCommand.h @@ -0,0 +1,172 @@ +/* + * + * Copyright (c) 2022 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "controller/InvokeInteraction.h" +#include "controller/ReadInteraction.h" +#include + +#if CONFIG_ENABLE_CHIP_SHELL +#include "lib/shell/Engine.h" +#include "lib/shell/commands/Help.h" +#endif // ENABLE_CHIP_SHELL + +using namespace chip; +using namespace chip::app; +using namespace chip::app::Clusters; +using namespace chip::app::Clusters::DishwasherAlarm; + +#if CONFIG_ENABLE_CHIP_SHELL +using Shell::Engine; +using Shell::shell_command_t; +using Shell::streamer_get; +using Shell::streamer_printf; + +Engine sShellManualDishWasherAlarmStateSubCommands; +#endif // defined(ENABLE_CHIP_SHELL) + +#if CONFIG_ENABLE_CHIP_SHELL + +CHIP_ERROR ManualDishWasherAlarmCommandHelpHandler(int argc, char ** argv) +{ + sShellManualDishWasherAlarmStateSubCommands.ForEachCommand(Shell::PrintCommandHelp, nullptr); + return CHIP_NO_ERROR; +} + +CHIP_ERROR ManualDishWasherAlarmCommandHandler(int argc, char ** argv) +{ + if (argc == 0) + { + return ManualDishWasherAlarmCommandHelpHandler(argc, argv); + } + + return sShellManualDishWasherAlarmStateSubCommands.ExecCommand(argc, argv); +} + +CHIP_ERROR ManualDishWasherAlarmSetRaiseCommandHandler(int argc, char ** argv) +{ + if (argc != 0) + { + return ManualDishWasherAlarmCommandHelpHandler(argc, argv); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + EmberAfStatus status; + DishwasherAlarmServer & serverInstance = DishwasherAlarmServer::Instance(); + + BitMask supported; // Set dishwasher alarm supported value + supported.SetField(AlarmMap::kInflowError, 1); // 0x01, 1 + supported.SetField(AlarmMap::kDrainError, 1); // 0x02, 2 + supported.SetField(AlarmMap::kDoorError, 1); // 0x04, 4 + supported.SetField(AlarmMap::kTempTooLow, 1); // 0x08, 8 + supported.SetField(AlarmMap::kWaterLevelError, 1); // 0x20, 32 + + BitMask mask; // Set dishwasher alarm mask value + mask.SetField(AlarmMap::kInflowError, 1); // 0x01, 1 + mask.SetField(AlarmMap::kDrainError, 1); // 0x02, 2 + mask.SetField(AlarmMap::kDoorError, 1); // 0x04, 4 + mask.SetField(AlarmMap::kTempTooLow, 1); // 0x08, 8 + mask.SetField(AlarmMap::kWaterLevelError, 1); // 0x20, 32 + + BitMask state; // Set dishwasher alarm state value + state.SetField(AlarmMap::kDrainError, 1); // 0x02, 2 + state.SetField(AlarmMap::kDoorError, 1); // 0x04, 4 + state.SetField(AlarmMap::kTempTooLow, 1); // 0x08, 8 + + status = serverInstance.SetSupportedValue(1, supported); // 0x2F, 47 + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + + status = serverInstance.SetMaskValue(1, mask); // 0x2F, 47 + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + + status = serverInstance.SetStateValue(1, state); // 0x0E, 14 + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } +exit: + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ManualDishWasherAlarmSetRaiseCommandHandler Failed!\r\n"); + } + + return err; +} + +CHIP_ERROR ManualDishWasherAlarmSetLowerCommandHandler(int argc, char ** argv) +{ + if (argc != 0) + { + return ManualDishWasherAlarmCommandHelpHandler(argc, argv); + } + + CHIP_ERROR err = CHIP_NO_ERROR; + EmberAfStatus status; + DishwasherAlarmServer & serverInstance = DishwasherAlarmServer::Instance(); + + BitMask supported; // Set dishwasher alarm supported value + supported.SetField(AlarmMap::kInflowError, 1); // 0x01, 1 + supported.SetField(AlarmMap::kDrainError, 1); // 0x02, 2 + supported.SetField(AlarmMap::kDoorError, 1); // 0x04, 4 + supported.SetField(AlarmMap::kTempTooLow, 1); // 0x08, 8 + supported.SetField(AlarmMap::kWaterLevelError, 1); // 0x20, 32 + + BitMask mask; // Set dishwasher alarm mask value + mask.SetField(AlarmMap::kInflowError, 1); // 0x01, 1 + mask.SetField(AlarmMap::kDrainError, 1); // 0x02, 2 + mask.SetField(AlarmMap::kDoorError, 1); // 0x04, 4 + mask.SetField(AlarmMap::kTempTooLow, 1); // 0x08, 8 + mask.SetField(AlarmMap::kWaterLevelError, 1); // 0x20, 32 + + status = serverInstance.SetSupportedValue(1, supported); // 0x2F, 47 + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + + status = serverInstance.SetMaskValue(1, mask); // 0x2F, 47 + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + + status = serverInstance.SetStateValue(1, 0); // Set dishwasher alarm state value 0x00, 0 + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } +exit: + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ManualDishWasherAlarmSetLowerCommandHandler Failed!\r\n"); + } + + return err; +} +#endif // CONFIG_ENABLE_CHIP_SHELL diff --git a/examples/all-clusters-app/ameba/main/include/ManualOperationCommand.h b/examples/all-clusters-app/ameba/main/include/ManualOperationCommand.h new file mode 100644 index 00000000000000..418d0aea6f498e --- /dev/null +++ b/examples/all-clusters-app/ameba/main/include/ManualOperationCommand.h @@ -0,0 +1,26 @@ +/* + * + * Copyright (c) 2022 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include "app-common/zap-generated/ids/Attributes.h" +#include "app-common/zap-generated/ids/Clusters.h" +#include "app-common/zap-generated/ids/Commands.h" +#include "lib/core/CHIPError.h" + +CHIP_ERROR InitManualOperation(); diff --git a/examples/all-clusters-app/ameba/main/include/ManualOperationalStateCommand.h b/examples/all-clusters-app/ameba/main/include/ManualOperationalStateCommand.h new file mode 100644 index 00000000000000..1f6d899b59e828 --- /dev/null +++ b/examples/all-clusters-app/ameba/main/include/ManualOperationalStateCommand.h @@ -0,0 +1,185 @@ +/* + * + * Copyright (c) 2022 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "controller/InvokeInteraction.h" +#include "controller/ReadInteraction.h" +#include + +#if CONFIG_ENABLE_CHIP_SHELL +#include "lib/shell/Engine.h" +#include "lib/shell/commands/Help.h" +#endif // ENABLE_CHIP_SHELL + +using namespace chip; +using namespace chip::app; +using namespace chip::app::Clusters; +using namespace chip::app::Clusters::OperationalState; + +#if CONFIG_ENABLE_CHIP_SHELL +using Shell::Engine; +using Shell::shell_command_t; +using Shell::streamer_get; +using Shell::streamer_printf; + +Engine sShellManualOperationalStateSubCommands; +Engine sShellManualRVCOperationalStateSubCommands; +#endif // defined(ENABLE_CHIP_SHELL) + +#if CONFIG_ENABLE_CHIP_SHELL +/******************************************************** + * Operational State Functions + *********************************************************/ + +CHIP_ERROR ManualOperationalStateCommandHelpHandler(int argc, char ** argv) +{ + sShellManualOperationalStateSubCommands.ForEachCommand(Shell::PrintCommandHelp, nullptr); + return CHIP_NO_ERROR; +} + +CHIP_ERROR ManualOperationalStateCommandHandler(int argc, char ** argv) +{ + if (argc == 0) + { + return ManualOperationalStateCommandHelpHandler(argc, argv); + } + + return sShellManualOperationalStateSubCommands.ExecCommand(argc, argv); +} + +CHIP_ERROR ManualOperationalStateSetStateCommandHandler(int argc, char ** argv) +{ + if (argc != 1) + { + return ManualOperationalStateCommandHelpHandler(argc, argv); + } + uint32_t state = atoi(argv[0]); + + CHIP_ERROR err; + err = GetOperationalStateInstance()->SetOperationalState(state); + + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ManualOperationalStateSetStateCommandHandler Failed!\r\n"); + } + + return err; +} + +CHIP_ERROR ManualOperationalStateSetErrorCommandHandler(int argc, char ** argv) +{ + if (argc != 1) + { + return ManualOperationalStateCommandHelpHandler(argc, argv); + } + + GenericOperationalError err(to_underlying(ErrorStateEnum::kNoError)); + uint32_t error = atoi(argv[0]); + + switch (error) + { + case to_underlying(OperationalState::ErrorStateEnum::kNoError): // 0x00, 0 + case to_underlying(OperationalState::ErrorStateEnum::kUnableToStartOrResume): // 0x01, 1 + case to_underlying(OperationalState::ErrorStateEnum::kUnableToCompleteOperation): // 0x02, 2 + case to_underlying(OperationalState::ErrorStateEnum::kCommandInvalidInState): // 0x03, 3 + err.errorStateID = error; + break; + default: + err.errorStateID = to_underlying(OperationalState::ErrorStateEnum::kUnknownEnumValue); // 0x04, 4 + break; + } + + GetOperationalStateInstance()->OnOperationalErrorDetected(err); + + return CHIP_NO_ERROR; +} + +/******************************************************** + * RVC Operational State Functions + *********************************************************/ + +CHIP_ERROR ManualRVCOperationalStateCommandHelpHandler(int argc, char ** argv) +{ + sShellManualRVCOperationalStateSubCommands.ForEachCommand(Shell::PrintCommandHelp, nullptr); + return CHIP_NO_ERROR; +} + +CHIP_ERROR ManualRVCOperationalStateCommandHandler(int argc, char ** argv) +{ + if (argc == 0) + { + return ManualRVCOperationalStateCommandHelpHandler(argc, argv); + } + + return sShellManualRVCOperationalStateSubCommands.ExecCommand(argc, argv); +} + +CHIP_ERROR ManualRVCOperationalStateSetStateCommandHandler(int argc, char ** argv) +{ + if (argc != 1) + { + return ManualRVCOperationalStateCommandHelpHandler(argc, argv); + } + uint32_t state = atoi(argv[0]); + + CHIP_ERROR err; + err = GetRVCOperationalStateInstance()->SetOperationalState(state); + + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ManualRVCOperationalStateSetStateCommandHandler Failed!\r\n"); + } + + return err; +} + +CHIP_ERROR ManualRVCOperationalStateSetErrorCommandHandler(int argc, char ** argv) +{ + if (argc != 1) + { + return ManualRVCOperationalStateCommandHelpHandler(argc, argv); + } + + GenericOperationalError err(to_underlying(ErrorStateEnum::kNoError)); + uint32_t error = atoi(argv[0]); + + switch (error) + { + case to_underlying(OperationalState::ErrorStateEnum::kNoError): // 0x00, 0 + case to_underlying(OperationalState::ErrorStateEnum::kUnableToStartOrResume): // 0x01, 1 + case to_underlying(OperationalState::ErrorStateEnum::kUnableToCompleteOperation): // 0x02, 2 + case to_underlying(OperationalState::ErrorStateEnum::kCommandInvalidInState): // 0x03, 3 + case to_underlying(RvcOperationalState::ErrorStateEnum::kFailedToFindChargingDock): // 0x40, 64 + case to_underlying(RvcOperationalState::ErrorStateEnum::kStuck): // 0x41, 65 + case to_underlying(RvcOperationalState::ErrorStateEnum::kDustBinMissing): // 0x42, 66 + case to_underlying(RvcOperationalState::ErrorStateEnum::kDustBinFull): // 0x43, 67 + case to_underlying(RvcOperationalState::ErrorStateEnum::kWaterTankEmpty): // 0x44, 68 + case to_underlying(RvcOperationalState::ErrorStateEnum::kWaterTankMissing): // 0x45, 69 + case to_underlying(RvcOperationalState::ErrorStateEnum::kWaterTankLidOpen): // 0x46, 70 + case to_underlying(RvcOperationalState::ErrorStateEnum::kMopCleaningPadMissing): // 0x47, 71 + err.errorStateID = error; + break; + default: + err.errorStateID = to_underlying(OperationalState::ErrorStateEnum::kUnknownEnumValue); // 0x04, 4 + break; + } + + GetRVCOperationalStateInstance()->OnOperationalErrorDetected(err); + + return CHIP_NO_ERROR; +} +#endif // CONFIG_ENABLE_CHIP_SHELL diff --git a/examples/all-clusters-app/ameba/main/include/ManualRVCModesCommand.h b/examples/all-clusters-app/ameba/main/include/ManualRVCModesCommand.h new file mode 100644 index 00000000000000..b020141c5df7a9 --- /dev/null +++ b/examples/all-clusters-app/ameba/main/include/ManualRVCModesCommand.h @@ -0,0 +1,135 @@ +/* + * + * Copyright (c) 2022 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "controller/InvokeInteraction.h" +#include "controller/ReadInteraction.h" +#include + +#if CONFIG_ENABLE_CHIP_SHELL +#include "lib/shell/Engine.h" +#include "lib/shell/commands/Help.h" +#endif // ENABLE_CHIP_SHELL + +using namespace chip; +using namespace chip::app; +using namespace chip::app::Clusters; + +#if CONFIG_ENABLE_CHIP_SHELL +using Shell::Engine; +using Shell::shell_command_t; +using Shell::streamer_get; +using Shell::streamer_printf; + +Engine sShellManualRVCSubCommands; +Engine sShellManualRVCRunModeSubCommands; +Engine sShellManualRVCCleanModeSubCommands; +#endif // defined(ENABLE_CHIP_SHELL) + +#if CONFIG_ENABLE_CHIP_SHELL +/******************************************************** + * RVC + *********************************************************/ + +CHIP_ERROR ManualRVCCommandHelpHandler(int argc, char ** argv) +{ + sShellManualRVCSubCommands.ForEachCommand(Shell::PrintCommandHelp, nullptr); + return CHIP_NO_ERROR; +} + +CHIP_ERROR ManualRVCCommandHandler(int argc, char ** argv) +{ + if (argc == 0) + { + return ManualRVCCommandHelpHandler(argc, argv); + } + return sShellManualRVCSubCommands.ExecCommand(argc, argv); +} + +/******************************************************** + * RVC Run Mode + *********************************************************/ + +CHIP_ERROR ManualRVCRunModeCommandHelpHandler(int argc, char ** argv) +{ + sShellManualRVCRunModeSubCommands.ForEachCommand(Shell::PrintCommandHelp, nullptr); + return CHIP_NO_ERROR; +} + +CHIP_ERROR ManualRVCRunModeCommandHandler(int argc, char ** argv) +{ + if (argc == 0) + { + return ManualRVCRunModeCommandHelpHandler(argc, argv); + } + + return sShellManualRVCRunModeSubCommands.ExecCommand(argc, argv); +} + +CHIP_ERROR ManualRVCRunModeSetModeCommandHandler(int argc, char ** argv) +{ + if (argc != 1) + { + return ManualRVCRunModeCommandHelpHandler(argc, argv); + } + Protocols::InteractionModel::Status status; + status = RvcRunMode::Instance()->UpdateCurrentMode((uint8_t) atoi(argv[0])); + if (status != Protocols::InteractionModel::Status::Success) + { + ChipLogError(DeviceLayer, "ManualRVCRunModeSetModeCommandHandler Error!"); + return CHIP_ERROR_INTERNAL; + } + return CHIP_NO_ERROR; +} + +/******************************************************** + * RVC Clean Mode + *********************************************************/ + +CHIP_ERROR ManualRVCCleanModeCommandHelpHandler(int argc, char ** argv) +{ + sShellManualRVCCleanModeSubCommands.ForEachCommand(Shell::PrintCommandHelp, nullptr); + return CHIP_NO_ERROR; +} + +CHIP_ERROR ManualRVCCleanModeCommandHandler(int argc, char ** argv) +{ + if (argc == 0) + { + return ManualRVCCleanModeCommandHelpHandler(argc, argv); + } + + return sShellManualRVCCleanModeSubCommands.ExecCommand(argc, argv); +} + +CHIP_ERROR ManualRVCCleanModeSetModeCommandHandler(int argc, char ** argv) +{ + if (argc != 1) + { + return ManualRVCCleanModeCommandHelpHandler(argc, argv); + } + Protocols::InteractionModel::Status status; + status = RvcCleanMode::Instance()->UpdateCurrentMode((uint8_t) atoi(argv[0])); + if (status != Protocols::InteractionModel::Status::Success) + { + ChipLogError(DeviceLayer, "ManualRVCCleanModeSetModeCommandHandler Error!"); + return CHIP_ERROR_INTERNAL; + } + return CHIP_NO_ERROR; +} + +#endif // CONFIG_ENABLE_CHIP_SHELL diff --git a/examples/all-clusters-app/ameba/main/include/ManualRefrigeratorAlarmCommand.h b/examples/all-clusters-app/ameba/main/include/ManualRefrigeratorAlarmCommand.h new file mode 100644 index 00000000000000..d2ec4224a5332f --- /dev/null +++ b/examples/all-clusters-app/ameba/main/include/ManualRefrigeratorAlarmCommand.h @@ -0,0 +1,160 @@ +/* + * + * Copyright (c) 2022 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "controller/InvokeInteraction.h" +#include "controller/ReadInteraction.h" +#include + +#if CONFIG_ENABLE_CHIP_SHELL +#include "lib/shell/Engine.h" +#include "lib/shell/commands/Help.h" +#endif // ENABLE_CHIP_SHELL + +using namespace chip; +using namespace chip::app; +using namespace chip::app::Clusters; +using namespace chip::app::Clusters::RefrigeratorAlarm; + +#if CONFIG_ENABLE_CHIP_SHELL +using Shell::Engine; +using Shell::shell_command_t; +using Shell::streamer_get; +using Shell::streamer_printf; + +Engine sShellManualRefrigeratorAlarmStateSubCommands; +#endif // defined(ENABLE_CHIP_SHELL) + +#if CONFIG_ENABLE_CHIP_SHELL + +CHIP_ERROR ManualRefrigeratorAlarmCommandHelpHandler(int argc, char ** argv) +{ + sShellManualRefrigeratorAlarmStateSubCommands.ForEachCommand(Shell::PrintCommandHelp, nullptr); + return CHIP_NO_ERROR; +} + +CHIP_ERROR ManualRefrigeratorAlarmCommandHandler(int argc, char ** argv) +{ + if (argc == 0) + { + return ManualRefrigeratorAlarmCommandHelpHandler(argc, argv); + } + + return sShellManualRefrigeratorAlarmStateSubCommands.ExecCommand(argc, argv); +} + +CHIP_ERROR ManualRefrigeratorAlarmDoorOpenCommandHandler(int argc, char ** argv) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + EmberAfStatus status; + RefrigeratorAlarmServer & serverInstance = RefrigeratorAlarmServer::Instance(); + + status = serverInstance.SetMaskValue(1, 0); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + + status = serverInstance.SetStateValue(1, 1); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + + status = serverInstance.SetSupportedValue(1, 0); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + +exit: + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ManualRefrigeratorAlarmDoorOpenCommandHandler Failed!\r\n"); + } + + return err; +} + +CHIP_ERROR ManualRefrigeratorAlarmDoorCloseCommandHandler(int argc, char ** argv) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + EmberAfStatus status; + RefrigeratorAlarmServer & serverInstance = RefrigeratorAlarmServer::Instance(); + + status = serverInstance.SetMaskValue(1, 1); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + + status = serverInstance.SetStateValue(1, 0); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + + status = serverInstance.SetSupportedValue(1, 1); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + +exit: + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ManualRefrigeratorAlarmDoorCloseCommandHandler Failed!\r\n"); + } + + return err; +} + +CHIP_ERROR ManualRefrigeratorAlarmSuppressCommandHandler(int argc, char ** argv) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + EmberAfStatus status; + RefrigeratorAlarmServer & serverInstance = RefrigeratorAlarmServer::Instance(); + + status = serverInstance.SetSupportedValue(1, 1); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + + status = serverInstance.SetStateValue(1, 0); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + err = CHIP_ERROR_INTERNAL; + goto exit; + } + +exit: + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ManualRefrigeratorAlarmDoorCloseCommandHandler Failed!\r\n"); + } + + return err; +} +#endif // CONFIG_ENABLE_CHIP_SHELL diff --git a/examples/all-clusters-app/ameba/main/include/OperationalStateManager.h b/examples/all-clusters-app/ameba/main/include/OperationalStateManager.h new file mode 100644 index 00000000000000..e98d32171328ac --- /dev/null +++ b/examples/all-clusters-app/ameba/main/include/OperationalStateManager.h @@ -0,0 +1,162 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include +#include +#include + +void getOperationalStateSet(u8 state); + +namespace chip { +namespace app { +namespace Clusters { + +namespace OperationalState { + +Instance * GetOperationalStateInstance(); +Instance * GetRVCOperationalStateInstance(); + +// This is an application level delegate to handle operational state commands according to the specific business logic. +class GenericOperationalStateDelegateImpl : public Delegate +{ +public: + /** + * Get the countdown time. This attribute is not used in this application. + * @return The current countdown time. + */ + app::DataModel::Nullable GetCountdownTime() override { return {}; }; + + /** + * Fills in the provided GenericOperationalState with the state at index `index` if there is one, + * or returns CHIP_ERROR_NOT_FOUND if the index is out of range for the list of states. + * Note: This is used by the SDK to populate the operational state list attribute. If the contents of this list changes, + * the device SHALL call the Instance's ReportOperationalStateListChange method to report that this attribute has changed. + * @param index The index of the state, with 0 representing the first state. + * @param operationalState The GenericOperationalState is filled. + */ + CHIP_ERROR GetOperationalStateAtIndex(size_t index, GenericOperationalState & operationalState) override; + + /** + * Fills in the provided GenericOperationalPhase with the phase at index `index` if there is one, + * or returns CHIP_ERROR_NOT_FOUND if the index is out of range for the list of phases. + * Note: This is used by the SDK to populate the phase list attribute. If the contents of this list changes, the + * device SHALL call the Instance's ReportPhaseListChange method to report that this attribute has changed. + * @param index The index of the phase, with 0 representing the first phase. + * @param operationalPhase The GenericOperationalPhase is filled. + */ + CHIP_ERROR GetOperationalPhaseAtIndex(size_t index, GenericOperationalPhase & operationalPhase) override; + + // command callback + /** + * Handle Command Callback in application: Pause + * @param[out] get operational error after callback. + */ + void HandlePauseStateCallback(GenericOperationalError & err) override; + + /** + * Handle Command Callback in application: Resume + * @param[out] get operational error after callback. + */ + void HandleResumeStateCallback(GenericOperationalError & err) override; + + /** + * Handle Command Callback in application: Start + * @param[out] get operational error after callback. + */ + void HandleStartStateCallback(GenericOperationalError & err) override; + + /** + * Handle Command Callback in application: Stop + * @param[out] get operational error after callback. + */ + void HandleStopStateCallback(GenericOperationalError & err) override; + +protected: + Span mOperationalStateList; + Span mOperationalPhaseList; +}; + +// This is an application level delegate to handle operational state commands according to the specific business logic. +class OperationalStateDelegate : public GenericOperationalStateDelegateImpl +{ +private: + const GenericOperationalState opStateList[4] = { + GenericOperationalState(to_underlying(OperationalStateEnum::kStopped)), + GenericOperationalState(to_underlying(OperationalStateEnum::kRunning)), + GenericOperationalState(to_underlying(OperationalStateEnum::kPaused)), + GenericOperationalState(to_underlying(OperationalStateEnum::kError)), + }; + + const GenericOperationalPhase opPhaseList[1] = { + // Phase List is null + GenericOperationalPhase(DataModel::Nullable()), + }; + +public: + OperationalStateDelegate() + { + GenericOperationalStateDelegateImpl::mOperationalStateList = Span(opStateList); + GenericOperationalStateDelegateImpl::mOperationalPhaseList = Span(opPhaseList); + } +}; + +void Shutdown(); + +} // namespace OperationalState + +namespace RvcOperationalState { + +// This is an application level delegate to handle operational state commands according to the specific business logic. +class RvcOperationalStateDelegate : public OperationalState::GenericOperationalStateDelegateImpl +{ +private: + const OperationalState::GenericOperationalState rvcOpStateList[7] = { + OperationalState::GenericOperationalState(to_underlying(OperationalState::OperationalStateEnum::kStopped)), + OperationalState::GenericOperationalState(to_underlying(OperationalState::OperationalStateEnum::kRunning)), + OperationalState::GenericOperationalState(to_underlying(OperationalState::OperationalStateEnum::kPaused)), + OperationalState::GenericOperationalState(to_underlying(OperationalState::OperationalStateEnum::kError)), + OperationalState::GenericOperationalState( + to_underlying(Clusters::RvcOperationalState::OperationalStateEnum::kSeekingCharger)), + OperationalState::GenericOperationalState(to_underlying(Clusters::RvcOperationalState::OperationalStateEnum::kCharging)), + OperationalState::GenericOperationalState(to_underlying(Clusters::RvcOperationalState::OperationalStateEnum::kDocked)), + }; + + const OperationalState::GenericOperationalPhase rvcOpPhaseList[1] = { + // Phase List is null + OperationalState::GenericOperationalPhase(DataModel::Nullable()), + }; + +public: + RvcOperationalStateDelegate() + { + GenericOperationalStateDelegateImpl::mOperationalStateList = + Span(rvcOpStateList); + GenericOperationalStateDelegateImpl::mOperationalPhaseList = + Span(rvcOpPhaseList); + } +}; + +void Shutdown(); + +} // namespace RvcOperationalState +} // namespace Clusters +} // namespace app +} // namespace chip diff --git a/examples/all-clusters-app/ameba/main/include/SmokeCOAlarmManager.h b/examples/all-clusters-app/ameba/main/include/SmokeCOAlarmManager.h new file mode 100644 index 00000000000000..390ee679d0d255 --- /dev/null +++ b/examples/all-clusters-app/ameba/main/include/SmokeCOAlarmManager.h @@ -0,0 +1,47 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include +#include +#include + +bool emberAfHandleEventTrigger(uint64_t eventTrigger); + +class SmokeCoAlarmManager +{ +public: + CHIP_ERROR Init(); + + /** + * @brief Execute the self-test process + * + */ + void StartSelfTesting(); + +private: + friend SmokeCoAlarmManager & AlarmMgr(void); + + static SmokeCoAlarmManager sAlarm; +}; + +inline SmokeCoAlarmManager & AlarmMgr(void) +{ + return SmokeCoAlarmManager::sAlarm; +} diff --git a/examples/platform/ameba/test_event_trigger/AmebaTestEventTriggerDelegate.cpp b/examples/platform/ameba/test_event_trigger/AmebaTestEventTriggerDelegate.cpp new file mode 100644 index 00000000000000..9cfddd6f3de9fa --- /dev/null +++ b/examples/platform/ameba/test_event_trigger/AmebaTestEventTriggerDelegate.cpp @@ -0,0 +1,37 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AmebaTestEventTriggerDelegate.h" +#include "SmokeCOAlarmManager.h" + +using namespace ::chip::DeviceLayer; + +namespace chip { + +bool AmebaTestEventTriggerDelegate::DoesEnableKeyMatch(const ByteSpan & enableKey) const +{ + return !mEnableKey.empty() && mEnableKey.data_equal(enableKey); +} + +CHIP_ERROR AmebaTestEventTriggerDelegate::HandleEventTrigger(uint64_t eventTrigger) +{ + bool success = emberAfHandleEventTrigger(eventTrigger); + return success ? CHIP_NO_ERROR : CHIP_ERROR_INVALID_ARGUMENT; +} + +} // namespace chip diff --git a/examples/platform/ameba/test_event_trigger/AmebaTestEventTriggerDelegate.h b/examples/platform/ameba/test_event_trigger/AmebaTestEventTriggerDelegate.h new file mode 100644 index 00000000000000..d461194de9b642 --- /dev/null +++ b/examples/platform/ameba/test_event_trigger/AmebaTestEventTriggerDelegate.h @@ -0,0 +1,61 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include "SmokeCOAlarmManager.h" +#include + +namespace chip { + +class AmebaTestEventTriggerDelegate : public TestEventTriggerDelegate +{ +public: + explicit AmebaTestEventTriggerDelegate(const ByteSpan & enableKey) : mEnableKey(enableKey) {} + + /** + * @brief Checks to see if `enableKey` provided matches value chosen by the manufacturer. + * @param enableKey Buffer of the key to verify. + * @return True or False. + */ + bool DoesEnableKeyMatch(const ByteSpan & enableKey) const override; + + /** + * @brief User handler for handling the test event trigger based on `eventTrigger` provided. + * @param eventTrigger Event trigger to handle. + * @return CHIP_NO_ERROR on success or CHIP_ERROR_INVALID_ARGUMENT on failure. + */ + CHIP_ERROR HandleEventTrigger(uint64_t eventTrigger) override; + +private: + ByteSpan mEnableKey; +}; + +} // namespace chip + +/** + * @brief User handler for handling the test event trigger + * + * @note If TestEventTrigger is enabled, it needs to be implemented in the app + * + * @param eventTrigger Event trigger to handle + * + * @retval true on success + * @retval false if error happened + */ +bool emberAfHandleEventTrigger(uint64_t eventTrigger); From 2f612b0de22758c2df7b35a3abdee68db8f87068 Mon Sep 17 00:00:00 2001 From: crlonxp <88241281+crlonxp@users.noreply.github.com> Date: Sat, 21 Oct 2023 15:38:05 +0800 Subject: [PATCH 03/44] [mw320] Remove doing factory-reset on fail-safe armed (#29882) Signed-off-by: Chin-Ran Lo --- src/platform/nxp/mw320/ConfigurationManagerImpl.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/platform/nxp/mw320/ConfigurationManagerImpl.cpp b/src/platform/nxp/mw320/ConfigurationManagerImpl.cpp index ee61de629109ae..1a88ebc7c75e55 100644 --- a/src/platform/nxp/mw320/ConfigurationManagerImpl.cpp +++ b/src/platform/nxp/mw320/ConfigurationManagerImpl.cpp @@ -53,7 +53,6 @@ CHIP_ERROR ConfigurationManagerImpl::Init() { CHIP_ERROR err; uint32_t rebootCount = 0; - bool failSafeArmed; // Initialize the generic implementation base class. // err = Internal::GenericConfigurationManagerImpl::Init(); @@ -74,12 +73,6 @@ CHIP_ERROR ConfigurationManagerImpl::Init() err = StoreRebootCount(1); SuccessOrExit(err); } - // If the fail-safe was armed when the device last shutdown, initiate a factory reset. - if (GetFailSafeArmed(failSafeArmed) == CHIP_NO_ERROR && failSafeArmed) - { - ChipLogProgress(DeviceLayer, "Detected fail-safe armed on reboot; initiating factory reset"); - InitiateFactoryReset(); - } if (!MW320Config::ConfigValueExists(MW320Config::kCounterKey_BootReason)) { From a8029e8fe47cd0d32b65e8d6acabb1e20ddffdce Mon Sep 17 00:00:00 2001 From: Jean-Francois Penven <67962328+jepenven-silabs@users.noreply.github.com> Date: Sat, 21 Oct 2023 09:27:19 -0400 Subject: [PATCH 04/44] [ICD] Remove PSA Crypto exclusion from Unit test (#29753) * Remove PSA Crypto exclusion * fix PSA test failure * Add more comments * Fix comments * Add isKeySet flag * address comments --- src/app/icd/ICDManagementServer.cpp | 7 +- src/app/icd/ICDMonitoringTable.cpp | 22 ++- src/app/icd/ICDMonitoringTable.h | 17 ++ src/app/tests/TestICDMonitoringTable.cpp | 232 +++++++++++------------ 4 files changed, 145 insertions(+), 133 deletions(-) diff --git a/src/app/icd/ICDManagementServer.cpp b/src/app/icd/ICDManagementServer.cpp index 0f7cc7ebf5275a..fe41617cfb3a71 100644 --- a/src/app/icd/ICDManagementServer.cpp +++ b/src/app/icd/ICDManagementServer.cpp @@ -39,7 +39,12 @@ Status ICDManagementServer::RegisterClient(PersistentStorageDelegate & storage, // Save entry.checkInNodeID = node_id; entry.monitoredSubject = monitored_subject; - err = entry.SetKey(key); + if (entry.keyHandleValid) + { + entry.DeleteKey(); + } + + err = entry.SetKey(key); VerifyOrReturnError(CHIP_ERROR_INVALID_ARGUMENT != err, InteractionModel::Status::ConstraintError); VerifyOrReturnError(CHIP_NO_ERROR == err, InteractionModel::Status::Failure); err = table.Set(entry.index, entry); diff --git a/src/app/icd/ICDMonitoringTable.cpp b/src/app/icd/ICDMonitoringTable.cpp index cb161a1926b0fe..f47da4187dda65 100644 --- a/src/app/icd/ICDMonitoringTable.cpp +++ b/src/app/icd/ICDMonitoringTable.cpp @@ -72,7 +72,12 @@ CHIP_ERROR ICDMonitoringEntry::Deserialize(TLV::TLVReader & reader) case to_underlying(Fields::kKey): { ByteSpan buf(key.AsMutable()); ReturnErrorOnFailure(reader.Get(buf)); - ReturnErrorOnFailure(this->SetKey(buf)); + // Since we are storing either the raw key or a key ID, we must + // simply copy the data as is in the keyHandle. + // Calling SetKey here would create another key in storage and will cause + // key leakage in some implementation. + memcpy(key.AsMutable(), buf.data(), sizeof(Crypto::Aes128KeyByteArray)); + keyHandleValid = true; } break; default: @@ -90,24 +95,20 @@ void ICDMonitoringEntry::Clear() { this->checkInNodeID = kUndefinedNodeId; this->monitoredSubject = kUndefinedNodeId; - if (symmetricKeystore != nullptr) - { - symmetricKeystore->DestroyKey(this->key); - } + this->keyHandleValid = false; } CHIP_ERROR ICDMonitoringEntry::SetKey(ByteSpan keyData) { VerifyOrReturnError(keyData.size() == sizeof(Crypto::Aes128KeyByteArray), CHIP_ERROR_INVALID_ARGUMENT); VerifyOrReturnError(symmetricKeystore != nullptr, CHIP_ERROR_INTERNAL); - - // DeleteKey in case the handle was already used. - DeleteKey(); + VerifyOrReturnError(!keyHandleValid, CHIP_ERROR_INTERNAL); Crypto::Aes128KeyByteArray keyMaterial; memcpy(keyMaterial, keyData.data(), sizeof(Crypto::Aes128KeyByteArray)); ReturnErrorOnFailure(symmetricKeystore->CreateKey(keyMaterial, key)); + keyHandleValid = true; return CHIP_NO_ERROR; } @@ -116,6 +117,7 @@ CHIP_ERROR ICDMonitoringEntry::DeleteKey() { VerifyOrReturnError(symmetricKeystore != nullptr, CHIP_ERROR_INTERNAL); symmetricKeystore->DestroyKey(this->key); + keyHandleValid = false; return CHIP_NO_ERROR; } @@ -123,6 +125,7 @@ bool ICDMonitoringEntry::IsKeyEquivalent(ByteSpan keyData) { VerifyOrReturnValue(keyData.size() == Crypto::CHIP_CRYPTO_SYMMETRIC_KEY_LENGTH_BYTES, false); VerifyOrReturnValue(symmetricKeystore != nullptr, false); + VerifyOrReturnValue(keyHandleValid, false); ICDMonitoringEntry tempEntry(symmetricKeystore); @@ -187,6 +190,7 @@ CHIP_ERROR ICDMonitoringTable::Set(uint16_t index, const ICDMonitoringEntry & en VerifyOrReturnError(index < this->Limit(), CHIP_ERROR_INVALID_ARGUMENT); VerifyOrReturnError(kUndefinedNodeId != entry.checkInNodeID, CHIP_ERROR_INVALID_ARGUMENT); VerifyOrReturnError(kUndefinedNodeId != entry.monitoredSubject, CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrReturnError(entry.keyHandleValid, CHIP_ERROR_INVALID_ARGUMENT); ICDMonitoringEntry e(this->mFabric, index); e.checkInNodeID = entry.checkInNodeID; e.monitoredSubject = entry.monitoredSubject; @@ -209,7 +213,7 @@ CHIP_ERROR ICDMonitoringTable::Remove(uint16_t index) // Shift remaining entries down one position while (CHIP_NO_ERROR == this->Get(static_cast(index + 1), entry)) { - this->Set(index++, entry); + ReturnErrorOnFailure(this->Set(index++, entry)); } // Remove last entry diff --git a/src/app/icd/ICDMonitoringTable.h b/src/app/icd/ICDMonitoringTable.h index 4bfd70c772fa65..cf5fa28b4f1138 100644 --- a/src/app/icd/ICDMonitoringTable.h +++ b/src/app/icd/ICDMonitoringTable.h @@ -59,6 +59,22 @@ struct ICDMonitoringEntry : public PersistentData CHIP_ERROR Serialize(TLV::TLVWriter & writer) const override; CHIP_ERROR Deserialize(TLV::TLVReader & reader) override; void Clear() override; + /** + * @brief Set the Key object + * This method will create a new keyHandle. The key handle might contain either + * the raw key or a keyID depending on which Crypto implementation is used. + * To avoid leaking keys, API consumers must either call the DeleteKey method + * or save the entry within the ICDMonitoring Table before this object goes out of scope. + * + * A new entry object should be used for each key when adding entries to the ICDMonitoring + * table. + * + * @param keyData A byte span containing the raw key + * @return CHIP_ERROR CHIP_NO_ERROR success + * CHIP_ERROR_INVALID_ARGUMENT wrong size of the raw key + * CHIP_ERROR_INTERNAL No KeyStore for the entry or Key Handle already present + * CHIP_ERROR_XXX Crypto API related failure + */ CHIP_ERROR SetKey(ByteSpan keyData); CHIP_ERROR DeleteKey(void); @@ -83,6 +99,7 @@ struct ICDMonitoringEntry : public PersistentData chip::NodeId checkInNodeID = kUndefinedNodeId; uint64_t monitoredSubject = static_cast(0); Crypto::Aes128KeyHandle key = Crypto::Aes128KeyHandle(); + bool keyHandleValid = false; uint16_t index = 0; Crypto::SymmetricKeystore * symmetricKeystore = nullptr; }; diff --git a/src/app/tests/TestICDMonitoringTable.cpp b/src/app/tests/TestICDMonitoringTable.cpp index 867592f4fa2f9a..91430e404188e6 100644 --- a/src/app/tests/TestICDMonitoringTable.cpp +++ b/src/app/tests/TestICDMonitoringTable.cpp @@ -71,6 +71,12 @@ void TestEntryKeyFunctions(nlTestSuite * aSuite, void * aContext) // Test Setting Key NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer1a))); + // Test Setting Key again + NL_TEST_ASSERT(aSuite, CHIP_ERROR_INTERNAL == entry.SetKey(ByteSpan(kKeyBuffer1b))); + + // Test Key Deletion + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.DeleteKey()); + // Test Setting Key again NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer1b))); @@ -93,24 +99,27 @@ void TestSaveAndLoadRegistrationValue(nlTestSuite * aSuite, void * aContext) CHIP_ERROR err; // Insert first entry - entry.checkInNodeID = kClientNodeId11; - entry.monitoredSubject = kClientNodeId12; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer1a))); - err = saving.Set(0, entry); + ICDMonitoringEntry entry1(&keystore); + entry1.checkInNodeID = kClientNodeId11; + entry1.monitoredSubject = kClientNodeId12; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry1.SetKey(ByteSpan(kKeyBuffer1a))); + err = saving.Set(0, entry1); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); // Insert second entry - entry.checkInNodeID = kClientNodeId12; - entry.monitoredSubject = kClientNodeId11; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer2a))); - err = saving.Set(1, entry); + ICDMonitoringEntry entry2(&keystore); + entry2.checkInNodeID = kClientNodeId12; + entry2.monitoredSubject = kClientNodeId11; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry2.SetKey(ByteSpan(kKeyBuffer2a))); + err = saving.Set(1, entry2); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); // Insert one too many - entry.checkInNodeID = kClientNodeId13; - entry.monitoredSubject = kClientNodeId13; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer3a))); - err = saving.Set(2, entry); + ICDMonitoringEntry entry3(&keystore); + entry3.checkInNodeID = kClientNodeId13; + entry3.monitoredSubject = kClientNodeId13; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry3.SetKey(ByteSpan(kKeyBuffer3a))); + err = saving.Set(2, entry3); NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == err); // Retrieve first entry @@ -119,11 +128,7 @@ void TestSaveAndLoadRegistrationValue(nlTestSuite * aSuite, void * aContext) NL_TEST_ASSERT(aSuite, kTestFabricIndex1 == entry.fabricIndex); NL_TEST_ASSERT(aSuite, kClientNodeId11 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId12 == entry.monitoredSubject); - -// Cannot compare nor retrieve Data if using PSA crypto -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer1a, sizeof(kKeyBuffer1a))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer1a))); // Retrieve second entry err = loading.Get(1, entry); @@ -131,47 +136,37 @@ void TestSaveAndLoadRegistrationValue(nlTestSuite * aSuite, void * aContext) NL_TEST_ASSERT(aSuite, kTestFabricIndex1 == entry.fabricIndex); NL_TEST_ASSERT(aSuite, kClientNodeId12 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId11 == entry.monitoredSubject); - -// Cannot compare nor retrieve Data if using PSA crypto -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer2a, sizeof(kKeyBuffer2a))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer2a))); // No more entries err = loading.Get(2, entry); NL_TEST_ASSERT(aSuite, 2 == loading.Limit()); NL_TEST_ASSERT(aSuite, CHIP_ERROR_NOT_FOUND == err); - // Overwrite first entry - entry.checkInNodeID = kClientNodeId13; - entry.monitoredSubject = kClientNodeId11; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer1b))); - err = saving.Set(0, entry); + // Remove first entry + saving.Remove(0); + ICDMonitoringEntry entry4(&keystore); + entry4.checkInNodeID = kClientNodeId13; + entry4.monitoredSubject = kClientNodeId11; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry4.SetKey(ByteSpan(kKeyBuffer1b))); + err = saving.Set(1, entry4); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); - // Retrieve first entry (modified) + // Retrieve first entry (not modified but shifted) err = loading.Get(0, entry); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); NL_TEST_ASSERT(aSuite, kTestFabricIndex1 == entry.fabricIndex); - NL_TEST_ASSERT(aSuite, kClientNodeId13 == entry.checkInNodeID); + NL_TEST_ASSERT(aSuite, kClientNodeId12 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId11 == entry.monitoredSubject); + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer2a))); -// Cannot compare nor retrieve Data if using PSA crypto -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer1b, sizeof(kKeyBuffer1b))); -#endif - - // Retrieve second entry (not modified) + // Retrieve second entry err = loading.Get(1, entry); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); NL_TEST_ASSERT(aSuite, kTestFabricIndex1 == entry.fabricIndex); - NL_TEST_ASSERT(aSuite, kClientNodeId12 == entry.checkInNodeID); + NL_TEST_ASSERT(aSuite, kClientNodeId13 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId11 == entry.monitoredSubject); - -// Cannot compare nor retrieve Data if using PSA crypto -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer2a, sizeof(kKeyBuffer2a))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer1b))); } void TestSaveAllInvalidRegistrationValues(nlTestSuite * aSuite, void * aContext) @@ -179,39 +174,47 @@ void TestSaveAllInvalidRegistrationValues(nlTestSuite * aSuite, void * aContext) TestPersistentStorageDelegate storage; TestSessionKeystoreImpl keystore; ICDMonitoringTable table(storage, kTestFabricIndex1, kMaxTestClients1, &keystore); - ICDMonitoringEntry entry(&keystore); CHIP_ERROR err; // Invalid checkInNodeID - entry.checkInNodeID = kUndefinedNodeId; - entry.monitoredSubject = kClientNodeId12; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer1a))); - err = table.Set(0, entry); + ICDMonitoringEntry entry1(&keystore); + entry1.checkInNodeID = kUndefinedNodeId; + entry1.monitoredSubject = kClientNodeId12; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry1.SetKey(ByteSpan(kKeyBuffer1a))); + err = table.Set(0, entry1); NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == err); // Invalid monitoredSubject - entry.checkInNodeID = kClientNodeId11; - entry.monitoredSubject = kUndefinedNodeId; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer1a))); - err = table.Set(0, entry); + ICDMonitoringEntry entry2(&keystore); + entry2.checkInNodeID = kClientNodeId11; + entry2.monitoredSubject = kUndefinedNodeId; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry2.SetKey(ByteSpan(kKeyBuffer1a))); + err = table.Set(0, entry2); NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == err); // Invalid key (empty) - entry.checkInNodeID = kClientNodeId11; - entry.monitoredSubject = kClientNodeId12; - NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == entry.SetKey(ByteSpan())); - err = table.Set(0, entry); + ICDMonitoringEntry entry3(&keystore); + entry3.checkInNodeID = kClientNodeId11; + entry3.monitoredSubject = kClientNodeId12; + NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == entry3.SetKey(ByteSpan())); + err = table.Set(0, entry3); + NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == err); - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); // Invalid key (too short) - entry.checkInNodeID = kClientNodeId11; - entry.monitoredSubject = kClientNodeId12; - NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == entry.SetKey(ByteSpan(kKeyBuffer0a))); + ICDMonitoringEntry entry4(&keystore); + entry4.checkInNodeID = kClientNodeId11; + entry4.monitoredSubject = kClientNodeId12; + NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == entry4.SetKey(ByteSpan(kKeyBuffer0a))); + err = table.Set(0, entry4); + NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == err); // Invalid key (too long) - entry.checkInNodeID = kClientNodeId11; - entry.monitoredSubject = kClientNodeId12; - NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == entry.SetKey(ByteSpan(kKeyBuffer0b))); + ICDMonitoringEntry entry5(&keystore); + entry5.checkInNodeID = kClientNodeId11; + entry5.monitoredSubject = kClientNodeId12; + NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == entry5.SetKey(ByteSpan(kKeyBuffer0b))); + err = table.Set(0, entry5); + NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == err); } void TestSaveLoadRegistrationValueForMultipleFabrics(nlTestSuite * aSuite, void * aContext) @@ -224,31 +227,35 @@ void TestSaveLoadRegistrationValueForMultipleFabrics(nlTestSuite * aSuite, void CHIP_ERROR err; // Insert in first fabric - entry.checkInNodeID = kClientNodeId11; - entry.monitoredSubject = kClientNodeId12; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer1a))); - err = table1.Set(0, entry); + ICDMonitoringEntry entry1(&keystore); + entry1.checkInNodeID = kClientNodeId11; + entry1.monitoredSubject = kClientNodeId12; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry1.SetKey(ByteSpan(kKeyBuffer1a))); + err = table1.Set(0, entry1); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); // Insert in first fabric - entry.checkInNodeID = kClientNodeId12; - entry.monitoredSubject = kClientNodeId11; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer1b))); - err = table1.Set(1, entry); + ICDMonitoringEntry entry2(&keystore); + entry2.checkInNodeID = kClientNodeId12; + entry2.monitoredSubject = kClientNodeId11; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry2.SetKey(ByteSpan(kKeyBuffer1b))); + err = table1.Set(1, entry2); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); // Insert in second fabric - entry.checkInNodeID = kClientNodeId21; - entry.monitoredSubject = kClientNodeId22; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer2a))); - err = table2.Set(0, entry); + ICDMonitoringEntry entry3(&keystore); + entry3.checkInNodeID = kClientNodeId21; + entry3.monitoredSubject = kClientNodeId22; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry3.SetKey(ByteSpan(kKeyBuffer2a))); + err = table2.Set(0, entry3); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); // Insert in second fabric (one too many) - entry.checkInNodeID = kClientNodeId22; - entry.monitoredSubject = kClientNodeId21; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer2b))); - err = table2.Set(1, entry); + ICDMonitoringEntry entry4(&keystore); + entry4.checkInNodeID = kClientNodeId22; + entry4.monitoredSubject = kClientNodeId21; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry4.SetKey(ByteSpan(kKeyBuffer2b))); + err = table2.Set(1, entry4); NL_TEST_ASSERT(aSuite, CHIP_ERROR_INVALID_ARGUMENT == err); // Retrieve fabric1, first entry @@ -257,10 +264,7 @@ void TestSaveLoadRegistrationValueForMultipleFabrics(nlTestSuite * aSuite, void NL_TEST_ASSERT(aSuite, kTestFabricIndex1 == entry.fabricIndex); NL_TEST_ASSERT(aSuite, kClientNodeId11 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId12 == entry.monitoredSubject); - -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer1a, sizeof(kKeyBuffer1a))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer1a))); // Retrieve fabric2, second entry err = table1.Get(1, entry); @@ -268,10 +272,7 @@ void TestSaveLoadRegistrationValueForMultipleFabrics(nlTestSuite * aSuite, void NL_TEST_ASSERT(aSuite, kTestFabricIndex1 == entry.fabricIndex); NL_TEST_ASSERT(aSuite, kClientNodeId12 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId11 == entry.monitoredSubject); - -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer1b, sizeof(kKeyBuffer1b))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer1b))); // Retrieve fabric2, first entry err = table2.Get(0, entry); @@ -279,10 +280,7 @@ void TestSaveLoadRegistrationValueForMultipleFabrics(nlTestSuite * aSuite, void NL_TEST_ASSERT(aSuite, kTestFabricIndex2 == entry.fabricIndex); NL_TEST_ASSERT(aSuite, kClientNodeId21 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId22 == entry.monitoredSubject); - -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer2a, sizeof(kKeyBuffer2a))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer2a))); } void TestDeleteValidEntryFromStorage(nlTestSuite * aSuite, void * context) @@ -294,25 +292,28 @@ void TestDeleteValidEntryFromStorage(nlTestSuite * aSuite, void * context) ICDMonitoringEntry entry(&keystore); CHIP_ERROR err; - // Insert first entry - entry.checkInNodeID = kClientNodeId11; - entry.monitoredSubject = kClientNodeId12; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer1a))); - err = table1.Set(0, entry); + // Insert in first fabric + ICDMonitoringEntry entry1(&keystore); + entry1.checkInNodeID = kClientNodeId11; + entry1.monitoredSubject = kClientNodeId12; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry1.SetKey(ByteSpan(kKeyBuffer1a))); + err = table1.Set(0, entry1); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); - // Insert second entry - entry.checkInNodeID = kClientNodeId12; - entry.monitoredSubject = kClientNodeId11; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer2a))); - err = table1.Set(1, entry); + // Insert in first fabric + ICDMonitoringEntry entry2(&keystore); + entry2.checkInNodeID = kClientNodeId12; + entry2.monitoredSubject = kClientNodeId11; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry2.SetKey(ByteSpan(kKeyBuffer2a))); + err = table1.Set(1, entry2); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); // Insert in second fabric - entry.checkInNodeID = kClientNodeId21; - entry.monitoredSubject = kClientNodeId22; - NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry.SetKey(ByteSpan(kKeyBuffer2a))); - err = table2.Set(0, entry); + ICDMonitoringEntry entry3(&keystore); + entry3.checkInNodeID = kClientNodeId21; + entry3.monitoredSubject = kClientNodeId22; + NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == entry3.SetKey(ByteSpan(kKeyBuffer1b))); + err = table2.Set(0, entry3); NL_TEST_ASSERT(aSuite, CHIP_NO_ERROR == err); // Remove (invalid) @@ -325,10 +326,7 @@ void TestDeleteValidEntryFromStorage(nlTestSuite * aSuite, void * context) NL_TEST_ASSERT(aSuite, kTestFabricIndex1 == entry.fabricIndex); NL_TEST_ASSERT(aSuite, kClientNodeId11 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId12 == entry.monitoredSubject); - -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer1a, sizeof(kKeyBuffer1a))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer1a))); // Retrieve second entry (not modified) err = table1.Get(1, entry); @@ -336,10 +334,7 @@ void TestDeleteValidEntryFromStorage(nlTestSuite * aSuite, void * context) NL_TEST_ASSERT(aSuite, kTestFabricIndex1 == entry.fabricIndex); NL_TEST_ASSERT(aSuite, kClientNodeId12 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId11 == entry.monitoredSubject); - -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer2a, sizeof(kKeyBuffer2a))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer2a))); // Remove (existing) err = table1.Remove(0); @@ -354,10 +349,7 @@ void TestDeleteValidEntryFromStorage(nlTestSuite * aSuite, void * context) NL_TEST_ASSERT(aSuite, kTestFabricIndex1 == entry.fabricIndex); NL_TEST_ASSERT(aSuite, kClientNodeId12 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId11 == entry.monitoredSubject); - -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer2a, sizeof(kKeyBuffer2a))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer2a))); // Retrieve fabric2, first entry err = table2.Get(0, entry); @@ -365,10 +357,7 @@ void TestDeleteValidEntryFromStorage(nlTestSuite * aSuite, void * context) NL_TEST_ASSERT(aSuite, kTestFabricIndex2 == entry.fabricIndex); NL_TEST_ASSERT(aSuite, kClientNodeId21 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId22 == entry.monitoredSubject); - -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer2a, sizeof(kKeyBuffer2a))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer1b))); // Remove all (fabric 1) err = table1.RemoveAll(); @@ -383,10 +372,7 @@ void TestDeleteValidEntryFromStorage(nlTestSuite * aSuite, void * context) NL_TEST_ASSERT(aSuite, kTestFabricIndex2 == entry.fabricIndex); NL_TEST_ASSERT(aSuite, kClientNodeId21 == entry.checkInNodeID); NL_TEST_ASSERT(aSuite, kClientNodeId22 == entry.monitoredSubject); - -#if !CHIP_CRYPTO_PSA - NL_TEST_ASSERT(aSuite, 0 == memcmp(entry.key.As(), kKeyBuffer2a, sizeof(kKeyBuffer2a))); -#endif + NL_TEST_ASSERT(aSuite, entry.IsKeyEquivalent(ByteSpan(kKeyBuffer1b))); // Remove all (fabric 2) err = table2.RemoveAll(); From e0bdee7effdb7b2024ed8c2e9894c3bb04027f37 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Sat, 21 Oct 2023 16:13:26 -0400 Subject: [PATCH 05/44] Fix zap after #29126 (#29896) --- .../nxp/zap/thermostat_matter_thread.matter | 462 +++++++++-------- .../nxp/zap/thermostat_matter_wifi.matter | 466 ++++++++++-------- 2 files changed, 541 insertions(+), 387 deletions(-) diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter index 08f30267c794a4..09098b40590212 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter @@ -3,7 +3,7 @@ /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ client cluster Identify = 3 { - enum EffectIdentifierEnum : ENUM8 { + enum EffectIdentifierEnum : enum8 { kBlink = 0; kBreathe = 1; kOkay = 2; @@ -12,11 +12,11 @@ client cluster Identify = 3 { kStopEffect = 255; } - enum EffectVariantEnum : ENUM8 { + enum EffectVariantEnum : enum8 { kDefault = 0; } - enum IdentifyTypeEnum : ENUM8 { + enum IdentifyTypeEnum : enum8 { kNone = 0; kLightOutput = 1; kVisibleIndicator = 2; @@ -35,7 +35,7 @@ client cluster Identify = 3 { readonly attribute int16u clusterRevision = 65533; request struct IdentifyRequest { - INT16U identifyTime = 0; + int16u identifyTime = 0; } request struct TriggerEffectRequest { @@ -51,7 +51,7 @@ client cluster Identify = 3 { /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ server cluster Identify = 3 { - enum EffectIdentifierEnum : ENUM8 { + enum EffectIdentifierEnum : enum8 { kBlink = 0; kBreathe = 1; kOkay = 2; @@ -60,11 +60,11 @@ server cluster Identify = 3 { kStopEffect = 255; } - enum EffectVariantEnum : ENUM8 { + enum EffectVariantEnum : enum8 { kDefault = 0; } - enum IdentifyTypeEnum : ENUM8 { + enum IdentifyTypeEnum : enum8 { kNone = 0; kLightOutput = 1; kVisibleIndicator = 2; @@ -83,7 +83,7 @@ server cluster Identify = 3 { readonly attribute int16u clusterRevision = 65533; request struct IdentifyRequest { - INT16U identifyTime = 0; + int16u identifyTime = 0; } command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0; @@ -91,11 +91,11 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kGroupNames = 0x1; } - bitmap NameSupportBitmap : BITMAP8 { + bitmap NameSupportBitmap : bitmap8 { kGroupNames = 0x80; } @@ -109,7 +109,7 @@ server cluster Groups = 4 { request struct AddGroupRequest { group_id groupID = 0; - CHAR_STRING groupName = 1; + char_string groupName = 1; } request struct ViewGroupRequest { @@ -126,27 +126,27 @@ server cluster Groups = 4 { request struct AddGroupIfIdentifyingRequest { group_id groupID = 0; - CHAR_STRING groupName = 1; + char_string groupName = 1; } response struct AddGroupResponse = 0 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; } response struct ViewGroupResponse = 1 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; - CHAR_STRING groupName = 2; + char_string groupName = 2; } response struct GetGroupMembershipResponse = 2 { - nullable INT8U capacity = 0; + nullable int8u capacity = 0; group_id groupList[] = 1; } response struct RemoveGroupResponse = 3 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; } @@ -159,15 +159,15 @@ server cluster Groups = 4 { } /** Attributes and commands for scene configuration and manipulation. */ -server cluster Scenes = 5 { - bitmap Feature : BITMAP32 { +provisional server cluster Scenes = 5 { + bitmap Feature : bitmap32 { kSceneNames = 0x1; kExplicit = 0x2; kTableSize = 0x4; kFabricScenes = 0x8; } - bitmap ScenesCopyMode : BITMAP8 { + bitmap ScenesCopyMode : bitmap8 { kCopyAllScenes = 0x1; } @@ -197,20 +197,20 @@ server cluster Scenes = 5 { request struct AddSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; - INT16U transitionTime = 2; - CHAR_STRING sceneName = 3; + int8u sceneID = 1; + int16u transitionTime = 2; + char_string sceneName = 3; ExtensionFieldSet extensionFieldSets[] = 4; } request struct ViewSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RemoveSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RemoveAllScenesRequest { @@ -219,13 +219,13 @@ server cluster Scenes = 5 { request struct StoreSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RecallSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; - optional nullable INT16U transitionTime = 2; + int8u sceneID = 1; + optional nullable int16u transitionTime = 2; } request struct GetSceneMembershipRequest { @@ -235,22 +235,22 @@ server cluster Scenes = 5 { response struct AddSceneResponse = 0 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct ViewSceneResponse = 1 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; - optional INT16U transitionTime = 3; - optional CHAR_STRING sceneName = 4; + int8u sceneID = 2; + optional int16u transitionTime = 3; + optional char_string sceneName = 4; optional ExtensionFieldSet extensionFieldSets[] = 5; } response struct RemoveSceneResponse = 2 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct RemoveAllScenesResponse = 3 { @@ -261,14 +261,14 @@ server cluster Scenes = 5 { response struct StoreSceneResponse = 4 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct GetSceneMembershipResponse = 6 { status status = 0; - nullable INT8U capacity = 1; + nullable int8u capacity = 1; group_id groupID = 2; - optional INT8U sceneList[] = 3; + optional int8u sceneList[] = 3; } fabric command access(invoke: manage) AddScene(AddSceneRequest): AddSceneResponse = 0; @@ -282,7 +282,7 @@ server cluster Scenes = 5 { /** The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. */ server cluster Descriptor = 29 { - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kTagList = 0x1; } @@ -299,9 +299,9 @@ server cluster Descriptor = 29 { } readonly attribute DeviceTypeStruct deviceTypeList[] = 0; - readonly attribute CLUSTER_ID serverList[] = 1; - readonly attribute CLUSTER_ID clientList[] = 2; - readonly attribute ENDPOINT_NO partsList[] = 3; + readonly attribute cluster_id serverList[] = 1; + readonly attribute cluster_id clientList[] = 2; + readonly attribute endpoint_no partsList[] = 3; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -334,13 +334,13 @@ server cluster Binding = 30 { and enforce Access Control for the Node's endpoints and their associated cluster instances. */ server cluster AccessControl = 31 { - enum AccessControlEntryAuthModeEnum : ENUM8 { + enum AccessControlEntryAuthModeEnum : enum8 { kPASE = 1; kCASE = 2; kGroup = 3; } - enum AccessControlEntryPrivilegeEnum : ENUM8 { + enum AccessControlEntryPrivilegeEnum : enum8 { kView = 1; kProxyView = 2; kOperate = 3; @@ -348,7 +348,7 @@ server cluster AccessControl = 31 { kAdminister = 5; } - enum ChangeTypeEnum : ENUM8 { + enum ChangeTypeEnum : enum8 { kChanged = 0; kAdded = 1; kRemoved = 2; @@ -375,7 +375,7 @@ server cluster AccessControl = 31 { fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; - nullable INT16U adminPasscodeID = 2; + nullable int16u adminPasscodeID = 2; ChangeTypeEnum changeType = 3; nullable AccessControlEntryStruct latestValue = 4; fabric_idx fabricIndex = 254; @@ -383,7 +383,7 @@ server cluster AccessControl = 31 { fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; - nullable INT16U adminPasscodeID = 2; + nullable int16u adminPasscodeID = 2; ChangeTypeEnum changeType = 3; nullable AccessControlExtensionStruct latestValue = 4; fabric_idx fabricIndex = 254; @@ -406,7 +406,7 @@ server cluster AccessControl = 31 { Commissioning and operational determination of Node characteristics, such as Vendor ID, Product ID and serial number, which apply to the whole Node. Also allows setting user device information such as location. */ server cluster BasicInformation = 40 { - enum ColorEnum : ENUM8 { + enum ColorEnum : enum8 { kBlack = 0; kNavy = 1; kGreen = 2; @@ -430,7 +430,7 @@ server cluster BasicInformation = 40 { kGold = 20; } - enum ProductFinishEnum : ENUM8 { + enum ProductFinishEnum : enum8 { kOther = 0; kMatte = 1; kSatin = 2; @@ -450,7 +450,7 @@ server cluster BasicInformation = 40 { } critical event StartUp = 0 { - INT32U softwareVersion = 0; + int32u softwareVersion = 0; } critical event ShutDown = 1 { @@ -494,20 +494,20 @@ server cluster BasicInformation = 40 { /** Provides an interface for providing OTA software updates */ client cluster OtaSoftwareUpdateProvider = 41 { - enum OTAApplyUpdateAction : ENUM8 { + enum ApplyUpdateActionEnum : enum8 { kProceed = 0; kAwaitNextAction = 1; kDiscontinue = 2; } - enum OTADownloadProtocol : ENUM8 { + enum DownloadProtocolEnum : enum8 { kBDXSynchronous = 0; kBDXAsynchronous = 1; kHTTPS = 2; kVendorSpecific = 3; } - enum OTAQueryStatus : ENUM8 { + enum StatusEnum : enum8 { kUpdateAvailable = 0; kBusy = 1; kNotAvailable = 2; @@ -523,39 +523,39 @@ client cluster OtaSoftwareUpdateProvider = 41 { request struct QueryImageRequest { vendor_id vendorID = 0; - INT16U productID = 1; - INT32U softwareVersion = 2; - OTADownloadProtocol protocolsSupported[] = 3; - optional INT16U hardwareVersion = 4; - optional CHAR_STRING<2> location = 5; - optional BOOLEAN requestorCanConsent = 6; - optional OCTET_STRING<512> metadataForProvider = 7; + int16u productID = 1; + int32u softwareVersion = 2; + DownloadProtocolEnum protocolsSupported[] = 3; + optional int16u hardwareVersion = 4; + optional char_string<2> location = 5; + optional boolean requestorCanConsent = 6; + optional octet_string<512> metadataForProvider = 7; } response struct QueryImageResponse = 1 { - OTAQueryStatus status = 0; - optional INT32U delayedActionTime = 1; - optional CHAR_STRING<256> imageURI = 2; - optional INT32U softwareVersion = 3; - optional CHAR_STRING<64> softwareVersionString = 4; - optional OCTET_STRING<32> updateToken = 5; - optional BOOLEAN userConsentNeeded = 6; - optional OCTET_STRING<512> metadataForRequestor = 7; + StatusEnum status = 0; + optional int32u delayedActionTime = 1; + optional char_string<256> imageURI = 2; + optional int32u softwareVersion = 3; + optional char_string<64> softwareVersionString = 4; + optional octet_string<32> updateToken = 5; + optional boolean userConsentNeeded = 6; + optional octet_string<512> metadataForRequestor = 7; } request struct ApplyUpdateRequestRequest { - OCTET_STRING<32> updateToken = 0; - INT32U newVersion = 1; + octet_string<32> updateToken = 0; + int32u newVersion = 1; } response struct ApplyUpdateResponse = 3 { - OTAApplyUpdateAction action = 0; - INT32U delayedActionTime = 1; + ApplyUpdateActionEnum action = 0; + int32u delayedActionTime = 1; } request struct NotifyUpdateAppliedRequest { - OCTET_STRING<32> updateToken = 0; - INT32U softwareVersion = 1; + octet_string<32> updateToken = 0; + int32u softwareVersion = 1; } /** Determine availability of a new Software Image */ @@ -568,13 +568,13 @@ client cluster OtaSoftwareUpdateProvider = 41 { /** Provides an interface for downloading and applying OTA software updates */ server cluster OtaSoftwareUpdateRequestor = 42 { - enum OTAAnnouncementReason : ENUM8 { + enum AnnouncementReasonEnum : enum8 { kSimpleAnnouncement = 0; kUpdateAvailable = 1; kUrgentUpdateAvailable = 2; } - enum OTAChangeReasonEnum : ENUM8 { + enum ChangeReasonEnum : enum8 { kUnknown = 0; kSuccess = 1; kFailure = 2; @@ -582,7 +582,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayByProvider = 4; } - enum OTAUpdateStateEnum : ENUM8 { + enum UpdateStateEnum : enum8 { kUnknown = 0; kIdle = 1; kQuerying = 2; @@ -601,27 +601,27 @@ server cluster OtaSoftwareUpdateRequestor = 42 { } info event StateTransition = 0 { - OTAUpdateStateEnum previousState = 0; - OTAUpdateStateEnum newState = 1; - OTAChangeReasonEnum reason = 2; - nullable INT32U targetSoftwareVersion = 3; + UpdateStateEnum previousState = 0; + UpdateStateEnum newState = 1; + ChangeReasonEnum reason = 2; + nullable int32u targetSoftwareVersion = 3; } critical event VersionApplied = 1 { - INT32U softwareVersion = 0; - INT16U productID = 1; + int32u softwareVersion = 0; + int16u productID = 1; } info event DownloadError = 2 { - INT32U softwareVersion = 0; - INT64U bytesDownloaded = 1; - nullable INT8U progressPercent = 2; - nullable INT64S platformCode = 3; + int32u softwareVersion = 0; + int64u bytesDownloaded = 1; + nullable int8u progressPercent = 2; + nullable int64s platformCode = 3; } attribute ProviderLocation defaultOTAProviders[] = 0; readonly attribute boolean updatePossible = 1; - readonly attribute OTAUpdateStateEnum updateState = 2; + readonly attribute UpdateStateEnum updateState = 2; readonly attribute nullable int8u updateStateProgress = 3; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -633,8 +633,8 @@ server cluster OtaSoftwareUpdateRequestor = 42 { request struct AnnounceOTAProviderRequest { node_id providerNodeID = 0; vendor_id vendorID = 1; - OTAAnnouncementReason announcementReason = 2; - optional OCTET_STRING<512> metadataForNode = 3; + AnnouncementReasonEnum announcementReason = 2; + optional octet_string<512> metadataForNode = 3; endpoint_no endpoint = 4; } @@ -647,7 +647,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { they can be configured to use a user’s preferred language, units, etc */ server cluster LocalizationConfiguration = 43 { attribute char_string<35> activeLocale = 0; - readonly attribute CHAR_STRING supportedLocales[] = 1; + readonly attribute char_string supportedLocales[] = 1; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -661,7 +661,7 @@ server cluster LocalizationConfiguration = 43 { or audibly convey time information need a mechanism by which they can be configured to use a user’s preferred format. */ server cluster TimeFormatLocalization = 44 { - enum CalendarTypeEnum : ENUM8 { + enum CalendarTypeEnum : enum8 { kBuddhist = 0; kChinese = 1; kCoptic = 2; @@ -676,12 +676,12 @@ server cluster TimeFormatLocalization = 44 { kTaiwanese = 11; } - enum HourFormatEnum : ENUM8 { + enum HourFormatEnum : enum8 { k12hr = 0; k24hr = 1; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kCalendarFormat = 0x1; } @@ -701,13 +701,13 @@ server cluster TimeFormatLocalization = 44 { user. As such, Nodes that visually or audibly convey measurable values to the user need a mechanism by which they can be configured to use a user’s preferred unit. */ server cluster UnitLocalization = 45 { - enum TempUnitEnum : ENUM8 { + enum TempUnitEnum : enum8 { kFahrenheit = 0; kCelsius = 1; kKelvin = 2; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kTemperatureUnit = 0x1; } @@ -722,7 +722,7 @@ server cluster UnitLocalization = 45 { /** This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. */ server cluster PowerSource = 47 { - enum BatApprovedChemistryEnum : ENUM16 { + enum BatApprovedChemistryEnum : enum16 { kUnspecified = 0; kAlkaline = 1; kLithiumCarbonFluoride = 2; @@ -758,7 +758,7 @@ server cluster PowerSource = 47 { kZincCerium = 32; } - enum BatChargeFaultEnum : ENUM8 { + enum BatChargeFaultEnum : enum8 { kUnspecified = 0; kAmbientTooHot = 1; kAmbientTooCold = 2; @@ -772,20 +772,20 @@ server cluster PowerSource = 47 { kSafetyTimeout = 10; } - enum BatChargeLevelEnum : ENUM8 { + enum BatChargeLevelEnum : enum8 { kOK = 0; kWarning = 1; kCritical = 2; } - enum BatChargeStateEnum : ENUM8 { + enum BatChargeStateEnum : enum8 { kUnknown = 0; kIsCharging = 1; kIsAtFullCharge = 2; kIsNotCharging = 3; } - enum BatCommonDesignationEnum : ENUM16 { + enum BatCommonDesignationEnum : enum16 { kUnspecified = 0; kAAA = 1; kAA = 2; @@ -869,38 +869,38 @@ server cluster PowerSource = 47 { k32600 = 80; } - enum BatFaultEnum : ENUM8 { + enum BatFaultEnum : enum8 { kUnspecified = 0; kOverTemp = 1; kUnderTemp = 2; } - enum BatReplaceabilityEnum : ENUM8 { + enum BatReplaceabilityEnum : enum8 { kUnspecified = 0; kNotReplaceable = 1; kUserReplaceable = 2; kFactoryReplaceable = 3; } - enum PowerSourceStatusEnum : ENUM8 { + enum PowerSourceStatusEnum : enum8 { kUnspecified = 0; kActive = 1; kStandby = 2; kUnavailable = 3; } - enum WiredCurrentTypeEnum : ENUM8 { + enum WiredCurrentTypeEnum : enum8 { kAC = 0; kDC = 1; } - enum WiredFaultEnum : ENUM8 { + enum WiredFaultEnum : enum8 { kUnspecified = 0; kOverVoltage = 1; kUnderVoltage = 2; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -952,7 +952,7 @@ server cluster PowerSource = 47 { /** This cluster is used to manage global aspects of the Commissioning flow. */ server cluster GeneralCommissioning = 48 { - enum CommissioningErrorEnum : ENUM8 { + enum CommissioningErrorEnum : enum8 { kOK = 0; kValueOutsideRange = 1; kInvalidAuthentication = 2; @@ -960,7 +960,7 @@ server cluster GeneralCommissioning = 48 { kBusyWithOtherAdmin = 4; } - enum RegulatoryLocationTypeEnum : ENUM8 { + enum RegulatoryLocationTypeEnum : enum8 { kIndoor = 0; kOutdoor = 1; kIndoorOutdoor = 2; @@ -984,29 +984,29 @@ server cluster GeneralCommissioning = 48 { readonly attribute int16u clusterRevision = 65533; request struct ArmFailSafeRequest { - INT16U expiryLengthSeconds = 0; - INT64U breadcrumb = 1; + int16u expiryLengthSeconds = 0; + int64u breadcrumb = 1; } request struct SetRegulatoryConfigRequest { RegulatoryLocationTypeEnum newRegulatoryConfig = 0; - CHAR_STRING countryCode = 1; - INT64U breadcrumb = 2; + char_string countryCode = 1; + int64u breadcrumb = 2; } response struct ArmFailSafeResponse = 1 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } response struct SetRegulatoryConfigResponse = 3 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } response struct CommissioningCompleteResponse = 5 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0; @@ -1016,7 +1016,7 @@ server cluster GeneralCommissioning = 48 { /** Functionality to configure, enable, disable network credentials and access on a Matter device. */ server cluster NetworkCommissioning = 49 { - enum NetworkCommissioningStatusEnum : ENUM8 { + enum NetworkCommissioningStatusEnum : enum8 { kSuccess = 0; kOutOfRange = 1; kBoundsExceeded = 2; @@ -1032,7 +1032,7 @@ server cluster NetworkCommissioning = 49 { kUnknownError = 12; } - enum WiFiBandEnum : ENUM8 { + enum WiFiBandEnum : enum8 { k2G4 = 0; k3G65 = 1; k5G = 2; @@ -1041,13 +1041,13 @@ server cluster NetworkCommissioning = 49 { k1G = 5; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; } - bitmap WiFiSecurityBitmap : BITMAP8 { + bitmap WiFiSecurityBitmap : bitmap8 { kUnencrypted = 0x1; kWEP = 0x2; kWPAPersonal = 0x4; @@ -1096,54 +1096,54 @@ server cluster NetworkCommissioning = 49 { readonly attribute int16u clusterRevision = 65533; request struct ScanNetworksRequest { - optional nullable OCTET_STRING<32> ssid = 0; - optional INT64U breadcrumb = 1; + optional nullable octet_string<32> ssid = 0; + optional int64u breadcrumb = 1; } request struct AddOrUpdateWiFiNetworkRequest { - OCTET_STRING<32> ssid = 0; - OCTET_STRING<64> credentials = 1; - optional INT64U breadcrumb = 2; + octet_string<32> ssid = 0; + octet_string<64> credentials = 1; + optional int64u breadcrumb = 2; } request struct AddOrUpdateThreadNetworkRequest { - OCTET_STRING<254> operationalDataset = 0; - optional INT64U breadcrumb = 1; + octet_string<254> operationalDataset = 0; + optional int64u breadcrumb = 1; } request struct RemoveNetworkRequest { - OCTET_STRING<32> networkID = 0; - optional INT64U breadcrumb = 1; + octet_string<32> networkID = 0; + optional int64u breadcrumb = 1; } request struct ConnectNetworkRequest { - OCTET_STRING<32> networkID = 0; - optional INT64U breadcrumb = 1; + octet_string<32> networkID = 0; + optional int64u breadcrumb = 1; } request struct ReorderNetworkRequest { - OCTET_STRING<32> networkID = 0; - INT8U networkIndex = 1; - optional INT64U breadcrumb = 2; + octet_string<32> networkID = 0; + int8u networkIndex = 1; + optional int64u breadcrumb = 2; } response struct ScanNetworksResponse = 1 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING debugText = 1; + optional char_string debugText = 1; optional WiFiInterfaceScanResultStruct wiFiScanResults[] = 2; optional ThreadInterfaceScanResultStruct threadScanResults[] = 3; } response struct NetworkConfigResponse = 5 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING<512> debugText = 1; - optional INT8U networkIndex = 2; + optional char_string<512> debugText = 1; + optional int8u networkIndex = 2; } response struct ConnectNetworkResponse = 7 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING debugText = 1; - nullable INT32S errorValue = 2; + optional char_string debugText = 1; + nullable int32s errorValue = 2; } command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0; @@ -1156,7 +1156,7 @@ server cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster GeneralDiagnostics = 51 { - enum BootReasonEnum : ENUM8 { + enum BootReasonEnum : enum8 { kUnspecified = 0; kPowerOnReboot = 1; kBrownOutReset = 2; @@ -1166,7 +1166,7 @@ server cluster GeneralDiagnostics = 51 { kSoftwareReset = 6; } - enum HardwareFaultEnum : ENUM8 { + enum HardwareFaultEnum : enum8 { kUnspecified = 0; kRadio = 1; kSensor = 2; @@ -1180,7 +1180,7 @@ server cluster GeneralDiagnostics = 51 { kTamperDetected = 10; } - enum InterfaceTypeEnum : ENUM8 { + enum InterfaceTypeEnum : enum8 { kUnspecified = 0; kWiFi = 1; kEthernet = 2; @@ -1188,14 +1188,14 @@ server cluster GeneralDiagnostics = 51 { kThread = 4; } - enum NetworkFaultEnum : ENUM8 { + enum NetworkFaultEnum : enum8 { kUnspecified = 0; kHardwareFailure = 1; kNetworkJammed = 2; kConnectionFailed = 3; } - enum RadioFaultEnum : ENUM8 { + enum RadioFaultEnum : enum8 { kUnspecified = 0; kWiFiFault = 1; kCellularFault = 2; @@ -1252,8 +1252,8 @@ server cluster GeneralDiagnostics = 51 { readonly attribute int16u clusterRevision = 65533; request struct TestEventTriggerRequest { - OCTET_STRING<16> enableKey = 0; - INT64U eventTrigger = 1; + octet_string<16> enableKey = 0; + int64u eventTrigger = 1; } command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; @@ -1261,19 +1261,19 @@ server cluster GeneralDiagnostics = 51 { /** The Thread Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems */ server cluster ThreadNetworkDiagnostics = 53 { - enum ConnectionStatusEnum : ENUM8 { + enum ConnectionStatusEnum : enum8 { kConnected = 0; kNotConnected = 1; } - enum NetworkFaultEnum : ENUM8 { + enum NetworkFaultEnum : enum8 { kUnspecified = 0; kLinkDown = 1; kHardwareFailure = 2; kNetworkJammed = 3; } - enum RoutingRoleEnum : ENUM8 { + enum RoutingRoleEnum : enum8 { kUnspecified = 0; kUnassigned = 1; kSleepyEndDevice = 2; @@ -1283,7 +1283,7 @@ server cluster ThreadNetworkDiagnostics = 53 { kLeader = 6; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kPacketCounts = 0x1; kErrorCounts = 0x2; kMLECounts = 0x4; @@ -1424,13 +1424,13 @@ server cluster ThreadNetworkDiagnostics = 53 { /** Commands to trigger a Node to allow a new Administrator to commission it. */ server cluster AdministratorCommissioning = 60 { - enum CommissioningWindowStatusEnum : ENUM8 { + enum CommissioningWindowStatusEnum : enum8 { kWindowNotOpen = 0; kEnhancedWindowOpen = 1; kBasicWindowOpen = 2; } - enum StatusCode : ENUM8 { + enum StatusCode : enum8 { kBusy = 2; kPAKEParameterError = 3; kWindowNotOpen = 4; @@ -1447,15 +1447,15 @@ server cluster AdministratorCommissioning = 60 { readonly attribute int16u clusterRevision = 65533; request struct OpenCommissioningWindowRequest { - INT16U commissioningTimeout = 0; - OCTET_STRING PAKEPasscodeVerifier = 1; - INT16U discriminator = 2; - INT32U iterations = 3; - OCTET_STRING salt = 4; + int16u commissioningTimeout = 0; + octet_string PAKEPasscodeVerifier = 1; + int16u discriminator = 2; + int32u iterations = 3; + octet_string salt = 4; } request struct OpenBasicCommissioningWindowRequest { - INT16U commissioningTimeout = 0; + int16u commissioningTimeout = 0; } timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0; @@ -1465,12 +1465,12 @@ server cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ server cluster OperationalCredentials = 62 { - enum CertificateChainTypeEnum : ENUM8 { + enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; kPAICertificate = 2; } - enum NodeOperationalCertStatusEnum : ENUM8 { + enum NodeOperationalCertStatusEnum : enum8 { kOK = 0; kInvalidPublicKey = 1; kInvalidNodeOpId = 2; @@ -1502,7 +1502,7 @@ server cluster OperationalCredentials = 62 { readonly attribute FabricDescriptorStruct fabrics[] = 1; readonly attribute int8u supportedFabrics = 2; readonly attribute int8u commissionedFabrics = 3; - readonly attribute OCTET_STRING trustedRootCertificates[] = 4; + readonly attribute octet_string trustedRootCertificates[] = 4; readonly attribute int8u currentFabricIndex = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -1512,7 +1512,7 @@ server cluster OperationalCredentials = 62 { readonly attribute int16u clusterRevision = 65533; request struct AttestationRequestRequest { - OCTET_STRING attestationNonce = 0; + octet_string attestationNonce = 0; } request struct CertificateChainRequestRequest { @@ -1520,25 +1520,25 @@ server cluster OperationalCredentials = 62 { } request struct CSRRequestRequest { - OCTET_STRING CSRNonce = 0; + octet_string CSRNonce = 0; optional boolean isForUpdateNOC = 1; } request struct AddNOCRequest { - OCTET_STRING NOCValue = 0; - optional OCTET_STRING ICACValue = 1; - OCTET_STRING IPKValue = 2; - Int64u caseAdminSubject = 3; - VENDOR_ID adminVendorId = 4; + octet_string NOCValue = 0; + optional octet_string ICACValue = 1; + octet_string IPKValue = 2; + int64u caseAdminSubject = 3; + vendor_id adminVendorId = 4; } request struct UpdateNOCRequest { - OCTET_STRING NOCValue = 0; - optional OCTET_STRING ICACValue = 1; + octet_string NOCValue = 0; + optional octet_string ICACValue = 1; } request struct UpdateFabricLabelRequest { - CHAR_STRING<32> label = 0; + char_string<32> label = 0; } request struct RemoveFabricRequest { @@ -1546,27 +1546,27 @@ server cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - OCTET_STRING rootCACertificate = 0; + octet_string rootCACertificate = 0; } response struct AttestationResponse = 1 { - OCTET_STRING attestationElements = 0; - OCTET_STRING attestationSignature = 1; + octet_string attestationElements = 0; + octet_string attestationSignature = 1; } response struct CertificateChainResponse = 3 { - OCTET_STRING certificate = 0; + octet_string certificate = 0; } response struct CSRResponse = 5 { - OCTET_STRING NOCSRElements = 0; - OCTET_STRING attestationSignature = 1; + octet_string NOCSRElements = 0; + octet_string attestationSignature = 1; } response struct NOCResponse = 8 { NodeOperationalCertStatusEnum statusCode = 0; optional fabric_idx fabricIndex = 1; - optional CHAR_STRING debugText = 2; + optional char_string debugText = 2; } command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0; @@ -1581,12 +1581,12 @@ server cluster OperationalCredentials = 62 { /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ server cluster GroupKeyManagement = 63 { - enum GroupKeySecurityPolicyEnum : ENUM8 { + enum GroupKeySecurityPolicyEnum : enum8 { kTrustFirst = 0; kCacheAndSync = 1; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kCacheAndSync = 0x1; } @@ -1630,11 +1630,11 @@ server cluster GroupKeyManagement = 63 { } request struct KeySetReadRequest { - INT16U groupKeySetID = 0; + int16u groupKeySetID = 0; } request struct KeySetRemoveRequest { - INT16U groupKeySetID = 0; + int16u groupKeySetID = 0; } response struct KeySetReadResponse = 2 { @@ -1642,7 +1642,7 @@ server cluster GroupKeyManagement = 63 { } response struct KeySetReadAllIndicesResponse = 5 { - INT16U groupKeySetIDs[] = 0; + int16u groupKeySetIDs[] = 0; } fabric command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0; @@ -1686,13 +1686,13 @@ server cluster UserLabel = 65 { /** An interface for configuring and controlling the functionality of a thermostat. */ server cluster Thermostat = 513 { - enum SetpointAdjustMode : ENUM8 { + enum SetpointAdjustMode : enum8 { kHeat = 0; kCool = 1; kBoth = 2; } - enum ThermostatControlSequence : ENUM8 { + enum ThermostatControlSequence : enum8 { kCoolingOnly = 0; kCoolingWithReheat = 1; kHeatingOnly = 2; @@ -1701,13 +1701,13 @@ server cluster Thermostat = 513 { kCoolingAndHeatingWithReheat = 5; } - enum ThermostatRunningMode : ENUM8 { + enum ThermostatRunningMode : enum8 { kOff = 0; kCool = 3; kHeat = 4; } - enum ThermostatSystemMode : ENUM8 { + enum ThermostatSystemMode : enum8 { kOff = 0; kAuto = 1; kCool = 3; @@ -1719,7 +1719,7 @@ server cluster Thermostat = 513 { kSleep = 9; } - bitmap DayOfWeek : BITMAP8 { + bitmap DayOfWeek : bitmap8 { kSunday = 0x1; kMonday = 0x2; kTuesday = 0x4; @@ -1730,7 +1730,7 @@ server cluster Thermostat = 513 { kAway = 0x80; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -1740,7 +1740,7 @@ server cluster Thermostat = 513 { kLocalTemperatureNotExposed = 0x40; } - bitmap ModeForSequence : BITMAP8 { + bitmap ModeForSequence : bitmap8 { kHeatSetpointPresent = 0x1; kCoolSetpointPresent = 0x2; } @@ -1775,7 +1775,7 @@ server cluster Thermostat = 513 { request struct SetpointRaiseLowerRequest { SetpointAdjustMode mode = 0; - INT8S amount = 1; + int8s amount = 1; } command SetpointRaiseLower(SetpointRaiseLowerRequest): DefaultSuccess = 0; @@ -1791,6 +1791,8 @@ endpoint 0 { ram attribute identifyType default = 0x00; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command Identify; } server cluster Descriptor { @@ -1812,7 +1814,7 @@ endpoint 0 { callback attribute accessControlEntriesPerFabric default = 3; callback attribute attributeList; ram attribute featureMap default = 0; - ram attribute clusterRevision default = 1; + callback attribute clusterRevision default = 1; } server cluster BasicInformation { @@ -1850,6 +1852,8 @@ endpoint 0 { ram attribute updateStateProgress default = 0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command AnnounceOTAProvider; } server cluster LocalizationConfiguration { @@ -1881,6 +1885,13 @@ endpoint 0 { callback attribute supportsConcurrentConnection default = 1; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command ArmFailSafe; + handle command ArmFailSafeResponse; + handle command SetRegulatoryConfig; + handle command SetRegulatoryConfigResponse; + handle command CommissioningComplete; + handle command CommissioningCompleteResponse; } server cluster NetworkCommissioning { @@ -1894,6 +1905,16 @@ endpoint 0 { ram attribute lastConnectErrorValue; ram attribute featureMap default = 2; ram attribute clusterRevision default = 1; + + handle command ScanNetworks; + handle command ScanNetworksResponse; + handle command AddOrUpdateWiFiNetwork; + handle command AddOrUpdateThreadNetwork; + handle command RemoveNetwork; + handle command NetworkConfigResponse; + handle command ConnectNetwork; + handle command ConnectNetworkResponse; + handle command ReorderNetwork; } server cluster GeneralDiagnostics { @@ -1909,6 +1930,8 @@ endpoint 0 { callback attribute testEventTriggersEnabled default = false; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command TestEventTrigger; } server cluster ThreadNetworkDiagnostics { @@ -1980,6 +2003,8 @@ endpoint 0 { callback attribute attributeList; ram attribute featureMap default = 0x000F; ram attribute clusterRevision default = 1; + + handle command ResetCounts; } server cluster AdministratorCommissioning { @@ -1988,6 +2013,10 @@ endpoint 0 { callback attribute adminVendorId default = 0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command OpenCommissioningWindow; + handle command OpenBasicCommissioningWindow; + handle command RevokeCommissioning; } server cluster OperationalCredentials { @@ -1999,6 +2028,19 @@ endpoint 0 { callback attribute currentFabricIndex; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command AttestationRequest; + handle command AttestationResponse; + handle command CertificateChainRequest; + handle command CertificateChainResponse; + handle command CSRRequest; + handle command CSRResponse; + handle command AddNOC; + handle command UpdateNOC; + handle command NOCResponse; + handle command UpdateFabricLabel; + handle command RemoveFabric; + handle command AddTrustedRootCertificate; } server cluster GroupKeyManagement { @@ -2006,8 +2048,15 @@ endpoint 0 { callback attribute groupTable; callback attribute maxGroupsPerFabric; callback attribute maxGroupKeysPerFabric; - ram attribute featureMap default = 0; - ram attribute clusterRevision default = 1; + callback attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + + handle command KeySetWrite; + handle command KeySetRead; + handle command KeySetReadResponse; + handle command KeySetRemove; + handle command KeySetReadAllIndices; + handle command KeySetReadAllIndicesResponse; } } endpoint 1 { @@ -2020,12 +2069,25 @@ endpoint 1 { ram attribute identifyType default = 0x0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command Identify; } server cluster Groups { ram attribute nameSupport; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command AddGroup; + handle command AddGroupResponse; + handle command ViewGroup; + handle command ViewGroupResponse; + handle command GetGroupMembership; + handle command GetGroupMembershipResponse; + handle command RemoveGroup; + handle command RemoveGroupResponse; + handle command RemoveAllGroups; + handle command AddGroupIfIdentifying; } server cluster Scenes { @@ -2038,6 +2100,20 @@ endpoint 1 { callback attribute remainingCapacity; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command AddScene; + handle command AddSceneResponse; + handle command ViewScene; + handle command ViewSceneResponse; + handle command RemoveScene; + handle command RemoveSceneResponse; + handle command RemoveAllScenes; + handle command RemoveAllScenesResponse; + handle command StoreScene; + handle command StoreSceneResponse; + handle command RecallScene; + handle command GetSceneMembership; + handle command GetSceneMembershipResponse; } server cluster Descriptor { @@ -2110,6 +2186,8 @@ endpoint 1 { callback attribute attributeList; ram attribute featureMap default = 0x3; ram attribute clusterRevision default = 5; + + handle command SetpointRaiseLower; } } diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter index 6ab8da13eedb56..7c5e1cee8a41f5 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter @@ -3,7 +3,7 @@ /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ client cluster Identify = 3 { - enum EffectIdentifierEnum : ENUM8 { + enum EffectIdentifierEnum : enum8 { kBlink = 0; kBreathe = 1; kOkay = 2; @@ -12,11 +12,11 @@ client cluster Identify = 3 { kStopEffect = 255; } - enum EffectVariantEnum : ENUM8 { + enum EffectVariantEnum : enum8 { kDefault = 0; } - enum IdentifyTypeEnum : ENUM8 { + enum IdentifyTypeEnum : enum8 { kNone = 0; kLightOutput = 1; kVisibleIndicator = 2; @@ -35,7 +35,7 @@ client cluster Identify = 3 { readonly attribute int16u clusterRevision = 65533; request struct IdentifyRequest { - INT16U identifyTime = 0; + int16u identifyTime = 0; } request struct TriggerEffectRequest { @@ -51,7 +51,7 @@ client cluster Identify = 3 { /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ server cluster Identify = 3 { - enum EffectIdentifierEnum : ENUM8 { + enum EffectIdentifierEnum : enum8 { kBlink = 0; kBreathe = 1; kOkay = 2; @@ -60,11 +60,11 @@ server cluster Identify = 3 { kStopEffect = 255; } - enum EffectVariantEnum : ENUM8 { + enum EffectVariantEnum : enum8 { kDefault = 0; } - enum IdentifyTypeEnum : ENUM8 { + enum IdentifyTypeEnum : enum8 { kNone = 0; kLightOutput = 1; kVisibleIndicator = 2; @@ -83,7 +83,7 @@ server cluster Identify = 3 { readonly attribute int16u clusterRevision = 65533; request struct IdentifyRequest { - INT16U identifyTime = 0; + int16u identifyTime = 0; } command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0; @@ -91,11 +91,11 @@ server cluster Identify = 3 { /** Attributes and commands for group configuration and manipulation. */ server cluster Groups = 4 { - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kGroupNames = 0x1; } - bitmap NameSupportBitmap : BITMAP8 { + bitmap NameSupportBitmap : bitmap8 { kGroupNames = 0x80; } @@ -109,7 +109,7 @@ server cluster Groups = 4 { request struct AddGroupRequest { group_id groupID = 0; - CHAR_STRING groupName = 1; + char_string groupName = 1; } request struct ViewGroupRequest { @@ -126,27 +126,27 @@ server cluster Groups = 4 { request struct AddGroupIfIdentifyingRequest { group_id groupID = 0; - CHAR_STRING groupName = 1; + char_string groupName = 1; } response struct AddGroupResponse = 0 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; } response struct ViewGroupResponse = 1 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; - CHAR_STRING groupName = 2; + char_string groupName = 2; } response struct GetGroupMembershipResponse = 2 { - nullable INT8U capacity = 0; + nullable int8u capacity = 0; group_id groupList[] = 1; } response struct RemoveGroupResponse = 3 { - ENUM8 status = 0; + enum8 status = 0; group_id groupID = 1; } @@ -159,15 +159,15 @@ server cluster Groups = 4 { } /** Attributes and commands for scene configuration and manipulation. */ -server cluster Scenes = 5 { - bitmap Feature : BITMAP32 { +provisional server cluster Scenes = 5 { + bitmap Feature : bitmap32 { kSceneNames = 0x1; kExplicit = 0x2; kTableSize = 0x4; kFabricScenes = 0x8; } - bitmap ScenesCopyMode : BITMAP8 { + bitmap ScenesCopyMode : bitmap8 { kCopyAllScenes = 0x1; } @@ -197,20 +197,20 @@ server cluster Scenes = 5 { request struct AddSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; - INT16U transitionTime = 2; - CHAR_STRING sceneName = 3; + int8u sceneID = 1; + int16u transitionTime = 2; + char_string sceneName = 3; ExtensionFieldSet extensionFieldSets[] = 4; } request struct ViewSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RemoveSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RemoveAllScenesRequest { @@ -219,13 +219,13 @@ server cluster Scenes = 5 { request struct StoreSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; + int8u sceneID = 1; } request struct RecallSceneRequest { group_id groupID = 0; - INT8U sceneID = 1; - optional nullable INT16U transitionTime = 2; + int8u sceneID = 1; + optional nullable int16u transitionTime = 2; } request struct GetSceneMembershipRequest { @@ -235,22 +235,22 @@ server cluster Scenes = 5 { response struct AddSceneResponse = 0 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct ViewSceneResponse = 1 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; - optional INT16U transitionTime = 3; - optional CHAR_STRING sceneName = 4; + int8u sceneID = 2; + optional int16u transitionTime = 3; + optional char_string sceneName = 4; optional ExtensionFieldSet extensionFieldSets[] = 5; } response struct RemoveSceneResponse = 2 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct RemoveAllScenesResponse = 3 { @@ -261,14 +261,14 @@ server cluster Scenes = 5 { response struct StoreSceneResponse = 4 { status status = 0; group_id groupID = 1; - INT8U sceneID = 2; + int8u sceneID = 2; } response struct GetSceneMembershipResponse = 6 { status status = 0; - nullable INT8U capacity = 1; + nullable int8u capacity = 1; group_id groupID = 2; - optional INT8U sceneList[] = 3; + optional int8u sceneList[] = 3; } fabric command access(invoke: manage) AddScene(AddSceneRequest): AddSceneResponse = 0; @@ -282,7 +282,7 @@ server cluster Scenes = 5 { /** The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. */ server cluster Descriptor = 29 { - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kTagList = 0x1; } @@ -299,9 +299,9 @@ server cluster Descriptor = 29 { } readonly attribute DeviceTypeStruct deviceTypeList[] = 0; - readonly attribute CLUSTER_ID serverList[] = 1; - readonly attribute CLUSTER_ID clientList[] = 2; - readonly attribute ENDPOINT_NO partsList[] = 3; + readonly attribute cluster_id serverList[] = 1; + readonly attribute cluster_id clientList[] = 2; + readonly attribute endpoint_no partsList[] = 3; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -334,13 +334,13 @@ server cluster Binding = 30 { and enforce Access Control for the Node's endpoints and their associated cluster instances. */ server cluster AccessControl = 31 { - enum AccessControlEntryAuthModeEnum : ENUM8 { + enum AccessControlEntryAuthModeEnum : enum8 { kPASE = 1; kCASE = 2; kGroup = 3; } - enum AccessControlEntryPrivilegeEnum : ENUM8 { + enum AccessControlEntryPrivilegeEnum : enum8 { kView = 1; kProxyView = 2; kOperate = 3; @@ -348,7 +348,7 @@ server cluster AccessControl = 31 { kAdminister = 5; } - enum ChangeTypeEnum : ENUM8 { + enum ChangeTypeEnum : enum8 { kChanged = 0; kAdded = 1; kRemoved = 2; @@ -375,7 +375,7 @@ server cluster AccessControl = 31 { fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { nullable node_id adminNodeID = 1; - nullable INT16U adminPasscodeID = 2; + nullable int16u adminPasscodeID = 2; ChangeTypeEnum changeType = 3; nullable AccessControlEntryStruct latestValue = 4; fabric_idx fabricIndex = 254; @@ -383,7 +383,7 @@ server cluster AccessControl = 31 { fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { nullable node_id adminNodeID = 1; - nullable INT16U adminPasscodeID = 2; + nullable int16u adminPasscodeID = 2; ChangeTypeEnum changeType = 3; nullable AccessControlExtensionStruct latestValue = 4; fabric_idx fabricIndex = 254; @@ -406,7 +406,7 @@ server cluster AccessControl = 31 { Commissioning and operational determination of Node characteristics, such as Vendor ID, Product ID and serial number, which apply to the whole Node. Also allows setting user device information such as location. */ server cluster BasicInformation = 40 { - enum ColorEnum : ENUM8 { + enum ColorEnum : enum8 { kBlack = 0; kNavy = 1; kGreen = 2; @@ -430,7 +430,7 @@ server cluster BasicInformation = 40 { kGold = 20; } - enum ProductFinishEnum : ENUM8 { + enum ProductFinishEnum : enum8 { kOther = 0; kMatte = 1; kSatin = 2; @@ -450,7 +450,7 @@ server cluster BasicInformation = 40 { } critical event StartUp = 0 { - INT32U softwareVersion = 0; + int32u softwareVersion = 0; } critical event ShutDown = 1 { @@ -494,20 +494,20 @@ server cluster BasicInformation = 40 { /** Provides an interface for providing OTA software updates */ client cluster OtaSoftwareUpdateProvider = 41 { - enum OTAApplyUpdateAction : ENUM8 { + enum ApplyUpdateActionEnum : enum8 { kProceed = 0; kAwaitNextAction = 1; kDiscontinue = 2; } - enum OTADownloadProtocol : ENUM8 { + enum DownloadProtocolEnum : enum8 { kBDXSynchronous = 0; kBDXAsynchronous = 1; kHTTPS = 2; kVendorSpecific = 3; } - enum OTAQueryStatus : ENUM8 { + enum StatusEnum : enum8 { kUpdateAvailable = 0; kBusy = 1; kNotAvailable = 2; @@ -523,39 +523,39 @@ client cluster OtaSoftwareUpdateProvider = 41 { request struct QueryImageRequest { vendor_id vendorID = 0; - INT16U productID = 1; - INT32U softwareVersion = 2; - OTADownloadProtocol protocolsSupported[] = 3; - optional INT16U hardwareVersion = 4; - optional CHAR_STRING<2> location = 5; - optional BOOLEAN requestorCanConsent = 6; - optional OCTET_STRING<512> metadataForProvider = 7; + int16u productID = 1; + int32u softwareVersion = 2; + DownloadProtocolEnum protocolsSupported[] = 3; + optional int16u hardwareVersion = 4; + optional char_string<2> location = 5; + optional boolean requestorCanConsent = 6; + optional octet_string<512> metadataForProvider = 7; } response struct QueryImageResponse = 1 { - OTAQueryStatus status = 0; - optional INT32U delayedActionTime = 1; - optional CHAR_STRING<256> imageURI = 2; - optional INT32U softwareVersion = 3; - optional CHAR_STRING<64> softwareVersionString = 4; - optional OCTET_STRING<32> updateToken = 5; - optional BOOLEAN userConsentNeeded = 6; - optional OCTET_STRING<512> metadataForRequestor = 7; + StatusEnum status = 0; + optional int32u delayedActionTime = 1; + optional char_string<256> imageURI = 2; + optional int32u softwareVersion = 3; + optional char_string<64> softwareVersionString = 4; + optional octet_string<32> updateToken = 5; + optional boolean userConsentNeeded = 6; + optional octet_string<512> metadataForRequestor = 7; } request struct ApplyUpdateRequestRequest { - OCTET_STRING<32> updateToken = 0; - INT32U newVersion = 1; + octet_string<32> updateToken = 0; + int32u newVersion = 1; } response struct ApplyUpdateResponse = 3 { - OTAApplyUpdateAction action = 0; - INT32U delayedActionTime = 1; + ApplyUpdateActionEnum action = 0; + int32u delayedActionTime = 1; } request struct NotifyUpdateAppliedRequest { - OCTET_STRING<32> updateToken = 0; - INT32U softwareVersion = 1; + octet_string<32> updateToken = 0; + int32u softwareVersion = 1; } /** Determine availability of a new Software Image */ @@ -568,13 +568,13 @@ client cluster OtaSoftwareUpdateProvider = 41 { /** Provides an interface for downloading and applying OTA software updates */ server cluster OtaSoftwareUpdateRequestor = 42 { - enum OTAAnnouncementReason : ENUM8 { + enum AnnouncementReasonEnum : enum8 { kSimpleAnnouncement = 0; kUpdateAvailable = 1; kUrgentUpdateAvailable = 2; } - enum OTAChangeReasonEnum : ENUM8 { + enum ChangeReasonEnum : enum8 { kUnknown = 0; kSuccess = 1; kFailure = 2; @@ -582,7 +582,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { kDelayByProvider = 4; } - enum OTAUpdateStateEnum : ENUM8 { + enum UpdateStateEnum : enum8 { kUnknown = 0; kIdle = 1; kQuerying = 2; @@ -601,27 +601,27 @@ server cluster OtaSoftwareUpdateRequestor = 42 { } info event StateTransition = 0 { - OTAUpdateStateEnum previousState = 0; - OTAUpdateStateEnum newState = 1; - OTAChangeReasonEnum reason = 2; - nullable INT32U targetSoftwareVersion = 3; + UpdateStateEnum previousState = 0; + UpdateStateEnum newState = 1; + ChangeReasonEnum reason = 2; + nullable int32u targetSoftwareVersion = 3; } critical event VersionApplied = 1 { - INT32U softwareVersion = 0; - INT16U productID = 1; + int32u softwareVersion = 0; + int16u productID = 1; } info event DownloadError = 2 { - INT32U softwareVersion = 0; - INT64U bytesDownloaded = 1; - nullable INT8U progressPercent = 2; - nullable INT64S platformCode = 3; + int32u softwareVersion = 0; + int64u bytesDownloaded = 1; + nullable int8u progressPercent = 2; + nullable int64s platformCode = 3; } attribute ProviderLocation defaultOTAProviders[] = 0; readonly attribute boolean updatePossible = 1; - readonly attribute OTAUpdateStateEnum updateState = 2; + readonly attribute UpdateStateEnum updateState = 2; readonly attribute nullable int8u updateStateProgress = 3; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -633,8 +633,8 @@ server cluster OtaSoftwareUpdateRequestor = 42 { request struct AnnounceOTAProviderRequest { node_id providerNodeID = 0; vendor_id vendorID = 1; - OTAAnnouncementReason announcementReason = 2; - optional OCTET_STRING<512> metadataForNode = 3; + AnnouncementReasonEnum announcementReason = 2; + optional octet_string<512> metadataForNode = 3; endpoint_no endpoint = 4; } @@ -647,7 +647,7 @@ server cluster OtaSoftwareUpdateRequestor = 42 { they can be configured to use a user’s preferred language, units, etc */ server cluster LocalizationConfiguration = 43 { attribute char_string<35> activeLocale = 0; - readonly attribute CHAR_STRING supportedLocales[] = 1; + readonly attribute char_string supportedLocales[] = 1; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -661,7 +661,7 @@ server cluster LocalizationConfiguration = 43 { or audibly convey time information need a mechanism by which they can be configured to use a user’s preferred format. */ server cluster TimeFormatLocalization = 44 { - enum CalendarTypeEnum : ENUM8 { + enum CalendarTypeEnum : enum8 { kBuddhist = 0; kChinese = 1; kCoptic = 2; @@ -676,12 +676,12 @@ server cluster TimeFormatLocalization = 44 { kTaiwanese = 11; } - enum HourFormatEnum : ENUM8 { + enum HourFormatEnum : enum8 { k12hr = 0; k24hr = 1; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kCalendarFormat = 0x1; } @@ -701,13 +701,13 @@ server cluster TimeFormatLocalization = 44 { user. As such, Nodes that visually or audibly convey measurable values to the user need a mechanism by which they can be configured to use a user’s preferred unit. */ server cluster UnitLocalization = 45 { - enum TempUnitEnum : ENUM8 { + enum TempUnitEnum : enum8 { kFahrenheit = 0; kCelsius = 1; kKelvin = 2; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kTemperatureUnit = 0x1; } @@ -722,7 +722,7 @@ server cluster UnitLocalization = 45 { /** This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. */ server cluster PowerSource = 47 { - enum BatApprovedChemistryEnum : ENUM16 { + enum BatApprovedChemistryEnum : enum16 { kUnspecified = 0; kAlkaline = 1; kLithiumCarbonFluoride = 2; @@ -758,7 +758,7 @@ server cluster PowerSource = 47 { kZincCerium = 32; } - enum BatChargeFaultEnum : ENUM8 { + enum BatChargeFaultEnum : enum8 { kUnspecified = 0; kAmbientTooHot = 1; kAmbientTooCold = 2; @@ -772,20 +772,20 @@ server cluster PowerSource = 47 { kSafetyTimeout = 10; } - enum BatChargeLevelEnum : ENUM8 { + enum BatChargeLevelEnum : enum8 { kOK = 0; kWarning = 1; kCritical = 2; } - enum BatChargeStateEnum : ENUM8 { + enum BatChargeStateEnum : enum8 { kUnknown = 0; kIsCharging = 1; kIsAtFullCharge = 2; kIsNotCharging = 3; } - enum BatCommonDesignationEnum : ENUM16 { + enum BatCommonDesignationEnum : enum16 { kUnspecified = 0; kAAA = 1; kAA = 2; @@ -869,38 +869,38 @@ server cluster PowerSource = 47 { k32600 = 80; } - enum BatFaultEnum : ENUM8 { + enum BatFaultEnum : enum8 { kUnspecified = 0; kOverTemp = 1; kUnderTemp = 2; } - enum BatReplaceabilityEnum : ENUM8 { + enum BatReplaceabilityEnum : enum8 { kUnspecified = 0; kNotReplaceable = 1; kUserReplaceable = 2; kFactoryReplaceable = 3; } - enum PowerSourceStatusEnum : ENUM8 { + enum PowerSourceStatusEnum : enum8 { kUnspecified = 0; kActive = 1; kStandby = 2; kUnavailable = 3; } - enum WiredCurrentTypeEnum : ENUM8 { + enum WiredCurrentTypeEnum : enum8 { kAC = 0; kDC = 1; } - enum WiredFaultEnum : ENUM8 { + enum WiredFaultEnum : enum8 { kUnspecified = 0; kOverVoltage = 1; kUnderVoltage = 2; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kWired = 0x1; kBattery = 0x2; kRechargeable = 0x4; @@ -952,7 +952,7 @@ server cluster PowerSource = 47 { /** This cluster is used to manage global aspects of the Commissioning flow. */ server cluster GeneralCommissioning = 48 { - enum CommissioningErrorEnum : ENUM8 { + enum CommissioningErrorEnum : enum8 { kOK = 0; kValueOutsideRange = 1; kInvalidAuthentication = 2; @@ -960,7 +960,7 @@ server cluster GeneralCommissioning = 48 { kBusyWithOtherAdmin = 4; } - enum RegulatoryLocationTypeEnum : ENUM8 { + enum RegulatoryLocationTypeEnum : enum8 { kIndoor = 0; kOutdoor = 1; kIndoorOutdoor = 2; @@ -984,29 +984,29 @@ server cluster GeneralCommissioning = 48 { readonly attribute int16u clusterRevision = 65533; request struct ArmFailSafeRequest { - INT16U expiryLengthSeconds = 0; - INT64U breadcrumb = 1; + int16u expiryLengthSeconds = 0; + int64u breadcrumb = 1; } request struct SetRegulatoryConfigRequest { RegulatoryLocationTypeEnum newRegulatoryConfig = 0; - CHAR_STRING countryCode = 1; - INT64U breadcrumb = 2; + char_string countryCode = 1; + int64u breadcrumb = 2; } response struct ArmFailSafeResponse = 1 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } response struct SetRegulatoryConfigResponse = 3 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } response struct CommissioningCompleteResponse = 5 { CommissioningErrorEnum errorCode = 0; - CHAR_STRING debugText = 1; + char_string debugText = 1; } command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0; @@ -1016,7 +1016,7 @@ server cluster GeneralCommissioning = 48 { /** Functionality to configure, enable, disable network credentials and access on a Matter device. */ server cluster NetworkCommissioning = 49 { - enum NetworkCommissioningStatusEnum : ENUM8 { + enum NetworkCommissioningStatusEnum : enum8 { kSuccess = 0; kOutOfRange = 1; kBoundsExceeded = 2; @@ -1032,7 +1032,7 @@ server cluster NetworkCommissioning = 49 { kUnknownError = 12; } - enum WiFiBandEnum : ENUM8 { + enum WiFiBandEnum : enum8 { k2G4 = 0; k3G65 = 1; k5G = 2; @@ -1041,13 +1041,13 @@ server cluster NetworkCommissioning = 49 { k1G = 5; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kWiFiNetworkInterface = 0x1; kThreadNetworkInterface = 0x2; kEthernetNetworkInterface = 0x4; } - bitmap WiFiSecurityBitmap : BITMAP8 { + bitmap WiFiSecurityBitmap : bitmap8 { kUnencrypted = 0x1; kWEP = 0x2; kWPAPersonal = 0x4; @@ -1096,54 +1096,54 @@ server cluster NetworkCommissioning = 49 { readonly attribute int16u clusterRevision = 65533; request struct ScanNetworksRequest { - optional nullable OCTET_STRING<32> ssid = 0; - optional INT64U breadcrumb = 1; + optional nullable octet_string<32> ssid = 0; + optional int64u breadcrumb = 1; } request struct AddOrUpdateWiFiNetworkRequest { - OCTET_STRING<32> ssid = 0; - OCTET_STRING<64> credentials = 1; - optional INT64U breadcrumb = 2; + octet_string<32> ssid = 0; + octet_string<64> credentials = 1; + optional int64u breadcrumb = 2; } request struct AddOrUpdateThreadNetworkRequest { - OCTET_STRING<254> operationalDataset = 0; - optional INT64U breadcrumb = 1; + octet_string<254> operationalDataset = 0; + optional int64u breadcrumb = 1; } request struct RemoveNetworkRequest { - OCTET_STRING<32> networkID = 0; - optional INT64U breadcrumb = 1; + octet_string<32> networkID = 0; + optional int64u breadcrumb = 1; } request struct ConnectNetworkRequest { - OCTET_STRING<32> networkID = 0; - optional INT64U breadcrumb = 1; + octet_string<32> networkID = 0; + optional int64u breadcrumb = 1; } request struct ReorderNetworkRequest { - OCTET_STRING<32> networkID = 0; - INT8U networkIndex = 1; - optional INT64U breadcrumb = 2; + octet_string<32> networkID = 0; + int8u networkIndex = 1; + optional int64u breadcrumb = 2; } response struct ScanNetworksResponse = 1 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING debugText = 1; + optional char_string debugText = 1; optional WiFiInterfaceScanResultStruct wiFiScanResults[] = 2; optional ThreadInterfaceScanResultStruct threadScanResults[] = 3; } response struct NetworkConfigResponse = 5 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING<512> debugText = 1; - optional INT8U networkIndex = 2; + optional char_string<512> debugText = 1; + optional int8u networkIndex = 2; } response struct ConnectNetworkResponse = 7 { NetworkCommissioningStatusEnum networkingStatus = 0; - optional CHAR_STRING debugText = 1; - nullable INT32S errorValue = 2; + optional char_string debugText = 1; + nullable int32s errorValue = 2; } command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0; @@ -1156,7 +1156,7 @@ server cluster NetworkCommissioning = 49 { /** The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster GeneralDiagnostics = 51 { - enum BootReasonEnum : ENUM8 { + enum BootReasonEnum : enum8 { kUnspecified = 0; kPowerOnReboot = 1; kBrownOutReset = 2; @@ -1166,7 +1166,7 @@ server cluster GeneralDiagnostics = 51 { kSoftwareReset = 6; } - enum HardwareFaultEnum : ENUM8 { + enum HardwareFaultEnum : enum8 { kUnspecified = 0; kRadio = 1; kSensor = 2; @@ -1180,7 +1180,7 @@ server cluster GeneralDiagnostics = 51 { kTamperDetected = 10; } - enum InterfaceTypeEnum : ENUM8 { + enum InterfaceTypeEnum : enum8 { kUnspecified = 0; kWiFi = 1; kEthernet = 2; @@ -1188,14 +1188,14 @@ server cluster GeneralDiagnostics = 51 { kThread = 4; } - enum NetworkFaultEnum : ENUM8 { + enum NetworkFaultEnum : enum8 { kUnspecified = 0; kHardwareFailure = 1; kNetworkJammed = 2; kConnectionFailed = 3; } - enum RadioFaultEnum : ENUM8 { + enum RadioFaultEnum : enum8 { kUnspecified = 0; kWiFiFault = 1; kCellularFault = 2; @@ -1252,8 +1252,8 @@ server cluster GeneralDiagnostics = 51 { readonly attribute int16u clusterRevision = 65533; request struct TestEventTriggerRequest { - OCTET_STRING<16> enableKey = 0; - INT64U eventTrigger = 1; + octet_string<16> enableKey = 0; + int64u eventTrigger = 1; } command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; @@ -1261,19 +1261,19 @@ server cluster GeneralDiagnostics = 51 { /** The Wi-Fi Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ server cluster WiFiNetworkDiagnostics = 54 { - enum AssociationFailureCauseEnum : ENUM8 { + enum AssociationFailureCauseEnum : enum8 { kUnknown = 0; kAssociationFailed = 1; kAuthenticationFailed = 2; kSsidNotFound = 3; } - enum ConnectionStatusEnum : ENUM8 { + enum ConnectionStatusEnum : enum8 { kConnected = 0; kNotConnected = 1; } - enum SecurityTypeEnum : ENUM8 { + enum SecurityTypeEnum : enum8 { kUnspecified = 0; kNone = 1; kWEP = 2; @@ -1282,7 +1282,7 @@ server cluster WiFiNetworkDiagnostics = 54 { kWPA3 = 5; } - enum WiFiVersionEnum : ENUM8 { + enum WiFiVersionEnum : enum8 { kA = 0; kB = 1; kG = 2; @@ -1292,18 +1292,18 @@ server cluster WiFiNetworkDiagnostics = 54 { kAh = 6; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kPacketCounts = 0x1; kErrorCounts = 0x2; } info event Disconnection = 0 { - INT16U reasonCode = 0; + int16u reasonCode = 0; } info event AssociationFailure = 1 { AssociationFailureCauseEnum associationFailure = 0; - INT16U status = 1; + int16u status = 1; } info event ConnectionStatus = 2 { @@ -1333,13 +1333,13 @@ server cluster WiFiNetworkDiagnostics = 54 { /** Commands to trigger a Node to allow a new Administrator to commission it. */ server cluster AdministratorCommissioning = 60 { - enum CommissioningWindowStatusEnum : ENUM8 { + enum CommissioningWindowStatusEnum : enum8 { kWindowNotOpen = 0; kEnhancedWindowOpen = 1; kBasicWindowOpen = 2; } - enum StatusCode : ENUM8 { + enum StatusCode : enum8 { kBusy = 2; kPAKEParameterError = 3; kWindowNotOpen = 4; @@ -1356,15 +1356,15 @@ server cluster AdministratorCommissioning = 60 { readonly attribute int16u clusterRevision = 65533; request struct OpenCommissioningWindowRequest { - INT16U commissioningTimeout = 0; - OCTET_STRING PAKEPasscodeVerifier = 1; - INT16U discriminator = 2; - INT32U iterations = 3; - OCTET_STRING salt = 4; + int16u commissioningTimeout = 0; + octet_string PAKEPasscodeVerifier = 1; + int16u discriminator = 2; + int32u iterations = 3; + octet_string salt = 4; } request struct OpenBasicCommissioningWindowRequest { - INT16U commissioningTimeout = 0; + int16u commissioningTimeout = 0; } timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0; @@ -1374,12 +1374,12 @@ server cluster AdministratorCommissioning = 60 { /** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ server cluster OperationalCredentials = 62 { - enum CertificateChainTypeEnum : ENUM8 { + enum CertificateChainTypeEnum : enum8 { kDACCertificate = 1; kPAICertificate = 2; } - enum NodeOperationalCertStatusEnum : ENUM8 { + enum NodeOperationalCertStatusEnum : enum8 { kOK = 0; kInvalidPublicKey = 1; kInvalidNodeOpId = 2; @@ -1411,7 +1411,7 @@ server cluster OperationalCredentials = 62 { readonly attribute FabricDescriptorStruct fabrics[] = 1; readonly attribute int8u supportedFabrics = 2; readonly attribute int8u commissionedFabrics = 3; - readonly attribute OCTET_STRING trustedRootCertificates[] = 4; + readonly attribute octet_string trustedRootCertificates[] = 4; readonly attribute int8u currentFabricIndex = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; @@ -1421,7 +1421,7 @@ server cluster OperationalCredentials = 62 { readonly attribute int16u clusterRevision = 65533; request struct AttestationRequestRequest { - OCTET_STRING attestationNonce = 0; + octet_string attestationNonce = 0; } request struct CertificateChainRequestRequest { @@ -1429,25 +1429,25 @@ server cluster OperationalCredentials = 62 { } request struct CSRRequestRequest { - OCTET_STRING CSRNonce = 0; + octet_string CSRNonce = 0; optional boolean isForUpdateNOC = 1; } request struct AddNOCRequest { - OCTET_STRING NOCValue = 0; - optional OCTET_STRING ICACValue = 1; - OCTET_STRING IPKValue = 2; - Int64u caseAdminSubject = 3; - VENDOR_ID adminVendorId = 4; + octet_string NOCValue = 0; + optional octet_string ICACValue = 1; + octet_string IPKValue = 2; + int64u caseAdminSubject = 3; + vendor_id adminVendorId = 4; } request struct UpdateNOCRequest { - OCTET_STRING NOCValue = 0; - optional OCTET_STRING ICACValue = 1; + octet_string NOCValue = 0; + optional octet_string ICACValue = 1; } request struct UpdateFabricLabelRequest { - CHAR_STRING<32> label = 0; + char_string<32> label = 0; } request struct RemoveFabricRequest { @@ -1455,27 +1455,27 @@ server cluster OperationalCredentials = 62 { } request struct AddTrustedRootCertificateRequest { - OCTET_STRING rootCACertificate = 0; + octet_string rootCACertificate = 0; } response struct AttestationResponse = 1 { - OCTET_STRING attestationElements = 0; - OCTET_STRING attestationSignature = 1; + octet_string attestationElements = 0; + octet_string attestationSignature = 1; } response struct CertificateChainResponse = 3 { - OCTET_STRING certificate = 0; + octet_string certificate = 0; } response struct CSRResponse = 5 { - OCTET_STRING NOCSRElements = 0; - OCTET_STRING attestationSignature = 1; + octet_string NOCSRElements = 0; + octet_string attestationSignature = 1; } response struct NOCResponse = 8 { NodeOperationalCertStatusEnum statusCode = 0; optional fabric_idx fabricIndex = 1; - optional CHAR_STRING debugText = 2; + optional char_string debugText = 2; } command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0; @@ -1490,12 +1490,12 @@ server cluster OperationalCredentials = 62 { /** The Group Key Management Cluster is the mechanism by which group keys are managed. */ server cluster GroupKeyManagement = 63 { - enum GroupKeySecurityPolicyEnum : ENUM8 { + enum GroupKeySecurityPolicyEnum : enum8 { kTrustFirst = 0; kCacheAndSync = 1; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kCacheAndSync = 0x1; } @@ -1539,11 +1539,11 @@ server cluster GroupKeyManagement = 63 { } request struct KeySetReadRequest { - INT16U groupKeySetID = 0; + int16u groupKeySetID = 0; } request struct KeySetRemoveRequest { - INT16U groupKeySetID = 0; + int16u groupKeySetID = 0; } response struct KeySetReadResponse = 2 { @@ -1551,7 +1551,7 @@ server cluster GroupKeyManagement = 63 { } response struct KeySetReadAllIndicesResponse = 5 { - INT16U groupKeySetIDs[] = 0; + int16u groupKeySetIDs[] = 0; } fabric command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0; @@ -1595,13 +1595,13 @@ server cluster UserLabel = 65 { /** An interface for configuring and controlling the functionality of a thermostat. */ server cluster Thermostat = 513 { - enum SetpointAdjustMode : ENUM8 { + enum SetpointAdjustMode : enum8 { kHeat = 0; kCool = 1; kBoth = 2; } - enum ThermostatControlSequence : ENUM8 { + enum ThermostatControlSequence : enum8 { kCoolingOnly = 0; kCoolingWithReheat = 1; kHeatingOnly = 2; @@ -1610,13 +1610,13 @@ server cluster Thermostat = 513 { kCoolingAndHeatingWithReheat = 5; } - enum ThermostatRunningMode : ENUM8 { + enum ThermostatRunningMode : enum8 { kOff = 0; kCool = 3; kHeat = 4; } - enum ThermostatSystemMode : ENUM8 { + enum ThermostatSystemMode : enum8 { kOff = 0; kAuto = 1; kCool = 3; @@ -1628,7 +1628,7 @@ server cluster Thermostat = 513 { kSleep = 9; } - bitmap DayOfWeek : BITMAP8 { + bitmap DayOfWeek : bitmap8 { kSunday = 0x1; kMonday = 0x2; kTuesday = 0x4; @@ -1639,7 +1639,7 @@ server cluster Thermostat = 513 { kAway = 0x80; } - bitmap Feature : BITMAP32 { + bitmap Feature : bitmap32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; @@ -1649,7 +1649,7 @@ server cluster Thermostat = 513 { kLocalTemperatureNotExposed = 0x40; } - bitmap ModeForSequence : BITMAP8 { + bitmap ModeForSequence : bitmap8 { kHeatSetpointPresent = 0x1; kCoolSetpointPresent = 0x2; } @@ -1684,7 +1684,7 @@ server cluster Thermostat = 513 { request struct SetpointRaiseLowerRequest { SetpointAdjustMode mode = 0; - INT8S amount = 1; + int8s amount = 1; } command SetpointRaiseLower(SetpointRaiseLowerRequest): DefaultSuccess = 0; @@ -1700,6 +1700,8 @@ endpoint 0 { ram attribute identifyType default = 0x00; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command Identify; } server cluster Descriptor { @@ -1721,7 +1723,7 @@ endpoint 0 { callback attribute accessControlEntriesPerFabric default = 3; callback attribute attributeList; ram attribute featureMap default = 0; - ram attribute clusterRevision default = 1; + callback attribute clusterRevision default = 1; } server cluster BasicInformation { @@ -1759,6 +1761,8 @@ endpoint 0 { ram attribute updateStateProgress default = 0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command AnnounceOTAProvider; } server cluster LocalizationConfiguration { @@ -1790,6 +1794,13 @@ endpoint 0 { callback attribute supportsConcurrentConnection default = 1; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command ArmFailSafe; + handle command ArmFailSafeResponse; + handle command SetRegulatoryConfig; + handle command SetRegulatoryConfigResponse; + handle command CommissioningComplete; + handle command CommissioningCompleteResponse; } server cluster NetworkCommissioning { @@ -1803,6 +1814,16 @@ endpoint 0 { ram attribute lastConnectErrorValue; ram attribute featureMap default = 2; ram attribute clusterRevision default = 1; + + handle command ScanNetworks; + handle command ScanNetworksResponse; + handle command AddOrUpdateWiFiNetwork; + handle command AddOrUpdateThreadNetwork; + handle command RemoveNetwork; + handle command NetworkConfigResponse; + handle command ConnectNetwork; + handle command ConnectNetworkResponse; + handle command ReorderNetwork; } server cluster GeneralDiagnostics { @@ -1818,6 +1839,8 @@ endpoint 0 { callback attribute testEventTriggersEnabled default = false; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command TestEventTrigger; } server cluster WiFiNetworkDiagnostics { @@ -1844,6 +1867,10 @@ endpoint 0 { callback attribute adminVendorId default = 0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command OpenCommissioningWindow; + handle command OpenBasicCommissioningWindow; + handle command RevokeCommissioning; } server cluster OperationalCredentials { @@ -1855,6 +1882,19 @@ endpoint 0 { callback attribute currentFabricIndex; ram attribute featureMap default = 0; ram attribute clusterRevision default = 1; + + handle command AttestationRequest; + handle command AttestationResponse; + handle command CertificateChainRequest; + handle command CertificateChainResponse; + handle command CSRRequest; + handle command CSRResponse; + handle command AddNOC; + handle command UpdateNOC; + handle command NOCResponse; + handle command UpdateFabricLabel; + handle command RemoveFabric; + handle command AddTrustedRootCertificate; } server cluster GroupKeyManagement { @@ -1862,8 +1902,15 @@ endpoint 0 { callback attribute groupTable; callback attribute maxGroupsPerFabric; callback attribute maxGroupKeysPerFabric; - ram attribute featureMap default = 0; - ram attribute clusterRevision default = 1; + callback attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + + handle command KeySetWrite; + handle command KeySetRead; + handle command KeySetReadResponse; + handle command KeySetRemove; + handle command KeySetReadAllIndices; + handle command KeySetReadAllIndicesResponse; } } endpoint 1 { @@ -1876,12 +1923,25 @@ endpoint 1 { ram attribute identifyType default = 0x0; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command Identify; } server cluster Groups { ram attribute nameSupport; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command AddGroup; + handle command AddGroupResponse; + handle command ViewGroup; + handle command ViewGroupResponse; + handle command GetGroupMembership; + handle command GetGroupMembershipResponse; + handle command RemoveGroup; + handle command RemoveGroupResponse; + handle command RemoveAllGroups; + handle command AddGroupIfIdentifying; } server cluster Scenes { @@ -1894,6 +1954,20 @@ endpoint 1 { callback attribute remainingCapacity; ram attribute featureMap default = 0; ram attribute clusterRevision default = 4; + + handle command AddScene; + handle command AddSceneResponse; + handle command ViewScene; + handle command ViewSceneResponse; + handle command RemoveScene; + handle command RemoveSceneResponse; + handle command RemoveAllScenes; + handle command RemoveAllScenesResponse; + handle command StoreScene; + handle command StoreSceneResponse; + handle command RecallScene; + handle command GetSceneMembership; + handle command GetSceneMembershipResponse; } server cluster Descriptor { @@ -1966,6 +2040,8 @@ endpoint 1 { callback attribute attributeList; ram attribute featureMap default = 0x3; ram attribute clusterRevision default = 5; + + handle command SetpointRaiseLower; } } From d870e8c5e2943948d7a6476435bcddc4dbf114b4 Mon Sep 17 00:00:00 2001 From: Youngho Yoon <34558998+yhoyoon@users.noreply.github.com> Date: Sun, 22 Oct 2023 11:09:54 +0900 Subject: [PATCH 06/44] [Android] Shutdown factory with device controller (#29881) This change adds shutdown to AndroidDeviceControllerWrapper, which wraps CHIPDeviceController on the Android platform, so that DeviceControllerFactory and CHIPDeviceController can be shutdown. AndroidDeviceControllerWrapper initializes DeviceControllerFactory and CHIPDeviceController, but since it supports only CHIPDeviceController shutdown, DeviceControllerFactory shutdown is required. If you reuse AndroidDeviceControllerWrapper with the call below without shutting down DeviceControllerFactory, sometimes the DeviceControllerSystemState of DeviceControllerFactory becomes incorrect, causing AndroidDeviceControllerWrapper to operate incorrectly, and the problem cannot be solved unless the process is restarted. - AndroidDeviceControllerWrapper::AllocateNew() - AndroidDeviceControllerWrapper::Controller()->Shutdown() Signed-off-by: Youngho Yoon Signed-off-by: Charles Kim Signed-off-by: Hunsup Jung Signed-off-by: sanghyukko Signed-off-by: Jaehoon You Signed-off-by: Kyu-Wook Lim --- src/controller/java/AndroidDeviceControllerWrapper.cpp | 6 ++++++ src/controller/java/AndroidDeviceControllerWrapper.h | 2 ++ src/controller/java/CHIPDeviceController-JNI.cpp | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/controller/java/AndroidDeviceControllerWrapper.cpp b/src/controller/java/AndroidDeviceControllerWrapper.cpp index 8f0a65c33b2761..9d1484e9d32e2b 100644 --- a/src/controller/java/AndroidDeviceControllerWrapper.cpp +++ b/src/controller/java/AndroidDeviceControllerWrapper.cpp @@ -368,6 +368,12 @@ AndroidDeviceControllerWrapper * AndroidDeviceControllerWrapper::AllocateNew( return wrapper.release(); } +void AndroidDeviceControllerWrapper::Shutdown() +{ + mController->Shutdown(); + DeviceControllerFactory::GetInstance().Shutdown(); +} + CHIP_ERROR AndroidDeviceControllerWrapper::ApplyNetworkCredentials(chip::Controller::CommissioningParameters & params, jobject networkCredentials) { diff --git a/src/controller/java/AndroidDeviceControllerWrapper.h b/src/controller/java/AndroidDeviceControllerWrapper.h index 3f87e13a34e4a3..5e35214b620b67 100644 --- a/src/controller/java/AndroidDeviceControllerWrapper.h +++ b/src/controller/java/AndroidDeviceControllerWrapper.h @@ -173,6 +173,8 @@ class AndroidDeviceControllerWrapper : public chip::Controller::DevicePairingDel uint16_t failsafeTimerSeconds, bool attemptNetworkScanWiFi, bool attemptNetworkScanThread, bool skipCommissioningComplete, CHIP_ERROR * errInfoOnFailure); + void Shutdown(); + #ifdef JAVA_MATTER_CONTROLLER_TEST chip::Controller::ExampleOperationalCredentialsIssuer * GetAndroidOperationalCredentialsIssuer() #else diff --git a/src/controller/java/CHIPDeviceController-JNI.cpp b/src/controller/java/CHIPDeviceController-JNI.cpp index bca98e63ea177c..f2db96360a3f5a 100644 --- a/src/controller/java/CHIPDeviceController-JNI.cpp +++ b/src/controller/java/CHIPDeviceController-JNI.cpp @@ -1960,7 +1960,7 @@ JNI_METHOD(void, shutdownCommissioning) StopIOThread(); AndroidDeviceControllerWrapper * wrapper = AndroidDeviceControllerWrapper::FromJNIHandle(handle); - wrapper->Controller()->Shutdown(); + wrapper->Shutdown(); } JNI_METHOD(jbyteArray, getAttestationChallenge) From 728773175157d640b0652765a61194fe6e62c5dd Mon Sep 17 00:00:00 2001 From: Yufeng Wang Date: Mon, 23 Oct 2023 02:31:19 -0700 Subject: [PATCH 07/44] Reformat generated Java code to make it more readable. (#29899) --- .../generators/java/ChipClusters_java.jinja | 32 +- .../several_clusters/java/ChipClusters.java | 54 +- .../chip/devicecontroller/ChipClusters.java | 29974 ++++++++-------- 3 files changed, 14203 insertions(+), 15857 deletions(-) diff --git a/scripts/py_matter_idl/matter_idl/generators/java/ChipClusters_java.jinja b/scripts/py_matter_idl/matter_idl/generators/java/ChipClusters_java.jinja index e21bd53125699d..1137f582a1a3f9 100644 --- a/scripts/py_matter_idl/matter_idl/generators/java/ChipClusters_java.jinja +++ b/scripts/py_matter_idl/matter_idl/generators/java/ChipClusters_java.jinja @@ -36,6 +36,7 @@ {{encodable.boxed_java_type}} {%- endif -%} {%- endmacro -%} + /* * * Copyright (c) 2023 Project CHIP Authors @@ -163,7 +164,6 @@ public class ChipClusters { @Override public native long initWithDevice(long devicePtr, int endpointId); - {% for command in cluster.commands | sort(attribute='code') -%} {%- set callbackName = command | javaCommandCallbackName() -%} {%- if not command.is_timed_invoke %} @@ -226,10 +226,9 @@ public class ChipClusters { {%- if loop.index0 < loop.length - 1 -%}{{", "}}{%- endif -%} {%- endfor -%} ); - void onError(Exception error); } -{%- if already_handled_command.append(callbackName) -%} +{% if already_handled_command.append(callbackName) -%} {#- This block does nothing, it only exists to append to already_handled_command. -#} {%- endif -%} {%- endif -%} @@ -245,11 +244,11 @@ public class ChipClusters { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } -{%- if already_handled_attribute.append(interfaceName) -%} +{% if already_handled_attribute.append(interfaceName) -%} {#- This block does nothing, it only exists to append to already_handled_attribute. -#} {%- endif -%} {%- endif -%} -{% endfor %} +{% endfor -%} {% for attribute in cluster.attributes | sort(attribute='code') %} public void read{{attribute.definition.name | upfirst}}Attribute( {{attribute | javaAttributeCallbackName(typeLookup) }} callback) { @@ -259,7 +258,7 @@ public class ChipClusters { {%- endif -%} ); } -{%- if attribute | isFabricScopedList(typeLookup) %} +{% if attribute | isFabricScopedList(typeLookup) %} public void read{{attribute.definition.name | upfirst}}AttributeWithFabricFilter( {{attribute | javaAttributeCallbackName(typeLookup) }} callback, boolean isFabricFiltered) { read{{attribute.definition.name | upfirst}}Attribute(chipClusterPtr, callback, isFabricFiltered); @@ -273,23 +272,20 @@ public class ChipClusters { public void write{{attribute.definition.name | upfirst}}Attribute(DefaultClusterCallback callback, {{encode_value_without_optional_nullable(cluster, encodable, 0)}} value) { write{{attribute.definition.name | upfirst}}Attribute(chipClusterPtr, callback, value, null); } - {% endif %} public void write{{attribute.definition.name | upfirst}}Attribute(DefaultClusterCallback callback, {{encode_value_without_optional_nullable(cluster, encodable2, 0)}} value, int timedWriteTimeoutMs) { write{{attribute.definition.name | upfirst}}Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - {% endif %} -{% if attribute.is_subscribable %} +{%- if attribute.is_subscribable %} public void subscribe{{attribute.definition.name | upfirst}}Attribute( {{attribute | javaAttributeCallbackName(typeLookup) }} callback, int minInterval, int maxInterval) { subscribe{{attribute.definition.name | upfirst}}Attribute(chipClusterPtr, callback, minInterval, maxInterval); } {% endif -%} {%- endfor %} -{% for attribute in cluster.attributes %} - private native void read{{attribute.definition.name | upfirst}}Attribute(long chipClusterPtr - , {{attribute | javaAttributeCallbackName(typeLookup) }} callback +{%- for attribute in cluster.attributes %} + private native void read{{attribute.definition.name | upfirst}}Attribute(long chipClusterPtr, {{attribute | javaAttributeCallbackName(typeLookup) }} callback {%- if attribute | isFabricScopedList(typeLookup) -%} , boolean isFabricFiltered {%- endif -%} @@ -299,10 +295,10 @@ public class ChipClusters { private native void write{{attribute.definition.name | upfirst}}Attribute(long chipClusterPtr, DefaultClusterCallback callback, {{encode_value_without_optional_nullable(cluster, encodable, 0)}} value, @Nullable Integer timedWriteTimeoutMs); {% endif -%} {% if attribute.is_subscribable %} - private native void subscribe{{attribute.definition.name | upfirst}}Attribute(long chipClusterPtr - , {{attribute | javaAttributeCallbackName(typeLookup) }} callback, int minInterval, int maxInterval); -{%- endif -%} -{% endfor %} - } -{%- endfor %} + private native void subscribe{{attribute.definition.name | upfirst}}Attribute(long chipClusterPtr, {{attribute | javaAttributeCallbackName(typeLookup) }} callback, int minInterval, int maxInterval); +{% endif -%} +{% endfor -%} +{% raw %} } +{% endraw %} +{%- endfor -%} } diff --git a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ChipClusters.java b/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ChipClusters.java index 9e9b5506be06a5..1523980cb4d985 100644 --- a/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ChipClusters.java +++ b/scripts/py_matter_idl/matter_idl/tests/outputs/several_clusters/java/ChipClusters.java @@ -125,37 +125,31 @@ public FirstCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void readSomeIntegerAttribute( IntegerAttributeCallback callback) { readSomeIntegerAttribute(chipClusterPtr, callback); } + public void writeSomeIntegerAttribute(DefaultClusterCallback callback, Integer value) { writeSomeIntegerAttribute(chipClusterPtr, callback, value, null); } - public void writeSomeIntegerAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeSomeIntegerAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeSomeIntegerAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeSomeIntegerAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readSomeIntegerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readSomeIntegerAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeSomeIntegerAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeSomeIntegerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeSomeIntegerAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class SecondCluster extends BaseChipCluster { public static final long CLUSTER_ID = 2L; @@ -166,7 +160,6 @@ public SecondCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface FabricsAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -177,13 +170,13 @@ public void readFabricsAttribute( FabricsAttributeCallback callback) { readFabricsAttribute(chipClusterPtr, callback, true); } + public void readFabricsAttributeWithFabricFilter( FabricsAttributeCallback callback, boolean isFabricFiltered) { readFabricsAttribute(chipClusterPtr, callback, isFabricFiltered); } - public void subscribeFabricsAttribute( FabricsAttributeCallback callback, int minInterval, int maxInterval) { subscribeFabricsAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -199,18 +192,15 @@ public void subscribeSomeBytesAttribute( subscribeSomeBytesAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readFabricsAttribute(long chipClusterPtr, FabricsAttributeCallback callback, boolean isFabricFiltered); - private native void readFabricsAttribute(long chipClusterPtr - , FabricsAttributeCallback callback, boolean isFabricFiltered); + private native void subscribeFabricsAttribute(long chipClusterPtr, FabricsAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFabricsAttribute(long chipClusterPtr - , FabricsAttributeCallback callback, int minInterval, int maxInterval); - private native void readSomeBytesAttribute(long chipClusterPtr - , OctetStringAttributeCallback callback); + private native void readSomeBytesAttribute(long chipClusterPtr, OctetStringAttributeCallback callback); - private native void subscribeSomeBytesAttribute(long chipClusterPtr - , OctetStringAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeSomeBytesAttribute(long chipClusterPtr, OctetStringAttributeCallback callback, int minInterval, int maxInterval); } + public static class ThirdCluster extends BaseChipCluster { public static final long CLUSTER_ID = 3L; @@ -221,23 +211,19 @@ public ThirdCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void readSomeEnumAttribute( IntegerAttributeCallback callback) { readSomeEnumAttribute(chipClusterPtr, callback); } + public void writeSomeEnumAttribute(DefaultClusterCallback callback, Integer value) { writeSomeEnumAttribute(chipClusterPtr, callback, value, null); } - public void writeSomeEnumAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeSomeEnumAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeSomeEnumAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeSomeEnumAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -247,36 +233,30 @@ public void readOptionsAttribute( IntegerAttributeCallback callback) { readOptionsAttribute(chipClusterPtr, callback); } + public void writeOptionsAttribute(DefaultClusterCallback callback, Integer value) { writeOptionsAttribute(chipClusterPtr, callback, value, null); } - public void writeOptionsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOptionsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOptionsAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeOptionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readSomeEnumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readSomeEnumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeSomeEnumAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeSomeEnumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOptionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeSomeEnumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOptionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeOptionsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOptionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeOptionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } } diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java index 075a202e2fb040..296065e6083551 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java @@ -125,7 +125,6 @@ public IdentifyCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void identify(DefaultClusterCallback callback, Integer identifyTime) { identify(chipClusterPtr, callback, identifyTime, null); } @@ -151,16 +150,19 @@ public interface GeneratedCommandListAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -171,17 +173,15 @@ public void readIdentifyTimeAttribute( IntegerAttributeCallback callback) { readIdentifyTimeAttribute(chipClusterPtr, callback); } + public void writeIdentifyTimeAttribute(DefaultClusterCallback callback, Integer value) { writeIdentifyTimeAttribute(chipClusterPtr, callback, value, null); } - public void writeIdentifyTimeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeIdentifyTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeIdentifyTimeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeIdentifyTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -257,50 +257,41 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readIdentifyTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readIdentifyTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeIdentifyTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeIdentifyTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readIdentifyTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeIdentifyTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeIdentifyTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readIdentifyTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeIdentifyTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class GroupsCluster extends BaseChipCluster { public static final long CLUSTER_ID = 4L; @@ -311,7 +302,6 @@ public GroupsCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void addGroup(AddGroupResponseCallback callback, Integer groupID, String groupName) { addGroup(chipClusterPtr, callback, groupID, groupName, null); } @@ -374,39 +364,42 @@ public void addGroupIfIdentifying(DefaultClusterCallback callback, Integer group public interface AddGroupResponseCallback { void onSuccess(Integer status, Integer groupID); - void onError(Exception error); } + public interface ViewGroupResponseCallback { void onSuccess(Integer status, Integer groupID, String groupName); - void onError(Exception error); } + public interface GetGroupMembershipResponseCallback { void onSuccess(@Nullable Integer capacity, ArrayList groupList); - void onError(Exception error); } + public interface RemoveGroupResponseCallback { void onSuccess(Integer status, Integer groupID); - void onError(Exception error); } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -483,43 +476,35 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readNameSupportAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNameSupportAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void readNameSupportAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeNameSupportAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class ScenesCluster extends BaseChipCluster { public static final long CLUSTER_ID = 5L; @@ -530,7 +515,6 @@ public ScenesCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void addScene(AddSceneResponseCallback callback, Integer groupID, Integer sceneID, Integer transitionTime, String sceneName, ArrayList extensionFieldSets) { addScene(chipClusterPtr, callback, groupID, sceneID, transitionTime, sceneName, extensionFieldSets, null); } @@ -633,69 +617,73 @@ public void copyScene(CopySceneResponseCallback callback, Integer mode, Integer public interface AddSceneResponseCallback { void onSuccess(Integer status, Integer groupID, Integer sceneID); - void onError(Exception error); } + public interface ViewSceneResponseCallback { void onSuccess(Integer status, Integer groupID, Integer sceneID, Optional transitionTime, Optional sceneName, Optional> extensionFieldSets); - void onError(Exception error); } + public interface RemoveSceneResponseCallback { void onSuccess(Integer status, Integer groupID, Integer sceneID); - void onError(Exception error); } + public interface RemoveAllScenesResponseCallback { void onSuccess(Integer status, Integer groupID); - void onError(Exception error); } + public interface StoreSceneResponseCallback { void onSuccess(Integer status, Integer groupID, Integer sceneID); - void onError(Exception error); } + public interface GetSceneMembershipResponseCallback { void onSuccess(Integer status, @Nullable Integer capacity, Integer groupID, Optional> sceneList); - void onError(Exception error); } + public interface EnhancedAddSceneResponseCallback { void onSuccess(Integer status, Integer groupID, Integer sceneID); - void onError(Exception error); } + public interface EnhancedViewSceneResponseCallback { void onSuccess(Integer status, Integer groupID, Integer sceneID, Optional transitionTime, Optional sceneName, Optional> extensionFieldSets); - void onError(Exception error); } + public interface CopySceneResponseCallback { void onSuccess(Integer status, Integer groupIdentifierFrom, Integer sceneIdentifierFrom); - void onError(Exception error); } + public interface LastConfiguredByAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -842,78 +830,63 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readSceneCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeSceneCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentSceneAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCurrentSceneAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentGroupAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCurrentGroupAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSceneValidAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeSceneValidAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNameSupportAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNameSupportAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLastConfiguredByAttribute(long chipClusterPtr, LastConfiguredByAttributeCallback callback); + + private native void subscribeLastConfiguredByAttribute(long chipClusterPtr, LastConfiguredByAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSceneTableSizeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeSceneTableSizeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRemainingCapacityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRemainingCapacityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSceneCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeSceneCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentSceneAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeCurrentSceneAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentGroupAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeCurrentGroupAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSceneValidAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeSceneValidAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readNameSupportAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNameSupportAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLastConfiguredByAttribute(long chipClusterPtr - , LastConfiguredByAttributeCallback callback); - - private native void subscribeLastConfiguredByAttribute(long chipClusterPtr - , LastConfiguredByAttributeCallback callback, int minInterval, int maxInterval); - private native void readSceneTableSizeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeSceneTableSizeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRemainingCapacityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRemainingCapacityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class OnOffCluster extends BaseChipCluster { public static final long CLUSTER_ID = 6L; @@ -924,7 +897,6 @@ public OnOffCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void off(DefaultClusterCallback callback) { off(chipClusterPtr, callback, null); } @@ -990,21 +962,25 @@ public interface StartUpOnOffAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -1035,17 +1011,15 @@ public void readOnTimeAttribute( IntegerAttributeCallback callback) { readOnTimeAttribute(chipClusterPtr, callback); } + public void writeOnTimeAttribute(DefaultClusterCallback callback, Integer value) { writeOnTimeAttribute(chipClusterPtr, callback, value, null); } - public void writeOnTimeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOnTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOnTimeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeOnTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1055,17 +1029,15 @@ public void readOffWaitTimeAttribute( IntegerAttributeCallback callback) { readOffWaitTimeAttribute(chipClusterPtr, callback); } + public void writeOffWaitTimeAttribute(DefaultClusterCallback callback, Integer value) { writeOffWaitTimeAttribute(chipClusterPtr, callback, value, null); } - public void writeOffWaitTimeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOffWaitTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOffWaitTimeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeOffWaitTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1075,17 +1047,15 @@ public void readStartUpOnOffAttribute( StartUpOnOffAttributeCallback callback) { readStartUpOnOffAttribute(chipClusterPtr, callback); } + public void writeStartUpOnOffAttribute(DefaultClusterCallback callback, Integer value) { writeStartUpOnOffAttribute(chipClusterPtr, callback, value, null); } - public void writeStartUpOnOffAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeStartUpOnOffAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeStartUpOnOffAttribute( StartUpOnOffAttributeCallback callback, int minInterval, int maxInterval) { subscribeStartUpOnOffAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1151,69 +1121,57 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readOnOffAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeOnOffAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnOffAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void readGlobalSceneControlAttribute(long chipClusterPtr, BooleanAttributeCallback callback); - private native void subscribeOnOffAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readGlobalSceneControlAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void subscribeGlobalSceneControlAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGlobalSceneControlAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readOnTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeOnTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOnTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOffWaitTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeOnTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOffWaitTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeOffWaitTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOffWaitTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartUpOnOffAttribute(long chipClusterPtr - , StartUpOnOffAttributeCallback callback); + private native void subscribeOffWaitTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readStartUpOnOffAttribute(long chipClusterPtr, StartUpOnOffAttributeCallback callback); private native void writeStartUpOnOffAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeStartUpOnOffAttribute(long chipClusterPtr - , StartUpOnOffAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeStartUpOnOffAttribute(long chipClusterPtr, StartUpOnOffAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class OnOffSwitchConfigurationCluster extends BaseChipCluster { public static final long CLUSTER_ID = 7L; @@ -1224,22 +1182,24 @@ public OnOffSwitchConfigurationCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -1260,17 +1220,15 @@ public void readSwitchActionsAttribute( IntegerAttributeCallback callback) { readSwitchActionsAttribute(chipClusterPtr, callback); } + public void writeSwitchActionsAttribute(DefaultClusterCallback callback, Integer value) { writeSwitchActionsAttribute(chipClusterPtr, callback, value, null); } - public void writeSwitchActionsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeSwitchActionsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeSwitchActionsAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeSwitchActionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1336,50 +1294,41 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readSwitchTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void readSwitchTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeSwitchTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSwitchTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSwitchActionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readSwitchActionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeSwitchActionsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeSwitchActionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeSwitchActionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class LevelControlCluster extends BaseChipCluster { public static final long CLUSTER_ID = 8L; @@ -1390,7 +1339,6 @@ public LevelControlCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void moveToLevel(DefaultClusterCallback callback, Integer level, @Nullable Integer transitionTime, Integer optionsMask, Integer optionsOverride) { moveToLevel(chipClusterPtr, callback, level, transitionTime, optionsMask, optionsOverride, null); } @@ -1486,46 +1434,55 @@ public interface CurrentLevelAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface OnLevelAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface OnTransitionTimeAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface OffTransitionTimeAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface DefaultMoveRateAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface StartUpCurrentLevelAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -1606,17 +1563,15 @@ public void readOptionsAttribute( IntegerAttributeCallback callback) { readOptionsAttribute(chipClusterPtr, callback); } + public void writeOptionsAttribute(DefaultClusterCallback callback, Integer value) { writeOptionsAttribute(chipClusterPtr, callback, value, null); } - public void writeOptionsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOptionsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOptionsAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeOptionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1626,17 +1581,15 @@ public void readOnOffTransitionTimeAttribute( IntegerAttributeCallback callback) { readOnOffTransitionTimeAttribute(chipClusterPtr, callback); } + public void writeOnOffTransitionTimeAttribute(DefaultClusterCallback callback, Integer value) { writeOnOffTransitionTimeAttribute(chipClusterPtr, callback, value, null); } - public void writeOnOffTransitionTimeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOnOffTransitionTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOnOffTransitionTimeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeOnOffTransitionTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1646,17 +1599,15 @@ public void readOnLevelAttribute( OnLevelAttributeCallback callback) { readOnLevelAttribute(chipClusterPtr, callback); } + public void writeOnLevelAttribute(DefaultClusterCallback callback, Integer value) { writeOnLevelAttribute(chipClusterPtr, callback, value, null); } - public void writeOnLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOnLevelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOnLevelAttribute( OnLevelAttributeCallback callback, int minInterval, int maxInterval) { subscribeOnLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1666,17 +1617,15 @@ public void readOnTransitionTimeAttribute( OnTransitionTimeAttributeCallback callback) { readOnTransitionTimeAttribute(chipClusterPtr, callback); } + public void writeOnTransitionTimeAttribute(DefaultClusterCallback callback, Integer value) { writeOnTransitionTimeAttribute(chipClusterPtr, callback, value, null); } - public void writeOnTransitionTimeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOnTransitionTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOnTransitionTimeAttribute( OnTransitionTimeAttributeCallback callback, int minInterval, int maxInterval) { subscribeOnTransitionTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1686,17 +1635,15 @@ public void readOffTransitionTimeAttribute( OffTransitionTimeAttributeCallback callback) { readOffTransitionTimeAttribute(chipClusterPtr, callback); } + public void writeOffTransitionTimeAttribute(DefaultClusterCallback callback, Integer value) { writeOffTransitionTimeAttribute(chipClusterPtr, callback, value, null); } - public void writeOffTransitionTimeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOffTransitionTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOffTransitionTimeAttribute( OffTransitionTimeAttributeCallback callback, int minInterval, int maxInterval) { subscribeOffTransitionTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1706,17 +1653,15 @@ public void readDefaultMoveRateAttribute( DefaultMoveRateAttributeCallback callback) { readDefaultMoveRateAttribute(chipClusterPtr, callback); } + public void writeDefaultMoveRateAttribute(DefaultClusterCallback callback, Integer value) { writeDefaultMoveRateAttribute(chipClusterPtr, callback, value, null); } - public void writeDefaultMoveRateAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeDefaultMoveRateAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeDefaultMoveRateAttribute( DefaultMoveRateAttributeCallback callback, int minInterval, int maxInterval) { subscribeDefaultMoveRateAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1726,17 +1671,15 @@ public void readStartUpCurrentLevelAttribute( StartUpCurrentLevelAttributeCallback callback) { readStartUpCurrentLevelAttribute(chipClusterPtr, callback); } + public void writeStartUpCurrentLevelAttribute(DefaultClusterCallback callback, Integer value) { writeStartUpCurrentLevelAttribute(chipClusterPtr, callback, value, null); } - public void writeStartUpCurrentLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeStartUpCurrentLevelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeStartUpCurrentLevelAttribute( StartUpCurrentLevelAttributeCallback callback, int minInterval, int maxInterval) { subscribeStartUpCurrentLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1802,122 +1745,101 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readCurrentLevelAttribute(long chipClusterPtr, CurrentLevelAttributeCallback callback); - private native void readCurrentLevelAttribute(long chipClusterPtr - , CurrentLevelAttributeCallback callback); + private native void subscribeCurrentLevelAttribute(long chipClusterPtr, CurrentLevelAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCurrentLevelAttribute(long chipClusterPtr - , CurrentLevelAttributeCallback callback, int minInterval, int maxInterval); - private native void readRemainingTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readRemainingTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeRemainingTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeRemainingTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeMinLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readMinLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeMaxLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentFrequencyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMinLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCurrentFrequencyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinFrequencyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readMaxLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeMinFrequencyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxFrequencyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaxLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeMaxFrequencyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOptionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readCurrentFrequencyAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCurrentFrequencyAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinFrequencyAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMinFrequencyAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxFrequencyAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMaxFrequencyAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOptionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeOptionsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOptionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnOffTransitionTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeOptionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOnOffTransitionTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeOnOffTransitionTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOnOffTransitionTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnLevelAttribute(long chipClusterPtr - , OnLevelAttributeCallback callback); + private native void subscribeOnOffTransitionTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOnLevelAttribute(long chipClusterPtr, OnLevelAttributeCallback callback); private native void writeOnLevelAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOnLevelAttribute(long chipClusterPtr - , OnLevelAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnTransitionTimeAttribute(long chipClusterPtr - , OnTransitionTimeAttributeCallback callback); + private native void subscribeOnLevelAttribute(long chipClusterPtr, OnLevelAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOnTransitionTimeAttribute(long chipClusterPtr, OnTransitionTimeAttributeCallback callback); private native void writeOnTransitionTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOnTransitionTimeAttribute(long chipClusterPtr - , OnTransitionTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void readOffTransitionTimeAttribute(long chipClusterPtr - , OffTransitionTimeAttributeCallback callback); + private native void subscribeOnTransitionTimeAttribute(long chipClusterPtr, OnTransitionTimeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOffTransitionTimeAttribute(long chipClusterPtr, OffTransitionTimeAttributeCallback callback); private native void writeOffTransitionTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOffTransitionTimeAttribute(long chipClusterPtr - , OffTransitionTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void readDefaultMoveRateAttribute(long chipClusterPtr - , DefaultMoveRateAttributeCallback callback); + private native void subscribeOffTransitionTimeAttribute(long chipClusterPtr, OffTransitionTimeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDefaultMoveRateAttribute(long chipClusterPtr, DefaultMoveRateAttributeCallback callback); private native void writeDefaultMoveRateAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeDefaultMoveRateAttribute(long chipClusterPtr - , DefaultMoveRateAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartUpCurrentLevelAttribute(long chipClusterPtr - , StartUpCurrentLevelAttributeCallback callback); + private native void subscribeDefaultMoveRateAttribute(long chipClusterPtr, DefaultMoveRateAttributeCallback callback, int minInterval, int maxInterval); + + private native void readStartUpCurrentLevelAttribute(long chipClusterPtr, StartUpCurrentLevelAttributeCallback callback); private native void writeStartUpCurrentLevelAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeStartUpCurrentLevelAttribute(long chipClusterPtr - , StartUpCurrentLevelAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeStartUpCurrentLevelAttribute(long chipClusterPtr, StartUpCurrentLevelAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class BinaryInputBasicCluster extends BaseChipCluster { public static final long CLUSTER_ID = 15L; @@ -1928,22 +1850,24 @@ public BinaryInputBasicCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -1954,17 +1878,15 @@ public void readActiveTextAttribute( CharStringAttributeCallback callback) { readActiveTextAttribute(chipClusterPtr, callback); } + public void writeActiveTextAttribute(DefaultClusterCallback callback, String value) { writeActiveTextAttribute(chipClusterPtr, callback, value, null); } - public void writeActiveTextAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { writeActiveTextAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeActiveTextAttribute( CharStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeActiveTextAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1974,17 +1896,15 @@ public void readDescriptionAttribute( CharStringAttributeCallback callback) { readDescriptionAttribute(chipClusterPtr, callback); } + public void writeDescriptionAttribute(DefaultClusterCallback callback, String value) { writeDescriptionAttribute(chipClusterPtr, callback, value, null); } - public void writeDescriptionAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { writeDescriptionAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeDescriptionAttribute( CharStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeDescriptionAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -1994,17 +1914,15 @@ public void readInactiveTextAttribute( CharStringAttributeCallback callback) { readInactiveTextAttribute(chipClusterPtr, callback); } + public void writeInactiveTextAttribute(DefaultClusterCallback callback, String value) { writeInactiveTextAttribute(chipClusterPtr, callback, value, null); } - public void writeInactiveTextAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { writeInactiveTextAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInactiveTextAttribute( CharStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeInactiveTextAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -2014,17 +1932,15 @@ public void readOutOfServiceAttribute( BooleanAttributeCallback callback) { readOutOfServiceAttribute(chipClusterPtr, callback); } + public void writeOutOfServiceAttribute(DefaultClusterCallback callback, Boolean value) { writeOutOfServiceAttribute(chipClusterPtr, callback, value, null); } - public void writeOutOfServiceAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writeOutOfServiceAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOutOfServiceAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribeOutOfServiceAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -2044,17 +1960,15 @@ public void readPresentValueAttribute( BooleanAttributeCallback callback) { readPresentValueAttribute(chipClusterPtr, callback); } + public void writePresentValueAttribute(DefaultClusterCallback callback, Boolean value) { writePresentValueAttribute(chipClusterPtr, callback, value, null); } - public void writePresentValueAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writePresentValueAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribePresentValueAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribePresentValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -2064,17 +1978,15 @@ public void readReliabilityAttribute( IntegerAttributeCallback callback) { readReliabilityAttribute(chipClusterPtr, callback); } + public void writeReliabilityAttribute(DefaultClusterCallback callback, Integer value) { writeReliabilityAttribute(chipClusterPtr, callback, value, null); } - public void writeReliabilityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeReliabilityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeReliabilityAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeReliabilityAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -2160,121 +2072,107 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readActiveTextAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void readActiveTextAttribute(long chipClusterPtr, CharStringAttributeCallback callback); private native void writeActiveTextAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeActiveTextAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readDescriptionAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void subscribeActiveTextAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDescriptionAttribute(long chipClusterPtr, CharStringAttributeCallback callback); private native void writeDescriptionAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeDescriptionAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readInactiveTextAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void subscribeDescriptionAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInactiveTextAttribute(long chipClusterPtr, CharStringAttributeCallback callback); private native void writeInactiveTextAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInactiveTextAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readOutOfServiceAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void subscribeInactiveTextAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOutOfServiceAttribute(long chipClusterPtr, BooleanAttributeCallback callback); private native void writeOutOfServiceAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOutOfServiceAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readPolarityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeOutOfServiceAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPolarityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribePolarityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPresentValueAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void subscribePolarityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPresentValueAttribute(long chipClusterPtr, BooleanAttributeCallback callback); private native void writePresentValueAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribePresentValueAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readReliabilityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribePresentValueAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readReliabilityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeReliabilityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeReliabilityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStatusFlagsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeStatusFlagsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readApplicationTypeAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeApplicationTypeAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class PulseWidthModulationCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 28L; + private native void subscribeReliabilityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public PulseWidthModulationCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readStatusFlagsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribeStatusFlagsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readApplicationTypeAttribute(long chipClusterPtr, LongAttributeCallback callback); - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + private native void subscribeApplicationTypeAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class PulseWidthModulationCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 28L; + + public PulseWidthModulationCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -2341,38 +2239,31 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class DescriptorCluster extends BaseChipCluster { public static final long CLUSTER_ID = 29L; @@ -2383,47 +2274,54 @@ public DescriptorCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface DeviceTypeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ServerListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ClientListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface PartsListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface TagListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -2540,63 +2438,51 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readDeviceTypeListAttribute(long chipClusterPtr, DeviceTypeListAttributeCallback callback); + + private native void subscribeDeviceTypeListAttribute(long chipClusterPtr, DeviceTypeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readServerListAttribute(long chipClusterPtr, ServerListAttributeCallback callback); + + private native void subscribeServerListAttribute(long chipClusterPtr, ServerListAttributeCallback callback, int minInterval, int maxInterval); - private native void readDeviceTypeListAttribute(long chipClusterPtr - , DeviceTypeListAttributeCallback callback); + private native void readClientListAttribute(long chipClusterPtr, ClientListAttributeCallback callback); - private native void subscribeDeviceTypeListAttribute(long chipClusterPtr - , DeviceTypeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readServerListAttribute(long chipClusterPtr - , ServerListAttributeCallback callback); + private native void subscribeClientListAttribute(long chipClusterPtr, ClientListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeServerListAttribute(long chipClusterPtr - , ServerListAttributeCallback callback, int minInterval, int maxInterval); - private native void readClientListAttribute(long chipClusterPtr - , ClientListAttributeCallback callback); + private native void readPartsListAttribute(long chipClusterPtr, PartsListAttributeCallback callback); - private native void subscribeClientListAttribute(long chipClusterPtr - , ClientListAttributeCallback callback, int minInterval, int maxInterval); - private native void readPartsListAttribute(long chipClusterPtr - , PartsListAttributeCallback callback); + private native void subscribePartsListAttribute(long chipClusterPtr, PartsListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePartsListAttribute(long chipClusterPtr - , PartsListAttributeCallback callback, int minInterval, int maxInterval); - private native void readTagListAttribute(long chipClusterPtr - , TagListAttributeCallback callback); + private native void readTagListAttribute(long chipClusterPtr, TagListAttributeCallback callback); - private native void subscribeTagListAttribute(long chipClusterPtr - , TagListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeTagListAttribute(long chipClusterPtr, TagListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class BindingCluster extends BaseChipCluster { public static final long CLUSTER_ID = 30L; @@ -2607,27 +2493,30 @@ public BindingCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface BindingAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -2638,6 +2527,7 @@ public void readBindingAttribute( BindingAttributeCallback callback) { readBindingAttribute(chipClusterPtr, callback, true); } + public void readBindingAttributeWithFabricFilter( BindingAttributeCallback callback, boolean isFabricFiltered) { readBindingAttribute(chipClusterPtr, callback, isFabricFiltered); @@ -2648,13 +2538,10 @@ public void writeBindingAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { writeBindingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeBindingAttribute( BindingAttributeCallback callback, int minInterval, int maxInterval) { subscribeBindingAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -2720,45 +2607,37 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readBindingAttribute(long chipClusterPtr - , BindingAttributeCallback callback, boolean isFabricFiltered); + private native void readBindingAttribute(long chipClusterPtr, BindingAttributeCallback callback, boolean isFabricFiltered); private native void writeBindingAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeBindingAttribute(long chipClusterPtr - , BindingAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeBindingAttribute(long chipClusterPtr, BindingAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class AccessControlCluster extends BaseChipCluster { public static final long CLUSTER_ID = 31L; @@ -2769,32 +2648,36 @@ public AccessControlCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface AclAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ExtensionAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -2805,6 +2688,7 @@ public void readAclAttribute( AclAttributeCallback callback) { readAclAttribute(chipClusterPtr, callback, true); } + public void readAclAttributeWithFabricFilter( AclAttributeCallback callback, boolean isFabricFiltered) { readAclAttribute(chipClusterPtr, callback, isFabricFiltered); @@ -2815,13 +2699,10 @@ public void writeAclAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { writeAclAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeAclAttribute( AclAttributeCallback callback, int minInterval, int maxInterval) { subscribeAclAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -2831,6 +2712,7 @@ public void readExtensionAttribute( ExtensionAttributeCallback callback) { readExtensionAttribute(chipClusterPtr, callback, true); } + public void readExtensionAttributeWithFabricFilter( ExtensionAttributeCallback callback, boolean isFabricFiltered) { readExtensionAttribute(chipClusterPtr, callback, isFabricFiltered); @@ -2841,13 +2723,10 @@ public void writeExtensionAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { writeExtensionAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeExtensionAttribute( ExtensionAttributeCallback callback, int minInterval, int maxInterval) { subscribeExtensionAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -2943,67 +2822,55 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readAclAttribute(long chipClusterPtr - , AclAttributeCallback callback, boolean isFabricFiltered); + private native void readAclAttribute(long chipClusterPtr, AclAttributeCallback callback, boolean isFabricFiltered); private native void writeAclAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeAclAttribute(long chipClusterPtr - , AclAttributeCallback callback, int minInterval, int maxInterval); - private native void readExtensionAttribute(long chipClusterPtr - , ExtensionAttributeCallback callback, boolean isFabricFiltered); + private native void subscribeAclAttribute(long chipClusterPtr, AclAttributeCallback callback, int minInterval, int maxInterval); + + private native void readExtensionAttribute(long chipClusterPtr, ExtensionAttributeCallback callback, boolean isFabricFiltered); private native void writeExtensionAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeExtensionAttribute(long chipClusterPtr - , ExtensionAttributeCallback callback, int minInterval, int maxInterval); - private native void readSubjectsPerAccessControlEntryAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeSubjectsPerAccessControlEntryAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readTargetsPerAccessControlEntryAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeTargetsPerAccessControlEntryAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAccessControlEntriesPerFabricAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAccessControlEntriesPerFabricAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeExtensionAttribute(long chipClusterPtr, ExtensionAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSubjectsPerAccessControlEntryAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeSubjectsPerAccessControlEntryAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTargetsPerAccessControlEntryAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeTargetsPerAccessControlEntryAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAccessControlEntriesPerFabricAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAccessControlEntriesPerFabricAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class ActionsCluster extends BaseChipCluster { public static final long CLUSTER_ID = 37L; @@ -3014,7 +2881,6 @@ public ActionsCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void instantAction(DefaultClusterCallback callback, Integer actionID, Optional invokeID) { instantAction(chipClusterPtr, callback, actionID, invokeID, null); } @@ -3140,26 +3006,31 @@ public interface ActionListAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EndpointListsAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -3256,53 +3127,43 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readActionListAttribute(long chipClusterPtr, ActionListAttributeCallback callback); + + private native void subscribeActionListAttribute(long chipClusterPtr, ActionListAttributeCallback callback, int minInterval, int maxInterval); - private native void readActionListAttribute(long chipClusterPtr - , ActionListAttributeCallback callback); + private native void readEndpointListsAttribute(long chipClusterPtr, EndpointListsAttributeCallback callback); - private native void subscribeActionListAttribute(long chipClusterPtr - , ActionListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEndpointListsAttribute(long chipClusterPtr - , EndpointListsAttributeCallback callback); + private native void subscribeEndpointListsAttribute(long chipClusterPtr, EndpointListsAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEndpointListsAttribute(long chipClusterPtr - , EndpointListsAttributeCallback callback, int minInterval, int maxInterval); - private native void readSetupURLAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void readSetupURLAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - private native void subscribeSetupURLAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeSetupURLAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class BasicInformationCluster extends BaseChipCluster { public static final long CLUSTER_ID = 40L; @@ -3313,7 +3174,6 @@ public BasicInformationCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void mfgSpecificPing(DefaultClusterCallback callback) { mfgSpecificPing(chipClusterPtr, callback, null); } @@ -3329,26 +3189,31 @@ public interface CapabilityMinimaAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ProductAppearanceAttributeCallback { void onSuccess(ChipStructs.BasicInformationClusterProductAppearanceStruct value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -3409,17 +3274,15 @@ public void readNodeLabelAttribute( CharStringAttributeCallback callback) { readNodeLabelAttribute(chipClusterPtr, callback); } + public void writeNodeLabelAttribute(DefaultClusterCallback callback, String value) { writeNodeLabelAttribute(chipClusterPtr, callback, value, null); } - public void writeNodeLabelAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { writeNodeLabelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNodeLabelAttribute( CharStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeNodeLabelAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -3429,17 +3292,15 @@ public void readLocationAttribute( CharStringAttributeCallback callback) { readLocationAttribute(chipClusterPtr, callback); } + public void writeLocationAttribute(DefaultClusterCallback callback, String value) { writeLocationAttribute(chipClusterPtr, callback, value, null); } - public void writeLocationAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { writeLocationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeLocationAttribute( CharStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeLocationAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -3539,17 +3400,15 @@ public void readLocalConfigDisabledAttribute( BooleanAttributeCallback callback) { readLocalConfigDisabledAttribute(chipClusterPtr, callback); } + public void writeLocalConfigDisabledAttribute(DefaultClusterCallback callback, Boolean value) { writeLocalConfigDisabledAttribute(chipClusterPtr, callback, value, null); } - public void writeLocalConfigDisabledAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writeLocalConfigDisabledAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeLocalConfigDisabledAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribeLocalConfigDisabledAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -3655,149 +3514,121 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readDataModelRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDataModelRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readVendorNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeVendorNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readDataModelRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readVendorIDAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeDataModelRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readVendorNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void subscribeVendorIDAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeVendorNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readVendorIDAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readProductNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - private native void subscribeVendorIDAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readProductNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void subscribeProductNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeProductNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readProductIDAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readProductIDAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeProductIDAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNodeLabelAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void subscribeProductIDAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNodeLabelAttribute(long chipClusterPtr, CharStringAttributeCallback callback); private native void writeNodeLabelAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNodeLabelAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readLocationAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void subscribeNodeLabelAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLocationAttribute(long chipClusterPtr, CharStringAttributeCallback callback); private native void writeLocationAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeLocationAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readHardwareVersionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeHardwareVersionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readHardwareVersionStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeHardwareVersionStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readSoftwareVersionAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeSoftwareVersionAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readSoftwareVersionStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeSoftwareVersionStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readManufacturingDateAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeManufacturingDateAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readPartNumberAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribePartNumberAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readProductURLAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeProductURLAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readProductLabelAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeProductLabelAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readSerialNumberAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeSerialNumberAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readLocalConfigDisabledAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void subscribeLocationAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readHardwareVersionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeHardwareVersionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readHardwareVersionStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeHardwareVersionStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSoftwareVersionAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeSoftwareVersionAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSoftwareVersionStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeSoftwareVersionStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readManufacturingDateAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeManufacturingDateAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPartNumberAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribePartNumberAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readProductURLAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeProductURLAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readProductLabelAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeProductLabelAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSerialNumberAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeSerialNumberAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLocalConfigDisabledAttribute(long chipClusterPtr, BooleanAttributeCallback callback); private native void writeLocalConfigDisabledAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeLocalConfigDisabledAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readReachableAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeReachableAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readUniqueIDAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeUniqueIDAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readCapabilityMinimaAttribute(long chipClusterPtr - , CapabilityMinimaAttributeCallback callback); - - private native void subscribeCapabilityMinimaAttribute(long chipClusterPtr - , CapabilityMinimaAttributeCallback callback, int minInterval, int maxInterval); - private native void readProductAppearanceAttribute(long chipClusterPtr - , ProductAppearanceAttributeCallback callback); - - private native void subscribeProductAppearanceAttribute(long chipClusterPtr - , ProductAppearanceAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeLocalConfigDisabledAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readReachableAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeReachableAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUniqueIDAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeUniqueIDAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCapabilityMinimaAttribute(long chipClusterPtr, CapabilityMinimaAttributeCallback callback); + + private native void subscribeCapabilityMinimaAttribute(long chipClusterPtr, CapabilityMinimaAttributeCallback callback, int minInterval, int maxInterval); + + private native void readProductAppearanceAttribute(long chipClusterPtr, ProductAppearanceAttributeCallback callback); + + private native void subscribeProductAppearanceAttribute(long chipClusterPtr, ProductAppearanceAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class OtaSoftwareUpdateProviderCluster extends BaseChipCluster { public static final long CLUSTER_ID = 41L; @@ -3808,7 +3639,6 @@ public OtaSoftwareUpdateProviderCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void queryImage(QueryImageResponseCallback callback, Integer vendorID, Integer productID, Long softwareVersion, ArrayList protocolsSupported, Optional hardwareVersion, Optional location, Optional requestorCanConsent, Optional metadataForProvider) { queryImage(chipClusterPtr, callback, vendorID, productID, softwareVersion, protocolsSupported, hardwareVersion, location, requestorCanConsent, metadataForProvider, null); } @@ -3841,29 +3671,32 @@ public void notifyUpdateApplied(DefaultClusterCallback callback, byte[] updateTo public interface QueryImageResponseCallback { void onSuccess(Integer status, Optional delayedActionTime, Optional imageURI, Optional softwareVersion, Optional softwareVersionString, Optional updateToken, Optional userConsentNeeded, Optional metadataForRequestor); - void onError(Exception error); } + public interface ApplyUpdateResponseCallback { void onSuccess(Integer action, Long delayedActionTime); - void onError(Exception error); } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -3930,38 +3763,31 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class OtaSoftwareUpdateRequestorCluster extends BaseChipCluster { public static final long CLUSTER_ID = 42L; @@ -3972,7 +3798,6 @@ public OtaSoftwareUpdateRequestorCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void announceOTAProvider(DefaultClusterCallback callback, Long providerNodeID, Integer vendorID, Integer announcementReason, Optional metadataForNode, Integer endpoint) { announceOTAProvider(chipClusterPtr, callback, providerNodeID, vendorID, announcementReason, metadataForNode, endpoint, null); } @@ -3988,26 +3813,31 @@ public interface DefaultOTAProvidersAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface UpdateStateProgressAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -4018,6 +3848,7 @@ public void readDefaultOTAProvidersAttribute( DefaultOTAProvidersAttributeCallback callback) { readDefaultOTAProvidersAttribute(chipClusterPtr, callback, true); } + public void readDefaultOTAProvidersAttributeWithFabricFilter( DefaultOTAProvidersAttributeCallback callback, boolean isFabricFiltered) { readDefaultOTAProvidersAttribute(chipClusterPtr, callback, isFabricFiltered); @@ -4028,13 +3859,10 @@ public void writeDefaultOTAProvidersAttribute(DefaultClusterCallback callback, A writeDefaultOTAProvidersAttribute(chipClusterPtr, callback, value, null); } - public void writeDefaultOTAProvidersAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { writeDefaultOTAProvidersAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeDefaultOTAProvidersAttribute( DefaultOTAProvidersAttributeCallback callback, int minInterval, int maxInterval) { subscribeDefaultOTAProvidersAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -4130,60 +3958,49 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readDefaultOTAProvidersAttribute(long chipClusterPtr - , DefaultOTAProvidersAttributeCallback callback, boolean isFabricFiltered); + private native void readDefaultOTAProvidersAttribute(long chipClusterPtr, DefaultOTAProvidersAttributeCallback callback, boolean isFabricFiltered); private native void writeDefaultOTAProvidersAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeDefaultOTAProvidersAttribute(long chipClusterPtr - , DefaultOTAProvidersAttributeCallback callback, int minInterval, int maxInterval); - private native void readUpdatePossibleAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeUpdatePossibleAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readUpdateStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeUpdateStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readUpdateStateProgressAttribute(long chipClusterPtr - , UpdateStateProgressAttributeCallback callback); - - private native void subscribeUpdateStateProgressAttribute(long chipClusterPtr - , UpdateStateProgressAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeDefaultOTAProvidersAttribute(long chipClusterPtr, DefaultOTAProvidersAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUpdatePossibleAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeUpdatePossibleAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUpdateStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeUpdateStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUpdateStateProgressAttribute(long chipClusterPtr, UpdateStateProgressAttributeCallback callback); + + private native void subscribeUpdateStateProgressAttribute(long chipClusterPtr, UpdateStateProgressAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class LocalizationConfigurationCluster extends BaseChipCluster { public static final long CLUSTER_ID = 43L; @@ -4194,27 +4011,30 @@ public LocalizationConfigurationCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface SupportedLocalesAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -4225,17 +4045,15 @@ public void readActiveLocaleAttribute( CharStringAttributeCallback callback) { readActiveLocaleAttribute(chipClusterPtr, callback); } + public void writeActiveLocaleAttribute(DefaultClusterCallback callback, String value) { writeActiveLocaleAttribute(chipClusterPtr, callback, value, null); } - public void writeActiveLocaleAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { writeActiveLocaleAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeActiveLocaleAttribute( CharStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeActiveLocaleAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -4311,81 +4129,75 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readActiveLocaleAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void readActiveLocaleAttribute(long chipClusterPtr, CharStringAttributeCallback callback); private native void writeActiveLocaleAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeActiveLocaleAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedLocalesAttribute(long chipClusterPtr - , SupportedLocalesAttributeCallback callback); - - private native void subscribeSupportedLocalesAttribute(long chipClusterPtr - , SupportedLocalesAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class TimeFormatLocalizationCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 44L; + private native void subscribeActiveLocaleAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - public TimeFormatLocalizationCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readSupportedLocalesAttribute(long chipClusterPtr, SupportedLocalesAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribeSupportedLocalesAttribute(long chipClusterPtr, SupportedLocalesAttributeCallback callback, int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class TimeFormatLocalizationCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 44L; + + public TimeFormatLocalizationCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public interface SupportedCalendarTypesAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - public interface SupportedCalendarTypesAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -4396,17 +4208,15 @@ public void readHourFormatAttribute( IntegerAttributeCallback callback) { readHourFormatAttribute(chipClusterPtr, callback); } + public void writeHourFormatAttribute(DefaultClusterCallback callback, Integer value) { writeHourFormatAttribute(chipClusterPtr, callback, value, null); } - public void writeHourFormatAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeHourFormatAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeHourFormatAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeHourFormatAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -4416,17 +4226,15 @@ public void readActiveCalendarTypeAttribute( IntegerAttributeCallback callback) { readActiveCalendarTypeAttribute(chipClusterPtr, callback); } + public void writeActiveCalendarTypeAttribute(DefaultClusterCallback callback, Integer value) { writeActiveCalendarTypeAttribute(chipClusterPtr, callback, value, null); } - public void writeActiveCalendarTypeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeActiveCalendarTypeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeActiveCalendarTypeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeActiveCalendarTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -4502,57 +4310,47 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readHourFormatAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readHourFormatAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeHourFormatAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeHourFormatAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveCalendarTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeHourFormatAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActiveCalendarTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeActiveCalendarTypeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeActiveCalendarTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedCalendarTypesAttribute(long chipClusterPtr - , SupportedCalendarTypesAttributeCallback callback); - - private native void subscribeSupportedCalendarTypesAttribute(long chipClusterPtr - , SupportedCalendarTypesAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeActiveCalendarTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSupportedCalendarTypesAttribute(long chipClusterPtr, SupportedCalendarTypesAttributeCallback callback); + + private native void subscribeSupportedCalendarTypesAttribute(long chipClusterPtr, SupportedCalendarTypesAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class UnitLocalizationCluster extends BaseChipCluster { public static final long CLUSTER_ID = 45L; @@ -4563,22 +4361,24 @@ public UnitLocalizationCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -4589,17 +4389,15 @@ public void readTemperatureUnitAttribute( IntegerAttributeCallback callback) { readTemperatureUnitAttribute(chipClusterPtr, callback); } + public void writeTemperatureUnitAttribute(DefaultClusterCallback callback, Integer value) { writeTemperatureUnitAttribute(chipClusterPtr, callback, value, null); } - public void writeTemperatureUnitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeTemperatureUnitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeTemperatureUnitAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeTemperatureUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -4665,45 +4463,37 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readTemperatureUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readTemperatureUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeTemperatureUnitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeTemperatureUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeTemperatureUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class PowerSourceConfigurationCluster extends BaseChipCluster { public static final long CLUSTER_ID = 46L; @@ -4714,27 +4504,30 @@ public PowerSourceConfigurationCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface SourcesAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -4811,43 +4604,35 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readSourcesAttribute(long chipClusterPtr, SourcesAttributeCallback callback); + + private native void subscribeSourcesAttribute(long chipClusterPtr, SourcesAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readSourcesAttribute(long chipClusterPtr - , SourcesAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeSourcesAttribute(long chipClusterPtr - , SourcesAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class PowerSourceCluster extends BaseChipCluster { public static final long CLUSTER_ID = 47L; @@ -4858,82 +4643,96 @@ public PowerSourceCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface WiredAssessedInputVoltageAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface WiredAssessedInputFrequencyAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface WiredAssessedCurrentAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ActiveWiredFaultsAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface BatVoltageAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface BatPercentRemainingAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface BatTimeRemainingAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ActiveBatFaultsAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface BatTimeToFullChargeAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface BatChargingCurrentAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ActiveBatChargeFaultsAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EndpointListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -5320,198 +5119,159 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOrderAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeOrderAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDescriptionAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeDescriptionAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readWiredAssessedInputVoltageAttribute(long chipClusterPtr, WiredAssessedInputVoltageAttributeCallback callback); + + private native void subscribeWiredAssessedInputVoltageAttribute(long chipClusterPtr, WiredAssessedInputVoltageAttributeCallback callback, int minInterval, int maxInterval); + + private native void readWiredAssessedInputFrequencyAttribute(long chipClusterPtr, WiredAssessedInputFrequencyAttributeCallback callback); + + private native void subscribeWiredAssessedInputFrequencyAttribute(long chipClusterPtr, WiredAssessedInputFrequencyAttributeCallback callback, int minInterval, int maxInterval); + + private native void readWiredCurrentTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeWiredCurrentTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readWiredAssessedCurrentAttribute(long chipClusterPtr, WiredAssessedCurrentAttributeCallback callback); + + private native void subscribeWiredAssessedCurrentAttribute(long chipClusterPtr, WiredAssessedCurrentAttributeCallback callback, int minInterval, int maxInterval); + + private native void readWiredNominalVoltageAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeWiredNominalVoltageAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readWiredMaximumCurrentAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeWiredMaximumCurrentAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readWiredPresentAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeWiredPresentAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActiveWiredFaultsAttribute(long chipClusterPtr, ActiveWiredFaultsAttributeCallback callback); + + private native void subscribeActiveWiredFaultsAttribute(long chipClusterPtr, ActiveWiredFaultsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatVoltageAttribute(long chipClusterPtr, BatVoltageAttributeCallback callback); + + private native void subscribeBatVoltageAttribute(long chipClusterPtr, BatVoltageAttributeCallback callback, int minInterval, int maxInterval); - private native void readStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOrderAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeOrderAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDescriptionAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeDescriptionAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readWiredAssessedInputVoltageAttribute(long chipClusterPtr - , WiredAssessedInputVoltageAttributeCallback callback); - - private native void subscribeWiredAssessedInputVoltageAttribute(long chipClusterPtr - , WiredAssessedInputVoltageAttributeCallback callback, int minInterval, int maxInterval); - private native void readWiredAssessedInputFrequencyAttribute(long chipClusterPtr - , WiredAssessedInputFrequencyAttributeCallback callback); - - private native void subscribeWiredAssessedInputFrequencyAttribute(long chipClusterPtr - , WiredAssessedInputFrequencyAttributeCallback callback, int minInterval, int maxInterval); - private native void readWiredCurrentTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeWiredCurrentTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readWiredAssessedCurrentAttribute(long chipClusterPtr - , WiredAssessedCurrentAttributeCallback callback); - - private native void subscribeWiredAssessedCurrentAttribute(long chipClusterPtr - , WiredAssessedCurrentAttributeCallback callback, int minInterval, int maxInterval); - private native void readWiredNominalVoltageAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeWiredNominalVoltageAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readWiredMaximumCurrentAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeWiredMaximumCurrentAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readWiredPresentAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeWiredPresentAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveWiredFaultsAttribute(long chipClusterPtr - , ActiveWiredFaultsAttributeCallback callback); - - private native void subscribeActiveWiredFaultsAttribute(long chipClusterPtr - , ActiveWiredFaultsAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatVoltageAttribute(long chipClusterPtr - , BatVoltageAttributeCallback callback); - - private native void subscribeBatVoltageAttribute(long chipClusterPtr - , BatVoltageAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatPercentRemainingAttribute(long chipClusterPtr - , BatPercentRemainingAttributeCallback callback); - - private native void subscribeBatPercentRemainingAttribute(long chipClusterPtr - , BatPercentRemainingAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatTimeRemainingAttribute(long chipClusterPtr - , BatTimeRemainingAttributeCallback callback); - - private native void subscribeBatTimeRemainingAttribute(long chipClusterPtr - , BatTimeRemainingAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatChargeLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeBatChargeLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatReplacementNeededAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeBatReplacementNeededAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatReplaceabilityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeBatReplaceabilityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatPresentAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeBatPresentAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveBatFaultsAttribute(long chipClusterPtr - , ActiveBatFaultsAttributeCallback callback); - - private native void subscribeActiveBatFaultsAttribute(long chipClusterPtr - , ActiveBatFaultsAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatReplacementDescriptionAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeBatReplacementDescriptionAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatCommonDesignationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeBatCommonDesignationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatANSIDesignationAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeBatANSIDesignationAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatIECDesignationAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeBatIECDesignationAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatApprovedChemistryAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeBatApprovedChemistryAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatCapacityAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeBatCapacityAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatQuantityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeBatQuantityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatChargeStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeBatChargeStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatTimeToFullChargeAttribute(long chipClusterPtr - , BatTimeToFullChargeAttributeCallback callback); - - private native void subscribeBatTimeToFullChargeAttribute(long chipClusterPtr - , BatTimeToFullChargeAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatFunctionalWhileChargingAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeBatFunctionalWhileChargingAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatChargingCurrentAttribute(long chipClusterPtr - , BatChargingCurrentAttributeCallback callback); - - private native void subscribeBatChargingCurrentAttribute(long chipClusterPtr - , BatChargingCurrentAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveBatChargeFaultsAttribute(long chipClusterPtr - , ActiveBatChargeFaultsAttributeCallback callback); - - private native void subscribeActiveBatChargeFaultsAttribute(long chipClusterPtr - , ActiveBatChargeFaultsAttributeCallback callback, int minInterval, int maxInterval); - private native void readEndpointListAttribute(long chipClusterPtr - , EndpointListAttributeCallback callback); - - private native void subscribeEndpointListAttribute(long chipClusterPtr - , EndpointListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readBatPercentRemainingAttribute(long chipClusterPtr, BatPercentRemainingAttributeCallback callback); + + private native void subscribeBatPercentRemainingAttribute(long chipClusterPtr, BatPercentRemainingAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatTimeRemainingAttribute(long chipClusterPtr, BatTimeRemainingAttributeCallback callback); + + private native void subscribeBatTimeRemainingAttribute(long chipClusterPtr, BatTimeRemainingAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatChargeLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeBatChargeLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatReplacementNeededAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeBatReplacementNeededAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatReplaceabilityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeBatReplaceabilityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatPresentAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeBatPresentAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActiveBatFaultsAttribute(long chipClusterPtr, ActiveBatFaultsAttributeCallback callback); + + private native void subscribeActiveBatFaultsAttribute(long chipClusterPtr, ActiveBatFaultsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatReplacementDescriptionAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeBatReplacementDescriptionAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatCommonDesignationAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeBatCommonDesignationAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatANSIDesignationAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeBatANSIDesignationAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatIECDesignationAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeBatIECDesignationAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatApprovedChemistryAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeBatApprovedChemistryAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatCapacityAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeBatCapacityAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatQuantityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeBatQuantityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatChargeStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeBatChargeStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatTimeToFullChargeAttribute(long chipClusterPtr, BatTimeToFullChargeAttributeCallback callback); + + private native void subscribeBatTimeToFullChargeAttribute(long chipClusterPtr, BatTimeToFullChargeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatFunctionalWhileChargingAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeBatFunctionalWhileChargingAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatChargingCurrentAttribute(long chipClusterPtr, BatChargingCurrentAttributeCallback callback); + + private native void subscribeBatChargingCurrentAttribute(long chipClusterPtr, BatChargingCurrentAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActiveBatChargeFaultsAttribute(long chipClusterPtr, ActiveBatChargeFaultsAttributeCallback callback); + + private native void subscribeActiveBatChargeFaultsAttribute(long chipClusterPtr, ActiveBatChargeFaultsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEndpointListAttribute(long chipClusterPtr, EndpointListAttributeCallback callback); + + private native void subscribeEndpointListAttribute(long chipClusterPtr, EndpointListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class GeneralCommissioningCluster extends BaseChipCluster { public static final long CLUSTER_ID = 48L; @@ -5522,7 +5282,6 @@ public GeneralCommissioningCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void armFailSafe(ArmFailSafeResponseCallback callback, Integer expiryLengthSeconds, Long breadcrumb) { armFailSafe(chipClusterPtr, callback, expiryLengthSeconds, breadcrumb, null); } @@ -5555,39 +5314,43 @@ public void commissioningComplete(CommissioningCompleteResponseCallback callback public interface ArmFailSafeResponseCallback { void onSuccess(Integer errorCode, String debugText); - void onError(Exception error); } + public interface SetRegulatoryConfigResponseCallback { void onSuccess(Integer errorCode, String debugText); - void onError(Exception error); } + public interface CommissioningCompleteResponseCallback { void onSuccess(Integer errorCode, String debugText); - void onError(Exception error); } + public interface BasicCommissioningInfoAttributeCallback { void onSuccess(ChipStructs.GeneralCommissioningClusterBasicCommissioningInfo value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -5598,17 +5361,15 @@ public void readBreadcrumbAttribute( LongAttributeCallback callback) { readBreadcrumbAttribute(chipClusterPtr, callback); } + public void writeBreadcrumbAttribute(DefaultClusterCallback callback, Long value) { writeBreadcrumbAttribute(chipClusterPtr, callback, value, null); } - public void writeBreadcrumbAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeBreadcrumbAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeBreadcrumbAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeBreadcrumbAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -5714,65 +5475,53 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readBreadcrumbAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readBreadcrumbAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeBreadcrumbAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeBreadcrumbAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readBasicCommissioningInfoAttribute(long chipClusterPtr - , BasicCommissioningInfoAttributeCallback callback); - - private native void subscribeBasicCommissioningInfoAttribute(long chipClusterPtr - , BasicCommissioningInfoAttributeCallback callback, int minInterval, int maxInterval); - private native void readRegulatoryConfigAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRegulatoryConfigAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLocationCapabilityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLocationCapabilityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportsConcurrentConnectionAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeSupportsConcurrentConnectionAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeBreadcrumbAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBasicCommissioningInfoAttribute(long chipClusterPtr, BasicCommissioningInfoAttributeCallback callback); + + private native void subscribeBasicCommissioningInfoAttribute(long chipClusterPtr, BasicCommissioningInfoAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRegulatoryConfigAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRegulatoryConfigAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLocationCapabilityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeLocationCapabilityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSupportsConcurrentConnectionAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeSupportsConcurrentConnectionAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class NetworkCommissioningCluster extends BaseChipCluster { public static final long CLUSTER_ID = 49L; @@ -5783,7 +5532,6 @@ public NetworkCommissioningCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void scanNetworks(ScanNetworksResponseCallback callback, @Nullable Optional ssid, Optional breadcrumb) { scanNetworks(chipClusterPtr, callback, ssid, breadcrumb, null); } @@ -5846,54 +5594,61 @@ public void reorderNetwork(NetworkConfigResponseCallback callback, byte[] networ public interface ScanNetworksResponseCallback { void onSuccess(Integer networkingStatus, Optional debugText, Optional> wiFiScanResults, Optional> threadScanResults); - void onError(Exception error); } + public interface NetworkConfigResponseCallback { void onSuccess(Integer networkingStatus, Optional debugText, Optional networkIndex); - void onError(Exception error); } + public interface ConnectNetworkResponseCallback { void onSuccess(Integer networkingStatus, Optional debugText, @Nullable Long errorValue); - void onError(Exception error); } + public interface NetworksAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface LastNetworkingStatusAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface LastNetworkIDAttributeCallback { void onSuccess(@Nullable byte[] value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface LastConnectErrorValueAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -5944,17 +5699,15 @@ public void readInterfaceEnabledAttribute( BooleanAttributeCallback callback) { readInterfaceEnabledAttribute(chipClusterPtr, callback); } + public void writeInterfaceEnabledAttribute(DefaultClusterCallback callback, Boolean value) { writeInterfaceEnabledAttribute(chipClusterPtr, callback, value, null); } - public void writeInterfaceEnabledAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writeInterfaceEnabledAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInterfaceEnabledAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribeInterfaceEnabledAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -6050,121 +5803,108 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMaxNetworksAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMaxNetworksAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxNetworksAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readNetworksAttribute(long chipClusterPtr, NetworksAttributeCallback callback); - private native void subscribeMaxNetworksAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNetworksAttribute(long chipClusterPtr - , NetworksAttributeCallback callback); + private native void subscribeNetworksAttribute(long chipClusterPtr, NetworksAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeNetworksAttribute(long chipClusterPtr - , NetworksAttributeCallback callback, int minInterval, int maxInterval); - private native void readScanMaxTimeSecondsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readScanMaxTimeSecondsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeScanMaxTimeSecondsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readConnectMaxTimeSecondsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeScanMaxTimeSecondsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeConnectMaxTimeSecondsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInterfaceEnabledAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void readConnectMaxTimeSecondsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeConnectMaxTimeSecondsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInterfaceEnabledAttribute(long chipClusterPtr, BooleanAttributeCallback callback); private native void writeInterfaceEnabledAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInterfaceEnabledAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readLastNetworkingStatusAttribute(long chipClusterPtr - , LastNetworkingStatusAttributeCallback callback); - - private native void subscribeLastNetworkingStatusAttribute(long chipClusterPtr - , LastNetworkingStatusAttributeCallback callback, int minInterval, int maxInterval); - private native void readLastNetworkIDAttribute(long chipClusterPtr - , LastNetworkIDAttributeCallback callback); - - private native void subscribeLastNetworkIDAttribute(long chipClusterPtr - , LastNetworkIDAttributeCallback callback, int minInterval, int maxInterval); - private native void readLastConnectErrorValueAttribute(long chipClusterPtr - , LastConnectErrorValueAttributeCallback callback); - - private native void subscribeLastConnectErrorValueAttribute(long chipClusterPtr - , LastConnectErrorValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class DiagnosticLogsCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 50L; + private native void subscribeInterfaceEnabledAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - public DiagnosticLogsCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readLastNetworkingStatusAttribute(long chipClusterPtr, LastNetworkingStatusAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribeLastNetworkingStatusAttribute(long chipClusterPtr, LastNetworkingStatusAttributeCallback callback, int minInterval, int maxInterval); + private native void readLastNetworkIDAttribute(long chipClusterPtr, LastNetworkIDAttributeCallback callback); - public void retrieveLogsRequest(RetrieveLogsResponseCallback callback, Integer intent, Integer requestedProtocol, Optional transferFileDesignator) { - retrieveLogsRequest(chipClusterPtr, callback, intent, requestedProtocol, transferFileDesignator, null); - } + private native void subscribeLastNetworkIDAttribute(long chipClusterPtr, LastNetworkIDAttributeCallback callback, int minInterval, int maxInterval); - public void retrieveLogsRequest(RetrieveLogsResponseCallback callback, Integer intent, Integer requestedProtocol, Optional transferFileDesignator, int timedInvokeTimeoutMs) { - retrieveLogsRequest(chipClusterPtr, callback, intent, requestedProtocol, transferFileDesignator, timedInvokeTimeoutMs); - } + private native void readLastConnectErrorValueAttribute(long chipClusterPtr, LastConnectErrorValueAttributeCallback callback); - private native void retrieveLogsRequest(long chipClusterPtr, RetrieveLogsResponseCallback callback, Integer intent, Integer requestedProtocol, Optional transferFileDesignator, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeLastConnectErrorValueAttribute(long chipClusterPtr, LastConnectErrorValueAttributeCallback callback, int minInterval, int maxInterval); - public interface RetrieveLogsResponseCallback { - void onSuccess(Integer status, byte[] logContent, Optional UTCTimeStamp, Optional timeSinceBoot); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - void onError(Exception error); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class DiagnosticLogsCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 50L; + + public DiagnosticLogsCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void retrieveLogsRequest(RetrieveLogsResponseCallback callback, Integer intent, Integer requestedProtocol, Optional transferFileDesignator) { + retrieveLogsRequest(chipClusterPtr, callback, intent, requestedProtocol, transferFileDesignator, null); + } + + public void retrieveLogsRequest(RetrieveLogsResponseCallback callback, Integer intent, Integer requestedProtocol, Optional transferFileDesignator, int timedInvokeTimeoutMs) { + retrieveLogsRequest(chipClusterPtr, callback, intent, requestedProtocol, transferFileDesignator, timedInvokeTimeoutMs); + } + + private native void retrieveLogsRequest(long chipClusterPtr, RetrieveLogsResponseCallback callback, Integer intent, Integer requestedProtocol, Optional transferFileDesignator, @Nullable Integer timedInvokeTimeoutMs); + + public interface RetrieveLogsResponseCallback { + void onSuccess(Integer status, byte[] logContent, Optional UTCTimeStamp, Optional timeSinceBoot); + void onError(Exception error); } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -6231,38 +5971,31 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class GeneralDiagnosticsCluster extends BaseChipCluster { public static final long CLUSTER_ID = 51L; @@ -6273,7 +6006,6 @@ public GeneralDiagnosticsCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void testEventTrigger(DefaultClusterCallback callback, byte[] enableKey, Long eventTrigger) { testEventTrigger(chipClusterPtr, callback, enableKey, eventTrigger, null); } @@ -6289,36 +6021,43 @@ public interface NetworkInterfacesAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ActiveHardwareFaultsAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ActiveRadioFaultsAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ActiveNetworkFaultsAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -6485,88 +6224,71 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readNetworkInterfacesAttribute(long chipClusterPtr, NetworkInterfacesAttributeCallback callback); + + private native void subscribeNetworkInterfacesAttribute(long chipClusterPtr, NetworkInterfacesAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRebootCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRebootCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUpTimeAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeUpTimeAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTotalOperationalHoursAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTotalOperationalHoursAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBootReasonAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeBootReasonAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActiveHardwareFaultsAttribute(long chipClusterPtr, ActiveHardwareFaultsAttributeCallback callback); + + private native void subscribeActiveHardwareFaultsAttribute(long chipClusterPtr, ActiveHardwareFaultsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActiveRadioFaultsAttribute(long chipClusterPtr, ActiveRadioFaultsAttributeCallback callback); - private native void readNetworkInterfacesAttribute(long chipClusterPtr - , NetworkInterfacesAttributeCallback callback); - - private native void subscribeNetworkInterfacesAttribute(long chipClusterPtr - , NetworkInterfacesAttributeCallback callback, int minInterval, int maxInterval); - private native void readRebootCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRebootCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readUpTimeAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeUpTimeAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTotalOperationalHoursAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTotalOperationalHoursAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readBootReasonAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeBootReasonAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveHardwareFaultsAttribute(long chipClusterPtr - , ActiveHardwareFaultsAttributeCallback callback); - - private native void subscribeActiveHardwareFaultsAttribute(long chipClusterPtr - , ActiveHardwareFaultsAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveRadioFaultsAttribute(long chipClusterPtr - , ActiveRadioFaultsAttributeCallback callback); - - private native void subscribeActiveRadioFaultsAttribute(long chipClusterPtr - , ActiveRadioFaultsAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveNetworkFaultsAttribute(long chipClusterPtr - , ActiveNetworkFaultsAttributeCallback callback); - - private native void subscribeActiveNetworkFaultsAttribute(long chipClusterPtr - , ActiveNetworkFaultsAttributeCallback callback, int minInterval, int maxInterval); - private native void readTestEventTriggersEnabledAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeTestEventTriggersEnabledAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageWearCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageWearCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeActiveRadioFaultsAttribute(long chipClusterPtr, ActiveRadioFaultsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActiveNetworkFaultsAttribute(long chipClusterPtr, ActiveNetworkFaultsAttributeCallback callback); + + private native void subscribeActiveNetworkFaultsAttribute(long chipClusterPtr, ActiveNetworkFaultsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTestEventTriggersEnabledAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeTestEventTriggersEnabledAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageWearCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeAverageWearCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class SoftwareDiagnosticsCluster extends BaseChipCluster { public static final long CLUSTER_ID = 52L; @@ -6577,7 +6299,6 @@ public SoftwareDiagnosticsCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void resetWatermarks(DefaultClusterCallback callback) { resetWatermarks(chipClusterPtr, callback, null); } @@ -6593,21 +6314,25 @@ public interface ThreadMetricsAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -6714,58 +6439,47 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readThreadMetricsAttribute(long chipClusterPtr, ThreadMetricsAttributeCallback callback); + + private native void subscribeThreadMetricsAttribute(long chipClusterPtr, ThreadMetricsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentHeapFreeAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeCurrentHeapFreeAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentHeapUsedAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeCurrentHeapUsedAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentHeapHighWatermarkAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeCurrentHeapHighWatermarkAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void readThreadMetricsAttribute(long chipClusterPtr - , ThreadMetricsAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeThreadMetricsAttribute(long chipClusterPtr - , ThreadMetricsAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentHeapFreeAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeCurrentHeapFreeAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentHeapUsedAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCurrentHeapUsedAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentHeapHighWatermarkAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeCurrentHeapHighWatermarkAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class ThreadNetworkDiagnosticsCluster extends BaseChipCluster { public static final long CLUSTER_ID = 53L; @@ -6776,7 +6490,6 @@ public ThreadNetworkDiagnosticsCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void resetCounts(DefaultClusterCallback callback) { resetCounts(chipClusterPtr, callback, null); } @@ -6792,116 +6505,139 @@ public interface ChannelAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface RoutingRoleAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NetworkNameAttributeCallback { void onSuccess(@Nullable String value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface PanIdAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ExtendedPanIdAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MeshLocalPrefixAttributeCallback { void onSuccess(@Nullable byte[] value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NeighborTableAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface RouteTableAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface PartitionIdAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface WeightingAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface DataVersionAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface StableDataVersionAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface LeaderRouterIdAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ActiveTimestampAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface PendingTimestampAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface DelayAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface SecurityPolicyAttributeCallback { void onSuccess(@Nullable ChipStructs.ThreadNetworkDiagnosticsClusterSecurityPolicy value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ChannelPage0MaskAttributeCallback { void onSuccess(@Nullable byte[] value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface OperationalDatasetComponentsAttributeCallback { void onSuccess(@Nullable ChipStructs.ThreadNetworkDiagnosticsClusterOperationalDatasetComponents value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ActiveNetworkFaultsListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -7598,758 +7334,293 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readChannelAttribute(long chipClusterPtr, ChannelAttributeCallback callback); - private native void readChannelAttribute(long chipClusterPtr - , ChannelAttributeCallback callback); - - private native void subscribeChannelAttribute(long chipClusterPtr - , ChannelAttributeCallback callback, int minInterval, int maxInterval); - private native void readRoutingRoleAttribute(long chipClusterPtr - , RoutingRoleAttributeCallback callback); - - private native void subscribeRoutingRoleAttribute(long chipClusterPtr - , RoutingRoleAttributeCallback callback, int minInterval, int maxInterval); - private native void readNetworkNameAttribute(long chipClusterPtr - , NetworkNameAttributeCallback callback); - - private native void subscribeNetworkNameAttribute(long chipClusterPtr - , NetworkNameAttributeCallback callback, int minInterval, int maxInterval); - private native void readPanIdAttribute(long chipClusterPtr - , PanIdAttributeCallback callback); - - private native void subscribePanIdAttribute(long chipClusterPtr - , PanIdAttributeCallback callback, int minInterval, int maxInterval); - private native void readExtendedPanIdAttribute(long chipClusterPtr - , ExtendedPanIdAttributeCallback callback); - - private native void subscribeExtendedPanIdAttribute(long chipClusterPtr - , ExtendedPanIdAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeshLocalPrefixAttribute(long chipClusterPtr - , MeshLocalPrefixAttributeCallback callback); - - private native void subscribeMeshLocalPrefixAttribute(long chipClusterPtr - , MeshLocalPrefixAttributeCallback callback, int minInterval, int maxInterval); - private native void readOverrunCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeOverrunCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readNeighborTableAttribute(long chipClusterPtr - , NeighborTableAttributeCallback callback); - - private native void subscribeNeighborTableAttribute(long chipClusterPtr - , NeighborTableAttributeCallback callback, int minInterval, int maxInterval); - private native void readRouteTableAttribute(long chipClusterPtr - , RouteTableAttributeCallback callback); - - private native void subscribeRouteTableAttribute(long chipClusterPtr - , RouteTableAttributeCallback callback, int minInterval, int maxInterval); - private native void readPartitionIdAttribute(long chipClusterPtr - , PartitionIdAttributeCallback callback); - - private native void subscribePartitionIdAttribute(long chipClusterPtr - , PartitionIdAttributeCallback callback, int minInterval, int maxInterval); - private native void readWeightingAttribute(long chipClusterPtr - , WeightingAttributeCallback callback); - - private native void subscribeWeightingAttribute(long chipClusterPtr - , WeightingAttributeCallback callback, int minInterval, int maxInterval); - private native void readDataVersionAttribute(long chipClusterPtr - , DataVersionAttributeCallback callback); - - private native void subscribeDataVersionAttribute(long chipClusterPtr - , DataVersionAttributeCallback callback, int minInterval, int maxInterval); - private native void readStableDataVersionAttribute(long chipClusterPtr - , StableDataVersionAttributeCallback callback); - - private native void subscribeStableDataVersionAttribute(long chipClusterPtr - , StableDataVersionAttributeCallback callback, int minInterval, int maxInterval); - private native void readLeaderRouterIdAttribute(long chipClusterPtr - , LeaderRouterIdAttributeCallback callback); - - private native void subscribeLeaderRouterIdAttribute(long chipClusterPtr - , LeaderRouterIdAttributeCallback callback, int minInterval, int maxInterval); - private native void readDetachedRoleCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDetachedRoleCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readChildRoleCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeChildRoleCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRouterRoleCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRouterRoleCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLeaderRoleCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLeaderRoleCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttachAttemptCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAttachAttemptCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPartitionIdChangeCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePartitionIdChangeCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBetterPartitionAttachAttemptCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeBetterPartitionAttachAttemptCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readParentChangeCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeParentChangeCountAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxTotalCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxTotalCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxUnicastCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxUnicastCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxBroadcastCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxBroadcastCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxAckRequestedCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxAckRequestedCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxAckedCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxAckedCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxNoAckRequestedCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxNoAckRequestedCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxDataCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxDataCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxDataPollCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxDataPollCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxBeaconCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxBeaconCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxBeaconRequestCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxBeaconRequestCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxOtherCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxOtherCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxRetryCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxRetryCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxDirectMaxRetryExpiryCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxDirectMaxRetryExpiryCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxIndirectMaxRetryExpiryCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxIndirectMaxRetryExpiryCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxErrCcaCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxErrCcaCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxErrAbortCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxErrAbortCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxErrBusyChannelCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxErrBusyChannelCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxTotalCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxTotalCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxUnicastCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxUnicastCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxBroadcastCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxBroadcastCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxDataCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxDataCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxDataPollCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxDataPollCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxBeaconCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxBeaconCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxBeaconRequestCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxBeaconRequestCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxOtherCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxOtherCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxAddressFilteredCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxAddressFilteredCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxDestAddrFilteredCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxDestAddrFilteredCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxDuplicatedCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxDuplicatedCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxErrNoFrameCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxErrNoFrameCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxErrUnknownNeighborCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxErrUnknownNeighborCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxErrInvalidSrcAddrCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxErrInvalidSrcAddrCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxErrSecCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxErrSecCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxErrFcsCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxErrFcsCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readRxErrOtherCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeRxErrOtherCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveTimestampAttribute(long chipClusterPtr - , ActiveTimestampAttributeCallback callback); - - private native void subscribeActiveTimestampAttribute(long chipClusterPtr - , ActiveTimestampAttributeCallback callback, int minInterval, int maxInterval); - private native void readPendingTimestampAttribute(long chipClusterPtr - , PendingTimestampAttributeCallback callback); - - private native void subscribePendingTimestampAttribute(long chipClusterPtr - , PendingTimestampAttributeCallback callback, int minInterval, int maxInterval); - private native void readDelayAttribute(long chipClusterPtr - , DelayAttributeCallback callback); - - private native void subscribeDelayAttribute(long chipClusterPtr - , DelayAttributeCallback callback, int minInterval, int maxInterval); - private native void readSecurityPolicyAttribute(long chipClusterPtr - , SecurityPolicyAttributeCallback callback); - - private native void subscribeSecurityPolicyAttribute(long chipClusterPtr - , SecurityPolicyAttributeCallback callback, int minInterval, int maxInterval); - private native void readChannelPage0MaskAttribute(long chipClusterPtr - , ChannelPage0MaskAttributeCallback callback); - - private native void subscribeChannelPage0MaskAttribute(long chipClusterPtr - , ChannelPage0MaskAttributeCallback callback, int minInterval, int maxInterval); - private native void readOperationalDatasetComponentsAttribute(long chipClusterPtr - , OperationalDatasetComponentsAttributeCallback callback); - - private native void subscribeOperationalDatasetComponentsAttribute(long chipClusterPtr - , OperationalDatasetComponentsAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveNetworkFaultsListAttribute(long chipClusterPtr - , ActiveNetworkFaultsListAttributeCallback callback); - - private native void subscribeActiveNetworkFaultsListAttribute(long chipClusterPtr - , ActiveNetworkFaultsListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class WiFiNetworkDiagnosticsCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 54L; + private native void subscribeChannelAttribute(long chipClusterPtr, ChannelAttributeCallback callback, int minInterval, int maxInterval); - public WiFiNetworkDiagnosticsCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readRoutingRoleAttribute(long chipClusterPtr, RoutingRoleAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribeRoutingRoleAttribute(long chipClusterPtr, RoutingRoleAttributeCallback callback, int minInterval, int maxInterval); + private native void readNetworkNameAttribute(long chipClusterPtr, NetworkNameAttributeCallback callback); - public void resetCounts(DefaultClusterCallback callback) { - resetCounts(chipClusterPtr, callback, null); - } + private native void subscribeNetworkNameAttribute(long chipClusterPtr, NetworkNameAttributeCallback callback, int minInterval, int maxInterval); - public void resetCounts(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - resetCounts(chipClusterPtr, callback, timedInvokeTimeoutMs); - } + private native void readPanIdAttribute(long chipClusterPtr, PanIdAttributeCallback callback); - private native void resetCounts(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribePanIdAttribute(long chipClusterPtr, PanIdAttributeCallback callback, int minInterval, int maxInterval); - public interface BssidAttributeCallback { - void onSuccess(@Nullable byte[] value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface SecurityTypeAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface WiFiVersionAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface ChannelNumberAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface RssiAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface BeaconLostCountAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface BeaconRxCountAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface PacketMulticastRxCountAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface PacketMulticastTxCountAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface PacketUnicastRxCountAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface PacketUnicastTxCountAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface CurrentMaxRateAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface OverrunCountAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } + private native void readExtendedPanIdAttribute(long chipClusterPtr, ExtendedPanIdAttributeCallback callback); - public void readBssidAttribute( - BssidAttributeCallback callback) { - readBssidAttribute(chipClusterPtr, callback); - } + private native void subscribeExtendedPanIdAttribute(long chipClusterPtr, ExtendedPanIdAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeBssidAttribute( - BssidAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBssidAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readMeshLocalPrefixAttribute(long chipClusterPtr, MeshLocalPrefixAttributeCallback callback); - public void readSecurityTypeAttribute( - SecurityTypeAttributeCallback callback) { - readSecurityTypeAttribute(chipClusterPtr, callback); - } + private native void subscribeMeshLocalPrefixAttribute(long chipClusterPtr, MeshLocalPrefixAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeSecurityTypeAttribute( - SecurityTypeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSecurityTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readOverrunCountAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void readWiFiVersionAttribute( - WiFiVersionAttributeCallback callback) { - readWiFiVersionAttribute(chipClusterPtr, callback); - } + private native void subscribeOverrunCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeWiFiVersionAttribute( - WiFiVersionAttributeCallback callback, int minInterval, int maxInterval) { - subscribeWiFiVersionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readNeighborTableAttribute(long chipClusterPtr, NeighborTableAttributeCallback callback); - public void readChannelNumberAttribute( - ChannelNumberAttributeCallback callback) { - readChannelNumberAttribute(chipClusterPtr, callback); - } + private native void subscribeNeighborTableAttribute(long chipClusterPtr, NeighborTableAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeChannelNumberAttribute( - ChannelNumberAttributeCallback callback, int minInterval, int maxInterval) { - subscribeChannelNumberAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRouteTableAttribute(long chipClusterPtr, RouteTableAttributeCallback callback); - public void readRssiAttribute( - RssiAttributeCallback callback) { - readRssiAttribute(chipClusterPtr, callback); - } + private native void subscribeRouteTableAttribute(long chipClusterPtr, RouteTableAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRssiAttribute( - RssiAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRssiAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readPartitionIdAttribute(long chipClusterPtr, PartitionIdAttributeCallback callback); - public void readBeaconLostCountAttribute( - BeaconLostCountAttributeCallback callback) { - readBeaconLostCountAttribute(chipClusterPtr, callback); - } + private native void subscribePartitionIdAttribute(long chipClusterPtr, PartitionIdAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeBeaconLostCountAttribute( - BeaconLostCountAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBeaconLostCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readWeightingAttribute(long chipClusterPtr, WeightingAttributeCallback callback); - public void readBeaconRxCountAttribute( - BeaconRxCountAttributeCallback callback) { - readBeaconRxCountAttribute(chipClusterPtr, callback); - } + private native void subscribeWeightingAttribute(long chipClusterPtr, WeightingAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeBeaconRxCountAttribute( - BeaconRxCountAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBeaconRxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readDataVersionAttribute(long chipClusterPtr, DataVersionAttributeCallback callback); - public void readPacketMulticastRxCountAttribute( - PacketMulticastRxCountAttributeCallback callback) { - readPacketMulticastRxCountAttribute(chipClusterPtr, callback); - } + private native void subscribeDataVersionAttribute(long chipClusterPtr, DataVersionAttributeCallback callback, int minInterval, int maxInterval); - public void subscribePacketMulticastRxCountAttribute( - PacketMulticastRxCountAttributeCallback callback, int minInterval, int maxInterval) { - subscribePacketMulticastRxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readStableDataVersionAttribute(long chipClusterPtr, StableDataVersionAttributeCallback callback); - public void readPacketMulticastTxCountAttribute( - PacketMulticastTxCountAttributeCallback callback) { - readPacketMulticastTxCountAttribute(chipClusterPtr, callback); - } + private native void subscribeStableDataVersionAttribute(long chipClusterPtr, StableDataVersionAttributeCallback callback, int minInterval, int maxInterval); - public void subscribePacketMulticastTxCountAttribute( - PacketMulticastTxCountAttributeCallback callback, int minInterval, int maxInterval) { - subscribePacketMulticastTxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readLeaderRouterIdAttribute(long chipClusterPtr, LeaderRouterIdAttributeCallback callback); - public void readPacketUnicastRxCountAttribute( - PacketUnicastRxCountAttributeCallback callback) { - readPacketUnicastRxCountAttribute(chipClusterPtr, callback); - } + private native void subscribeLeaderRouterIdAttribute(long chipClusterPtr, LeaderRouterIdAttributeCallback callback, int minInterval, int maxInterval); - public void subscribePacketUnicastRxCountAttribute( - PacketUnicastRxCountAttributeCallback callback, int minInterval, int maxInterval) { - subscribePacketUnicastRxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readDetachedRoleCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readPacketUnicastTxCountAttribute( - PacketUnicastTxCountAttributeCallback callback) { - readPacketUnicastTxCountAttribute(chipClusterPtr, callback); - } + private native void subscribeDetachedRoleCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribePacketUnicastTxCountAttribute( - PacketUnicastTxCountAttributeCallback callback, int minInterval, int maxInterval) { - subscribePacketUnicastTxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readChildRoleCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readCurrentMaxRateAttribute( - CurrentMaxRateAttributeCallback callback) { - readCurrentMaxRateAttribute(chipClusterPtr, callback); - } + private native void subscribeChildRoleCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeCurrentMaxRateAttribute( - CurrentMaxRateAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentMaxRateAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRouterRoleCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readOverrunCountAttribute( - OverrunCountAttributeCallback callback) { - readOverrunCountAttribute(chipClusterPtr, callback); - } + private native void subscribeRouterRoleCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeOverrunCountAttribute( - OverrunCountAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOverrunCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readLeaderRoleCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); - } + private native void subscribeLeaderRoleCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readAttachAttemptCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); - } + private native void subscribeAttachAttemptCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readPartitionIdChangeCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); - } + private native void subscribePartitionIdChangeCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readBetterPartitionAttachAttemptCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); - } + private native void subscribeBetterPartitionAttachAttemptCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readParentChangeCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); - } + private native void subscribeParentChangeCountAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readTxTotalCountAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); - } + private native void subscribeTxTotalCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readTxUnicastCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxUnicastCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxBroadcastCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxBroadcastCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxAckRequestedCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxAckRequestedCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxAckedCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxAckedCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxNoAckRequestedCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxNoAckRequestedCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxDataCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxDataCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + private native void readTxDataPollCountAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void readBssidAttribute(long chipClusterPtr - , BssidAttributeCallback callback); - - private native void subscribeBssidAttribute(long chipClusterPtr - , BssidAttributeCallback callback, int minInterval, int maxInterval); - private native void readSecurityTypeAttribute(long chipClusterPtr - , SecurityTypeAttributeCallback callback); - - private native void subscribeSecurityTypeAttribute(long chipClusterPtr - , SecurityTypeAttributeCallback callback, int minInterval, int maxInterval); - private native void readWiFiVersionAttribute(long chipClusterPtr - , WiFiVersionAttributeCallback callback); - - private native void subscribeWiFiVersionAttribute(long chipClusterPtr - , WiFiVersionAttributeCallback callback, int minInterval, int maxInterval); - private native void readChannelNumberAttribute(long chipClusterPtr - , ChannelNumberAttributeCallback callback); - - private native void subscribeChannelNumberAttribute(long chipClusterPtr - , ChannelNumberAttributeCallback callback, int minInterval, int maxInterval); - private native void readRssiAttribute(long chipClusterPtr - , RssiAttributeCallback callback); - - private native void subscribeRssiAttribute(long chipClusterPtr - , RssiAttributeCallback callback, int minInterval, int maxInterval); - private native void readBeaconLostCountAttribute(long chipClusterPtr - , BeaconLostCountAttributeCallback callback); - - private native void subscribeBeaconLostCountAttribute(long chipClusterPtr - , BeaconLostCountAttributeCallback callback, int minInterval, int maxInterval); - private native void readBeaconRxCountAttribute(long chipClusterPtr - , BeaconRxCountAttributeCallback callback); - - private native void subscribeBeaconRxCountAttribute(long chipClusterPtr - , BeaconRxCountAttributeCallback callback, int minInterval, int maxInterval); - private native void readPacketMulticastRxCountAttribute(long chipClusterPtr - , PacketMulticastRxCountAttributeCallback callback); - - private native void subscribePacketMulticastRxCountAttribute(long chipClusterPtr - , PacketMulticastRxCountAttributeCallback callback, int minInterval, int maxInterval); - private native void readPacketMulticastTxCountAttribute(long chipClusterPtr - , PacketMulticastTxCountAttributeCallback callback); - - private native void subscribePacketMulticastTxCountAttribute(long chipClusterPtr - , PacketMulticastTxCountAttributeCallback callback, int minInterval, int maxInterval); - private native void readPacketUnicastRxCountAttribute(long chipClusterPtr - , PacketUnicastRxCountAttributeCallback callback); - - private native void subscribePacketUnicastRxCountAttribute(long chipClusterPtr - , PacketUnicastRxCountAttributeCallback callback, int minInterval, int maxInterval); - private native void readPacketUnicastTxCountAttribute(long chipClusterPtr - , PacketUnicastTxCountAttributeCallback callback); - - private native void subscribePacketUnicastTxCountAttribute(long chipClusterPtr - , PacketUnicastTxCountAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentMaxRateAttribute(long chipClusterPtr - , CurrentMaxRateAttributeCallback callback); - - private native void subscribeCurrentMaxRateAttribute(long chipClusterPtr - , CurrentMaxRateAttributeCallback callback, int minInterval, int maxInterval); - private native void readOverrunCountAttribute(long chipClusterPtr - , OverrunCountAttributeCallback callback); - - private native void subscribeOverrunCountAttribute(long chipClusterPtr - , OverrunCountAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeTxDataPollCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxBeaconCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxBeaconCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxBeaconRequestCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxBeaconRequestCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxOtherCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxOtherCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxRetryCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxRetryCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxDirectMaxRetryExpiryCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxDirectMaxRetryExpiryCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxIndirectMaxRetryExpiryCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxIndirectMaxRetryExpiryCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxErrCcaCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxErrCcaCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxErrAbortCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxErrAbortCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxErrBusyChannelCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxErrBusyChannelCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxTotalCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxTotalCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxUnicastCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxUnicastCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxBroadcastCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxBroadcastCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxDataCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxDataCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxDataPollCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxDataPollCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxBeaconCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxBeaconCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxBeaconRequestCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxBeaconRequestCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxOtherCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxOtherCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxAddressFilteredCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxAddressFilteredCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxDestAddrFilteredCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxDestAddrFilteredCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxDuplicatedCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxDuplicatedCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxErrNoFrameCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxErrNoFrameCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxErrUnknownNeighborCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxErrUnknownNeighborCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxErrInvalidSrcAddrCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxErrInvalidSrcAddrCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxErrSecCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxErrSecCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxErrFcsCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxErrFcsCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRxErrOtherCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeRxErrOtherCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActiveTimestampAttribute(long chipClusterPtr, ActiveTimestampAttributeCallback callback); + + private native void subscribeActiveTimestampAttribute(long chipClusterPtr, ActiveTimestampAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPendingTimestampAttribute(long chipClusterPtr, PendingTimestampAttributeCallback callback); + + private native void subscribePendingTimestampAttribute(long chipClusterPtr, PendingTimestampAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDelayAttribute(long chipClusterPtr, DelayAttributeCallback callback); + + private native void subscribeDelayAttribute(long chipClusterPtr, DelayAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSecurityPolicyAttribute(long chipClusterPtr, SecurityPolicyAttributeCallback callback); + + private native void subscribeSecurityPolicyAttribute(long chipClusterPtr, SecurityPolicyAttributeCallback callback, int minInterval, int maxInterval); + + private native void readChannelPage0MaskAttribute(long chipClusterPtr, ChannelPage0MaskAttributeCallback callback); + + private native void subscribeChannelPage0MaskAttribute(long chipClusterPtr, ChannelPage0MaskAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOperationalDatasetComponentsAttribute(long chipClusterPtr, OperationalDatasetComponentsAttributeCallback callback); + + private native void subscribeOperationalDatasetComponentsAttribute(long chipClusterPtr, OperationalDatasetComponentsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActiveNetworkFaultsListAttribute(long chipClusterPtr, ActiveNetworkFaultsListAttributeCallback callback); + + private native void subscribeActiveNetworkFaultsListAttribute(long chipClusterPtr, ActiveNetworkFaultsListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class EthernetNetworkDiagnosticsCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 55L; - public EthernetNetworkDiagnosticsCluster(long devicePtr, int endpointId) { + public static class WiFiNetworkDiagnosticsCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 54L; + + public WiFiNetworkDiagnosticsCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public void resetCounts(DefaultClusterCallback callback) { resetCounts(chipClusterPtr, callback, null); } @@ -8360,130 +7631,236 @@ public void resetCounts(DefaultClusterCallback callback, int timedInvokeTimeoutM private native void resetCounts(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - public interface PHYRateAttributeCallback { - void onSuccess(@Nullable Integer value); + public interface BssidAttributeCallback { + void onSuccess(@Nullable byte[] value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface FullDuplexAttributeCallback { - void onSuccess(@Nullable Boolean value); + + public interface SecurityTypeAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface CarrierDetectAttributeCallback { - void onSuccess(@Nullable Boolean value); + + public interface WiFiVersionAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); + + public interface ChannelNumberAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); + + public interface RssiAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface EventListAttributeCallback { - void onSuccess(List value); + + public interface BeaconLostCountAttributeCallback { + void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface AttributeListAttributeCallback { - void onSuccess(List value); + + public interface BeaconRxCountAttributeCallback { + void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readPHYRateAttribute( - PHYRateAttributeCallback callback) { - readPHYRateAttribute(chipClusterPtr, callback); + public interface PacketMulticastRxCountAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribePHYRateAttribute( - PHYRateAttributeCallback callback, int minInterval, int maxInterval) { - subscribePHYRateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface PacketMulticastTxCountAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readFullDuplexAttribute( - FullDuplexAttributeCallback callback) { - readFullDuplexAttribute(chipClusterPtr, callback); + public interface PacketUnicastRxCountAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeFullDuplexAttribute( - FullDuplexAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFullDuplexAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface PacketUnicastTxCountAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readPacketRxCountAttribute( - LongAttributeCallback callback) { - readPacketRxCountAttribute(chipClusterPtr, callback); + public interface CurrentMaxRateAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribePacketRxCountAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePacketRxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface OverrunCountAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readPacketTxCountAttribute( - LongAttributeCallback callback) { - readPacketTxCountAttribute(chipClusterPtr, callback); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribePacketTxCountAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePacketTxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readTxErrCountAttribute( - LongAttributeCallback callback) { - readTxErrCountAttribute(chipClusterPtr, callback); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeTxErrCountAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTxErrCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readCollisionCountAttribute( - LongAttributeCallback callback) { - readCollisionCountAttribute(chipClusterPtr, callback); + public void readBssidAttribute( + BssidAttributeCallback callback) { + readBssidAttribute(chipClusterPtr, callback); } - public void subscribeCollisionCountAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCollisionCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeBssidAttribute( + BssidAttributeCallback callback, int minInterval, int maxInterval) { + subscribeBssidAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOverrunCountAttribute( - LongAttributeCallback callback) { - readOverrunCountAttribute(chipClusterPtr, callback); + public void readSecurityTypeAttribute( + SecurityTypeAttributeCallback callback) { + readSecurityTypeAttribute(chipClusterPtr, callback); } - public void subscribeOverrunCountAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOverrunCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSecurityTypeAttribute( + SecurityTypeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSecurityTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCarrierDetectAttribute( - CarrierDetectAttributeCallback callback) { - readCarrierDetectAttribute(chipClusterPtr, callback); + public void readWiFiVersionAttribute( + WiFiVersionAttributeCallback callback) { + readWiFiVersionAttribute(chipClusterPtr, callback); } - public void subscribeCarrierDetectAttribute( - CarrierDetectAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCarrierDetectAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeWiFiVersionAttribute( + WiFiVersionAttributeCallback callback, int minInterval, int maxInterval) { + subscribeWiFiVersionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readTimeSinceResetAttribute( - LongAttributeCallback callback) { - readTimeSinceResetAttribute(chipClusterPtr, callback); + public void readChannelNumberAttribute( + ChannelNumberAttributeCallback callback) { + readChannelNumberAttribute(chipClusterPtr, callback); } - public void subscribeTimeSinceResetAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTimeSinceResetAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeChannelNumberAttribute( + ChannelNumberAttributeCallback callback, int minInterval, int maxInterval) { + subscribeChannelNumberAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRssiAttribute( + RssiAttributeCallback callback) { + readRssiAttribute(chipClusterPtr, callback); + } + + public void subscribeRssiAttribute( + RssiAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRssiAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readBeaconLostCountAttribute( + BeaconLostCountAttributeCallback callback) { + readBeaconLostCountAttribute(chipClusterPtr, callback); + } + + public void subscribeBeaconLostCountAttribute( + BeaconLostCountAttributeCallback callback, int minInterval, int maxInterval) { + subscribeBeaconLostCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readBeaconRxCountAttribute( + BeaconRxCountAttributeCallback callback) { + readBeaconRxCountAttribute(chipClusterPtr, callback); + } + + public void subscribeBeaconRxCountAttribute( + BeaconRxCountAttributeCallback callback, int minInterval, int maxInterval) { + subscribeBeaconRxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPacketMulticastRxCountAttribute( + PacketMulticastRxCountAttributeCallback callback) { + readPacketMulticastRxCountAttribute(chipClusterPtr, callback); + } + + public void subscribePacketMulticastRxCountAttribute( + PacketMulticastRxCountAttributeCallback callback, int minInterval, int maxInterval) { + subscribePacketMulticastRxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPacketMulticastTxCountAttribute( + PacketMulticastTxCountAttributeCallback callback) { + readPacketMulticastTxCountAttribute(chipClusterPtr, callback); + } + + public void subscribePacketMulticastTxCountAttribute( + PacketMulticastTxCountAttributeCallback callback, int minInterval, int maxInterval) { + subscribePacketMulticastTxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPacketUnicastRxCountAttribute( + PacketUnicastRxCountAttributeCallback callback) { + readPacketUnicastRxCountAttribute(chipClusterPtr, callback); + } + + public void subscribePacketUnicastRxCountAttribute( + PacketUnicastRxCountAttributeCallback callback, int minInterval, int maxInterval) { + subscribePacketUnicastRxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPacketUnicastTxCountAttribute( + PacketUnicastTxCountAttributeCallback callback) { + readPacketUnicastTxCountAttribute(chipClusterPtr, callback); + } + + public void subscribePacketUnicastTxCountAttribute( + PacketUnicastTxCountAttributeCallback callback, int minInterval, int maxInterval) { + subscribePacketUnicastTxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readCurrentMaxRateAttribute( + CurrentMaxRateAttributeCallback callback) { + readCurrentMaxRateAttribute(chipClusterPtr, callback); + } + + public void subscribeCurrentMaxRateAttribute( + CurrentMaxRateAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentMaxRateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readOverrunCountAttribute( + OverrunCountAttributeCallback callback) { + readOverrunCountAttribute(chipClusterPtr, callback); + } + + public void subscribeOverrunCountAttribute( + OverrunCountAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOverrunCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -8546,328 +7923,233 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readBssidAttribute(long chipClusterPtr, BssidAttributeCallback callback); - private native void readPHYRateAttribute(long chipClusterPtr - , PHYRateAttributeCallback callback); - - private native void subscribePHYRateAttribute(long chipClusterPtr - , PHYRateAttributeCallback callback, int minInterval, int maxInterval); - private native void readFullDuplexAttribute(long chipClusterPtr - , FullDuplexAttributeCallback callback); - - private native void subscribeFullDuplexAttribute(long chipClusterPtr - , FullDuplexAttributeCallback callback, int minInterval, int maxInterval); - private native void readPacketRxCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePacketRxCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readPacketTxCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePacketTxCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTxErrCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTxErrCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readCollisionCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeCollisionCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readOverrunCountAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeOverrunCountAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readCarrierDetectAttribute(long chipClusterPtr - , CarrierDetectAttributeCallback callback); - - private native void subscribeCarrierDetectAttribute(long chipClusterPtr - , CarrierDetectAttributeCallback callback, int minInterval, int maxInterval); - private native void readTimeSinceResetAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTimeSinceResetAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class TimeSynchronizationCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 56L; + private native void subscribeBssidAttribute(long chipClusterPtr, BssidAttributeCallback callback, int minInterval, int maxInterval); - public TimeSynchronizationCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readSecurityTypeAttribute(long chipClusterPtr, SecurityTypeAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribeSecurityTypeAttribute(long chipClusterPtr, SecurityTypeAttributeCallback callback, int minInterval, int maxInterval); + private native void readWiFiVersionAttribute(long chipClusterPtr, WiFiVersionAttributeCallback callback); - public void setUTCTime(DefaultClusterCallback callback, Long UTCTime, Integer granularity, Optional timeSource) { - setUTCTime(chipClusterPtr, callback, UTCTime, granularity, timeSource, null); - } + private native void subscribeWiFiVersionAttribute(long chipClusterPtr, WiFiVersionAttributeCallback callback, int minInterval, int maxInterval); - public void setUTCTime(DefaultClusterCallback callback, Long UTCTime, Integer granularity, Optional timeSource, int timedInvokeTimeoutMs) { - setUTCTime(chipClusterPtr, callback, UTCTime, granularity, timeSource, timedInvokeTimeoutMs); - } + private native void readChannelNumberAttribute(long chipClusterPtr, ChannelNumberAttributeCallback callback); - public void setTrustedTimeSource(DefaultClusterCallback callback, @Nullable ChipStructs.TimeSynchronizationClusterFabricScopedTrustedTimeSourceStruct trustedTimeSource) { - setTrustedTimeSource(chipClusterPtr, callback, trustedTimeSource, null); - } + private native void subscribeChannelNumberAttribute(long chipClusterPtr, ChannelNumberAttributeCallback callback, int minInterval, int maxInterval); - public void setTrustedTimeSource(DefaultClusterCallback callback, @Nullable ChipStructs.TimeSynchronizationClusterFabricScopedTrustedTimeSourceStruct trustedTimeSource, int timedInvokeTimeoutMs) { - setTrustedTimeSource(chipClusterPtr, callback, trustedTimeSource, timedInvokeTimeoutMs); - } + private native void readRssiAttribute(long chipClusterPtr, RssiAttributeCallback callback); - public void setTimeZone(SetTimeZoneResponseCallback callback, ArrayList timeZone) { - setTimeZone(chipClusterPtr, callback, timeZone, null); - } + private native void subscribeRssiAttribute(long chipClusterPtr, RssiAttributeCallback callback, int minInterval, int maxInterval); - public void setTimeZone(SetTimeZoneResponseCallback callback, ArrayList timeZone, int timedInvokeTimeoutMs) { - setTimeZone(chipClusterPtr, callback, timeZone, timedInvokeTimeoutMs); - } + private native void readBeaconLostCountAttribute(long chipClusterPtr, BeaconLostCountAttributeCallback callback); - public void setDSTOffset(DefaultClusterCallback callback, ArrayList DSTOffset) { - setDSTOffset(chipClusterPtr, callback, DSTOffset, null); - } + private native void subscribeBeaconLostCountAttribute(long chipClusterPtr, BeaconLostCountAttributeCallback callback, int minInterval, int maxInterval); - public void setDSTOffset(DefaultClusterCallback callback, ArrayList DSTOffset, int timedInvokeTimeoutMs) { - setDSTOffset(chipClusterPtr, callback, DSTOffset, timedInvokeTimeoutMs); - } + private native void readBeaconRxCountAttribute(long chipClusterPtr, BeaconRxCountAttributeCallback callback); - public void setDefaultNTP(DefaultClusterCallback callback, @Nullable String defaultNTP) { - setDefaultNTP(chipClusterPtr, callback, defaultNTP, null); - } + private native void subscribeBeaconRxCountAttribute(long chipClusterPtr, BeaconRxCountAttributeCallback callback, int minInterval, int maxInterval); - public void setDefaultNTP(DefaultClusterCallback callback, @Nullable String defaultNTP, int timedInvokeTimeoutMs) { - setDefaultNTP(chipClusterPtr, callback, defaultNTP, timedInvokeTimeoutMs); - } + private native void readPacketMulticastRxCountAttribute(long chipClusterPtr, PacketMulticastRxCountAttributeCallback callback); - private native void setUTCTime(long chipClusterPtr, DefaultClusterCallback callback, Long UTCTime, Integer granularity, Optional timeSource, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribePacketMulticastRxCountAttribute(long chipClusterPtr, PacketMulticastRxCountAttributeCallback callback, int minInterval, int maxInterval); - private native void setTrustedTimeSource(long chipClusterPtr, DefaultClusterCallback callback, @Nullable ChipStructs.TimeSynchronizationClusterFabricScopedTrustedTimeSourceStruct trustedTimeSource, @Nullable Integer timedInvokeTimeoutMs); + private native void readPacketMulticastTxCountAttribute(long chipClusterPtr, PacketMulticastTxCountAttributeCallback callback); - private native void setTimeZone(long chipClusterPtr, SetTimeZoneResponseCallback callback, ArrayList timeZone, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribePacketMulticastTxCountAttribute(long chipClusterPtr, PacketMulticastTxCountAttributeCallback callback, int minInterval, int maxInterval); - private native void setDSTOffset(long chipClusterPtr, DefaultClusterCallback callback, ArrayList DSTOffset, @Nullable Integer timedInvokeTimeoutMs); + private native void readPacketUnicastRxCountAttribute(long chipClusterPtr, PacketUnicastRxCountAttributeCallback callback); - private native void setDefaultNTP(long chipClusterPtr, DefaultClusterCallback callback, @Nullable String defaultNTP, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribePacketUnicastRxCountAttribute(long chipClusterPtr, PacketUnicastRxCountAttributeCallback callback, int minInterval, int maxInterval); - public interface SetTimeZoneResponseCallback { - void onSuccess(Boolean DSTOffsetRequired); + private native void readPacketUnicastTxCountAttribute(long chipClusterPtr, PacketUnicastTxCountAttributeCallback callback); - void onError(Exception error); - } - public interface UTCTimeAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface TrustedTimeSourceAttributeCallback { - void onSuccess(@Nullable ChipStructs.TimeSynchronizationClusterTrustedTimeSourceStruct value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + private native void subscribePacketUnicastTxCountAttribute(long chipClusterPtr, PacketUnicastTxCountAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentMaxRateAttribute(long chipClusterPtr, CurrentMaxRateAttributeCallback callback); + + private native void subscribeCurrentMaxRateAttribute(long chipClusterPtr, CurrentMaxRateAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOverrunCountAttribute(long chipClusterPtr, OverrunCountAttributeCallback callback); + + private native void subscribeOverrunCountAttribute(long chipClusterPtr, OverrunCountAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class EthernetNetworkDiagnosticsCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 55L; + + public EthernetNetworkDiagnosticsCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public interface DefaultNTPAttributeCallback { - void onSuccess(@Nullable String value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void resetCounts(DefaultClusterCallback callback) { + resetCounts(chipClusterPtr, callback, null); } - public interface TimeZoneAttributeCallback { - void onSuccess(List value); + + public void resetCounts(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + resetCounts(chipClusterPtr, callback, timedInvokeTimeoutMs); + } + + private native void resetCounts(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + public interface PHYRateAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface DSTOffsetAttributeCallback { - void onSuccess(List value); + + public interface FullDuplexAttributeCallback { + void onSuccess(@Nullable Boolean value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface LocalTimeAttributeCallback { - void onSuccess(@Nullable Long value); + + public interface CarrierDetectAttributeCallback { + void onSuccess(@Nullable Boolean value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readUTCTimeAttribute( - UTCTimeAttributeCallback callback) { - readUTCTimeAttribute(chipClusterPtr, callback); - } - - public void subscribeUTCTimeAttribute( - UTCTimeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUTCTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readGranularityAttribute( - IntegerAttributeCallback callback) { - readGranularityAttribute(chipClusterPtr, callback); - } - - public void subscribeGranularityAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGranularityAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readTimeSourceAttribute( - IntegerAttributeCallback callback) { - readTimeSourceAttribute(chipClusterPtr, callback); - } - - public void subscribeTimeSourceAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTimeSourceAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readTrustedTimeSourceAttribute( - TrustedTimeSourceAttributeCallback callback) { - readTrustedTimeSourceAttribute(chipClusterPtr, callback); - } - - public void subscribeTrustedTimeSourceAttribute( - TrustedTimeSourceAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTrustedTimeSourceAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readDefaultNTPAttribute( - DefaultNTPAttributeCallback callback) { - readDefaultNTPAttribute(chipClusterPtr, callback); + public void readPHYRateAttribute( + PHYRateAttributeCallback callback) { + readPHYRateAttribute(chipClusterPtr, callback); } - public void subscribeDefaultNTPAttribute( - DefaultNTPAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDefaultNTPAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePHYRateAttribute( + PHYRateAttributeCallback callback, int minInterval, int maxInterval) { + subscribePHYRateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readTimeZoneAttribute( - TimeZoneAttributeCallback callback) { - readTimeZoneAttribute(chipClusterPtr, callback); + public void readFullDuplexAttribute( + FullDuplexAttributeCallback callback) { + readFullDuplexAttribute(chipClusterPtr, callback); } - public void subscribeTimeZoneAttribute( - TimeZoneAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTimeZoneAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeFullDuplexAttribute( + FullDuplexAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFullDuplexAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDSTOffsetAttribute( - DSTOffsetAttributeCallback callback) { - readDSTOffsetAttribute(chipClusterPtr, callback); + public void readPacketRxCountAttribute( + LongAttributeCallback callback) { + readPacketRxCountAttribute(chipClusterPtr, callback); } - public void subscribeDSTOffsetAttribute( - DSTOffsetAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDSTOffsetAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePacketRxCountAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribePacketRxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLocalTimeAttribute( - LocalTimeAttributeCallback callback) { - readLocalTimeAttribute(chipClusterPtr, callback); + public void readPacketTxCountAttribute( + LongAttributeCallback callback) { + readPacketTxCountAttribute(chipClusterPtr, callback); } - public void subscribeLocalTimeAttribute( - LocalTimeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLocalTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePacketTxCountAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribePacketTxCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readTimeZoneDatabaseAttribute( - IntegerAttributeCallback callback) { - readTimeZoneDatabaseAttribute(chipClusterPtr, callback); + public void readTxErrCountAttribute( + LongAttributeCallback callback) { + readTxErrCountAttribute(chipClusterPtr, callback); } - public void subscribeTimeZoneDatabaseAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTimeZoneDatabaseAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeTxErrCountAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTxErrCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readNTPServerAvailableAttribute( - BooleanAttributeCallback callback) { - readNTPServerAvailableAttribute(chipClusterPtr, callback); + public void readCollisionCountAttribute( + LongAttributeCallback callback) { + readCollisionCountAttribute(chipClusterPtr, callback); } - public void subscribeNTPServerAvailableAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNTPServerAvailableAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCollisionCountAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCollisionCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readTimeZoneListMaxSizeAttribute( - IntegerAttributeCallback callback) { - readTimeZoneListMaxSizeAttribute(chipClusterPtr, callback); + public void readOverrunCountAttribute( + LongAttributeCallback callback) { + readOverrunCountAttribute(chipClusterPtr, callback); } - public void subscribeTimeZoneListMaxSizeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTimeZoneListMaxSizeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOverrunCountAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOverrunCountAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDSTOffsetListMaxSizeAttribute( - IntegerAttributeCallback callback) { - readDSTOffsetListMaxSizeAttribute(chipClusterPtr, callback); + public void readCarrierDetectAttribute( + CarrierDetectAttributeCallback callback) { + readCarrierDetectAttribute(chipClusterPtr, callback); } - public void subscribeDSTOffsetListMaxSizeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDSTOffsetListMaxSizeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCarrierDetectAttribute( + CarrierDetectAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCarrierDetectAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSupportsDNSResolveAttribute( - BooleanAttributeCallback callback) { - readSupportsDNSResolveAttribute(chipClusterPtr, callback); + public void readTimeSinceResetAttribute( + LongAttributeCallback callback) { + readTimeSinceResetAttribute(chipClusterPtr, callback); } - public void subscribeSupportsDNSResolveAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportsDNSResolveAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeTimeSinceResetAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTimeSinceResetAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -8930,544 +8212,320 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readPHYRateAttribute(long chipClusterPtr, PHYRateAttributeCallback callback); + + private native void subscribePHYRateAttribute(long chipClusterPtr, PHYRateAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFullDuplexAttribute(long chipClusterPtr, FullDuplexAttributeCallback callback); + + private native void subscribeFullDuplexAttribute(long chipClusterPtr, FullDuplexAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPacketRxCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribePacketRxCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPacketTxCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribePacketTxCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTxErrCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTxErrCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCollisionCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeCollisionCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOverrunCountAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeOverrunCountAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCarrierDetectAttribute(long chipClusterPtr, CarrierDetectAttributeCallback callback); + + private native void subscribeCarrierDetectAttribute(long chipClusterPtr, CarrierDetectAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTimeSinceResetAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTimeSinceResetAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void readUTCTimeAttribute(long chipClusterPtr - , UTCTimeAttributeCallback callback); - - private native void subscribeUTCTimeAttribute(long chipClusterPtr - , UTCTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void readGranularityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeGranularityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readTimeSourceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeTimeSourceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readTrustedTimeSourceAttribute(long chipClusterPtr - , TrustedTimeSourceAttributeCallback callback); - - private native void subscribeTrustedTimeSourceAttribute(long chipClusterPtr - , TrustedTimeSourceAttributeCallback callback, int minInterval, int maxInterval); - private native void readDefaultNTPAttribute(long chipClusterPtr - , DefaultNTPAttributeCallback callback); - - private native void subscribeDefaultNTPAttribute(long chipClusterPtr - , DefaultNTPAttributeCallback callback, int minInterval, int maxInterval); - private native void readTimeZoneAttribute(long chipClusterPtr - , TimeZoneAttributeCallback callback); - - private native void subscribeTimeZoneAttribute(long chipClusterPtr - , TimeZoneAttributeCallback callback, int minInterval, int maxInterval); - private native void readDSTOffsetAttribute(long chipClusterPtr - , DSTOffsetAttributeCallback callback); - - private native void subscribeDSTOffsetAttribute(long chipClusterPtr - , DSTOffsetAttributeCallback callback, int minInterval, int maxInterval); - private native void readLocalTimeAttribute(long chipClusterPtr - , LocalTimeAttributeCallback callback); - - private native void subscribeLocalTimeAttribute(long chipClusterPtr - , LocalTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void readTimeZoneDatabaseAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeTimeZoneDatabaseAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNTPServerAvailableAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeNTPServerAvailableAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readTimeZoneListMaxSizeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeTimeZoneListMaxSizeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDSTOffsetListMaxSizeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDSTOffsetListMaxSizeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportsDNSResolveAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeSupportsDNSResolveAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class BridgedDeviceBasicInformationCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 57L; - public BridgedDeviceBasicInformationCluster(long devicePtr, int endpointId) { + public static class TimeSynchronizationCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 56L; + + public TimeSynchronizationCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public interface ProductAppearanceAttributeCallback { - void onSuccess(ChipStructs.BridgedDeviceBasicInformationClusterProductAppearanceStruct value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void setUTCTime(DefaultClusterCallback callback, Long UTCTime, Integer granularity, Optional timeSource) { + setUTCTime(chipClusterPtr, callback, UTCTime, granularity, timeSource, null); } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void setUTCTime(DefaultClusterCallback callback, Long UTCTime, Integer granularity, Optional timeSource, int timedInvokeTimeoutMs) { + setUTCTime(chipClusterPtr, callback, UTCTime, granularity, timeSource, timedInvokeTimeoutMs); } - public void readVendorNameAttribute( - CharStringAttributeCallback callback) { - readVendorNameAttribute(chipClusterPtr, callback); + public void setTrustedTimeSource(DefaultClusterCallback callback, @Nullable ChipStructs.TimeSynchronizationClusterFabricScopedTrustedTimeSourceStruct trustedTimeSource) { + setTrustedTimeSource(chipClusterPtr, callback, trustedTimeSource, null); } - public void subscribeVendorNameAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeVendorNameAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void setTrustedTimeSource(DefaultClusterCallback callback, @Nullable ChipStructs.TimeSynchronizationClusterFabricScopedTrustedTimeSourceStruct trustedTimeSource, int timedInvokeTimeoutMs) { + setTrustedTimeSource(chipClusterPtr, callback, trustedTimeSource, timedInvokeTimeoutMs); } - public void readVendorIDAttribute( - IntegerAttributeCallback callback) { - readVendorIDAttribute(chipClusterPtr, callback); + public void setTimeZone(SetTimeZoneResponseCallback callback, ArrayList timeZone) { + setTimeZone(chipClusterPtr, callback, timeZone, null); } - public void subscribeVendorIDAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeVendorIDAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void setTimeZone(SetTimeZoneResponseCallback callback, ArrayList timeZone, int timedInvokeTimeoutMs) { + setTimeZone(chipClusterPtr, callback, timeZone, timedInvokeTimeoutMs); } - public void readProductNameAttribute( - CharStringAttributeCallback callback) { - readProductNameAttribute(chipClusterPtr, callback); + public void setDSTOffset(DefaultClusterCallback callback, ArrayList DSTOffset) { + setDSTOffset(chipClusterPtr, callback, DSTOffset, null); } - public void subscribeProductNameAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeProductNameAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void setDSTOffset(DefaultClusterCallback callback, ArrayList DSTOffset, int timedInvokeTimeoutMs) { + setDSTOffset(chipClusterPtr, callback, DSTOffset, timedInvokeTimeoutMs); } - public void readNodeLabelAttribute( - CharStringAttributeCallback callback) { - readNodeLabelAttribute(chipClusterPtr, callback); + public void setDefaultNTP(DefaultClusterCallback callback, @Nullable String defaultNTP) { + setDefaultNTP(chipClusterPtr, callback, defaultNTP, null); } - public void writeNodeLabelAttribute(DefaultClusterCallback callback, String value) { - writeNodeLabelAttribute(chipClusterPtr, callback, value, null); + + public void setDefaultNTP(DefaultClusterCallback callback, @Nullable String defaultNTP, int timedInvokeTimeoutMs) { + setDefaultNTP(chipClusterPtr, callback, defaultNTP, timedInvokeTimeoutMs); } + private native void setUTCTime(long chipClusterPtr, DefaultClusterCallback callback, Long UTCTime, Integer granularity, Optional timeSource, @Nullable Integer timedInvokeTimeoutMs); - public void writeNodeLabelAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { - writeNodeLabelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void setTrustedTimeSource(long chipClusterPtr, DefaultClusterCallback callback, @Nullable ChipStructs.TimeSynchronizationClusterFabricScopedTrustedTimeSourceStruct trustedTimeSource, @Nullable Integer timedInvokeTimeoutMs); + private native void setTimeZone(long chipClusterPtr, SetTimeZoneResponseCallback callback, ArrayList timeZone, @Nullable Integer timedInvokeTimeoutMs); + private native void setDSTOffset(long chipClusterPtr, DefaultClusterCallback callback, ArrayList DSTOffset, @Nullable Integer timedInvokeTimeoutMs); - public void subscribeNodeLabelAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNodeLabelAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void setDefaultNTP(long chipClusterPtr, DefaultClusterCallback callback, @Nullable String defaultNTP, @Nullable Integer timedInvokeTimeoutMs); - public void readHardwareVersionAttribute( - IntegerAttributeCallback callback) { - readHardwareVersionAttribute(chipClusterPtr, callback); + public interface SetTimeZoneResponseCallback { + void onSuccess(Boolean DSTOffsetRequired); + void onError(Exception error); } - public void subscribeHardwareVersionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeHardwareVersionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface UTCTimeAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readHardwareVersionStringAttribute( - CharStringAttributeCallback callback) { - readHardwareVersionStringAttribute(chipClusterPtr, callback); + public interface TrustedTimeSourceAttributeCallback { + void onSuccess(@Nullable ChipStructs.TimeSynchronizationClusterTrustedTimeSourceStruct value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeHardwareVersionStringAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeHardwareVersionStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface DefaultNTPAttributeCallback { + void onSuccess(@Nullable String value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readSoftwareVersionAttribute( - LongAttributeCallback callback) { - readSoftwareVersionAttribute(chipClusterPtr, callback); + public interface TimeZoneAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeSoftwareVersionAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSoftwareVersionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface DSTOffsetAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readSoftwareVersionStringAttribute( - CharStringAttributeCallback callback) { - readSoftwareVersionStringAttribute(chipClusterPtr, callback); + public interface LocalTimeAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeSoftwareVersionStringAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSoftwareVersionStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readManufacturingDateAttribute( - CharStringAttributeCallback callback) { - readManufacturingDateAttribute(chipClusterPtr, callback); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeManufacturingDateAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeManufacturingDateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readPartNumberAttribute( - CharStringAttributeCallback callback) { - readPartNumberAttribute(chipClusterPtr, callback); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribePartNumberAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribePartNumberAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readUTCTimeAttribute( + UTCTimeAttributeCallback callback) { + readUTCTimeAttribute(chipClusterPtr, callback); } - public void readProductURLAttribute( - CharStringAttributeCallback callback) { - readProductURLAttribute(chipClusterPtr, callback); + public void subscribeUTCTimeAttribute( + UTCTimeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUTCTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeProductURLAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeProductURLAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readGranularityAttribute( + IntegerAttributeCallback callback) { + readGranularityAttribute(chipClusterPtr, callback); } - public void readProductLabelAttribute( - CharStringAttributeCallback callback) { - readProductLabelAttribute(chipClusterPtr, callback); + public void subscribeGranularityAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGranularityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeProductLabelAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeProductLabelAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readTimeSourceAttribute( + IntegerAttributeCallback callback) { + readTimeSourceAttribute(chipClusterPtr, callback); } - public void readSerialNumberAttribute( - CharStringAttributeCallback callback) { - readSerialNumberAttribute(chipClusterPtr, callback); + public void subscribeTimeSourceAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTimeSourceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeSerialNumberAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSerialNumberAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readTrustedTimeSourceAttribute( + TrustedTimeSourceAttributeCallback callback) { + readTrustedTimeSourceAttribute(chipClusterPtr, callback); } - public void readReachableAttribute( - BooleanAttributeCallback callback) { - readReachableAttribute(chipClusterPtr, callback); + public void subscribeTrustedTimeSourceAttribute( + TrustedTimeSourceAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTrustedTimeSourceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeReachableAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeReachableAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readDefaultNTPAttribute( + DefaultNTPAttributeCallback callback) { + readDefaultNTPAttribute(chipClusterPtr, callback); } - public void readUniqueIDAttribute( - CharStringAttributeCallback callback) { - readUniqueIDAttribute(chipClusterPtr, callback); + public void subscribeDefaultNTPAttribute( + DefaultNTPAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDefaultNTPAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeUniqueIDAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUniqueIDAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readTimeZoneAttribute( + TimeZoneAttributeCallback callback) { + readTimeZoneAttribute(chipClusterPtr, callback); } - public void readProductAppearanceAttribute( - ProductAppearanceAttributeCallback callback) { - readProductAppearanceAttribute(chipClusterPtr, callback); + public void subscribeTimeZoneAttribute( + TimeZoneAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTimeZoneAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeProductAppearanceAttribute( - ProductAppearanceAttributeCallback callback, int minInterval, int maxInterval) { - subscribeProductAppearanceAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readDSTOffsetAttribute( + DSTOffsetAttributeCallback callback) { + readDSTOffsetAttribute(chipClusterPtr, callback); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void subscribeDSTOffsetAttribute( + DSTOffsetAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDSTOffsetAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readLocalTimeAttribute( + LocalTimeAttributeCallback callback) { + readLocalTimeAttribute(chipClusterPtr, callback); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void subscribeLocalTimeAttribute( + LocalTimeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLocalTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readTimeZoneDatabaseAttribute( + IntegerAttributeCallback callback) { + readTimeZoneDatabaseAttribute(chipClusterPtr, callback); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void subscribeTimeZoneDatabaseAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTimeZoneDatabaseAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readNTPServerAvailableAttribute( + BooleanAttributeCallback callback) { + readNTPServerAvailableAttribute(chipClusterPtr, callback); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); - } - - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); - } - - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); - } - - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - - private native void readVendorNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeVendorNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readVendorIDAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeVendorIDAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readProductNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeProductNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readNodeLabelAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void writeNodeLabelAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribeNodeLabelAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readHardwareVersionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeHardwareVersionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readHardwareVersionStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeHardwareVersionStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readSoftwareVersionAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeSoftwareVersionAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readSoftwareVersionStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeSoftwareVersionStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readManufacturingDateAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeManufacturingDateAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readPartNumberAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribePartNumberAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readProductURLAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeProductURLAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readProductLabelAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeProductLabelAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readSerialNumberAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeSerialNumberAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readReachableAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeReachableAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readUniqueIDAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeUniqueIDAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readProductAppearanceAttribute(long chipClusterPtr - , ProductAppearanceAttributeCallback callback); - - private native void subscribeProductAppearanceAttribute(long chipClusterPtr - , ProductAppearanceAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class SwitchCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 59L; - - public SwitchCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } - - @Override - public native long initWithDevice(long devicePtr, int endpointId); - - - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void subscribeNTPServerAvailableAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNTPServerAvailableAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readNumberOfPositionsAttribute( + public void readTimeZoneListMaxSizeAttribute( IntegerAttributeCallback callback) { - readNumberOfPositionsAttribute(chipClusterPtr, callback); + readTimeZoneListMaxSizeAttribute(chipClusterPtr, callback); } - public void subscribeNumberOfPositionsAttribute( + public void subscribeTimeZoneListMaxSizeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfPositionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeTimeZoneListMaxSizeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentPositionAttribute( + public void readDSTOffsetListMaxSizeAttribute( IntegerAttributeCallback callback) { - readCurrentPositionAttribute(chipClusterPtr, callback); + readDSTOffsetListMaxSizeAttribute(chipClusterPtr, callback); } - public void subscribeCurrentPositionAttribute( + public void subscribeDSTOffsetListMaxSizeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentPositionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeDSTOffsetListMaxSizeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMultiPressMaxAttribute( - IntegerAttributeCallback callback) { - readMultiPressMaxAttribute(chipClusterPtr, callback); + public void readSupportsDNSResolveAttribute( + BooleanAttributeCallback callback) { + readSupportsDNSResolveAttribute(chipClusterPtr, callback); } - public void subscribeMultiPressMaxAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMultiPressMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSupportsDNSResolveAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSupportsDNSResolveAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -9530,470 +8588,289 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readUTCTimeAttribute(long chipClusterPtr, UTCTimeAttributeCallback callback); - private native void readNumberOfPositionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeUTCTimeAttribute(long chipClusterPtr, UTCTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeNumberOfPositionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentPositionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readGranularityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeCurrentPositionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMultiPressMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeGranularityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeMultiPressMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readTimeSourceAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeTimeSourceAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readTrustedTimeSourceAttribute(long chipClusterPtr, TrustedTimeSourceAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeTrustedTimeSourceAttribute(long chipClusterPtr, TrustedTimeSourceAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readDefaultNTPAttribute(long chipClusterPtr, DefaultNTPAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeDefaultNTPAttribute(long chipClusterPtr, DefaultNTPAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class AdministratorCommissioningCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 60L; + private native void readTimeZoneAttribute(long chipClusterPtr, TimeZoneAttributeCallback callback); - public AdministratorCommissioningCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void subscribeTimeZoneAttribute(long chipClusterPtr, TimeZoneAttributeCallback callback, int minInterval, int maxInterval); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void readDSTOffsetAttribute(long chipClusterPtr, DSTOffsetAttributeCallback callback); + private native void subscribeDSTOffsetAttribute(long chipClusterPtr, DSTOffsetAttributeCallback callback, int minInterval, int maxInterval); + private native void readLocalTimeAttribute(long chipClusterPtr, LocalTimeAttributeCallback callback); - public void openCommissioningWindow(DefaultClusterCallback callback, Integer commissioningTimeout, byte[] PAKEPasscodeVerifier, Integer discriminator, Long iterations, byte[] salt, int timedInvokeTimeoutMs) { - openCommissioningWindow(chipClusterPtr, callback, commissioningTimeout, PAKEPasscodeVerifier, discriminator, iterations, salt, timedInvokeTimeoutMs); - } + private native void subscribeLocalTimeAttribute(long chipClusterPtr, LocalTimeAttributeCallback callback, int minInterval, int maxInterval); + private native void readTimeZoneDatabaseAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void openBasicCommissioningWindow(DefaultClusterCallback callback, Integer commissioningTimeout, int timedInvokeTimeoutMs) { - openBasicCommissioningWindow(chipClusterPtr, callback, commissioningTimeout, timedInvokeTimeoutMs); - } + private native void subscribeTimeZoneDatabaseAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readNTPServerAvailableAttribute(long chipClusterPtr, BooleanAttributeCallback callback); - public void revokeCommissioning(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - revokeCommissioning(chipClusterPtr, callback, timedInvokeTimeoutMs); - } + private native void subscribeNTPServerAvailableAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void openCommissioningWindow(long chipClusterPtr, DefaultClusterCallback callback, Integer commissioningTimeout, byte[] PAKEPasscodeVerifier, Integer discriminator, Long iterations, byte[] salt, @Nullable Integer timedInvokeTimeoutMs); + private native void readTimeZoneListMaxSizeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void openBasicCommissioningWindow(long chipClusterPtr, DefaultClusterCallback callback, Integer commissioningTimeout, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeTimeZoneListMaxSizeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void revokeCommissioning(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void readDSTOffsetListMaxSizeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public interface AdminFabricIndexAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + private native void subscribeDSTOffsetListMaxSizeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSupportsDNSResolveAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void subscribeSupportsDNSResolveAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class BridgedDeviceBasicInformationCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 57L; + + public BridgedDeviceBasicInformationCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public interface AdminVendorIdAttributeCallback { - void onSuccess(@Nullable Integer value); + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public interface ProductAppearanceAttributeCallback { + void onSuccess(ChipStructs.BridgedDeviceBasicInformationClusterProductAppearanceStruct value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readWindowStatusAttribute( - IntegerAttributeCallback callback) { - readWindowStatusAttribute(chipClusterPtr, callback); + public void readVendorNameAttribute( + CharStringAttributeCallback callback) { + readVendorNameAttribute(chipClusterPtr, callback); } - public void subscribeWindowStatusAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeWindowStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeVendorNameAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeVendorNameAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAdminFabricIndexAttribute( - AdminFabricIndexAttributeCallback callback) { - readAdminFabricIndexAttribute(chipClusterPtr, callback); + public void readVendorIDAttribute( + IntegerAttributeCallback callback) { + readVendorIDAttribute(chipClusterPtr, callback); } - public void subscribeAdminFabricIndexAttribute( - AdminFabricIndexAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAdminFabricIndexAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeVendorIDAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeVendorIDAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAdminVendorIdAttribute( - AdminVendorIdAttributeCallback callback) { - readAdminVendorIdAttribute(chipClusterPtr, callback); + public void readProductNameAttribute( + CharStringAttributeCallback callback) { + readProductNameAttribute(chipClusterPtr, callback); } - public void subscribeAdminVendorIdAttribute( - AdminVendorIdAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAdminVendorIdAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeProductNameAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeProductNameAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void readNodeLabelAttribute( + CharStringAttributeCallback callback) { + readNodeLabelAttribute(chipClusterPtr, callback); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeNodeLabelAttribute(DefaultClusterCallback callback, String value) { + writeNodeLabelAttribute(chipClusterPtr, callback, value, null); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void writeNodeLabelAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { + writeNodeLabelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeNodeLabelAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNodeLabelAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void readHardwareVersionAttribute( + IntegerAttributeCallback callback) { + readHardwareVersionAttribute(chipClusterPtr, callback); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeHardwareVersionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeHardwareVersionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void readHardwareVersionStringAttribute( + CharStringAttributeCallback callback) { + readHardwareVersionStringAttribute(chipClusterPtr, callback); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeHardwareVersionStringAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeHardwareVersionStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFeatureMapAttribute( + public void readSoftwareVersionAttribute( LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + readSoftwareVersionAttribute(chipClusterPtr, callback); } - public void subscribeFeatureMapAttribute( + public void subscribeSoftwareVersionAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeSoftwareVersionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + public void readSoftwareVersionStringAttribute( + CharStringAttributeCallback callback) { + readSoftwareVersionStringAttribute(chipClusterPtr, callback); } - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - - private native void readWindowStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeWindowStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAdminFabricIndexAttribute(long chipClusterPtr - , AdminFabricIndexAttributeCallback callback); - - private native void subscribeAdminFabricIndexAttribute(long chipClusterPtr - , AdminFabricIndexAttributeCallback callback, int minInterval, int maxInterval); - private native void readAdminVendorIdAttribute(long chipClusterPtr - , AdminVendorIdAttributeCallback callback); - - private native void subscribeAdminVendorIdAttribute(long chipClusterPtr - , AdminVendorIdAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class OperationalCredentialsCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 62L; - - public OperationalCredentialsCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } - - @Override - public native long initWithDevice(long devicePtr, int endpointId); - - - public void attestationRequest(AttestationResponseCallback callback, byte[] attestationNonce) { - attestationRequest(chipClusterPtr, callback, attestationNonce, null); - } - - public void attestationRequest(AttestationResponseCallback callback, byte[] attestationNonce, int timedInvokeTimeoutMs) { - attestationRequest(chipClusterPtr, callback, attestationNonce, timedInvokeTimeoutMs); - } - - public void certificateChainRequest(CertificateChainResponseCallback callback, Integer certificateType) { - certificateChainRequest(chipClusterPtr, callback, certificateType, null); - } - - public void certificateChainRequest(CertificateChainResponseCallback callback, Integer certificateType, int timedInvokeTimeoutMs) { - certificateChainRequest(chipClusterPtr, callback, certificateType, timedInvokeTimeoutMs); - } - - public void CSRRequest(CSRResponseCallback callback, byte[] CSRNonce, Optional isForUpdateNOC) { - CSRRequest(chipClusterPtr, callback, CSRNonce, isForUpdateNOC, null); - } - - public void CSRRequest(CSRResponseCallback callback, byte[] CSRNonce, Optional isForUpdateNOC, int timedInvokeTimeoutMs) { - CSRRequest(chipClusterPtr, callback, CSRNonce, isForUpdateNOC, timedInvokeTimeoutMs); - } - - public void addNOC(NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue, byte[] IPKValue, Long caseAdminSubject, Integer adminVendorId) { - addNOC(chipClusterPtr, callback, NOCValue, ICACValue, IPKValue, caseAdminSubject, adminVendorId, null); - } - - public void addNOC(NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue, byte[] IPKValue, Long caseAdminSubject, Integer adminVendorId, int timedInvokeTimeoutMs) { - addNOC(chipClusterPtr, callback, NOCValue, ICACValue, IPKValue, caseAdminSubject, adminVendorId, timedInvokeTimeoutMs); - } - - public void updateNOC(NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue) { - updateNOC(chipClusterPtr, callback, NOCValue, ICACValue, null); - } - - public void updateNOC(NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue, int timedInvokeTimeoutMs) { - updateNOC(chipClusterPtr, callback, NOCValue, ICACValue, timedInvokeTimeoutMs); - } - - public void updateFabricLabel(NOCResponseCallback callback, String label) { - updateFabricLabel(chipClusterPtr, callback, label, null); - } - - public void updateFabricLabel(NOCResponseCallback callback, String label, int timedInvokeTimeoutMs) { - updateFabricLabel(chipClusterPtr, callback, label, timedInvokeTimeoutMs); - } - - public void removeFabric(NOCResponseCallback callback, Integer fabricIndex) { - removeFabric(chipClusterPtr, callback, fabricIndex, null); - } - - public void removeFabric(NOCResponseCallback callback, Integer fabricIndex, int timedInvokeTimeoutMs) { - removeFabric(chipClusterPtr, callback, fabricIndex, timedInvokeTimeoutMs); - } - - public void addTrustedRootCertificate(DefaultClusterCallback callback, byte[] rootCACertificate) { - addTrustedRootCertificate(chipClusterPtr, callback, rootCACertificate, null); - } - - public void addTrustedRootCertificate(DefaultClusterCallback callback, byte[] rootCACertificate, int timedInvokeTimeoutMs) { - addTrustedRootCertificate(chipClusterPtr, callback, rootCACertificate, timedInvokeTimeoutMs); + public void subscribeSoftwareVersionStringAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSoftwareVersionStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - private native void attestationRequest(long chipClusterPtr, AttestationResponseCallback callback, byte[] attestationNonce, @Nullable Integer timedInvokeTimeoutMs); - - private native void certificateChainRequest(long chipClusterPtr, CertificateChainResponseCallback callback, Integer certificateType, @Nullable Integer timedInvokeTimeoutMs); - - private native void CSRRequest(long chipClusterPtr, CSRResponseCallback callback, byte[] CSRNonce, Optional isForUpdateNOC, @Nullable Integer timedInvokeTimeoutMs); - - private native void addNOC(long chipClusterPtr, NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue, byte[] IPKValue, Long caseAdminSubject, Integer adminVendorId, @Nullable Integer timedInvokeTimeoutMs); - - private native void updateNOC(long chipClusterPtr, NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue, @Nullable Integer timedInvokeTimeoutMs); - - private native void updateFabricLabel(long chipClusterPtr, NOCResponseCallback callback, String label, @Nullable Integer timedInvokeTimeoutMs); - - private native void removeFabric(long chipClusterPtr, NOCResponseCallback callback, Integer fabricIndex, @Nullable Integer timedInvokeTimeoutMs); - - private native void addTrustedRootCertificate(long chipClusterPtr, DefaultClusterCallback callback, byte[] rootCACertificate, @Nullable Integer timedInvokeTimeoutMs); - - public interface AttestationResponseCallback { - void onSuccess(byte[] attestationElements, byte[] attestationSignature); - - void onError(Exception error); + public void readManufacturingDateAttribute( + CharStringAttributeCallback callback) { + readManufacturingDateAttribute(chipClusterPtr, callback); } - public interface CertificateChainResponseCallback { - void onSuccess(byte[] certificate); - void onError(Exception error); + public void subscribeManufacturingDateAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeManufacturingDateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public interface CSRResponseCallback { - void onSuccess(byte[] NOCSRElements, byte[] attestationSignature); - void onError(Exception error); + public void readPartNumberAttribute( + CharStringAttributeCallback callback) { + readPartNumberAttribute(chipClusterPtr, callback); } - public interface NOCResponseCallback { - void onSuccess(Integer statusCode, Optional fabricIndex, Optional debugText); - void onError(Exception error); - } - public interface NOCsAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface FabricsAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface TrustedRootCertificatesAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void subscribePartNumberAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribePartNumberAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readNOCsAttribute( - NOCsAttributeCallback callback) { - readNOCsAttribute(chipClusterPtr, callback, true); - } - public void readNOCsAttributeWithFabricFilter( - NOCsAttributeCallback callback, boolean isFabricFiltered) { - readNOCsAttribute(chipClusterPtr, callback, isFabricFiltered); + public void readProductURLAttribute( + CharStringAttributeCallback callback) { + readProductURLAttribute(chipClusterPtr, callback); } - - - public void subscribeNOCsAttribute( - NOCsAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNOCsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeProductURLAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeProductURLAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFabricsAttribute( - FabricsAttributeCallback callback) { - readFabricsAttribute(chipClusterPtr, callback, true); - } - public void readFabricsAttributeWithFabricFilter( - FabricsAttributeCallback callback, boolean isFabricFiltered) { - readFabricsAttribute(chipClusterPtr, callback, isFabricFiltered); + public void readProductLabelAttribute( + CharStringAttributeCallback callback) { + readProductLabelAttribute(chipClusterPtr, callback); } - - - public void subscribeFabricsAttribute( - FabricsAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFabricsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeProductLabelAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeProductLabelAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSupportedFabricsAttribute( - IntegerAttributeCallback callback) { - readSupportedFabricsAttribute(chipClusterPtr, callback); + public void readSerialNumberAttribute( + CharStringAttributeCallback callback) { + readSerialNumberAttribute(chipClusterPtr, callback); } - public void subscribeSupportedFabricsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportedFabricsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSerialNumberAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSerialNumberAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCommissionedFabricsAttribute( - IntegerAttributeCallback callback) { - readCommissionedFabricsAttribute(chipClusterPtr, callback); + public void readReachableAttribute( + BooleanAttributeCallback callback) { + readReachableAttribute(chipClusterPtr, callback); } - public void subscribeCommissionedFabricsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCommissionedFabricsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeReachableAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeReachableAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readTrustedRootCertificatesAttribute( - TrustedRootCertificatesAttributeCallback callback) { - readTrustedRootCertificatesAttribute(chipClusterPtr, callback); + public void readUniqueIDAttribute( + CharStringAttributeCallback callback) { + readUniqueIDAttribute(chipClusterPtr, callback); } - public void subscribeTrustedRootCertificatesAttribute( - TrustedRootCertificatesAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTrustedRootCertificatesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeUniqueIDAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUniqueIDAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentFabricIndexAttribute( - IntegerAttributeCallback callback) { - readCurrentFabricIndexAttribute(chipClusterPtr, callback); + public void readProductAppearanceAttribute( + ProductAppearanceAttributeCallback callback) { + readProductAppearanceAttribute(chipClusterPtr, callback); } - public void subscribeCurrentFabricIndexAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentFabricIndexAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeProductAppearanceAttribute( + ProductAppearanceAttributeCallback callback, int minInterval, int maxInterval) { + subscribeProductAppearanceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -10056,220 +8933,159 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readVendorNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - private native void readNOCsAttribute(long chipClusterPtr - , NOCsAttributeCallback callback, boolean isFabricFiltered); + private native void subscribeVendorNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeNOCsAttribute(long chipClusterPtr - , NOCsAttributeCallback callback, int minInterval, int maxInterval); - private native void readFabricsAttribute(long chipClusterPtr - , FabricsAttributeCallback callback, boolean isFabricFiltered); + private native void readVendorIDAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeFabricsAttribute(long chipClusterPtr - , FabricsAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedFabricsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeVendorIDAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSupportedFabricsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCommissionedFabricsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readProductNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - private native void subscribeCommissionedFabricsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readTrustedRootCertificatesAttribute(long chipClusterPtr - , TrustedRootCertificatesAttributeCallback callback); + private native void subscribeProductNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeTrustedRootCertificatesAttribute(long chipClusterPtr - , TrustedRootCertificatesAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentFabricIndexAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readNodeLabelAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - private native void subscribeCurrentFabricIndexAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void writeNodeLabelAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeNodeLabelAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readHardwareVersionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeHardwareVersionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readHardwareVersionStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeHardwareVersionStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class GroupKeyManagementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 63L; + private native void readSoftwareVersionAttribute(long chipClusterPtr, LongAttributeCallback callback); - public GroupKeyManagementCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void subscribeSoftwareVersionAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void readSoftwareVersionStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + private native void subscribeSoftwareVersionStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - public void keySetWrite(DefaultClusterCallback callback, ChipStructs.GroupKeyManagementClusterGroupKeySetStruct groupKeySet) { - keySetWrite(chipClusterPtr, callback, groupKeySet, null); - } + private native void readManufacturingDateAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - public void keySetWrite(DefaultClusterCallback callback, ChipStructs.GroupKeyManagementClusterGroupKeySetStruct groupKeySet, int timedInvokeTimeoutMs) { - keySetWrite(chipClusterPtr, callback, groupKeySet, timedInvokeTimeoutMs); - } + private native void subscribeManufacturingDateAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - public void keySetRead(KeySetReadResponseCallback callback, Integer groupKeySetID) { - keySetRead(chipClusterPtr, callback, groupKeySetID, null); - } + private native void readPartNumberAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - public void keySetRead(KeySetReadResponseCallback callback, Integer groupKeySetID, int timedInvokeTimeoutMs) { - keySetRead(chipClusterPtr, callback, groupKeySetID, timedInvokeTimeoutMs); - } + private native void subscribePartNumberAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - public void keySetRemove(DefaultClusterCallback callback, Integer groupKeySetID) { - keySetRemove(chipClusterPtr, callback, groupKeySetID, null); - } + private native void readProductURLAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - public void keySetRemove(DefaultClusterCallback callback, Integer groupKeySetID, int timedInvokeTimeoutMs) { - keySetRemove(chipClusterPtr, callback, groupKeySetID, timedInvokeTimeoutMs); - } + private native void subscribeProductURLAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - public void keySetReadAllIndices(KeySetReadAllIndicesResponseCallback callback) { - keySetReadAllIndices(chipClusterPtr, callback, null); - } + private native void readProductLabelAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - public void keySetReadAllIndices(KeySetReadAllIndicesResponseCallback callback, int timedInvokeTimeoutMs) { - keySetReadAllIndices(chipClusterPtr, callback, timedInvokeTimeoutMs); - } + private native void subscribeProductLabelAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void keySetWrite(long chipClusterPtr, DefaultClusterCallback callback, ChipStructs.GroupKeyManagementClusterGroupKeySetStruct groupKeySet, @Nullable Integer timedInvokeTimeoutMs); + private native void readSerialNumberAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - private native void keySetRead(long chipClusterPtr, KeySetReadResponseCallback callback, Integer groupKeySetID, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeSerialNumberAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void keySetRemove(long chipClusterPtr, DefaultClusterCallback callback, Integer groupKeySetID, @Nullable Integer timedInvokeTimeoutMs); + private native void readReachableAttribute(long chipClusterPtr, BooleanAttributeCallback callback); - private native void keySetReadAllIndices(long chipClusterPtr, KeySetReadAllIndicesResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeReachableAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - public interface KeySetReadResponseCallback { - void onSuccess(ChipStructs.GroupKeyManagementClusterGroupKeySetStruct groupKeySet); + private native void readUniqueIDAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - void onError(Exception error); - } - public interface KeySetReadAllIndicesResponseCallback { - void onSuccess(ArrayList groupKeySetIDs); + private native void subscribeUniqueIDAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - void onError(Exception error); - } - public interface GroupKeyMapAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface GroupTableAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + private native void readProductAppearanceAttribute(long chipClusterPtr, ProductAppearanceAttributeCallback callback); + + private native void subscribeProductAppearanceAttribute(long chipClusterPtr, ProductAppearanceAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class SwitchCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 59L; + + public SwitchCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readGroupKeyMapAttribute( - GroupKeyMapAttributeCallback callback) { - readGroupKeyMapAttribute(chipClusterPtr, callback, true); - } - public void readGroupKeyMapAttributeWithFabricFilter( - GroupKeyMapAttributeCallback callback, boolean isFabricFiltered) { - readGroupKeyMapAttribute(chipClusterPtr, callback, isFabricFiltered); - } - - - public void writeGroupKeyMapAttribute(DefaultClusterCallback callback, ArrayList value) { - writeGroupKeyMapAttribute(chipClusterPtr, callback, value, null); - } - - - public void writeGroupKeyMapAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { - writeGroupKeyMapAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } - - - - public void subscribeGroupKeyMapAttribute( - GroupKeyMapAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGroupKeyMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readGroupTableAttribute( - GroupTableAttributeCallback callback) { - readGroupTableAttribute(chipClusterPtr, callback, true); - } - public void readGroupTableAttributeWithFabricFilter( - GroupTableAttributeCallback callback, boolean isFabricFiltered) { - readGroupTableAttribute(chipClusterPtr, callback, isFabricFiltered); + public void readNumberOfPositionsAttribute( + IntegerAttributeCallback callback) { + readNumberOfPositionsAttribute(chipClusterPtr, callback); } - - - public void subscribeGroupTableAttribute( - GroupTableAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGroupTableAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeNumberOfPositionsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNumberOfPositionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMaxGroupsPerFabricAttribute( + public void readCurrentPositionAttribute( IntegerAttributeCallback callback) { - readMaxGroupsPerFabricAttribute(chipClusterPtr, callback); + readCurrentPositionAttribute(chipClusterPtr, callback); } - public void subscribeMaxGroupsPerFabricAttribute( + public void subscribeCurrentPositionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxGroupsPerFabricAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeCurrentPositionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMaxGroupKeysPerFabricAttribute( + public void readMultiPressMaxAttribute( IntegerAttributeCallback callback) { - readMaxGroupKeysPerFabricAttribute(chipClusterPtr, callback); + readMultiPressMaxAttribute(chipClusterPtr, callback); } - public void subscribeMaxGroupKeysPerFabricAttribute( + public void subscribeMultiPressMaxAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxGroupKeysPerFabricAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeMultiPressMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -10332,64 +9148,47 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readNumberOfPositionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void readGroupKeyMapAttribute(long chipClusterPtr - , GroupKeyMapAttributeCallback callback, boolean isFabricFiltered); + private native void subscribeNumberOfPositionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeGroupKeyMapAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); + private native void readCurrentPositionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCurrentPositionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMultiPressMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMultiPressMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeGroupKeyMapAttribute(long chipClusterPtr - , GroupKeyMapAttributeCallback callback, int minInterval, int maxInterval); - private native void readGroupTableAttribute(long chipClusterPtr - , GroupTableAttributeCallback callback, boolean isFabricFiltered); - - private native void subscribeGroupTableAttribute(long chipClusterPtr - , GroupTableAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxGroupsPerFabricAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMaxGroupsPerFabricAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxGroupKeysPerFabricAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMaxGroupKeysPerFabricAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class FixedLabelCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 64L; - public FixedLabelCluster(long devicePtr, int endpointId) { + public static class AdministratorCommissioningCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 60L; + + public AdministratorCommissioningCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @@ -10397,40 +9196,90 @@ public FixedLabelCluster(long devicePtr, int endpointId) { public native long initWithDevice(long devicePtr, int endpointId); - public interface LabelListAttributeCallback { - void onSuccess(List value); + public void openCommissioningWindow(DefaultClusterCallback callback, Integer commissioningTimeout, byte[] PAKEPasscodeVerifier, Integer discriminator, Long iterations, byte[] salt, int timedInvokeTimeoutMs) { + openCommissioningWindow(chipClusterPtr, callback, commissioningTimeout, PAKEPasscodeVerifier, discriminator, iterations, salt, timedInvokeTimeoutMs); + } + + + public void openBasicCommissioningWindow(DefaultClusterCallback callback, Integer commissioningTimeout, int timedInvokeTimeoutMs) { + openBasicCommissioningWindow(chipClusterPtr, callback, commissioningTimeout, timedInvokeTimeoutMs); + } + + + public void revokeCommissioning(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + revokeCommissioning(chipClusterPtr, callback, timedInvokeTimeoutMs); + } + + private native void openCommissioningWindow(long chipClusterPtr, DefaultClusterCallback callback, Integer commissioningTimeout, byte[] PAKEPasscodeVerifier, Integer discriminator, Long iterations, byte[] salt, @Nullable Integer timedInvokeTimeoutMs); + + private native void openBasicCommissioningWindow(long chipClusterPtr, DefaultClusterCallback callback, Integer commissioningTimeout, @Nullable Integer timedInvokeTimeoutMs); + + private native void revokeCommissioning(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + public interface AdminFabricIndexAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AdminVendorIdAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readLabelListAttribute( - LabelListAttributeCallback callback) { - readLabelListAttribute(chipClusterPtr, callback); + public void readWindowStatusAttribute( + IntegerAttributeCallback callback) { + readWindowStatusAttribute(chipClusterPtr, callback); } - public void subscribeLabelListAttribute( - LabelListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLabelListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeWindowStatusAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeWindowStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAdminFabricIndexAttribute( + AdminFabricIndexAttributeCallback callback) { + readAdminFabricIndexAttribute(chipClusterPtr, callback); + } + + public void subscribeAdminFabricIndexAttribute( + AdminFabricIndexAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAdminFabricIndexAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAdminVendorIdAttribute( + AdminVendorIdAttributeCallback callback) { + readAdminVendorIdAttribute(chipClusterPtr, callback); + } + + public void subscribeAdminVendorIdAttribute( + AdminVendorIdAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAdminVendorIdAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -10493,231 +9342,267 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readWindowStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeWindowStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAdminFabricIndexAttribute(long chipClusterPtr, AdminFabricIndexAttributeCallback callback); + + private native void subscribeAdminFabricIndexAttribute(long chipClusterPtr, AdminFabricIndexAttributeCallback callback, int minInterval, int maxInterval); - private native void readLabelListAttribute(long chipClusterPtr - , LabelListAttributeCallback callback); + private native void readAdminVendorIdAttribute(long chipClusterPtr, AdminVendorIdAttributeCallback callback); - private native void subscribeLabelListAttribute(long chipClusterPtr - , LabelListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeAdminVendorIdAttribute(long chipClusterPtr, AdminVendorIdAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class UserLabelCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 65L; - public UserLabelCluster(long devicePtr, int endpointId) { + public static class OperationalCredentialsCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 62L; + + public OperationalCredentialsCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); + public void attestationRequest(AttestationResponseCallback callback, byte[] attestationNonce) { + attestationRequest(chipClusterPtr, callback, attestationNonce, null); + } - public interface LabelListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void attestationRequest(AttestationResponseCallback callback, byte[] attestationNonce, int timedInvokeTimeoutMs) { + attestationRequest(chipClusterPtr, callback, attestationNonce, timedInvokeTimeoutMs); } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void certificateChainRequest(CertificateChainResponseCallback callback, Integer certificateType) { + certificateChainRequest(chipClusterPtr, callback, certificateType, null); } - public void readLabelListAttribute( - LabelListAttributeCallback callback) { - readLabelListAttribute(chipClusterPtr, callback); - } - public void writeLabelListAttribute(DefaultClusterCallback callback, ArrayList value) { - writeLabelListAttribute(chipClusterPtr, callback, value, null); + public void certificateChainRequest(CertificateChainResponseCallback callback, Integer certificateType, int timedInvokeTimeoutMs) { + certificateChainRequest(chipClusterPtr, callback, certificateType, timedInvokeTimeoutMs); } - - public void writeLabelListAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { - writeLabelListAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void CSRRequest(CSRResponseCallback callback, byte[] CSRNonce, Optional isForUpdateNOC) { + CSRRequest(chipClusterPtr, callback, CSRNonce, isForUpdateNOC, null); } - - - public void subscribeLabelListAttribute( - LabelListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLabelListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void CSRRequest(CSRResponseCallback callback, byte[] CSRNonce, Optional isForUpdateNOC, int timedInvokeTimeoutMs) { + CSRRequest(chipClusterPtr, callback, CSRNonce, isForUpdateNOC, timedInvokeTimeoutMs); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void addNOC(NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue, byte[] IPKValue, Long caseAdminSubject, Integer adminVendorId) { + addNOC(chipClusterPtr, callback, NOCValue, ICACValue, IPKValue, caseAdminSubject, adminVendorId, null); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void addNOC(NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue, byte[] IPKValue, Long caseAdminSubject, Integer adminVendorId, int timedInvokeTimeoutMs) { + addNOC(chipClusterPtr, callback, NOCValue, ICACValue, IPKValue, caseAdminSubject, adminVendorId, timedInvokeTimeoutMs); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void updateNOC(NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue) { + updateNOC(chipClusterPtr, callback, NOCValue, ICACValue, null); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void updateNOC(NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue, int timedInvokeTimeoutMs) { + updateNOC(chipClusterPtr, callback, NOCValue, ICACValue, timedInvokeTimeoutMs); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void updateFabricLabel(NOCResponseCallback callback, String label) { + updateFabricLabel(chipClusterPtr, callback, label, null); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void updateFabricLabel(NOCResponseCallback callback, String label, int timedInvokeTimeoutMs) { + updateFabricLabel(chipClusterPtr, callback, label, timedInvokeTimeoutMs); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void removeFabric(NOCResponseCallback callback, Integer fabricIndex) { + removeFabric(chipClusterPtr, callback, fabricIndex, null); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void removeFabric(NOCResponseCallback callback, Integer fabricIndex, int timedInvokeTimeoutMs) { + removeFabric(chipClusterPtr, callback, fabricIndex, timedInvokeTimeoutMs); } - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + public void addTrustedRootCertificate(DefaultClusterCallback callback, byte[] rootCACertificate) { + addTrustedRootCertificate(chipClusterPtr, callback, rootCACertificate, null); } - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void addTrustedRootCertificate(DefaultClusterCallback callback, byte[] rootCACertificate, int timedInvokeTimeoutMs) { + addTrustedRootCertificate(chipClusterPtr, callback, rootCACertificate, timedInvokeTimeoutMs); } - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); - } + private native void attestationRequest(long chipClusterPtr, AttestationResponseCallback callback, byte[] attestationNonce, @Nullable Integer timedInvokeTimeoutMs); - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void certificateChainRequest(long chipClusterPtr, CertificateChainResponseCallback callback, Integer certificateType, @Nullable Integer timedInvokeTimeoutMs); + private native void CSRRequest(long chipClusterPtr, CSRResponseCallback callback, byte[] CSRNonce, Optional isForUpdateNOC, @Nullable Integer timedInvokeTimeoutMs); - private native void readLabelListAttribute(long chipClusterPtr - , LabelListAttributeCallback callback); + private native void addNOC(long chipClusterPtr, NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue, byte[] IPKValue, Long caseAdminSubject, Integer adminVendorId, @Nullable Integer timedInvokeTimeoutMs); - private native void writeLabelListAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); + private native void updateNOC(long chipClusterPtr, NOCResponseCallback callback, byte[] NOCValue, Optional ICACValue, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeLabelListAttribute(long chipClusterPtr - , LabelListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class ProxyConfigurationCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 66L; + private native void updateFabricLabel(long chipClusterPtr, NOCResponseCallback callback, String label, @Nullable Integer timedInvokeTimeoutMs); - public ProxyConfigurationCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + private native void removeFabric(long chipClusterPtr, NOCResponseCallback callback, Integer fabricIndex, @Nullable Integer timedInvokeTimeoutMs); + + private native void addTrustedRootCertificate(long chipClusterPtr, DefaultClusterCallback callback, byte[] rootCACertificate, @Nullable Integer timedInvokeTimeoutMs); + + public interface AttestationResponseCallback { + void onSuccess(byte[] attestationElements, byte[] attestationSignature); + void onError(Exception error); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); + public interface CertificateChainResponseCallback { + void onSuccess(byte[] certificate); + void onError(Exception error); + } + + public interface CSRResponseCallback { + void onSuccess(byte[] NOCSRElements, byte[] attestationSignature); + void onError(Exception error); + } + + public interface NOCResponseCallback { + void onSuccess(Integer statusCode, Optional fabricIndex, Optional debugText); + void onError(Exception error); + } + + public interface NOCsAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface FabricsAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + public interface TrustedRootCertificatesAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public void readNOCsAttribute( + NOCsAttributeCallback callback) { + readNOCsAttribute(chipClusterPtr, callback, true); + } + + public void readNOCsAttributeWithFabricFilter( + NOCsAttributeCallback callback, boolean isFabricFiltered) { + readNOCsAttribute(chipClusterPtr, callback, isFabricFiltered); + } + + + public void subscribeNOCsAttribute( + NOCsAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNOCsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readFabricsAttribute( + FabricsAttributeCallback callback) { + readFabricsAttribute(chipClusterPtr, callback, true); + } + + public void readFabricsAttributeWithFabricFilter( + FabricsAttributeCallback callback, boolean isFabricFiltered) { + readFabricsAttribute(chipClusterPtr, callback, isFabricFiltered); + } + + + public void subscribeFabricsAttribute( + FabricsAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFabricsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readSupportedFabricsAttribute( + IntegerAttributeCallback callback) { + readSupportedFabricsAttribute(chipClusterPtr, callback); + } + + public void subscribeSupportedFabricsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSupportedFabricsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readCommissionedFabricsAttribute( + IntegerAttributeCallback callback) { + readCommissionedFabricsAttribute(chipClusterPtr, callback); + } + + public void subscribeCommissionedFabricsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCommissionedFabricsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readTrustedRootCertificatesAttribute( + TrustedRootCertificatesAttributeCallback callback) { + readTrustedRootCertificatesAttribute(chipClusterPtr, callback); + } + + public void subscribeTrustedRootCertificatesAttribute( + TrustedRootCertificatesAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTrustedRootCertificatesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readCurrentFabricIndexAttribute( + IntegerAttributeCallback callback) { + readCurrentFabricIndexAttribute(chipClusterPtr, callback); + } + + public void subscribeCurrentFabricIndexAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentFabricIndexAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback) { readGeneratedCommandListAttribute(chipClusterPtr, callback); @@ -10778,70 +9663,211 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readNOCsAttribute(long chipClusterPtr, NOCsAttributeCallback callback, boolean isFabricFiltered); + + private native void subscribeNOCsAttribute(long chipClusterPtr, NOCsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFabricsAttribute(long chipClusterPtr, FabricsAttributeCallback callback, boolean isFabricFiltered); + + private native void subscribeFabricsAttribute(long chipClusterPtr, FabricsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSupportedFabricsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeSupportedFabricsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCommissionedFabricsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCommissionedFabricsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readTrustedRootCertificatesAttribute(long chipClusterPtr, TrustedRootCertificatesAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeTrustedRootCertificatesAttribute(long chipClusterPtr, TrustedRootCertificatesAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readCurrentFabricIndexAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeCurrentFabricIndexAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class ProxyDiscoveryCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 67L; - public ProxyDiscoveryCluster(long devicePtr, int endpointId) { + public static class GroupKeyManagementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 63L; + + public GroupKeyManagementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); + public void keySetWrite(DefaultClusterCallback callback, ChipStructs.GroupKeyManagementClusterGroupKeySetStruct groupKeySet) { + keySetWrite(chipClusterPtr, callback, groupKeySet, null); + } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void keySetWrite(DefaultClusterCallback callback, ChipStructs.GroupKeyManagementClusterGroupKeySetStruct groupKeySet, int timedInvokeTimeoutMs) { + keySetWrite(chipClusterPtr, callback, groupKeySet, timedInvokeTimeoutMs); } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void keySetRead(KeySetReadResponseCallback callback, Integer groupKeySetID) { + keySetRead(chipClusterPtr, callback, groupKeySetID, null); } + + public void keySetRead(KeySetReadResponseCallback callback, Integer groupKeySetID, int timedInvokeTimeoutMs) { + keySetRead(chipClusterPtr, callback, groupKeySetID, timedInvokeTimeoutMs); + } + + public void keySetRemove(DefaultClusterCallback callback, Integer groupKeySetID) { + keySetRemove(chipClusterPtr, callback, groupKeySetID, null); + } + + public void keySetRemove(DefaultClusterCallback callback, Integer groupKeySetID, int timedInvokeTimeoutMs) { + keySetRemove(chipClusterPtr, callback, groupKeySetID, timedInvokeTimeoutMs); + } + + public void keySetReadAllIndices(KeySetReadAllIndicesResponseCallback callback) { + keySetReadAllIndices(chipClusterPtr, callback, null); + } + + public void keySetReadAllIndices(KeySetReadAllIndicesResponseCallback callback, int timedInvokeTimeoutMs) { + keySetReadAllIndices(chipClusterPtr, callback, timedInvokeTimeoutMs); + } + + private native void keySetWrite(long chipClusterPtr, DefaultClusterCallback callback, ChipStructs.GroupKeyManagementClusterGroupKeySetStruct groupKeySet, @Nullable Integer timedInvokeTimeoutMs); + + private native void keySetRead(long chipClusterPtr, KeySetReadResponseCallback callback, Integer groupKeySetID, @Nullable Integer timedInvokeTimeoutMs); + + private native void keySetRemove(long chipClusterPtr, DefaultClusterCallback callback, Integer groupKeySetID, @Nullable Integer timedInvokeTimeoutMs); + + private native void keySetReadAllIndices(long chipClusterPtr, KeySetReadAllIndicesResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + public interface KeySetReadResponseCallback { + void onSuccess(ChipStructs.GroupKeyManagementClusterGroupKeySetStruct groupKeySet); + void onError(Exception error); + } + + public interface KeySetReadAllIndicesResponseCallback { + void onSuccess(ArrayList groupKeySetIDs); + void onError(Exception error); + } + + public interface GroupKeyMapAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface GroupTableAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public void readGroupKeyMapAttribute( + GroupKeyMapAttributeCallback callback) { + readGroupKeyMapAttribute(chipClusterPtr, callback, true); + } + + public void readGroupKeyMapAttributeWithFabricFilter( + GroupKeyMapAttributeCallback callback, boolean isFabricFiltered) { + readGroupKeyMapAttribute(chipClusterPtr, callback, isFabricFiltered); + } + + + public void writeGroupKeyMapAttribute(DefaultClusterCallback callback, ArrayList value) { + writeGroupKeyMapAttribute(chipClusterPtr, callback, value, null); + } + + public void writeGroupKeyMapAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { + writeGroupKeyMapAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeGroupKeyMapAttribute( + GroupKeyMapAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGroupKeyMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readGroupTableAttribute( + GroupTableAttributeCallback callback) { + readGroupTableAttribute(chipClusterPtr, callback, true); + } + + public void readGroupTableAttributeWithFabricFilter( + GroupTableAttributeCallback callback, boolean isFabricFiltered) { + readGroupTableAttribute(chipClusterPtr, callback, isFabricFiltered); + } + + + public void subscribeGroupTableAttribute( + GroupTableAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGroupTableAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMaxGroupsPerFabricAttribute( + IntegerAttributeCallback callback) { + readMaxGroupsPerFabricAttribute(chipClusterPtr, callback); + } + + public void subscribeMaxGroupsPerFabricAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxGroupsPerFabricAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMaxGroupKeysPerFabricAttribute( + IntegerAttributeCallback callback) { + readMaxGroupKeysPerFabricAttribute(chipClusterPtr, callback); + } + + public void subscribeMaxGroupKeysPerFabricAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxGroupKeysPerFabricAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback) { readGeneratedCommandListAttribute(chipClusterPtr, callback); @@ -10902,70 +9928,99 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readGroupKeyMapAttribute(long chipClusterPtr, GroupKeyMapAttributeCallback callback, boolean isFabricFiltered); + + private native void writeGroupKeyMapAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeGroupKeyMapAttribute(long chipClusterPtr, GroupKeyMapAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGroupTableAttribute(long chipClusterPtr, GroupTableAttributeCallback callback, boolean isFabricFiltered); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeGroupTableAttribute(long chipClusterPtr, GroupTableAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readMaxGroupsPerFabricAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeMaxGroupsPerFabricAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readMaxGroupKeysPerFabricAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeMaxGroupKeysPerFabricAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class ProxyValidCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 68L; - public ProxyValidCluster(long devicePtr, int endpointId) { + public static class FixedLabelCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 64L; + + public FixedLabelCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); + public interface LabelListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public void readLabelListAttribute( + LabelListAttributeCallback callback) { + readLabelListAttribute(chipClusterPtr, callback); + } + + public void subscribeLabelListAttribute( + LabelListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLabelListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback) { readGeneratedCommandListAttribute(chipClusterPtr, callback); @@ -11026,78 +10081,91 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readLabelListAttribute(long chipClusterPtr, LabelListAttributeCallback callback); + + private native void subscribeLabelListAttribute(long chipClusterPtr, LabelListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class BooleanStateCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 69L; - public BooleanStateCluster(long devicePtr, int endpointId) { + public static class UserLabelCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 65L; + + public UserLabelCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); + public interface LabelListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readStateValueAttribute( - BooleanAttributeCallback callback) { - readStateValueAttribute(chipClusterPtr, callback); + public void readLabelListAttribute( + LabelListAttributeCallback callback) { + readLabelListAttribute(chipClusterPtr, callback); } - public void subscribeStateValueAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStateValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeLabelListAttribute(DefaultClusterCallback callback, ArrayList value) { + writeLabelListAttribute(chipClusterPtr, callback, value, null); + } + + public void writeLabelListAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { + writeLabelListAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeLabelListAttribute( + LabelListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLabelListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -11160,181 +10228,71 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readLabelListAttribute(long chipClusterPtr, LabelListAttributeCallback callback); - private native void readStateValueAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeStateValueAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void writeLabelListAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeLabelListAttribute(long chipClusterPtr, LabelListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class IcdManagementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 70L; + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - public IcdManagementCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - public void registerClient(RegisterClientResponseCallback callback, Long checkInNodeID, Long monitoredSubject, byte[] key, Optional verificationKey) { - registerClient(chipClusterPtr, callback, checkInNodeID, monitoredSubject, key, verificationKey, null); - } + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void registerClient(RegisterClientResponseCallback callback, Long checkInNodeID, Long monitoredSubject, byte[] key, Optional verificationKey, int timedInvokeTimeoutMs) { - registerClient(chipClusterPtr, callback, checkInNodeID, monitoredSubject, key, verificationKey, timedInvokeTimeoutMs); - } + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void unregisterClient(DefaultClusterCallback callback, Long checkInNodeID, Optional verificationKey) { - unregisterClient(chipClusterPtr, callback, checkInNodeID, verificationKey, null); - } + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void unregisterClient(DefaultClusterCallback callback, Long checkInNodeID, Optional verificationKey, int timedInvokeTimeoutMs) { - unregisterClient(chipClusterPtr, callback, checkInNodeID, verificationKey, timedInvokeTimeoutMs); - } + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - public void stayActiveRequest(DefaultClusterCallback callback) { - stayActiveRequest(chipClusterPtr, callback, null); - } + public static class ProxyConfigurationCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 66L; - public void stayActiveRequest(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - stayActiveRequest(chipClusterPtr, callback, timedInvokeTimeoutMs); + public ProxyConfigurationCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - private native void registerClient(long chipClusterPtr, RegisterClientResponseCallback callback, Long checkInNodeID, Long monitoredSubject, byte[] key, Optional verificationKey, @Nullable Integer timedInvokeTimeoutMs); - - private native void unregisterClient(long chipClusterPtr, DefaultClusterCallback callback, Long checkInNodeID, Optional verificationKey, @Nullable Integer timedInvokeTimeoutMs); - - private native void stayActiveRequest(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - - public interface RegisterClientResponseCallback { - void onSuccess(Long ICDCounter); + @Override + public native long initWithDevice(long devicePtr, int endpointId); - void onError(Exception error); - } - public interface RegisteredClientsAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readIdleModeIntervalAttribute( - LongAttributeCallback callback) { - readIdleModeIntervalAttribute(chipClusterPtr, callback); - } - - public void subscribeIdleModeIntervalAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeIdleModeIntervalAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readActiveModeIntervalAttribute( - LongAttributeCallback callback) { - readActiveModeIntervalAttribute(chipClusterPtr, callback); - } - - public void subscribeActiveModeIntervalAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActiveModeIntervalAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readActiveModeThresholdAttribute( - IntegerAttributeCallback callback) { - readActiveModeThresholdAttribute(chipClusterPtr, callback); - } - - public void subscribeActiveModeThresholdAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActiveModeThresholdAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readRegisteredClientsAttribute( - RegisteredClientsAttributeCallback callback) { - readRegisteredClientsAttribute(chipClusterPtr, callback, true); - } - public void readRegisteredClientsAttributeWithFabricFilter( - RegisteredClientsAttributeCallback callback, boolean isFabricFiltered) { - readRegisteredClientsAttribute(chipClusterPtr, callback, isFabricFiltered); - } - - - - public void subscribeRegisteredClientsAttribute( - RegisteredClientsAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRegisteredClientsAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readICDCounterAttribute( - LongAttributeCallback callback) { - readICDCounterAttribute(chipClusterPtr, callback); - } - - public void subscribeICDCounterAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeICDCounterAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readClientsSupportedPerFabricAttribute( - IntegerAttributeCallback callback) { - readClientsSupportedPerFabricAttribute(chipClusterPtr, callback); - } - - public void subscribeClientsSupportedPerFabricAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClientsSupportedPerFabricAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback) { readGeneratedCommandListAttribute(chipClusterPtr, callback); @@ -11395,208 +10353,182 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void readIdleModeIntervalAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeIdleModeIntervalAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveModeIntervalAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeActiveModeIntervalAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveModeThresholdAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeActiveModeThresholdAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRegisteredClientsAttribute(long chipClusterPtr - , RegisteredClientsAttributeCallback callback, boolean isFabricFiltered); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeRegisteredClientsAttribute(long chipClusterPtr - , RegisteredClientsAttributeCallback callback, int minInterval, int maxInterval); - private native void readICDCounterAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeICDCounterAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClientsSupportedPerFabricAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeClientsSupportedPerFabricAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class ModeSelectCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 80L; - public ModeSelectCluster(long devicePtr, int endpointId) { + public static class ProxyDiscoveryCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 67L; + + public ProxyDiscoveryCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void changeToMode(DefaultClusterCallback callback, Integer newMode) { - changeToMode(chipClusterPtr, callback, newMode, null); - } - - public void changeToMode(DefaultClusterCallback callback, Integer newMode, int timedInvokeTimeoutMs) { - changeToMode(chipClusterPtr, callback, newMode, timedInvokeTimeoutMs); - } - - private native void changeToMode(long chipClusterPtr, DefaultClusterCallback callback, Integer newMode, @Nullable Integer timedInvokeTimeoutMs); - - public interface StandardNamespaceAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface SupportedModesAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface StartUpModeAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface OnModeAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readDescriptionAttribute( - CharStringAttributeCallback callback) { - readDescriptionAttribute(chipClusterPtr, callback); + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); } - public void subscribeDescriptionAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDescriptionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readStandardNamespaceAttribute( - StandardNamespaceAttributeCallback callback) { - readStandardNamespaceAttribute(chipClusterPtr, callback); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } - public void subscribeStandardNamespaceAttribute( - StandardNamespaceAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStandardNamespaceAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSupportedModesAttribute( - SupportedModesAttributeCallback callback) { - readSupportedModesAttribute(chipClusterPtr, callback); + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); } - public void subscribeSupportedModesAttribute( - SupportedModesAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportedModesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentModeAttribute( - IntegerAttributeCallback callback) { - readCurrentModeAttribute(chipClusterPtr, callback); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } - public void subscribeCurrentModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readStartUpModeAttribute( - StartUpModeAttributeCallback callback) { - readStartUpModeAttribute(chipClusterPtr, callback); + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); } - public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value) { - writeStartUpModeAttribute(chipClusterPtr, callback, value, null); + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + readClusterRevisionAttribute(chipClusterPtr, callback); + } - public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeStartUpModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeStartUpModeAttribute( - StartUpModeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStartUpModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - public void readOnModeAttribute( - OnModeAttributeCallback callback) { - readOnModeAttribute(chipClusterPtr, callback); - } - public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value) { - writeOnModeAttribute(chipClusterPtr, callback, value, null); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class ProxyValidCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 68L; + + public ProxyValidCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } + @Override + public native long initWithDevice(long devicePtr, int endpointId); - public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOnModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - public void subscribeOnModeAttribute( - OnModeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOnModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } public void readGeneratedCommandListAttribute( @@ -11659,192 +10591,73 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void readDescriptionAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeDescriptionAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readStandardNamespaceAttribute(long chipClusterPtr - , StandardNamespaceAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeStandardNamespaceAttribute(long chipClusterPtr - , StandardNamespaceAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void writeStartUpModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void writeOnModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class LaundryWasherModeCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 81L; - public LaundryWasherModeCluster(long devicePtr, int endpointId) { + public static class BooleanStateCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 69L; + + public BooleanStateCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode) { - changeToMode(chipClusterPtr, callback, newMode, null); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode, int timedInvokeTimeoutMs) { - changeToMode(chipClusterPtr, callback, newMode, timedInvokeTimeoutMs); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - private native void changeToMode(long chipClusterPtr, ChangeToModeResponseCallback callback, Integer newMode, @Nullable Integer timedInvokeTimeoutMs); - - public interface ChangeToModeResponseCallback { - void onSuccess(Integer status, Optional statusText); - - void onError(Exception error); - } - public interface SupportedModesAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface StartUpModeAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface OnModeAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readSupportedModesAttribute( - SupportedModesAttributeCallback callback) { - readSupportedModesAttribute(chipClusterPtr, callback); - } - - public void subscribeSupportedModesAttribute( - SupportedModesAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportedModesAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readCurrentModeAttribute( - IntegerAttributeCallback callback) { - readCurrentModeAttribute(chipClusterPtr, callback); - } - - public void subscribeCurrentModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readStartUpModeAttribute( - StartUpModeAttributeCallback callback) { - readStartUpModeAttribute(chipClusterPtr, callback); - } - public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value) { - writeStartUpModeAttribute(chipClusterPtr, callback, value, null); - } - - - public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeStartUpModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } - - - - public void subscribeStartUpModeAttribute( - StartUpModeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStartUpModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readOnModeAttribute( - OnModeAttributeCallback callback) { - readOnModeAttribute(chipClusterPtr, callback); - } - public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value) { - writeOnModeAttribute(chipClusterPtr, callback, value, null); - } - - - public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOnModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readStateValueAttribute( + BooleanAttributeCallback callback) { + readStateValueAttribute(chipClusterPtr, callback); } - - - public void subscribeOnModeAttribute( - OnModeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOnModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeStateValueAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStateValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -11907,182 +10720,174 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readStateValueAttribute(long chipClusterPtr, BooleanAttributeCallback callback); - private native void readSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback); + private native void subscribeStateValueAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void writeStartUpModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void writeOnModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class RefrigeratorAndTemperatureControlledCabinetModeCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 82L; - public RefrigeratorAndTemperatureControlledCabinetModeCluster(long devicePtr, int endpointId) { + public static class IcdManagementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 70L; + + public IcdManagementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode) { - changeToMode(chipClusterPtr, callback, newMode, null); + public void registerClient(RegisterClientResponseCallback callback, Long checkInNodeID, Long monitoredSubject, byte[] key, Optional verificationKey) { + registerClient(chipClusterPtr, callback, checkInNodeID, monitoredSubject, key, verificationKey, null); } - public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode, int timedInvokeTimeoutMs) { - changeToMode(chipClusterPtr, callback, newMode, timedInvokeTimeoutMs); + public void registerClient(RegisterClientResponseCallback callback, Long checkInNodeID, Long monitoredSubject, byte[] key, Optional verificationKey, int timedInvokeTimeoutMs) { + registerClient(chipClusterPtr, callback, checkInNodeID, monitoredSubject, key, verificationKey, timedInvokeTimeoutMs); } - private native void changeToMode(long chipClusterPtr, ChangeToModeResponseCallback callback, Integer newMode, @Nullable Integer timedInvokeTimeoutMs); + public void unregisterClient(DefaultClusterCallback callback, Long checkInNodeID, Optional verificationKey) { + unregisterClient(chipClusterPtr, callback, checkInNodeID, verificationKey, null); + } - public interface ChangeToModeResponseCallback { - void onSuccess(Integer status, Optional statusText); + public void unregisterClient(DefaultClusterCallback callback, Long checkInNodeID, Optional verificationKey, int timedInvokeTimeoutMs) { + unregisterClient(chipClusterPtr, callback, checkInNodeID, verificationKey, timedInvokeTimeoutMs); + } - void onError(Exception error); + public void stayActiveRequest(DefaultClusterCallback callback) { + stayActiveRequest(chipClusterPtr, callback, null); } - public interface SupportedModesAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void stayActiveRequest(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + stayActiveRequest(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public interface StartUpModeAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + private native void registerClient(long chipClusterPtr, RegisterClientResponseCallback callback, Long checkInNodeID, Long monitoredSubject, byte[] key, Optional verificationKey, @Nullable Integer timedInvokeTimeoutMs); + + private native void unregisterClient(long chipClusterPtr, DefaultClusterCallback callback, Long checkInNodeID, Optional verificationKey, @Nullable Integer timedInvokeTimeoutMs); + + private native void stayActiveRequest(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + public interface RegisterClientResponseCallback { + void onSuccess(Long ICDCounter); + void onError(Exception error); } - public interface OnModeAttributeCallback { - void onSuccess(@Nullable Integer value); + + public interface RegisteredClientsAttributeCallback { + void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readSupportedModesAttribute( - SupportedModesAttributeCallback callback) { - readSupportedModesAttribute(chipClusterPtr, callback); + public void readIdleModeIntervalAttribute( + LongAttributeCallback callback) { + readIdleModeIntervalAttribute(chipClusterPtr, callback); } - public void subscribeSupportedModesAttribute( - SupportedModesAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportedModesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeIdleModeIntervalAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeIdleModeIntervalAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentModeAttribute( - IntegerAttributeCallback callback) { - readCurrentModeAttribute(chipClusterPtr, callback); + public void readActiveModeIntervalAttribute( + LongAttributeCallback callback) { + readActiveModeIntervalAttribute(chipClusterPtr, callback); } - public void subscribeCurrentModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeActiveModeIntervalAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActiveModeIntervalAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readStartUpModeAttribute( - StartUpModeAttributeCallback callback) { - readStartUpModeAttribute(chipClusterPtr, callback); - } - public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value) { - writeStartUpModeAttribute(chipClusterPtr, callback, value, null); + public void readActiveModeThresholdAttribute( + IntegerAttributeCallback callback) { + readActiveModeThresholdAttribute(chipClusterPtr, callback); } + public void subscribeActiveModeThresholdAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActiveModeThresholdAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeStartUpModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readRegisteredClientsAttribute( + RegisteredClientsAttributeCallback callback) { + readRegisteredClientsAttribute(chipClusterPtr, callback, true); } + public void readRegisteredClientsAttributeWithFabricFilter( + RegisteredClientsAttributeCallback callback, boolean isFabricFiltered) { + readRegisteredClientsAttribute(chipClusterPtr, callback, isFabricFiltered); + } - public void subscribeStartUpModeAttribute( - StartUpModeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStartUpModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeRegisteredClientsAttribute( + RegisteredClientsAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRegisteredClientsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOnModeAttribute( - OnModeAttributeCallback callback) { - readOnModeAttribute(chipClusterPtr, callback); - } - public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value) { - writeOnModeAttribute(chipClusterPtr, callback, value, null); + public void readICDCounterAttribute( + LongAttributeCallback callback) { + readICDCounterAttribute(chipClusterPtr, callback); } - - public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOnModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeICDCounterAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeICDCounterAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readClientsSupportedPerFabricAttribute( + IntegerAttributeCallback callback) { + readClientsSupportedPerFabricAttribute(chipClusterPtr, callback); + } - - public void subscribeOnModeAttribute( - OnModeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOnModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeClientsSupportedPerFabricAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClientsSupportedPerFabricAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -12145,167 +10950,197 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readIdleModeIntervalAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void readSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback); + private native void subscribeIdleModeIntervalAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readActiveModeIntervalAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback); + private native void subscribeActiveModeIntervalAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void writeStartUpModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readActiveModeThresholdAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback); + private native void subscribeActiveModeThresholdAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeOnModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readRegisteredClientsAttribute(long chipClusterPtr, RegisteredClientsAttributeCallback callback, boolean isFabricFiltered); - private native void subscribeOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class LaundryWasherControlsCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 83L; + private native void subscribeRegisteredClientsAttribute(long chipClusterPtr, RegisteredClientsAttributeCallback callback, int minInterval, int maxInterval); - public LaundryWasherControlsCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readICDCounterAttribute(long chipClusterPtr, LongAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribeICDCounterAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + private native void readClientsSupportedPerFabricAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public interface SpinSpeedsAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); + private native void subscribeClientsSupportedPerFabricAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class ModeSelectCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 80L; + + public ModeSelectCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void changeToMode(DefaultClusterCallback callback, Integer newMode) { + changeToMode(chipClusterPtr, callback, newMode, null); + } + + public void changeToMode(DefaultClusterCallback callback, Integer newMode, int timedInvokeTimeoutMs) { + changeToMode(chipClusterPtr, callback, newMode, timedInvokeTimeoutMs); + } + + private native void changeToMode(long chipClusterPtr, DefaultClusterCallback callback, Integer newMode, @Nullable Integer timedInvokeTimeoutMs); + + public interface StandardNamespaceAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface SpinSpeedCurrentAttributeCallback { + + public interface SupportedModesAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface StartUpModeAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface SupportedRinsesAttributeCallback { - void onSuccess(List value); + + public interface OnModeAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readSpinSpeedsAttribute( - SpinSpeedsAttributeCallback callback) { - readSpinSpeedsAttribute(chipClusterPtr, callback); + public void readDescriptionAttribute( + CharStringAttributeCallback callback) { + readDescriptionAttribute(chipClusterPtr, callback); } - public void subscribeSpinSpeedsAttribute( - SpinSpeedsAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSpinSpeedsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeDescriptionAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDescriptionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSpinSpeedCurrentAttribute( - SpinSpeedCurrentAttributeCallback callback) { - readSpinSpeedCurrentAttribute(chipClusterPtr, callback); - } - public void writeSpinSpeedCurrentAttribute(DefaultClusterCallback callback, Integer value) { - writeSpinSpeedCurrentAttribute(chipClusterPtr, callback, value, null); + public void readStandardNamespaceAttribute( + StandardNamespaceAttributeCallback callback) { + readStandardNamespaceAttribute(chipClusterPtr, callback); } - - public void writeSpinSpeedCurrentAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeSpinSpeedCurrentAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeStandardNamespaceAttribute( + StandardNamespaceAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStandardNamespaceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readSupportedModesAttribute( + SupportedModesAttributeCallback callback) { + readSupportedModesAttribute(chipClusterPtr, callback); + } - - public void subscribeSpinSpeedCurrentAttribute( - SpinSpeedCurrentAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSpinSpeedCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSupportedModesAttribute( + SupportedModesAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSupportedModesAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readNumberOfRinsesAttribute( + public void readCurrentModeAttribute( IntegerAttributeCallback callback) { - readNumberOfRinsesAttribute(chipClusterPtr, callback); + readCurrentModeAttribute(chipClusterPtr, callback); } - public void writeNumberOfRinsesAttribute(DefaultClusterCallback callback, Integer value) { - writeNumberOfRinsesAttribute(chipClusterPtr, callback, value, null); + + public void subscribeCurrentModeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readStartUpModeAttribute( + StartUpModeAttributeCallback callback) { + readStartUpModeAttribute(chipClusterPtr, callback); + } - public void writeNumberOfRinsesAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeNumberOfRinsesAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value) { + writeStartUpModeAttribute(chipClusterPtr, callback, value, null); } + public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeStartUpModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + public void subscribeStartUpModeAttribute( + StartUpModeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStartUpModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void subscribeNumberOfRinsesAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfRinsesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readOnModeAttribute( + OnModeAttributeCallback callback) { + readOnModeAttribute(chipClusterPtr, callback); } - public void readSupportedRinsesAttribute( - SupportedRinsesAttributeCallback callback) { - readSupportedRinsesAttribute(chipClusterPtr, callback); + public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value) { + writeOnModeAttribute(chipClusterPtr, callback, value, null); } - public void subscribeSupportedRinsesAttribute( - SupportedRinsesAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportedRinsesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOnModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeOnModeAttribute( + OnModeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOnModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -12368,73 +11203,69 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readDescriptionAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - private native void readSpinSpeedsAttribute(long chipClusterPtr - , SpinSpeedsAttributeCallback callback); + private native void subscribeDescriptionAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSpinSpeedsAttribute(long chipClusterPtr - , SpinSpeedsAttributeCallback callback, int minInterval, int maxInterval); - private native void readSpinSpeedCurrentAttribute(long chipClusterPtr - , SpinSpeedCurrentAttributeCallback callback); + private native void readStandardNamespaceAttribute(long chipClusterPtr, StandardNamespaceAttributeCallback callback); - private native void writeSpinSpeedCurrentAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeStandardNamespaceAttribute(long chipClusterPtr, StandardNamespaceAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSpinSpeedCurrentAttribute(long chipClusterPtr - , SpinSpeedCurrentAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfRinsesAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback); - private native void writeNumberOfRinsesAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback); + + private native void writeStartUpModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback); + + private native void writeOnModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeNumberOfRinsesAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedRinsesAttribute(long chipClusterPtr - , SupportedRinsesAttributeCallback callback); - - private native void subscribeSupportedRinsesAttribute(long chipClusterPtr - , SupportedRinsesAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class RvcRunModeCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 84L; - public RvcRunModeCluster(long devicePtr, int endpointId) { + public static class LaundryWasherModeCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 81L; + + public LaundryWasherModeCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode) { changeToMode(chipClusterPtr, callback, newMode, null); } @@ -12447,39 +11278,45 @@ public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode, public interface ChangeToModeResponseCallback { void onSuccess(Integer status, Optional statusText); - void onError(Exception error); } + public interface SupportedModesAttributeCallback { - void onSuccess(List value); + void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface StartUpModeAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface OnModeAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -12510,17 +11347,15 @@ public void readStartUpModeAttribute( StartUpModeAttributeCallback callback) { readStartUpModeAttribute(chipClusterPtr, callback); } + public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value) { writeStartUpModeAttribute(chipClusterPtr, callback, value, null); } - public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeStartUpModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeStartUpModeAttribute( StartUpModeAttributeCallback callback, int minInterval, int maxInterval) { subscribeStartUpModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -12530,17 +11365,15 @@ public void readOnModeAttribute( OnModeAttributeCallback callback) { readOnModeAttribute(chipClusterPtr, callback); } + public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value) { writeOnModeAttribute(chipClusterPtr, callback, value, null); } - public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOnModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOnModeAttribute( OnModeAttributeCallback callback, int minInterval, int maxInterval) { subscribeOnModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -12606,73 +11439,61 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback); - private native void readSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback); + private native void subscribeSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback); + private native void subscribeCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback); private native void writeStartUpModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback); + private native void subscribeStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback); private native void writeOnModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class RvcCleanModeCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 85L; - public RvcCleanModeCluster(long devicePtr, int endpointId) { + public static class RefrigeratorAndTemperatureControlledCabinetModeCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 82L; + + public RefrigeratorAndTemperatureControlledCabinetModeCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode) { changeToMode(chipClusterPtr, callback, newMode, null); } @@ -12685,39 +11506,45 @@ public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode, public interface ChangeToModeResponseCallback { void onSuccess(Integer status, Optional statusText); - void onError(Exception error); } + public interface SupportedModesAttributeCallback { - void onSuccess(List value); + void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface StartUpModeAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface OnModeAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -12748,17 +11575,15 @@ public void readStartUpModeAttribute( StartUpModeAttributeCallback callback) { readStartUpModeAttribute(chipClusterPtr, callback); } + public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value) { writeStartUpModeAttribute(chipClusterPtr, callback, value, null); } - public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeStartUpModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeStartUpModeAttribute( StartUpModeAttributeCallback callback, int minInterval, int maxInterval) { subscribeStartUpModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -12768,17 +11593,15 @@ public void readOnModeAttribute( OnModeAttributeCallback callback) { readOnModeAttribute(chipClusterPtr, callback); } + public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value) { writeOnModeAttribute(chipClusterPtr, callback, value, null); } - public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOnModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOnModeAttribute( OnModeAttributeCallback callback, int minInterval, int maxInterval) { subscribeOnModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -12844,167 +11667,157 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback); - private native void readSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback); + private native void subscribeSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback); + private native void subscribeCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback); private native void writeStartUpModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback); + private native void subscribeStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback); private native void writeOnModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class TemperatureControlCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 86L; - public TemperatureControlCluster(long devicePtr, int endpointId) { + public static class LaundryWasherControlsCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 83L; + + public LaundryWasherControlsCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void setTemperature(DefaultClusterCallback callback, Optional targetTemperature, Optional targetTemperatureLevel) { - setTemperature(chipClusterPtr, callback, targetTemperature, targetTemperatureLevel, null); + public interface SpinSpeedsAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void setTemperature(DefaultClusterCallback callback, Optional targetTemperature, Optional targetTemperatureLevel, int timedInvokeTimeoutMs) { - setTemperature(chipClusterPtr, callback, targetTemperature, targetTemperatureLevel, timedInvokeTimeoutMs); + public interface SpinSpeedCurrentAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - private native void setTemperature(long chipClusterPtr, DefaultClusterCallback callback, Optional targetTemperature, Optional targetTemperatureLevel, @Nullable Integer timedInvokeTimeoutMs); - - public interface SupportedTemperatureLevelsAttributeCallback { - void onSuccess(List value); + public interface SupportedRinsesAttributeCallback { + void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readTemperatureSetpointAttribute( - IntegerAttributeCallback callback) { - readTemperatureSetpointAttribute(chipClusterPtr, callback); + public void readSpinSpeedsAttribute( + SpinSpeedsAttributeCallback callback) { + readSpinSpeedsAttribute(chipClusterPtr, callback); } - public void subscribeTemperatureSetpointAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTemperatureSetpointAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSpinSpeedsAttribute( + SpinSpeedsAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSpinSpeedsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMinTemperatureAttribute( - IntegerAttributeCallback callback) { - readMinTemperatureAttribute(chipClusterPtr, callback); + public void readSpinSpeedCurrentAttribute( + SpinSpeedCurrentAttributeCallback callback) { + readSpinSpeedCurrentAttribute(chipClusterPtr, callback); } - public void subscribeMinTemperatureAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeSpinSpeedCurrentAttribute(DefaultClusterCallback callback, Integer value) { + writeSpinSpeedCurrentAttribute(chipClusterPtr, callback, value, null); } - public void readMaxTemperatureAttribute( - IntegerAttributeCallback callback) { - readMaxTemperatureAttribute(chipClusterPtr, callback); + public void writeSpinSpeedCurrentAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeSpinSpeedCurrentAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeMaxTemperatureAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSpinSpeedCurrentAttribute( + SpinSpeedCurrentAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSpinSpeedCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readStepAttribute( + public void readNumberOfRinsesAttribute( IntegerAttributeCallback callback) { - readStepAttribute(chipClusterPtr, callback); + readNumberOfRinsesAttribute(chipClusterPtr, callback); } - public void subscribeStepAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStepAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeNumberOfRinsesAttribute(DefaultClusterCallback callback, Integer value) { + writeNumberOfRinsesAttribute(chipClusterPtr, callback, value, null); } - public void readSelectedTemperatureLevelAttribute( - IntegerAttributeCallback callback) { - readSelectedTemperatureLevelAttribute(chipClusterPtr, callback); + public void writeNumberOfRinsesAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeNumberOfRinsesAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeSelectedTemperatureLevelAttribute( + public void subscribeNumberOfRinsesAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSelectedTemperatureLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeNumberOfRinsesAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSupportedTemperatureLevelsAttribute( - SupportedTemperatureLevelsAttributeCallback callback) { - readSupportedTemperatureLevelsAttribute(chipClusterPtr, callback); + public void readSupportedRinsesAttribute( + SupportedRinsesAttributeCallback callback) { + readSupportedRinsesAttribute(chipClusterPtr, callback); } - public void subscribeSupportedTemperatureLevelsAttribute( - SupportedTemperatureLevelsAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportedTemperatureLevelsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSupportedRinsesAttribute( + SupportedRinsesAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSupportedRinsesAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -13067,128 +11880,172 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readSpinSpeedsAttribute(long chipClusterPtr, SpinSpeedsAttributeCallback callback); - private native void readTemperatureSetpointAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeSpinSpeedsAttribute(long chipClusterPtr, SpinSpeedsAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeTemperatureSetpointAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinTemperatureAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readSpinSpeedCurrentAttribute(long chipClusterPtr, SpinSpeedCurrentAttributeCallback callback); - private native void subscribeMinTemperatureAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxTemperatureAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void writeSpinSpeedCurrentAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeSpinSpeedCurrentAttribute(long chipClusterPtr, SpinSpeedCurrentAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNumberOfRinsesAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeNumberOfRinsesAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeNumberOfRinsesAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSupportedRinsesAttribute(long chipClusterPtr, SupportedRinsesAttributeCallback callback); + + private native void subscribeSupportedRinsesAttribute(long chipClusterPtr, SupportedRinsesAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeMaxTemperatureAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStepAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeStepAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSelectedTemperatureLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSelectedTemperatureLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedTemperatureLevelsAttribute(long chipClusterPtr - , SupportedTemperatureLevelsAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeSupportedTemperatureLevelsAttribute(long chipClusterPtr - , SupportedTemperatureLevelsAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class RefrigeratorAlarmCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 87L; - public RefrigeratorAlarmCluster(long devicePtr, int endpointId) { + public static class RvcRunModeCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 84L; + + public RvcRunModeCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); + public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode) { + changeToMode(chipClusterPtr, callback, newMode, null); + } + + public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode, int timedInvokeTimeoutMs) { + changeToMode(chipClusterPtr, callback, newMode, timedInvokeTimeoutMs); + } + + private native void changeToMode(long chipClusterPtr, ChangeToModeResponseCallback callback, Integer newMode, @Nullable Integer timedInvokeTimeoutMs); + + public interface ChangeToModeResponseCallback { + void onSuccess(Integer status, Optional statusText); + void onError(Exception error); + } + + public interface SupportedModesAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface StartUpModeAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface OnModeAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMaskAttribute( - LongAttributeCallback callback) { - readMaskAttribute(chipClusterPtr, callback); + public void readSupportedModesAttribute( + SupportedModesAttributeCallback callback) { + readSupportedModesAttribute(chipClusterPtr, callback); } - public void subscribeMaskAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaskAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSupportedModesAttribute( + SupportedModesAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSupportedModesAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readStateAttribute( - LongAttributeCallback callback) { - readStateAttribute(chipClusterPtr, callback); + public void readCurrentModeAttribute( + IntegerAttributeCallback callback) { + readCurrentModeAttribute(chipClusterPtr, callback); } - public void subscribeStateAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCurrentModeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSupportedAttribute( - LongAttributeCallback callback) { - readSupportedAttribute(chipClusterPtr, callback); + public void readStartUpModeAttribute( + StartUpModeAttributeCallback callback) { + readStartUpModeAttribute(chipClusterPtr, callback); } - public void subscribeSupportedAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value) { + writeStartUpModeAttribute(chipClusterPtr, callback, value, null); + } + + public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeStartUpModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeStartUpModeAttribute( + StartUpModeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStartUpModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readOnModeAttribute( + OnModeAttributeCallback callback) { + readOnModeAttribute(chipClusterPtr, callback); + } + + public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value) { + writeOnModeAttribute(chipClusterPtr, callback, value, null); + } + + public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOnModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeOnModeAttribute( + OnModeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOnModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -13251,64 +12108,61 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback); + + private native void subscribeSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback); + + private native void writeStartUpModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback); + + private native void writeOnModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void readMaskAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeMaskAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readStateAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeStateAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSupportedAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class DishwasherModeCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 89L; - public DishwasherModeCluster(long devicePtr, int endpointId) { + public static class RvcCleanModeCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 85L; + + public RvcCleanModeCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode) { changeToMode(chipClusterPtr, callback, newMode, null); } @@ -13321,39 +12175,45 @@ public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode, public interface ChangeToModeResponseCallback { void onSuccess(Integer status, Optional statusText); - void onError(Exception error); } + public interface SupportedModesAttributeCallback { - void onSuccess(List value); + void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface StartUpModeAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface OnModeAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -13384,17 +12244,15 @@ public void readStartUpModeAttribute( StartUpModeAttributeCallback callback) { readStartUpModeAttribute(chipClusterPtr, callback); } + public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value) { writeStartUpModeAttribute(chipClusterPtr, callback, value, null); } - public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeStartUpModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeStartUpModeAttribute( StartUpModeAttributeCallback callback, int minInterval, int maxInterval) { subscribeStartUpModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -13404,17 +12262,15 @@ public void readOnModeAttribute( OnModeAttributeCallback callback) { readOnModeAttribute(chipClusterPtr, callback); } + public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value) { writeOnModeAttribute(chipClusterPtr, callback, value, null); } - public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeOnModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOnModeAttribute( OnModeAttributeCallback callback, int minInterval, int maxInterval) { subscribeOnModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -13480,102 +12336,159 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback); + + private native void subscribeSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback); + private native void readCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeSupportedModesAttribute(long chipClusterPtr - , SupportedModesAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCurrentModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback); + private native void readStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback); private native void writeStartUpModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeStartUpModeAttribute(long chipClusterPtr - , StartUpModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback); + private native void subscribeStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback); private native void writeOnModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOnModeAttribute(long chipClusterPtr - , OnModeAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class AirQualityCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 91L; - public AirQualityCluster(long devicePtr, int endpointId) { + public static class TemperatureControlCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 86L; + + public TemperatureControlCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public interface GeneratedCommandListAttributeCallback { + public void setTemperature(DefaultClusterCallback callback, Optional targetTemperature, Optional targetTemperatureLevel) { + setTemperature(chipClusterPtr, callback, targetTemperature, targetTemperatureLevel, null); + } + + public void setTemperature(DefaultClusterCallback callback, Optional targetTemperature, Optional targetTemperatureLevel, int timedInvokeTimeoutMs) { + setTemperature(chipClusterPtr, callback, targetTemperature, targetTemperatureLevel, timedInvokeTimeoutMs); + } + + private native void setTemperature(long chipClusterPtr, DefaultClusterCallback callback, Optional targetTemperature, Optional targetTemperatureLevel, @Nullable Integer timedInvokeTimeoutMs); + + public interface SupportedTemperatureLevelsAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readAirQualityAttribute( + public void readTemperatureSetpointAttribute( IntegerAttributeCallback callback) { - readAirQualityAttribute(chipClusterPtr, callback); + readTemperatureSetpointAttribute(chipClusterPtr, callback); } - public void subscribeAirQualityAttribute( + public void subscribeTemperatureSetpointAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAirQualityAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeTemperatureSetpointAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMinTemperatureAttribute( + IntegerAttributeCallback callback) { + readMinTemperatureAttribute(chipClusterPtr, callback); + } + + public void subscribeMinTemperatureAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMaxTemperatureAttribute( + IntegerAttributeCallback callback) { + readMaxTemperatureAttribute(chipClusterPtr, callback); + } + + public void subscribeMaxTemperatureAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readStepAttribute( + IntegerAttributeCallback callback) { + readStepAttribute(chipClusterPtr, callback); + } + + public void subscribeStepAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStepAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readSelectedTemperatureLevelAttribute( + IntegerAttributeCallback callback) { + readSelectedTemperatureLevelAttribute(chipClusterPtr, callback); + } + + public void subscribeSelectedTemperatureLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSelectedTemperatureLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readSupportedTemperatureLevelsAttribute( + SupportedTemperatureLevelsAttributeCallback callback) { + readSupportedTemperatureLevelsAttribute(chipClusterPtr, callback); + } + + public void subscribeSupportedTemperatureLevelsAttribute( + SupportedTemperatureLevelsAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSupportedTemperatureLevelsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -13638,223 +12551,117 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readTemperatureSetpointAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void readAirQualityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeTemperatureSetpointAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAirQualityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readMinTemperatureAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeMinTemperatureAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readMaxTemperatureAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeMaxTemperatureAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readStepAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeStepAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class SmokeCoAlarmCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 92L; + private native void readSelectedTemperatureLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public SmokeCoAlarmCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void subscribeSelectedTemperatureLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void readSupportedTemperatureLevelsAttribute(long chipClusterPtr, SupportedTemperatureLevelsAttributeCallback callback); + private native void subscribeSupportedTemperatureLevelsAttribute(long chipClusterPtr, SupportedTemperatureLevelsAttributeCallback callback, int minInterval, int maxInterval); - public void selfTestRequest(DefaultClusterCallback callback) { - selfTestRequest(chipClusterPtr, callback, null); - } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - public void selfTestRequest(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - selfTestRequest(chipClusterPtr, callback, timedInvokeTimeoutMs); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class RefrigeratorAlarmCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 87L; + + public RefrigeratorAlarmCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - private native void selfTestRequest(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + @Override + public native long initWithDevice(long devicePtr, int endpointId); public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readExpressedStateAttribute( - IntegerAttributeCallback callback) { - readExpressedStateAttribute(chipClusterPtr, callback); - } - - public void subscribeExpressedStateAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeExpressedStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readSmokeStateAttribute( - IntegerAttributeCallback callback) { - readSmokeStateAttribute(chipClusterPtr, callback); - } - - public void subscribeSmokeStateAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSmokeStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readCOStateAttribute( - IntegerAttributeCallback callback) { - readCOStateAttribute(chipClusterPtr, callback); - } - - public void subscribeCOStateAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCOStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readBatteryAlertAttribute( - IntegerAttributeCallback callback) { - readBatteryAlertAttribute(chipClusterPtr, callback); - } - - public void subscribeBatteryAlertAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBatteryAlertAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readDeviceMutedAttribute( - IntegerAttributeCallback callback) { - readDeviceMutedAttribute(chipClusterPtr, callback); - } - - public void subscribeDeviceMutedAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDeviceMutedAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readTestInProgressAttribute( - BooleanAttributeCallback callback) { - readTestInProgressAttribute(chipClusterPtr, callback); - } - - public void subscribeTestInProgressAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTestInProgressAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readHardwareFaultAlertAttribute( - BooleanAttributeCallback callback) { - readHardwareFaultAlertAttribute(chipClusterPtr, callback); - } - - public void subscribeHardwareFaultAlertAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeHardwareFaultAlertAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readEndOfServiceAlertAttribute( - IntegerAttributeCallback callback) { - readEndOfServiceAlertAttribute(chipClusterPtr, callback); - } - - public void subscribeEndOfServiceAlertAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEndOfServiceAlertAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readInterconnectSmokeAlarmAttribute( - IntegerAttributeCallback callback) { - readInterconnectSmokeAlarmAttribute(chipClusterPtr, callback); - } - - public void subscribeInterconnectSmokeAlarmAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInterconnectSmokeAlarmAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readInterconnectCOAlarmAttribute( - IntegerAttributeCallback callback) { - readInterconnectCOAlarmAttribute(chipClusterPtr, callback); - } - - public void subscribeInterconnectCOAlarmAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInterconnectCOAlarmAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readContaminationStateAttribute( - IntegerAttributeCallback callback) { - readContaminationStateAttribute(chipClusterPtr, callback); - } - - public void subscribeContaminationStateAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeContaminationStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readMaskAttribute( + LongAttributeCallback callback) { + readMaskAttribute(chipClusterPtr, callback); } - public void readSmokeSensitivityLevelAttribute( - IntegerAttributeCallback callback) { - readSmokeSensitivityLevelAttribute(chipClusterPtr, callback); - } - public void writeSmokeSensitivityLevelAttribute(DefaultClusterCallback callback, Integer value) { - writeSmokeSensitivityLevelAttribute(chipClusterPtr, callback, value, null); + public void subscribeMaskAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaskAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - public void writeSmokeSensitivityLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeSmokeSensitivityLevelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readStateAttribute( + LongAttributeCallback callback) { + readStateAttribute(chipClusterPtr, callback); } - - - public void subscribeSmokeSensitivityLevelAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSmokeSensitivityLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeStateAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readExpiryDateAttribute( + public void readSupportedAttribute( LongAttributeCallback callback) { - readExpiryDateAttribute(chipClusterPtr, callback); + readSupportedAttribute(chipClusterPtr, callback); } - public void subscribeExpiryDateAttribute( + public void subscribeSupportedAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeExpiryDateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -13917,195 +12724,164 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMaskAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void readExpressedStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaskAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeExpressedStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSmokeStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readStateAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeSmokeStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCOStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeStateAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCOStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBatteryAlertAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readSupportedAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeBatteryAlertAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDeviceMutedAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeSupportedAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeDeviceMutedAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readTestInProgressAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeTestInProgressAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readHardwareFaultAlertAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeHardwareFaultAlertAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readEndOfServiceAlertAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeEndOfServiceAlertAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInterconnectSmokeAlarmAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeInterconnectSmokeAlarmAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInterconnectCOAlarmAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeInterconnectCOAlarmAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readContaminationStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeContaminationStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSmokeSensitivityLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void writeSmokeSensitivityLevelAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeSmokeSensitivityLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readExpiryDateAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeExpiryDateAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class DishwasherAlarmCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 93L; - public DishwasherAlarmCluster(long devicePtr, int endpointId) { + public static class DishwasherModeCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 89L; + + public DishwasherModeCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void reset(DefaultClusterCallback callback, Long alarms) { - reset(chipClusterPtr, callback, alarms, null); + public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode) { + changeToMode(chipClusterPtr, callback, newMode, null); } - public void reset(DefaultClusterCallback callback, Long alarms, int timedInvokeTimeoutMs) { - reset(chipClusterPtr, callback, alarms, timedInvokeTimeoutMs); + public void changeToMode(ChangeToModeResponseCallback callback, Integer newMode, int timedInvokeTimeoutMs) { + changeToMode(chipClusterPtr, callback, newMode, timedInvokeTimeoutMs); } - public void modifyEnabledAlarms(DefaultClusterCallback callback, Long mask) { - modifyEnabledAlarms(chipClusterPtr, callback, mask, null); + private native void changeToMode(long chipClusterPtr, ChangeToModeResponseCallback callback, Integer newMode, @Nullable Integer timedInvokeTimeoutMs); + + public interface ChangeToModeResponseCallback { + void onSuccess(Integer status, Optional statusText); + void onError(Exception error); } - public void modifyEnabledAlarms(DefaultClusterCallback callback, Long mask, int timedInvokeTimeoutMs) { - modifyEnabledAlarms(chipClusterPtr, callback, mask, timedInvokeTimeoutMs); + public interface SupportedModesAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - private native void reset(long chipClusterPtr, DefaultClusterCallback callback, Long alarms, @Nullable Integer timedInvokeTimeoutMs); + public interface StartUpModeAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - private native void modifyEnabledAlarms(long chipClusterPtr, DefaultClusterCallback callback, Long mask, @Nullable Integer timedInvokeTimeoutMs); + public interface OnModeAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMaskAttribute( - LongAttributeCallback callback) { - readMaskAttribute(chipClusterPtr, callback); + public void readSupportedModesAttribute( + SupportedModesAttributeCallback callback) { + readSupportedModesAttribute(chipClusterPtr, callback); } - public void subscribeMaskAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaskAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSupportedModesAttribute( + SupportedModesAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSupportedModesAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLatchAttribute( - LongAttributeCallback callback) { - readLatchAttribute(chipClusterPtr, callback); + public void readCurrentModeAttribute( + IntegerAttributeCallback callback) { + readCurrentModeAttribute(chipClusterPtr, callback); } - public void subscribeLatchAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLatchAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCurrentModeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readStateAttribute( - LongAttributeCallback callback) { - readStateAttribute(chipClusterPtr, callback); + public void readStartUpModeAttribute( + StartUpModeAttributeCallback callback) { + readStartUpModeAttribute(chipClusterPtr, callback); } - public void subscribeStateAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value) { + writeStartUpModeAttribute(chipClusterPtr, callback, value, null); } - public void readSupportedAttribute( - LongAttributeCallback callback) { - readSupportedAttribute(chipClusterPtr, callback); + public void writeStartUpModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeStartUpModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeSupportedAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeStartUpModeAttribute( + StartUpModeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStartUpModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readOnModeAttribute( + OnModeAttributeCallback callback) { + readOnModeAttribute(chipClusterPtr, callback); + } + + public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value) { + writeOnModeAttribute(chipClusterPtr, callback, value, null); + } + + public void writeOnModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOnModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeOnModeAttribute( + OnModeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOnModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -14168,218 +12944,93 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback); - private native void readMaskAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeSupportedModesAttribute(long chipClusterPtr, SupportedModesAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeMaskAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readLatchAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeLatchAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readStateAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeCurrentModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeStateAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback); - private native void subscribeSupportedAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void writeStartUpModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeStartUpModeAttribute(long chipClusterPtr, StartUpModeAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class OperationalStateCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 96L; + private native void writeOnModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public OperationalStateCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void subscribeOnModeAttribute(long chipClusterPtr, OnModeAttributeCallback callback, int minInterval, int maxInterval); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void pause(OperationalCommandResponseCallback callback) { - pause(chipClusterPtr, callback, null); - } + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - public void pause(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { - pause(chipClusterPtr, callback, timedInvokeTimeoutMs); - } + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void stop(OperationalCommandResponseCallback callback) { - stop(chipClusterPtr, callback, null); - } + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - public void stop(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { - stop(chipClusterPtr, callback, timedInvokeTimeoutMs); - } + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - public void start(OperationalCommandResponseCallback callback) { - start(chipClusterPtr, callback, null); - } + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - public void start(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { - start(chipClusterPtr, callback, timedInvokeTimeoutMs); - } + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - public void resume(OperationalCommandResponseCallback callback) { - resume(chipClusterPtr, callback, null); - } + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void resume(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { - resume(chipClusterPtr, callback, timedInvokeTimeoutMs); - } + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void pause(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void stop(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - private native void start(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + public static class AirQualityCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 91L; - private native void resume(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + public AirQualityCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } - public interface OperationalCommandResponseCallback { - void onSuccess(ChipStructs.OperationalStateClusterErrorStateStruct commandResponseState); + @Override + public native long initWithDevice(long devicePtr, int endpointId); - void onError(Exception error); - } - public interface PhaseListAttributeCallback { - void onSuccess(@Nullable List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface CurrentPhaseAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface CountdownTimeAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface OperationalStateListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface OperationalErrorAttributeCallback { - void onSuccess(ChipStructs.OperationalStateClusterErrorStateStruct value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readPhaseListAttribute( - PhaseListAttributeCallback callback) { - readPhaseListAttribute(chipClusterPtr, callback); - } - - public void subscribePhaseListAttribute( - PhaseListAttributeCallback callback, int minInterval, int maxInterval) { - subscribePhaseListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readCurrentPhaseAttribute( - CurrentPhaseAttributeCallback callback) { - readCurrentPhaseAttribute(chipClusterPtr, callback); - } - - public void subscribeCurrentPhaseAttribute( - CurrentPhaseAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentPhaseAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readCountdownTimeAttribute( - CountdownTimeAttributeCallback callback) { - readCountdownTimeAttribute(chipClusterPtr, callback); - } - - public void subscribeCountdownTimeAttribute( - CountdownTimeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCountdownTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readOperationalStateListAttribute( - OperationalStateListAttributeCallback callback) { - readOperationalStateListAttribute(chipClusterPtr, callback); - } - - public void subscribeOperationalStateListAttribute( - OperationalStateListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOperationalStateListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readOperationalStateAttribute( + public void readAirQualityAttribute( IntegerAttributeCallback callback) { - readOperationalStateAttribute(chipClusterPtr, callback); + readAirQualityAttribute(chipClusterPtr, callback); } - public void subscribeOperationalStateAttribute( + public void subscribeAirQualityAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOperationalStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readOperationalErrorAttribute( - OperationalErrorAttributeCallback callback) { - readOperationalErrorAttribute(chipClusterPtr, callback); - } - - public void subscribeOperationalErrorAttribute( - OperationalErrorAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOperationalErrorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeAirQualityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -14442,228 +13093,215 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readAirQualityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void readPhaseListAttribute(long chipClusterPtr - , PhaseListAttributeCallback callback); + private native void subscribeAirQualityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePhaseListAttribute(long chipClusterPtr - , PhaseListAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentPhaseAttribute(long chipClusterPtr - , CurrentPhaseAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeCurrentPhaseAttribute(long chipClusterPtr - , CurrentPhaseAttributeCallback callback, int minInterval, int maxInterval); - private native void readCountdownTimeAttribute(long chipClusterPtr - , CountdownTimeAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCountdownTimeAttribute(long chipClusterPtr - , CountdownTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void readOperationalStateListAttribute(long chipClusterPtr - , OperationalStateListAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeOperationalStateListAttribute(long chipClusterPtr - , OperationalStateListAttributeCallback callback, int minInterval, int maxInterval); - private native void readOperationalStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOperationalStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOperationalErrorAttribute(long chipClusterPtr - , OperationalErrorAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeOperationalErrorAttribute(long chipClusterPtr - , OperationalErrorAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class RvcOperationalStateCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 97L; - public RvcOperationalStateCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + public static class SmokeCoAlarmCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 92L; + + public SmokeCoAlarmCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void pause(OperationalCommandResponseCallback callback) { - pause(chipClusterPtr, callback, null); + public void selfTestRequest(DefaultClusterCallback callback) { + selfTestRequest(chipClusterPtr, callback, null); } - public void pause(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { - pause(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void selfTestRequest(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + selfTestRequest(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void stop(OperationalCommandResponseCallback callback) { - stop(chipClusterPtr, callback, null); - } + private native void selfTestRequest(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - public void stop(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { - stop(chipClusterPtr, callback, timedInvokeTimeoutMs); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void start(OperationalCommandResponseCallback callback) { - start(chipClusterPtr, callback, null); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void start(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { - start(chipClusterPtr, callback, timedInvokeTimeoutMs); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void resume(OperationalCommandResponseCallback callback) { - resume(chipClusterPtr, callback, null); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void resume(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { - resume(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readExpressedStateAttribute( + IntegerAttributeCallback callback) { + readExpressedStateAttribute(chipClusterPtr, callback); } - private native void pause(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + public void subscribeExpressedStateAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeExpressedStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void stop(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + public void readSmokeStateAttribute( + IntegerAttributeCallback callback) { + readSmokeStateAttribute(chipClusterPtr, callback); + } - private native void start(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + public void subscribeSmokeStateAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSmokeStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void resume(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + public void readCOStateAttribute( + IntegerAttributeCallback callback) { + readCOStateAttribute(chipClusterPtr, callback); + } - public interface OperationalCommandResponseCallback { - void onSuccess(ChipStructs.RvcOperationalStateClusterErrorStateStruct commandResponseState); + public void subscribeCOStateAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCOStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - void onError(Exception error); + public void readBatteryAlertAttribute( + IntegerAttributeCallback callback) { + readBatteryAlertAttribute(chipClusterPtr, callback); } - public interface PhaseListAttributeCallback { - void onSuccess(@Nullable List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeBatteryAlertAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeBatteryAlertAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public interface CurrentPhaseAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void readDeviceMutedAttribute( + IntegerAttributeCallback callback) { + readDeviceMutedAttribute(chipClusterPtr, callback); } - public interface CountdownTimeAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeDeviceMutedAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDeviceMutedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public interface OperationalStateListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void readTestInProgressAttribute( + BooleanAttributeCallback callback) { + readTestInProgressAttribute(chipClusterPtr, callback); } - public interface OperationalErrorAttributeCallback { - void onSuccess(ChipStructs.RvcOperationalStateClusterErrorStateStruct value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeTestInProgressAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTestInProgressAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void readHardwareFaultAlertAttribute( + BooleanAttributeCallback callback) { + readHardwareFaultAlertAttribute(chipClusterPtr, callback); } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeHardwareFaultAlertAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeHardwareFaultAlertAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void readEndOfServiceAlertAttribute( + IntegerAttributeCallback callback) { + readEndOfServiceAlertAttribute(chipClusterPtr, callback); } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeEndOfServiceAlertAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEndOfServiceAlertAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPhaseListAttribute( - PhaseListAttributeCallback callback) { - readPhaseListAttribute(chipClusterPtr, callback); + public void readInterconnectSmokeAlarmAttribute( + IntegerAttributeCallback callback) { + readInterconnectSmokeAlarmAttribute(chipClusterPtr, callback); } - public void subscribePhaseListAttribute( - PhaseListAttributeCallback callback, int minInterval, int maxInterval) { - subscribePhaseListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeInterconnectSmokeAlarmAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInterconnectSmokeAlarmAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentPhaseAttribute( - CurrentPhaseAttributeCallback callback) { - readCurrentPhaseAttribute(chipClusterPtr, callback); + public void readInterconnectCOAlarmAttribute( + IntegerAttributeCallback callback) { + readInterconnectCOAlarmAttribute(chipClusterPtr, callback); } - public void subscribeCurrentPhaseAttribute( - CurrentPhaseAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentPhaseAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeInterconnectCOAlarmAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInterconnectCOAlarmAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCountdownTimeAttribute( - CountdownTimeAttributeCallback callback) { - readCountdownTimeAttribute(chipClusterPtr, callback); + public void readContaminationStateAttribute( + IntegerAttributeCallback callback) { + readContaminationStateAttribute(chipClusterPtr, callback); } - public void subscribeCountdownTimeAttribute( - CountdownTimeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCountdownTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeContaminationStateAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeContaminationStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOperationalStateListAttribute( - OperationalStateListAttributeCallback callback) { - readOperationalStateListAttribute(chipClusterPtr, callback); + public void readSmokeSensitivityLevelAttribute( + IntegerAttributeCallback callback) { + readSmokeSensitivityLevelAttribute(chipClusterPtr, callback); } - public void subscribeOperationalStateListAttribute( - OperationalStateListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOperationalStateListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeSmokeSensitivityLevelAttribute(DefaultClusterCallback callback, Integer value) { + writeSmokeSensitivityLevelAttribute(chipClusterPtr, callback, value, null); } - public void readOperationalStateAttribute( - IntegerAttributeCallback callback) { - readOperationalStateAttribute(chipClusterPtr, callback); + public void writeSmokeSensitivityLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeSmokeSensitivityLevelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeOperationalStateAttribute( + public void subscribeSmokeSensitivityLevelAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOperationalStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeSmokeSensitivityLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOperationalErrorAttribute( - OperationalErrorAttributeCallback callback) { - readOperationalErrorAttribute(chipClusterPtr, callback); + public void readExpiryDateAttribute( + LongAttributeCallback callback) { + readExpiryDateAttribute(chipClusterPtr, callback); } - public void subscribeOperationalErrorAttribute( - OperationalErrorAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOperationalErrorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeExpiryDateAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeExpiryDateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -14726,188 +13364,177 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readExpressedStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeExpressedStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSmokeStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeSmokeStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCOStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCOStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBatteryAlertAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void readPhaseListAttribute(long chipClusterPtr - , PhaseListAttributeCallback callback); + private native void subscribeBatteryAlertAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePhaseListAttribute(long chipClusterPtr - , PhaseListAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentPhaseAttribute(long chipClusterPtr - , CurrentPhaseAttributeCallback callback); + private native void readDeviceMutedAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeCurrentPhaseAttribute(long chipClusterPtr - , CurrentPhaseAttributeCallback callback, int minInterval, int maxInterval); - private native void readCountdownTimeAttribute(long chipClusterPtr - , CountdownTimeAttributeCallback callback); + private native void subscribeDeviceMutedAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCountdownTimeAttribute(long chipClusterPtr - , CountdownTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void readOperationalStateListAttribute(long chipClusterPtr - , OperationalStateListAttributeCallback callback); + private native void readTestInProgressAttribute(long chipClusterPtr, BooleanAttributeCallback callback); - private native void subscribeOperationalStateListAttribute(long chipClusterPtr - , OperationalStateListAttributeCallback callback, int minInterval, int maxInterval); - private native void readOperationalStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeTestInProgressAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOperationalStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOperationalErrorAttribute(long chipClusterPtr - , OperationalErrorAttributeCallback callback); + private native void readHardwareFaultAlertAttribute(long chipClusterPtr, BooleanAttributeCallback callback); - private native void subscribeOperationalErrorAttribute(long chipClusterPtr - , OperationalErrorAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeHardwareFaultAlertAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readEndOfServiceAlertAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeEndOfServiceAlertAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readInterconnectSmokeAlarmAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInterconnectSmokeAlarmAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readInterconnectCOAlarmAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeInterconnectCOAlarmAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readContaminationStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeContaminationStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSmokeSensitivityLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeSmokeSensitivityLevelAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeSmokeSensitivityLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readExpiryDateAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeExpiryDateAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class HepaFilterMonitoringCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 113L; - public HepaFilterMonitoringCluster(long devicePtr, int endpointId) { + public static class DishwasherAlarmCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 93L; + + public DishwasherAlarmCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void resetCondition(DefaultClusterCallback callback) { - resetCondition(chipClusterPtr, callback, null); + public void reset(DefaultClusterCallback callback, Long alarms) { + reset(chipClusterPtr, callback, alarms, null); } - public void resetCondition(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - resetCondition(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void reset(DefaultClusterCallback callback, Long alarms, int timedInvokeTimeoutMs) { + reset(chipClusterPtr, callback, alarms, timedInvokeTimeoutMs); } - private native void resetCondition(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - - public interface LastChangedTimeAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void modifyEnabledAlarms(DefaultClusterCallback callback, Long mask) { + modifyEnabledAlarms(chipClusterPtr, callback, mask, null); } - public interface ReplacementProductListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void modifyEnabledAlarms(DefaultClusterCallback callback, Long mask, int timedInvokeTimeoutMs) { + modifyEnabledAlarms(chipClusterPtr, callback, mask, timedInvokeTimeoutMs); } + + private native void reset(long chipClusterPtr, DefaultClusterCallback callback, Long alarms, @Nullable Integer timedInvokeTimeoutMs); + + private native void modifyEnabledAlarms(long chipClusterPtr, DefaultClusterCallback callback, Long mask, @Nullable Integer timedInvokeTimeoutMs); + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readConditionAttribute( - IntegerAttributeCallback callback) { - readConditionAttribute(chipClusterPtr, callback); - } - - public void subscribeConditionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeConditionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readDegradationDirectionAttribute( - IntegerAttributeCallback callback) { - readDegradationDirectionAttribute(chipClusterPtr, callback); - } - - public void subscribeDegradationDirectionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDegradationDirectionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readChangeIndicationAttribute( - IntegerAttributeCallback callback) { - readChangeIndicationAttribute(chipClusterPtr, callback); - } - - public void subscribeChangeIndicationAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeChangeIndicationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readMaskAttribute( + LongAttributeCallback callback) { + readMaskAttribute(chipClusterPtr, callback); } - public void readInPlaceIndicatorAttribute( - BooleanAttributeCallback callback) { - readInPlaceIndicatorAttribute(chipClusterPtr, callback); + public void subscribeMaskAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaskAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeInPlaceIndicatorAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInPlaceIndicatorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readLatchAttribute( + LongAttributeCallback callback) { + readLatchAttribute(chipClusterPtr, callback); } - public void readLastChangedTimeAttribute( - LastChangedTimeAttributeCallback callback) { - readLastChangedTimeAttribute(chipClusterPtr, callback); - } - public void writeLastChangedTimeAttribute(DefaultClusterCallback callback, Long value) { - writeLastChangedTimeAttribute(chipClusterPtr, callback, value, null); + public void subscribeLatchAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLatchAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - public void writeLastChangedTimeAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeLastChangedTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readStateAttribute( + LongAttributeCallback callback) { + readStateAttribute(chipClusterPtr, callback); } - - - public void subscribeLastChangedTimeAttribute( - LastChangedTimeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeStateAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readReplacementProductListAttribute( - ReplacementProductListAttributeCallback callback) { - readReplacementProductListAttribute(chipClusterPtr, callback); + public void readSupportedAttribute( + LongAttributeCallback callback) { + readSupportedAttribute(chipClusterPtr, callback); } - public void subscribeReplacementProductListAttribute( - ReplacementProductListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSupportedAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -14970,190 +13597,214 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMaskAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void readConditionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaskAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeConditionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDegradationDirectionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readLatchAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeDegradationDirectionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readChangeIndicationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeLatchAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeChangeIndicationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInPlaceIndicatorAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void readStateAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeInPlaceIndicatorAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readLastChangedTimeAttribute(long chipClusterPtr - , LastChangedTimeAttributeCallback callback); + private native void subscribeStateAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void writeLastChangedTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + private native void readSupportedAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeSupportedAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeLastChangedTimeAttribute(long chipClusterPtr - , LastChangedTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void readReplacementProductListAttribute(long chipClusterPtr - , ReplacementProductListAttributeCallback callback); - - private native void subscribeReplacementProductListAttribute(long chipClusterPtr - , ReplacementProductListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class ActivatedCarbonFilterMonitoringCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 114L; - public ActivatedCarbonFilterMonitoringCluster(long devicePtr, int endpointId) { + public static class OperationalStateCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 96L; + + public OperationalStateCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); + public void pause(OperationalCommandResponseCallback callback) { + pause(chipClusterPtr, callback, null); + } + + public void pause(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { + pause(chipClusterPtr, callback, timedInvokeTimeoutMs); + } - public void resetCondition(DefaultClusterCallback callback) { - resetCondition(chipClusterPtr, callback, null); + public void stop(OperationalCommandResponseCallback callback) { + stop(chipClusterPtr, callback, null); } - public void resetCondition(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - resetCondition(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void stop(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { + stop(chipClusterPtr, callback, timedInvokeTimeoutMs); } - private native void resetCondition(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + public void start(OperationalCommandResponseCallback callback) { + start(chipClusterPtr, callback, null); + } - public interface LastChangedTimeAttributeCallback { + public void start(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { + start(chipClusterPtr, callback, timedInvokeTimeoutMs); + } + + public void resume(OperationalCommandResponseCallback callback) { + resume(chipClusterPtr, callback, null); + } + + public void resume(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { + resume(chipClusterPtr, callback, timedInvokeTimeoutMs); + } + + private native void pause(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void stop(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void start(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void resume(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + public interface OperationalCommandResponseCallback { + void onSuccess(ChipStructs.OperationalStateClusterErrorStateStruct commandResponseState); + void onError(Exception error); + } + + public interface PhaseListAttributeCallback { + void onSuccess(@Nullable List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface CurrentPhaseAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface CountdownTimeAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface ReplacementProductListAttributeCallback { - void onSuccess(List value); + + public interface OperationalStateListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface OperationalErrorAttributeCallback { + void onSuccess(ChipStructs.OperationalStateClusterErrorStateStruct value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readConditionAttribute( - IntegerAttributeCallback callback) { - readConditionAttribute(chipClusterPtr, callback); + public void readPhaseListAttribute( + PhaseListAttributeCallback callback) { + readPhaseListAttribute(chipClusterPtr, callback); } - public void subscribeConditionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeConditionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePhaseListAttribute( + PhaseListAttributeCallback callback, int minInterval, int maxInterval) { + subscribePhaseListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDegradationDirectionAttribute( - IntegerAttributeCallback callback) { - readDegradationDirectionAttribute(chipClusterPtr, callback); + public void readCurrentPhaseAttribute( + CurrentPhaseAttributeCallback callback) { + readCurrentPhaseAttribute(chipClusterPtr, callback); } - public void subscribeDegradationDirectionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDegradationDirectionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCurrentPhaseAttribute( + CurrentPhaseAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentPhaseAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readChangeIndicationAttribute( - IntegerAttributeCallback callback) { - readChangeIndicationAttribute(chipClusterPtr, callback); + public void readCountdownTimeAttribute( + CountdownTimeAttributeCallback callback) { + readCountdownTimeAttribute(chipClusterPtr, callback); } - public void subscribeChangeIndicationAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeChangeIndicationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCountdownTimeAttribute( + CountdownTimeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCountdownTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readInPlaceIndicatorAttribute( - BooleanAttributeCallback callback) { - readInPlaceIndicatorAttribute(chipClusterPtr, callback); + public void readOperationalStateListAttribute( + OperationalStateListAttributeCallback callback) { + readOperationalStateListAttribute(chipClusterPtr, callback); } - public void subscribeInPlaceIndicatorAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInPlaceIndicatorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOperationalStateListAttribute( + OperationalStateListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOperationalStateListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLastChangedTimeAttribute( - LastChangedTimeAttributeCallback callback) { - readLastChangedTimeAttribute(chipClusterPtr, callback); - } - public void writeLastChangedTimeAttribute(DefaultClusterCallback callback, Long value) { - writeLastChangedTimeAttribute(chipClusterPtr, callback, value, null); + public void readOperationalStateAttribute( + IntegerAttributeCallback callback) { + readOperationalStateAttribute(chipClusterPtr, callback); } - - public void writeLastChangedTimeAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeLastChangedTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } - - - - public void subscribeLastChangedTimeAttribute( - LastChangedTimeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOperationalStateAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOperationalStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readReplacementProductListAttribute( - ReplacementProductListAttributeCallback callback) { - readReplacementProductListAttribute(chipClusterPtr, callback); + public void readOperationalErrorAttribute( + OperationalErrorAttributeCallback callback) { + readOperationalErrorAttribute(chipClusterPtr, callback); } - public void subscribeReplacementProductListAttribute( - ReplacementProductListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOperationalErrorAttribute( + OperationalErrorAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOperationalErrorAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -15216,846 +13867,690 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readPhaseListAttribute(long chipClusterPtr, PhaseListAttributeCallback callback); - private native void readConditionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeConditionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDegradationDirectionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDegradationDirectionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readChangeIndicationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeChangeIndicationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInPlaceIndicatorAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); - - private native void subscribeInPlaceIndicatorAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readLastChangedTimeAttribute(long chipClusterPtr - , LastChangedTimeAttributeCallback callback); - - private native void writeLastChangedTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribeLastChangedTimeAttribute(long chipClusterPtr - , LastChangedTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void readReplacementProductListAttribute(long chipClusterPtr - , ReplacementProductListAttributeCallback callback); - - private native void subscribeReplacementProductListAttribute(long chipClusterPtr - , ReplacementProductListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class DoorLockCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 257L; - - public DoorLockCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } - - @Override - public native long initWithDevice(long devicePtr, int endpointId); - + private native void subscribePhaseListAttribute(long chipClusterPtr, PhaseListAttributeCallback callback, int minInterval, int maxInterval); + private native void readCurrentPhaseAttribute(long chipClusterPtr, CurrentPhaseAttributeCallback callback); - public void lockDoor(DefaultClusterCallback callback, Optional PINCode, int timedInvokeTimeoutMs) { - lockDoor(chipClusterPtr, callback, PINCode, timedInvokeTimeoutMs); - } + private native void subscribeCurrentPhaseAttribute(long chipClusterPtr, CurrentPhaseAttributeCallback callback, int minInterval, int maxInterval); + private native void readCountdownTimeAttribute(long chipClusterPtr, CountdownTimeAttributeCallback callback); - public void unlockDoor(DefaultClusterCallback callback, Optional PINCode, int timedInvokeTimeoutMs) { - unlockDoor(chipClusterPtr, callback, PINCode, timedInvokeTimeoutMs); - } + private native void subscribeCountdownTimeAttribute(long chipClusterPtr, CountdownTimeAttributeCallback callback, int minInterval, int maxInterval); + private native void readOperationalStateListAttribute(long chipClusterPtr, OperationalStateListAttributeCallback callback); - public void unlockWithTimeout(DefaultClusterCallback callback, Integer timeout, Optional PINCode, int timedInvokeTimeoutMs) { - unlockWithTimeout(chipClusterPtr, callback, timeout, PINCode, timedInvokeTimeoutMs); - } + private native void subscribeOperationalStateListAttribute(long chipClusterPtr, OperationalStateListAttributeCallback callback, int minInterval, int maxInterval); - public void setWeekDaySchedule(DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex, Integer daysMask, Integer startHour, Integer startMinute, Integer endHour, Integer endMinute) { - setWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, daysMask, startHour, startMinute, endHour, endMinute, null); - } + private native void readOperationalStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void setWeekDaySchedule(DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex, Integer daysMask, Integer startHour, Integer startMinute, Integer endHour, Integer endMinute, int timedInvokeTimeoutMs) { - setWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, daysMask, startHour, startMinute, endHour, endMinute, timedInvokeTimeoutMs); - } + private native void subscribeOperationalStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void getWeekDaySchedule(GetWeekDayScheduleResponseCallback callback, Integer weekDayIndex, Integer userIndex) { - getWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, null); - } + private native void readOperationalErrorAttribute(long chipClusterPtr, OperationalErrorAttributeCallback callback); - public void getWeekDaySchedule(GetWeekDayScheduleResponseCallback callback, Integer weekDayIndex, Integer userIndex, int timedInvokeTimeoutMs) { - getWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, timedInvokeTimeoutMs); - } + private native void subscribeOperationalErrorAttribute(long chipClusterPtr, OperationalErrorAttributeCallback callback, int minInterval, int maxInterval); - public void clearWeekDaySchedule(DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex) { - clearWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, null); - } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - public void clearWeekDaySchedule(DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex, int timedInvokeTimeoutMs) { - clearWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, timedInvokeTimeoutMs); - } + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void setYearDaySchedule(DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex, Long localStartTime, Long localEndTime) { - setYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, localStartTime, localEndTime, null); - } + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - public void setYearDaySchedule(DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex, Long localStartTime, Long localEndTime, int timedInvokeTimeoutMs) { - setYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, localStartTime, localEndTime, timedInvokeTimeoutMs); - } + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void getYearDaySchedule(GetYearDayScheduleResponseCallback callback, Integer yearDayIndex, Integer userIndex) { - getYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, null); - } + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - public void getYearDaySchedule(GetYearDayScheduleResponseCallback callback, Integer yearDayIndex, Integer userIndex, int timedInvokeTimeoutMs) { - getYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, timedInvokeTimeoutMs); - } + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - public void clearYearDaySchedule(DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex) { - clearYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, null); - } + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - public void clearYearDaySchedule(DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex, int timedInvokeTimeoutMs) { - clearYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, timedInvokeTimeoutMs); - } + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - public void setHolidaySchedule(DefaultClusterCallback callback, Integer holidayIndex, Long localStartTime, Long localEndTime, Integer operatingMode) { - setHolidaySchedule(chipClusterPtr, callback, holidayIndex, localStartTime, localEndTime, operatingMode, null); - } + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void setHolidaySchedule(DefaultClusterCallback callback, Integer holidayIndex, Long localStartTime, Long localEndTime, Integer operatingMode, int timedInvokeTimeoutMs) { - setHolidaySchedule(chipClusterPtr, callback, holidayIndex, localStartTime, localEndTime, operatingMode, timedInvokeTimeoutMs); - } + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void getHolidaySchedule(GetHolidayScheduleResponseCallback callback, Integer holidayIndex) { - getHolidaySchedule(chipClusterPtr, callback, holidayIndex, null); - } + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void getHolidaySchedule(GetHolidayScheduleResponseCallback callback, Integer holidayIndex, int timedInvokeTimeoutMs) { - getHolidaySchedule(chipClusterPtr, callback, holidayIndex, timedInvokeTimeoutMs); - } + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - public void clearHolidaySchedule(DefaultClusterCallback callback, Integer holidayIndex) { - clearHolidaySchedule(chipClusterPtr, callback, holidayIndex, null); - } + public static class RvcOperationalStateCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 97L; - public void clearHolidaySchedule(DefaultClusterCallback callback, Integer holidayIndex, int timedInvokeTimeoutMs) { - clearHolidaySchedule(chipClusterPtr, callback, holidayIndex, timedInvokeTimeoutMs); + public RvcOperationalStateCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } + @Override + public native long initWithDevice(long devicePtr, int endpointId); - public void setUser(DefaultClusterCallback callback, Integer operationType, Integer userIndex, @Nullable String userName, @Nullable Long userUniqueID, @Nullable Integer userStatus, @Nullable Integer userType, @Nullable Integer credentialRule, int timedInvokeTimeoutMs) { - setUser(chipClusterPtr, callback, operationType, userIndex, userName, userUniqueID, userStatus, userType, credentialRule, timedInvokeTimeoutMs); - } - - public void getUser(GetUserResponseCallback callback, Integer userIndex) { - getUser(chipClusterPtr, callback, userIndex, null); + public void pause(OperationalCommandResponseCallback callback) { + pause(chipClusterPtr, callback, null); } - public void getUser(GetUserResponseCallback callback, Integer userIndex, int timedInvokeTimeoutMs) { - getUser(chipClusterPtr, callback, userIndex, timedInvokeTimeoutMs); + public void pause(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { + pause(chipClusterPtr, callback, timedInvokeTimeoutMs); } - - public void clearUser(DefaultClusterCallback callback, Integer userIndex, int timedInvokeTimeoutMs) { - clearUser(chipClusterPtr, callback, userIndex, timedInvokeTimeoutMs); + public void stop(OperationalCommandResponseCallback callback) { + stop(chipClusterPtr, callback, null); } - - public void setCredential(SetCredentialResponseCallback callback, Integer operationType, ChipStructs.DoorLockClusterCredentialStruct credential, byte[] credentialData, @Nullable Integer userIndex, @Nullable Integer userStatus, @Nullable Integer userType, int timedInvokeTimeoutMs) { - setCredential(chipClusterPtr, callback, operationType, credential, credentialData, userIndex, userStatus, userType, timedInvokeTimeoutMs); + public void stop(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { + stop(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void getCredentialStatus(GetCredentialStatusResponseCallback callback, ChipStructs.DoorLockClusterCredentialStruct credential) { - getCredentialStatus(chipClusterPtr, callback, credential, null); + public void start(OperationalCommandResponseCallback callback) { + start(chipClusterPtr, callback, null); } - public void getCredentialStatus(GetCredentialStatusResponseCallback callback, ChipStructs.DoorLockClusterCredentialStruct credential, int timedInvokeTimeoutMs) { - getCredentialStatus(chipClusterPtr, callback, credential, timedInvokeTimeoutMs); + public void start(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { + start(chipClusterPtr, callback, timedInvokeTimeoutMs); } - - public void clearCredential(DefaultClusterCallback callback, @Nullable ChipStructs.DoorLockClusterCredentialStruct credential, int timedInvokeTimeoutMs) { - clearCredential(chipClusterPtr, callback, credential, timedInvokeTimeoutMs); + public void resume(OperationalCommandResponseCallback callback) { + resume(chipClusterPtr, callback, null); } - - public void unboltDoor(DefaultClusterCallback callback, Optional PINCode, int timedInvokeTimeoutMs) { - unboltDoor(chipClusterPtr, callback, PINCode, timedInvokeTimeoutMs); + public void resume(OperationalCommandResponseCallback callback, int timedInvokeTimeoutMs) { + resume(chipClusterPtr, callback, timedInvokeTimeoutMs); } - private native void lockDoor(long chipClusterPtr, DefaultClusterCallback callback, Optional PINCode, @Nullable Integer timedInvokeTimeoutMs); - - private native void unlockDoor(long chipClusterPtr, DefaultClusterCallback callback, Optional PINCode, @Nullable Integer timedInvokeTimeoutMs); - - private native void unlockWithTimeout(long chipClusterPtr, DefaultClusterCallback callback, Integer timeout, Optional PINCode, @Nullable Integer timedInvokeTimeoutMs); - - private native void setWeekDaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex, Integer daysMask, Integer startHour, Integer startMinute, Integer endHour, Integer endMinute, @Nullable Integer timedInvokeTimeoutMs); - - private native void getWeekDaySchedule(long chipClusterPtr, GetWeekDayScheduleResponseCallback callback, Integer weekDayIndex, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); - - private native void clearWeekDaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); - - private native void setYearDaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex, Long localStartTime, Long localEndTime, @Nullable Integer timedInvokeTimeoutMs); - - private native void getYearDaySchedule(long chipClusterPtr, GetYearDayScheduleResponseCallback callback, Integer yearDayIndex, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); - - private native void clearYearDaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); - - private native void setHolidaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer holidayIndex, Long localStartTime, Long localEndTime, Integer operatingMode, @Nullable Integer timedInvokeTimeoutMs); - - private native void getHolidaySchedule(long chipClusterPtr, GetHolidayScheduleResponseCallback callback, Integer holidayIndex, @Nullable Integer timedInvokeTimeoutMs); - - private native void clearHolidaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer holidayIndex, @Nullable Integer timedInvokeTimeoutMs); - - private native void setUser(long chipClusterPtr, DefaultClusterCallback callback, Integer operationType, Integer userIndex, @Nullable String userName, @Nullable Long userUniqueID, @Nullable Integer userStatus, @Nullable Integer userType, @Nullable Integer credentialRule, @Nullable Integer timedInvokeTimeoutMs); - - private native void getUser(long chipClusterPtr, GetUserResponseCallback callback, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); - - private native void clearUser(long chipClusterPtr, DefaultClusterCallback callback, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); - - private native void setCredential(long chipClusterPtr, SetCredentialResponseCallback callback, Integer operationType, ChipStructs.DoorLockClusterCredentialStruct credential, byte[] credentialData, @Nullable Integer userIndex, @Nullable Integer userStatus, @Nullable Integer userType, @Nullable Integer timedInvokeTimeoutMs); - - private native void getCredentialStatus(long chipClusterPtr, GetCredentialStatusResponseCallback callback, ChipStructs.DoorLockClusterCredentialStruct credential, @Nullable Integer timedInvokeTimeoutMs); - - private native void clearCredential(long chipClusterPtr, DefaultClusterCallback callback, @Nullable ChipStructs.DoorLockClusterCredentialStruct credential, @Nullable Integer timedInvokeTimeoutMs); + private native void pause(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); - private native void unboltDoor(long chipClusterPtr, DefaultClusterCallback callback, Optional PINCode, @Nullable Integer timedInvokeTimeoutMs); + private native void stop(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); - public interface GetWeekDayScheduleResponseCallback { - void onSuccess(Integer weekDayIndex, Integer userIndex, Integer status, Optional daysMask, Optional startHour, Optional startMinute, Optional endHour, Optional endMinute); + private native void start(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); - void onError(Exception error); - } - public interface GetYearDayScheduleResponseCallback { - void onSuccess(Integer yearDayIndex, Integer userIndex, Integer status, Optional localStartTime, Optional localEndTime); + private native void resume(long chipClusterPtr, OperationalCommandResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + public interface OperationalCommandResponseCallback { + void onSuccess(ChipStructs.RvcOperationalStateClusterErrorStateStruct commandResponseState); void onError(Exception error); } - public interface GetHolidayScheduleResponseCallback { - void onSuccess(Integer holidayIndex, Integer status, Optional localStartTime, Optional localEndTime, Optional operatingMode); - void onError(Exception error); + public interface PhaseListAttributeCallback { + void onSuccess(@Nullable List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public interface GetUserResponseCallback { - void onSuccess(Integer userIndex, @Nullable String userName, @Nullable Long userUniqueID, @Nullable Integer userStatus, @Nullable Integer userType, @Nullable Integer credentialRule, @Nullable ArrayList credentials, @Nullable Integer creatorFabricIndex, @Nullable Integer lastModifiedFabricIndex, @Nullable Integer nextUserIndex); - void onError(Exception error); + public interface CurrentPhaseAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public interface SetCredentialResponseCallback { - void onSuccess(Integer status, @Nullable Integer userIndex, @Nullable Integer nextCredentialIndex); - void onError(Exception error); + public interface CountdownTimeAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public interface GetCredentialStatusResponseCallback { - void onSuccess(Boolean credentialExists, @Nullable Integer userIndex, @Nullable Integer creatorFabricIndex, @Nullable Integer lastModifiedFabricIndex, @Nullable Integer nextCredentialIndex); - void onError(Exception error); - } - public interface LockStateAttributeCallback { - void onSuccess(@Nullable Integer value); + public interface OperationalStateListAttributeCallback { + void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface DoorStateAttributeCallback { - void onSuccess(@Nullable Integer value); + + public interface OperationalErrorAttributeCallback { + void onSuccess(ChipStructs.RvcOperationalStateClusterErrorStateStruct value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readLockStateAttribute( - LockStateAttributeCallback callback) { - readLockStateAttribute(chipClusterPtr, callback); + public void readPhaseListAttribute( + PhaseListAttributeCallback callback) { + readPhaseListAttribute(chipClusterPtr, callback); } - public void subscribeLockStateAttribute( - LockStateAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLockStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePhaseListAttribute( + PhaseListAttributeCallback callback, int minInterval, int maxInterval) { + subscribePhaseListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLockTypeAttribute( - IntegerAttributeCallback callback) { - readLockTypeAttribute(chipClusterPtr, callback); + public void readCurrentPhaseAttribute( + CurrentPhaseAttributeCallback callback) { + readCurrentPhaseAttribute(chipClusterPtr, callback); } - public void subscribeLockTypeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLockTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCurrentPhaseAttribute( + CurrentPhaseAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentPhaseAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readActuatorEnabledAttribute( - BooleanAttributeCallback callback) { - readActuatorEnabledAttribute(chipClusterPtr, callback); + public void readCountdownTimeAttribute( + CountdownTimeAttributeCallback callback) { + readCountdownTimeAttribute(chipClusterPtr, callback); } - public void subscribeActuatorEnabledAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActuatorEnabledAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCountdownTimeAttribute( + CountdownTimeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCountdownTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDoorStateAttribute( - DoorStateAttributeCallback callback) { - readDoorStateAttribute(chipClusterPtr, callback); + public void readOperationalStateListAttribute( + OperationalStateListAttributeCallback callback) { + readOperationalStateListAttribute(chipClusterPtr, callback); } - public void subscribeDoorStateAttribute( - DoorStateAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDoorStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOperationalStateListAttribute( + OperationalStateListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOperationalStateListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDoorOpenEventsAttribute( - LongAttributeCallback callback) { - readDoorOpenEventsAttribute(chipClusterPtr, callback); + public void readOperationalStateAttribute( + IntegerAttributeCallback callback) { + readOperationalStateAttribute(chipClusterPtr, callback); } - public void writeDoorOpenEventsAttribute(DefaultClusterCallback callback, Long value) { - writeDoorOpenEventsAttribute(chipClusterPtr, callback, value, null); + + public void subscribeOperationalStateAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOperationalStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readOperationalErrorAttribute( + OperationalErrorAttributeCallback callback) { + readOperationalErrorAttribute(chipClusterPtr, callback); + } - public void writeDoorOpenEventsAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeDoorOpenEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeOperationalErrorAttribute( + OperationalErrorAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOperationalErrorAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); + } + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void subscribeDoorOpenEventsAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDoorOpenEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } - public void readDoorClosedEventsAttribute( - LongAttributeCallback callback) { - readDoorClosedEventsAttribute(chipClusterPtr, callback); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void writeDoorClosedEventsAttribute(DefaultClusterCallback callback, Long value) { - writeDoorClosedEventsAttribute(chipClusterPtr, callback, value, null); + + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); } + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void writeDoorClosedEventsAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeDoorClosedEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } - public void subscribeDoorClosedEventsAttribute( + public void subscribeFeatureMapAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDoorClosedEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOpenPeriodAttribute( + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readOpenPeriodAttribute(chipClusterPtr, callback); + readClusterRevisionAttribute(chipClusterPtr, callback); } - public void writeOpenPeriodAttribute(DefaultClusterCallback callback, Integer value) { - writeOpenPeriodAttribute(chipClusterPtr, callback, value, null); + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readPhaseListAttribute(long chipClusterPtr, PhaseListAttributeCallback callback); - public void writeOpenPeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOpenPeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribePhaseListAttribute(long chipClusterPtr, PhaseListAttributeCallback callback, int minInterval, int maxInterval); + private native void readCurrentPhaseAttribute(long chipClusterPtr, CurrentPhaseAttributeCallback callback); + private native void subscribeCurrentPhaseAttribute(long chipClusterPtr, CurrentPhaseAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeOpenPeriodAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOpenPeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readCountdownTimeAttribute(long chipClusterPtr, CountdownTimeAttributeCallback callback); - public void readNumberOfTotalUsersSupportedAttribute( - IntegerAttributeCallback callback) { - readNumberOfTotalUsersSupportedAttribute(chipClusterPtr, callback); - } + private native void subscribeCountdownTimeAttribute(long chipClusterPtr, CountdownTimeAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeNumberOfTotalUsersSupportedAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfTotalUsersSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readOperationalStateListAttribute(long chipClusterPtr, OperationalStateListAttributeCallback callback); - public void readNumberOfPINUsersSupportedAttribute( - IntegerAttributeCallback callback) { - readNumberOfPINUsersSupportedAttribute(chipClusterPtr, callback); - } + private native void subscribeOperationalStateListAttribute(long chipClusterPtr, OperationalStateListAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeNumberOfPINUsersSupportedAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfPINUsersSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readOperationalStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readNumberOfRFIDUsersSupportedAttribute( - IntegerAttributeCallback callback) { - readNumberOfRFIDUsersSupportedAttribute(chipClusterPtr, callback); - } + private native void subscribeOperationalStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeNumberOfRFIDUsersSupportedAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfRFIDUsersSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readOperationalErrorAttribute(long chipClusterPtr, OperationalErrorAttributeCallback callback); - public void readNumberOfWeekDaySchedulesSupportedPerUserAttribute( - IntegerAttributeCallback callback) { - readNumberOfWeekDaySchedulesSupportedPerUserAttribute(chipClusterPtr, callback); - } + private native void subscribeOperationalErrorAttribute(long chipClusterPtr, OperationalErrorAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeNumberOfWeekDaySchedulesSupportedPerUserAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfWeekDaySchedulesSupportedPerUserAttribute(chipClusterPtr, callback, minInterval, maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class HepaFilterMonitoringCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 113L; + + public HepaFilterMonitoringCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public void readNumberOfYearDaySchedulesSupportedPerUserAttribute( - IntegerAttributeCallback callback) { - readNumberOfYearDaySchedulesSupportedPerUserAttribute(chipClusterPtr, callback); + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void resetCondition(DefaultClusterCallback callback) { + resetCondition(chipClusterPtr, callback, null); } - public void subscribeNumberOfYearDaySchedulesSupportedPerUserAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfYearDaySchedulesSupportedPerUserAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void resetCondition(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + resetCondition(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void readNumberOfHolidaySchedulesSupportedAttribute( - IntegerAttributeCallback callback) { - readNumberOfHolidaySchedulesSupportedAttribute(chipClusterPtr, callback); + private native void resetCondition(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + public interface LastChangedTimeAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeNumberOfHolidaySchedulesSupportedAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfHolidaySchedulesSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface ReplacementProductListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMaxPINCodeLengthAttribute( - IntegerAttributeCallback callback) { - readMaxPINCodeLengthAttribute(chipClusterPtr, callback); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeMaxPINCodeLengthAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxPINCodeLengthAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMinPINCodeLengthAttribute( - IntegerAttributeCallback callback) { - readMinPINCodeLengthAttribute(chipClusterPtr, callback); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeMinPINCodeLengthAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinPINCodeLengthAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMaxRFIDCodeLengthAttribute( + public void readConditionAttribute( IntegerAttributeCallback callback) { - readMaxRFIDCodeLengthAttribute(chipClusterPtr, callback); + readConditionAttribute(chipClusterPtr, callback); } - public void subscribeMaxRFIDCodeLengthAttribute( + public void subscribeConditionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxRFIDCodeLengthAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeConditionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMinRFIDCodeLengthAttribute( + public void readDegradationDirectionAttribute( IntegerAttributeCallback callback) { - readMinRFIDCodeLengthAttribute(chipClusterPtr, callback); + readDegradationDirectionAttribute(chipClusterPtr, callback); } - public void subscribeMinRFIDCodeLengthAttribute( + public void subscribeDegradationDirectionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinRFIDCodeLengthAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeDegradationDirectionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCredentialRulesSupportAttribute( + public void readChangeIndicationAttribute( IntegerAttributeCallback callback) { - readCredentialRulesSupportAttribute(chipClusterPtr, callback); + readChangeIndicationAttribute(chipClusterPtr, callback); } - public void subscribeCredentialRulesSupportAttribute( + public void subscribeChangeIndicationAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCredentialRulesSupportAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeChangeIndicationAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readNumberOfCredentialsSupportedPerUserAttribute( - IntegerAttributeCallback callback) { - readNumberOfCredentialsSupportedPerUserAttribute(chipClusterPtr, callback); + public void readInPlaceIndicatorAttribute( + BooleanAttributeCallback callback) { + readInPlaceIndicatorAttribute(chipClusterPtr, callback); } - public void subscribeNumberOfCredentialsSupportedPerUserAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfCredentialsSupportedPerUserAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeInPlaceIndicatorAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInPlaceIndicatorAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLanguageAttribute( - CharStringAttributeCallback callback) { - readLanguageAttribute(chipClusterPtr, callback); - } - public void writeLanguageAttribute(DefaultClusterCallback callback, String value) { - writeLanguageAttribute(chipClusterPtr, callback, value, null); + public void readLastChangedTimeAttribute( + LastChangedTimeAttributeCallback callback) { + readLastChangedTimeAttribute(chipClusterPtr, callback); } - - public void writeLanguageAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { - writeLanguageAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeLastChangedTimeAttribute(DefaultClusterCallback callback, Long value) { + writeLastChangedTimeAttribute(chipClusterPtr, callback, value, null); } - - - public void subscribeLanguageAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLanguageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeLastChangedTimeAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeLastChangedTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void readLEDSettingsAttribute( - IntegerAttributeCallback callback) { - readLEDSettingsAttribute(chipClusterPtr, callback); - } - public void writeLEDSettingsAttribute(DefaultClusterCallback callback, Integer value) { - writeLEDSettingsAttribute(chipClusterPtr, callback, value, null); + public void subscribeLastChangedTimeAttribute( + LastChangedTimeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } - public void writeLEDSettingsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeLEDSettingsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); + } + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void subscribeLEDSettingsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLEDSettingsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } - public void readAutoRelockTimeAttribute( - LongAttributeCallback callback) { - readAutoRelockTimeAttribute(chipClusterPtr, callback); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void writeAutoRelockTimeAttribute(DefaultClusterCallback callback, Long value) { - writeAutoRelockTimeAttribute(chipClusterPtr, callback, value, null); + + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); } + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void writeAutoRelockTimeAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeAutoRelockTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } - public void subscribeAutoRelockTimeAttribute( + public void subscribeFeatureMapAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAutoRelockTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSoundVolumeAttribute( + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readSoundVolumeAttribute(chipClusterPtr, callback); - } - public void writeSoundVolumeAttribute(DefaultClusterCallback callback, Integer value) { - writeSoundVolumeAttribute(chipClusterPtr, callback, value, null); + readClusterRevisionAttribute(chipClusterPtr, callback); } - - public void writeSoundVolumeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeSoundVolumeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readConditionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribeConditionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeSoundVolumeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSoundVolumeAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readDegradationDirectionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readOperatingModeAttribute( - IntegerAttributeCallback callback) { - readOperatingModeAttribute(chipClusterPtr, callback); - } - public void writeOperatingModeAttribute(DefaultClusterCallback callback, Integer value) { - writeOperatingModeAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeDegradationDirectionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readChangeIndicationAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeOperatingModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOperatingModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeChangeIndicationAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readInPlaceIndicatorAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + private native void subscribeInPlaceIndicatorAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeOperatingModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOperatingModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback); - public void readSupportedOperatingModesAttribute( - IntegerAttributeCallback callback) { - readSupportedOperatingModesAttribute(chipClusterPtr, callback); - } + private native void writeLastChangedTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - public void subscribeSupportedOperatingModesAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportedOperatingModesAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback, int minInterval, int maxInterval); - public void readDefaultConfigurationRegisterAttribute( - IntegerAttributeCallback callback) { - readDefaultConfigurationRegisterAttribute(chipClusterPtr, callback); - } + private native void readReplacementProductListAttribute(long chipClusterPtr, ReplacementProductListAttributeCallback callback); - public void subscribeDefaultConfigurationRegisterAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDefaultConfigurationRegisterAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, ReplacementProductListAttributeCallback callback, int minInterval, int maxInterval); - public void readEnableLocalProgrammingAttribute( - BooleanAttributeCallback callback) { - readEnableLocalProgrammingAttribute(chipClusterPtr, callback); - } - public void writeEnableLocalProgrammingAttribute(DefaultClusterCallback callback, Boolean value) { - writeEnableLocalProgrammingAttribute(chipClusterPtr, callback, value, null); - } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void writeEnableLocalProgrammingAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { - writeEnableLocalProgrammingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - public void subscribeEnableLocalProgrammingAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEnableLocalProgrammingAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - public void readEnableOneTouchLockingAttribute( - BooleanAttributeCallback callback) { - readEnableOneTouchLockingAttribute(chipClusterPtr, callback); - } - public void writeEnableOneTouchLockingAttribute(DefaultClusterCallback callback, Boolean value) { - writeEnableOneTouchLockingAttribute(chipClusterPtr, callback, value, null); - } + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - public void writeEnableOneTouchLockingAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { - writeEnableOneTouchLockingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeEnableOneTouchLockingAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEnableOneTouchLockingAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - public void readEnableInsideStatusLEDAttribute( - BooleanAttributeCallback callback) { - readEnableInsideStatusLEDAttribute(chipClusterPtr, callback); - } - public void writeEnableInsideStatusLEDAttribute(DefaultClusterCallback callback, Boolean value) { - writeEnableInsideStatusLEDAttribute(chipClusterPtr, callback, value, null); + public static class ActivatedCarbonFilterMonitoringCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 114L; + + public ActivatedCarbonFilterMonitoringCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } + @Override + public native long initWithDevice(long devicePtr, int endpointId); - public void writeEnableInsideStatusLEDAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { - writeEnableInsideStatusLEDAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void resetCondition(DefaultClusterCallback callback) { + resetCondition(chipClusterPtr, callback, null); } + public void resetCondition(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + resetCondition(chipClusterPtr, callback, timedInvokeTimeoutMs); + } + private native void resetCondition(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - public void subscribeEnableInsideStatusLEDAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEnableInsideStatusLEDAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface LastChangedTimeAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readEnablePrivacyModeButtonAttribute( - BooleanAttributeCallback callback) { - readEnablePrivacyModeButtonAttribute(chipClusterPtr, callback); - } - public void writeEnablePrivacyModeButtonAttribute(DefaultClusterCallback callback, Boolean value) { - writeEnablePrivacyModeButtonAttribute(chipClusterPtr, callback, value, null); + public interface ReplacementProductListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - public void writeEnablePrivacyModeButtonAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { - writeEnablePrivacyModeButtonAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - public void subscribeEnablePrivacyModeButtonAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEnablePrivacyModeButtonAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readLocalProgrammingFeaturesAttribute( + public void readConditionAttribute( IntegerAttributeCallback callback) { - readLocalProgrammingFeaturesAttribute(chipClusterPtr, callback); - } - public void writeLocalProgrammingFeaturesAttribute(DefaultClusterCallback callback, Integer value) { - writeLocalProgrammingFeaturesAttribute(chipClusterPtr, callback, value, null); + readConditionAttribute(chipClusterPtr, callback); } - - public void writeLocalProgrammingFeaturesAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeLocalProgrammingFeaturesAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeConditionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeConditionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readDegradationDirectionAttribute( + IntegerAttributeCallback callback) { + readDegradationDirectionAttribute(chipClusterPtr, callback); + } - - public void subscribeLocalProgrammingFeaturesAttribute( + public void subscribeDegradationDirectionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLocalProgrammingFeaturesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeDegradationDirectionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readWrongCodeEntryLimitAttribute( + public void readChangeIndicationAttribute( IntegerAttributeCallback callback) { - readWrongCodeEntryLimitAttribute(chipClusterPtr, callback); - } - public void writeWrongCodeEntryLimitAttribute(DefaultClusterCallback callback, Integer value) { - writeWrongCodeEntryLimitAttribute(chipClusterPtr, callback, value, null); + readChangeIndicationAttribute(chipClusterPtr, callback); } - - public void writeWrongCodeEntryLimitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeWrongCodeEntryLimitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } - - - - public void subscribeWrongCodeEntryLimitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeWrongCodeEntryLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readUserCodeTemporaryDisableTimeAttribute( - IntegerAttributeCallback callback) { - readUserCodeTemporaryDisableTimeAttribute(chipClusterPtr, callback); - } - public void writeUserCodeTemporaryDisableTimeAttribute(DefaultClusterCallback callback, Integer value) { - writeUserCodeTemporaryDisableTimeAttribute(chipClusterPtr, callback, value, null); - } - - - public void writeUserCodeTemporaryDisableTimeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeUserCodeTemporaryDisableTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } - - - - public void subscribeUserCodeTemporaryDisableTimeAttribute( + public void subscribeChangeIndicationAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUserCodeTemporaryDisableTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeChangeIndicationAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSendPINOverTheAirAttribute( + public void readInPlaceIndicatorAttribute( BooleanAttributeCallback callback) { - readSendPINOverTheAirAttribute(chipClusterPtr, callback); - } - public void writeSendPINOverTheAirAttribute(DefaultClusterCallback callback, Boolean value) { - writeSendPINOverTheAirAttribute(chipClusterPtr, callback, value, null); - } - - - public void writeSendPINOverTheAirAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { - writeSendPINOverTheAirAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + readInPlaceIndicatorAttribute(chipClusterPtr, callback); } - - - public void subscribeSendPINOverTheAirAttribute( + public void subscribeInPlaceIndicatorAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSendPINOverTheAirAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeInPlaceIndicatorAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRequirePINforRemoteOperationAttribute( - BooleanAttributeCallback callback) { - readRequirePINforRemoteOperationAttribute(chipClusterPtr, callback); - } - public void writeRequirePINforRemoteOperationAttribute(DefaultClusterCallback callback, Boolean value) { - writeRequirePINforRemoteOperationAttribute(chipClusterPtr, callback, value, null); + public void readLastChangedTimeAttribute( + LastChangedTimeAttributeCallback callback) { + readLastChangedTimeAttribute(chipClusterPtr, callback); } - - public void writeRequirePINforRemoteOperationAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { - writeRequirePINforRemoteOperationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeLastChangedTimeAttribute(DefaultClusterCallback callback, Long value) { + writeLastChangedTimeAttribute(chipClusterPtr, callback, value, null); } - - - public void subscribeRequirePINforRemoteOperationAttribute( - BooleanAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRequirePINforRemoteOperationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeLastChangedTimeAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeLastChangedTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void readExpiringUserTimeoutAttribute( - IntegerAttributeCallback callback) { - readExpiringUserTimeoutAttribute(chipClusterPtr, callback); - } - public void writeExpiringUserTimeoutAttribute(DefaultClusterCallback callback, Integer value) { - writeExpiringUserTimeoutAttribute(chipClusterPtr, callback, value, null); + public void subscribeLastChangedTimeAttribute( + LastChangedTimeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - public void writeExpiringUserTimeoutAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeExpiringUserTimeoutAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback) { + readReplacementProductListAttribute(chipClusterPtr, callback); } - - - public void subscribeExpiringUserTimeoutAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeExpiringUserTimeoutAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -16118,1040 +14613,801 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readConditionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void readLockStateAttribute(long chipClusterPtr - , LockStateAttributeCallback callback); + private native void subscribeConditionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeLockStateAttribute(long chipClusterPtr - , LockStateAttributeCallback callback, int minInterval, int maxInterval); - private native void readLockTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readDegradationDirectionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeLockTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActuatorEnabledAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void subscribeDegradationDirectionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeActuatorEnabledAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readDoorStateAttribute(long chipClusterPtr - , DoorStateAttributeCallback callback); + private native void readChangeIndicationAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeDoorStateAttribute(long chipClusterPtr - , DoorStateAttributeCallback callback, int minInterval, int maxInterval); - private native void readDoorOpenEventsAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeChangeIndicationAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeDoorOpenEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + private native void readInPlaceIndicatorAttribute(long chipClusterPtr, BooleanAttributeCallback callback); - private native void subscribeDoorOpenEventsAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readDoorClosedEventsAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInPlaceIndicatorAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void writeDoorClosedEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + private native void readLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback); - private native void subscribeDoorClosedEventsAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readOpenPeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void writeLastChangedTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void writeOpenPeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOpenPeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfTotalUsersSupportedAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNumberOfTotalUsersSupportedAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfPINUsersSupportedAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNumberOfPINUsersSupportedAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfRFIDUsersSupportedAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNumberOfRFIDUsersSupportedAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfWeekDaySchedulesSupportedPerUserAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNumberOfWeekDaySchedulesSupportedPerUserAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfYearDaySchedulesSupportedPerUserAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNumberOfYearDaySchedulesSupportedPerUserAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfHolidaySchedulesSupportedAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNumberOfHolidaySchedulesSupportedAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxPINCodeLengthAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMaxPINCodeLengthAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinPINCodeLengthAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMinPINCodeLengthAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxRFIDCodeLengthAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMaxRFIDCodeLengthAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinRFIDCodeLengthAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMinRFIDCodeLengthAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCredentialRulesSupportAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeCredentialRulesSupportAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfCredentialsSupportedPerUserAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNumberOfCredentialsSupportedPerUserAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLanguageAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void readReplacementProductListAttribute(long chipClusterPtr, ReplacementProductListAttributeCallback callback); - private native void writeLanguageAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, ReplacementProductListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeLanguageAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readLEDSettingsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void writeLEDSettingsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeLEDSettingsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAutoRelockTimeAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void writeAutoRelockTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAutoRelockTimeAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readSoundVolumeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void writeSoundVolumeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSoundVolumeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOperatingModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void writeOperatingModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOperatingModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedOperatingModesAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeSupportedOperatingModesAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDefaultConfigurationRegisterAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeDefaultConfigurationRegisterAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readEnableLocalProgrammingAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeEnableLocalProgrammingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - private native void subscribeEnableLocalProgrammingAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readEnableOneTouchLockingAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + public static class DoorLockCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 257L; - private native void writeEnableOneTouchLockingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); + public DoorLockCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } - private native void subscribeEnableOneTouchLockingAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readEnableInsideStatusLEDAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + @Override + public native long initWithDevice(long devicePtr, int endpointId); - private native void writeEnableInsideStatusLEDAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeEnableInsideStatusLEDAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readEnablePrivacyModeButtonAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + public void lockDoor(DefaultClusterCallback callback, Optional PINCode, int timedInvokeTimeoutMs) { + lockDoor(chipClusterPtr, callback, PINCode, timedInvokeTimeoutMs); + } - private native void writeEnablePrivacyModeButtonAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeEnablePrivacyModeButtonAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readLocalProgrammingFeaturesAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void unlockDoor(DefaultClusterCallback callback, Optional PINCode, int timedInvokeTimeoutMs) { + unlockDoor(chipClusterPtr, callback, PINCode, timedInvokeTimeoutMs); + } - private native void writeLocalProgrammingFeaturesAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeLocalProgrammingFeaturesAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readWrongCodeEntryLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void unlockWithTimeout(DefaultClusterCallback callback, Integer timeout, Optional PINCode, int timedInvokeTimeoutMs) { + unlockWithTimeout(chipClusterPtr, callback, timeout, PINCode, timedInvokeTimeoutMs); + } - private native void writeWrongCodeEntryLimitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void setWeekDaySchedule(DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex, Integer daysMask, Integer startHour, Integer startMinute, Integer endHour, Integer endMinute) { + setWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, daysMask, startHour, startMinute, endHour, endMinute, null); + } - private native void subscribeWrongCodeEntryLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readUserCodeTemporaryDisableTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void setWeekDaySchedule(DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex, Integer daysMask, Integer startHour, Integer startMinute, Integer endHour, Integer endMinute, int timedInvokeTimeoutMs) { + setWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, daysMask, startHour, startMinute, endHour, endMinute, timedInvokeTimeoutMs); + } - private native void writeUserCodeTemporaryDisableTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void getWeekDaySchedule(GetWeekDayScheduleResponseCallback callback, Integer weekDayIndex, Integer userIndex) { + getWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, null); + } - private native void subscribeUserCodeTemporaryDisableTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSendPINOverTheAirAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + public void getWeekDaySchedule(GetWeekDayScheduleResponseCallback callback, Integer weekDayIndex, Integer userIndex, int timedInvokeTimeoutMs) { + getWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, timedInvokeTimeoutMs); + } - private native void writeSendPINOverTheAirAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); + public void clearWeekDaySchedule(DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex) { + clearWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, null); + } - private native void subscribeSendPINOverTheAirAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readRequirePINforRemoteOperationAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + public void clearWeekDaySchedule(DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex, int timedInvokeTimeoutMs) { + clearWeekDaySchedule(chipClusterPtr, callback, weekDayIndex, userIndex, timedInvokeTimeoutMs); + } - private native void writeRequirePINforRemoteOperationAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); + public void setYearDaySchedule(DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex, Long localStartTime, Long localEndTime) { + setYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, localStartTime, localEndTime, null); + } - private native void subscribeRequirePINforRemoteOperationAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readExpiringUserTimeoutAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void setYearDaySchedule(DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex, Long localStartTime, Long localEndTime, int timedInvokeTimeoutMs) { + setYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, localStartTime, localEndTime, timedInvokeTimeoutMs); + } - private native void writeExpiringUserTimeoutAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void getYearDaySchedule(GetYearDayScheduleResponseCallback callback, Integer yearDayIndex, Integer userIndex) { + getYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, null); + } - private native void subscribeExpiringUserTimeoutAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class WindowCoveringCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 258L; + public void getYearDaySchedule(GetYearDayScheduleResponseCallback callback, Integer yearDayIndex, Integer userIndex, int timedInvokeTimeoutMs) { + getYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, timedInvokeTimeoutMs); + } - public WindowCoveringCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void clearYearDaySchedule(DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex) { + clearYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, null); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); + public void clearYearDaySchedule(DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex, int timedInvokeTimeoutMs) { + clearYearDaySchedule(chipClusterPtr, callback, yearDayIndex, userIndex, timedInvokeTimeoutMs); + } + public void setHolidaySchedule(DefaultClusterCallback callback, Integer holidayIndex, Long localStartTime, Long localEndTime, Integer operatingMode) { + setHolidaySchedule(chipClusterPtr, callback, holidayIndex, localStartTime, localEndTime, operatingMode, null); + } - public void upOrOpen(DefaultClusterCallback callback) { - upOrOpen(chipClusterPtr, callback, null); + public void setHolidaySchedule(DefaultClusterCallback callback, Integer holidayIndex, Long localStartTime, Long localEndTime, Integer operatingMode, int timedInvokeTimeoutMs) { + setHolidaySchedule(chipClusterPtr, callback, holidayIndex, localStartTime, localEndTime, operatingMode, timedInvokeTimeoutMs); } - public void upOrOpen(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - upOrOpen(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void getHolidaySchedule(GetHolidayScheduleResponseCallback callback, Integer holidayIndex) { + getHolidaySchedule(chipClusterPtr, callback, holidayIndex, null); } - public void downOrClose(DefaultClusterCallback callback) { - downOrClose(chipClusterPtr, callback, null); + public void getHolidaySchedule(GetHolidayScheduleResponseCallback callback, Integer holidayIndex, int timedInvokeTimeoutMs) { + getHolidaySchedule(chipClusterPtr, callback, holidayIndex, timedInvokeTimeoutMs); } - public void downOrClose(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - downOrClose(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void clearHolidaySchedule(DefaultClusterCallback callback, Integer holidayIndex) { + clearHolidaySchedule(chipClusterPtr, callback, holidayIndex, null); } - public void stopMotion(DefaultClusterCallback callback) { - stopMotion(chipClusterPtr, callback, null); + public void clearHolidaySchedule(DefaultClusterCallback callback, Integer holidayIndex, int timedInvokeTimeoutMs) { + clearHolidaySchedule(chipClusterPtr, callback, holidayIndex, timedInvokeTimeoutMs); } - public void stopMotion(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - stopMotion(chipClusterPtr, callback, timedInvokeTimeoutMs); + + public void setUser(DefaultClusterCallback callback, Integer operationType, Integer userIndex, @Nullable String userName, @Nullable Long userUniqueID, @Nullable Integer userStatus, @Nullable Integer userType, @Nullable Integer credentialRule, int timedInvokeTimeoutMs) { + setUser(chipClusterPtr, callback, operationType, userIndex, userName, userUniqueID, userStatus, userType, credentialRule, timedInvokeTimeoutMs); } - public void goToLiftValue(DefaultClusterCallback callback, Integer liftValue) { - goToLiftValue(chipClusterPtr, callback, liftValue, null); + public void getUser(GetUserResponseCallback callback, Integer userIndex) { + getUser(chipClusterPtr, callback, userIndex, null); } - public void goToLiftValue(DefaultClusterCallback callback, Integer liftValue, int timedInvokeTimeoutMs) { - goToLiftValue(chipClusterPtr, callback, liftValue, timedInvokeTimeoutMs); + public void getUser(GetUserResponseCallback callback, Integer userIndex, int timedInvokeTimeoutMs) { + getUser(chipClusterPtr, callback, userIndex, timedInvokeTimeoutMs); } - public void goToLiftPercentage(DefaultClusterCallback callback, Integer liftPercent100thsValue) { - goToLiftPercentage(chipClusterPtr, callback, liftPercent100thsValue, null); + + public void clearUser(DefaultClusterCallback callback, Integer userIndex, int timedInvokeTimeoutMs) { + clearUser(chipClusterPtr, callback, userIndex, timedInvokeTimeoutMs); } - public void goToLiftPercentage(DefaultClusterCallback callback, Integer liftPercent100thsValue, int timedInvokeTimeoutMs) { - goToLiftPercentage(chipClusterPtr, callback, liftPercent100thsValue, timedInvokeTimeoutMs); + + public void setCredential(SetCredentialResponseCallback callback, Integer operationType, ChipStructs.DoorLockClusterCredentialStruct credential, byte[] credentialData, @Nullable Integer userIndex, @Nullable Integer userStatus, @Nullable Integer userType, int timedInvokeTimeoutMs) { + setCredential(chipClusterPtr, callback, operationType, credential, credentialData, userIndex, userStatus, userType, timedInvokeTimeoutMs); } - public void goToTiltValue(DefaultClusterCallback callback, Integer tiltValue) { - goToTiltValue(chipClusterPtr, callback, tiltValue, null); + public void getCredentialStatus(GetCredentialStatusResponseCallback callback, ChipStructs.DoorLockClusterCredentialStruct credential) { + getCredentialStatus(chipClusterPtr, callback, credential, null); } - public void goToTiltValue(DefaultClusterCallback callback, Integer tiltValue, int timedInvokeTimeoutMs) { - goToTiltValue(chipClusterPtr, callback, tiltValue, timedInvokeTimeoutMs); + public void getCredentialStatus(GetCredentialStatusResponseCallback callback, ChipStructs.DoorLockClusterCredentialStruct credential, int timedInvokeTimeoutMs) { + getCredentialStatus(chipClusterPtr, callback, credential, timedInvokeTimeoutMs); } - public void goToTiltPercentage(DefaultClusterCallback callback, Integer tiltPercent100thsValue) { - goToTiltPercentage(chipClusterPtr, callback, tiltPercent100thsValue, null); + + public void clearCredential(DefaultClusterCallback callback, @Nullable ChipStructs.DoorLockClusterCredentialStruct credential, int timedInvokeTimeoutMs) { + clearCredential(chipClusterPtr, callback, credential, timedInvokeTimeoutMs); } - public void goToTiltPercentage(DefaultClusterCallback callback, Integer tiltPercent100thsValue, int timedInvokeTimeoutMs) { - goToTiltPercentage(chipClusterPtr, callback, tiltPercent100thsValue, timedInvokeTimeoutMs); + + public void unboltDoor(DefaultClusterCallback callback, Optional PINCode, int timedInvokeTimeoutMs) { + unboltDoor(chipClusterPtr, callback, PINCode, timedInvokeTimeoutMs); } - private native void upOrOpen(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void lockDoor(long chipClusterPtr, DefaultClusterCallback callback, Optional PINCode, @Nullable Integer timedInvokeTimeoutMs); - private native void downOrClose(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void unlockDoor(long chipClusterPtr, DefaultClusterCallback callback, Optional PINCode, @Nullable Integer timedInvokeTimeoutMs); - private native void stopMotion(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void unlockWithTimeout(long chipClusterPtr, DefaultClusterCallback callback, Integer timeout, Optional PINCode, @Nullable Integer timedInvokeTimeoutMs); - private native void goToLiftValue(long chipClusterPtr, DefaultClusterCallback callback, Integer liftValue, @Nullable Integer timedInvokeTimeoutMs); + private native void setWeekDaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex, Integer daysMask, Integer startHour, Integer startMinute, Integer endHour, Integer endMinute, @Nullable Integer timedInvokeTimeoutMs); - private native void goToLiftPercentage(long chipClusterPtr, DefaultClusterCallback callback, Integer liftPercent100thsValue, @Nullable Integer timedInvokeTimeoutMs); + private native void getWeekDaySchedule(long chipClusterPtr, GetWeekDayScheduleResponseCallback callback, Integer weekDayIndex, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); - private native void goToTiltValue(long chipClusterPtr, DefaultClusterCallback callback, Integer tiltValue, @Nullable Integer timedInvokeTimeoutMs); + private native void clearWeekDaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer weekDayIndex, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); - private native void goToTiltPercentage(long chipClusterPtr, DefaultClusterCallback callback, Integer tiltPercent100thsValue, @Nullable Integer timedInvokeTimeoutMs); + private native void setYearDaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex, Long localStartTime, Long localEndTime, @Nullable Integer timedInvokeTimeoutMs); - public interface CurrentPositionLiftAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface CurrentPositionTiltAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + private native void getYearDaySchedule(long chipClusterPtr, GetYearDayScheduleResponseCallback callback, Integer yearDayIndex, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); + + private native void clearYearDaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer yearDayIndex, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); + + private native void setHolidaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer holidayIndex, Long localStartTime, Long localEndTime, Integer operatingMode, @Nullable Integer timedInvokeTimeoutMs); + + private native void getHolidaySchedule(long chipClusterPtr, GetHolidayScheduleResponseCallback callback, Integer holidayIndex, @Nullable Integer timedInvokeTimeoutMs); + + private native void clearHolidaySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer holidayIndex, @Nullable Integer timedInvokeTimeoutMs); + + private native void setUser(long chipClusterPtr, DefaultClusterCallback callback, Integer operationType, Integer userIndex, @Nullable String userName, @Nullable Long userUniqueID, @Nullable Integer userStatus, @Nullable Integer userType, @Nullable Integer credentialRule, @Nullable Integer timedInvokeTimeoutMs); + + private native void getUser(long chipClusterPtr, GetUserResponseCallback callback, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); + + private native void clearUser(long chipClusterPtr, DefaultClusterCallback callback, Integer userIndex, @Nullable Integer timedInvokeTimeoutMs); + + private native void setCredential(long chipClusterPtr, SetCredentialResponseCallback callback, Integer operationType, ChipStructs.DoorLockClusterCredentialStruct credential, byte[] credentialData, @Nullable Integer userIndex, @Nullable Integer userStatus, @Nullable Integer userType, @Nullable Integer timedInvokeTimeoutMs); + + private native void getCredentialStatus(long chipClusterPtr, GetCredentialStatusResponseCallback callback, ChipStructs.DoorLockClusterCredentialStruct credential, @Nullable Integer timedInvokeTimeoutMs); + + private native void clearCredential(long chipClusterPtr, DefaultClusterCallback callback, @Nullable ChipStructs.DoorLockClusterCredentialStruct credential, @Nullable Integer timedInvokeTimeoutMs); + + private native void unboltDoor(long chipClusterPtr, DefaultClusterCallback callback, Optional PINCode, @Nullable Integer timedInvokeTimeoutMs); + + public interface GetWeekDayScheduleResponseCallback { + void onSuccess(Integer weekDayIndex, Integer userIndex, Integer status, Optional daysMask, Optional startHour, Optional startMinute, Optional endHour, Optional endMinute); + void onError(Exception error); } - public interface CurrentPositionLiftPercentageAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public interface GetYearDayScheduleResponseCallback { + void onSuccess(Integer yearDayIndex, Integer userIndex, Integer status, Optional localStartTime, Optional localEndTime); + void onError(Exception error); } - public interface CurrentPositionTiltPercentageAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public interface GetHolidayScheduleResponseCallback { + void onSuccess(Integer holidayIndex, Integer status, Optional localStartTime, Optional localEndTime, Optional operatingMode); + void onError(Exception error); } - public interface TargetPositionLiftPercent100thsAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public interface GetUserResponseCallback { + void onSuccess(Integer userIndex, @Nullable String userName, @Nullable Long userUniqueID, @Nullable Integer userStatus, @Nullable Integer userType, @Nullable Integer credentialRule, @Nullable ArrayList credentials, @Nullable Integer creatorFabricIndex, @Nullable Integer lastModifiedFabricIndex, @Nullable Integer nextUserIndex); + void onError(Exception error); } - public interface TargetPositionTiltPercent100thsAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public interface SetCredentialResponseCallback { + void onSuccess(Integer status, @Nullable Integer userIndex, @Nullable Integer nextCredentialIndex); + void onError(Exception error); } - public interface CurrentPositionLiftPercent100thsAttributeCallback { + + public interface GetCredentialStatusResponseCallback { + void onSuccess(Boolean credentialExists, @Nullable Integer userIndex, @Nullable Integer creatorFabricIndex, @Nullable Integer lastModifiedFabricIndex, @Nullable Integer nextCredentialIndex); + void onError(Exception error); + } + + public interface LockStateAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface CurrentPositionTiltPercent100thsAttributeCallback { + + public interface DoorStateAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readTypeAttribute( - IntegerAttributeCallback callback) { - readTypeAttribute(chipClusterPtr, callback); + public void readLockStateAttribute( + LockStateAttributeCallback callback) { + readLockStateAttribute(chipClusterPtr, callback); } - public void subscribeTypeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeLockStateAttribute( + LockStateAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLockStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPhysicalClosedLimitLiftAttribute( + public void readLockTypeAttribute( IntegerAttributeCallback callback) { - readPhysicalClosedLimitLiftAttribute(chipClusterPtr, callback); + readLockTypeAttribute(chipClusterPtr, callback); } - public void subscribePhysicalClosedLimitLiftAttribute( + public void subscribeLockTypeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePhysicalClosedLimitLiftAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeLockTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPhysicalClosedLimitTiltAttribute( - IntegerAttributeCallback callback) { - readPhysicalClosedLimitTiltAttribute(chipClusterPtr, callback); + public void readActuatorEnabledAttribute( + BooleanAttributeCallback callback) { + readActuatorEnabledAttribute(chipClusterPtr, callback); } - public void subscribePhysicalClosedLimitTiltAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePhysicalClosedLimitTiltAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeActuatorEnabledAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActuatorEnabledAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentPositionLiftAttribute( - CurrentPositionLiftAttributeCallback callback) { - readCurrentPositionLiftAttribute(chipClusterPtr, callback); + public void readDoorStateAttribute( + DoorStateAttributeCallback callback) { + readDoorStateAttribute(chipClusterPtr, callback); } - public void subscribeCurrentPositionLiftAttribute( - CurrentPositionLiftAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentPositionLiftAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeDoorStateAttribute( + DoorStateAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDoorStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentPositionTiltAttribute( - CurrentPositionTiltAttributeCallback callback) { - readCurrentPositionTiltAttribute(chipClusterPtr, callback); + public void readDoorOpenEventsAttribute( + LongAttributeCallback callback) { + readDoorOpenEventsAttribute(chipClusterPtr, callback); } - public void subscribeCurrentPositionTiltAttribute( - CurrentPositionTiltAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentPositionTiltAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeDoorOpenEventsAttribute(DefaultClusterCallback callback, Long value) { + writeDoorOpenEventsAttribute(chipClusterPtr, callback, value, null); } - public void readNumberOfActuationsLiftAttribute( - IntegerAttributeCallback callback) { - readNumberOfActuationsLiftAttribute(chipClusterPtr, callback); + public void writeDoorOpenEventsAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeDoorOpenEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeNumberOfActuationsLiftAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfActuationsLiftAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeDoorOpenEventsAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDoorOpenEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readNumberOfActuationsTiltAttribute( - IntegerAttributeCallback callback) { - readNumberOfActuationsTiltAttribute(chipClusterPtr, callback); + public void readDoorClosedEventsAttribute( + LongAttributeCallback callback) { + readDoorClosedEventsAttribute(chipClusterPtr, callback); } - public void subscribeNumberOfActuationsTiltAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfActuationsTiltAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeDoorClosedEventsAttribute(DefaultClusterCallback callback, Long value) { + writeDoorClosedEventsAttribute(chipClusterPtr, callback, value, null); } - public void readConfigStatusAttribute( - IntegerAttributeCallback callback) { - readConfigStatusAttribute(chipClusterPtr, callback); + public void writeDoorClosedEventsAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeDoorClosedEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeConfigStatusAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeConfigStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeDoorClosedEventsAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDoorClosedEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentPositionLiftPercentageAttribute( - CurrentPositionLiftPercentageAttributeCallback callback) { - readCurrentPositionLiftPercentageAttribute(chipClusterPtr, callback); + public void readOpenPeriodAttribute( + IntegerAttributeCallback callback) { + readOpenPeriodAttribute(chipClusterPtr, callback); } - public void subscribeCurrentPositionLiftPercentageAttribute( - CurrentPositionLiftPercentageAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentPositionLiftPercentageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeOpenPeriodAttribute(DefaultClusterCallback callback, Integer value) { + writeOpenPeriodAttribute(chipClusterPtr, callback, value, null); } - public void readCurrentPositionTiltPercentageAttribute( - CurrentPositionTiltPercentageAttributeCallback callback) { - readCurrentPositionTiltPercentageAttribute(chipClusterPtr, callback); + public void writeOpenPeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOpenPeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeCurrentPositionTiltPercentageAttribute( - CurrentPositionTiltPercentageAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentPositionTiltPercentageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOpenPeriodAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOpenPeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOperationalStatusAttribute( + public void readNumberOfTotalUsersSupportedAttribute( IntegerAttributeCallback callback) { - readOperationalStatusAttribute(chipClusterPtr, callback); + readNumberOfTotalUsersSupportedAttribute(chipClusterPtr, callback); } - public void subscribeOperationalStatusAttribute( + public void subscribeNumberOfTotalUsersSupportedAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOperationalStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeNumberOfTotalUsersSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readTargetPositionLiftPercent100thsAttribute( - TargetPositionLiftPercent100thsAttributeCallback callback) { - readTargetPositionLiftPercent100thsAttribute(chipClusterPtr, callback); + public void readNumberOfPINUsersSupportedAttribute( + IntegerAttributeCallback callback) { + readNumberOfPINUsersSupportedAttribute(chipClusterPtr, callback); } - public void subscribeTargetPositionLiftPercent100thsAttribute( - TargetPositionLiftPercent100thsAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTargetPositionLiftPercent100thsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeNumberOfPINUsersSupportedAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNumberOfPINUsersSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readTargetPositionTiltPercent100thsAttribute( - TargetPositionTiltPercent100thsAttributeCallback callback) { - readTargetPositionTiltPercent100thsAttribute(chipClusterPtr, callback); + public void readNumberOfRFIDUsersSupportedAttribute( + IntegerAttributeCallback callback) { + readNumberOfRFIDUsersSupportedAttribute(chipClusterPtr, callback); } - public void subscribeTargetPositionTiltPercent100thsAttribute( - TargetPositionTiltPercent100thsAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTargetPositionTiltPercent100thsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeNumberOfRFIDUsersSupportedAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNumberOfRFIDUsersSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEndProductTypeAttribute( + public void readNumberOfWeekDaySchedulesSupportedPerUserAttribute( IntegerAttributeCallback callback) { - readEndProductTypeAttribute(chipClusterPtr, callback); + readNumberOfWeekDaySchedulesSupportedPerUserAttribute(chipClusterPtr, callback); } - public void subscribeEndProductTypeAttribute( + public void subscribeNumberOfWeekDaySchedulesSupportedPerUserAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEndProductTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeNumberOfWeekDaySchedulesSupportedPerUserAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentPositionLiftPercent100thsAttribute( - CurrentPositionLiftPercent100thsAttributeCallback callback) { - readCurrentPositionLiftPercent100thsAttribute(chipClusterPtr, callback); + public void readNumberOfYearDaySchedulesSupportedPerUserAttribute( + IntegerAttributeCallback callback) { + readNumberOfYearDaySchedulesSupportedPerUserAttribute(chipClusterPtr, callback); } - public void subscribeCurrentPositionLiftPercent100thsAttribute( - CurrentPositionLiftPercent100thsAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentPositionLiftPercent100thsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeNumberOfYearDaySchedulesSupportedPerUserAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNumberOfYearDaySchedulesSupportedPerUserAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentPositionTiltPercent100thsAttribute( - CurrentPositionTiltPercent100thsAttributeCallback callback) { - readCurrentPositionTiltPercent100thsAttribute(chipClusterPtr, callback); + public void readNumberOfHolidaySchedulesSupportedAttribute( + IntegerAttributeCallback callback) { + readNumberOfHolidaySchedulesSupportedAttribute(chipClusterPtr, callback); } - public void subscribeCurrentPositionTiltPercent100thsAttribute( - CurrentPositionTiltPercent100thsAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentPositionTiltPercent100thsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeNumberOfHolidaySchedulesSupportedAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNumberOfHolidaySchedulesSupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readInstalledOpenLimitLiftAttribute( + public void readMaxPINCodeLengthAttribute( IntegerAttributeCallback callback) { - readInstalledOpenLimitLiftAttribute(chipClusterPtr, callback); + readMaxPINCodeLengthAttribute(chipClusterPtr, callback); } - public void subscribeInstalledOpenLimitLiftAttribute( + public void subscribeMaxPINCodeLengthAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInstalledOpenLimitLiftAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeMaxPINCodeLengthAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readInstalledClosedLimitLiftAttribute( + public void readMinPINCodeLengthAttribute( IntegerAttributeCallback callback) { - readInstalledClosedLimitLiftAttribute(chipClusterPtr, callback); + readMinPINCodeLengthAttribute(chipClusterPtr, callback); } - public void subscribeInstalledClosedLimitLiftAttribute( + public void subscribeMinPINCodeLengthAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInstalledClosedLimitLiftAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeMinPINCodeLengthAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readInstalledOpenLimitTiltAttribute( + public void readMaxRFIDCodeLengthAttribute( IntegerAttributeCallback callback) { - readInstalledOpenLimitTiltAttribute(chipClusterPtr, callback); + readMaxRFIDCodeLengthAttribute(chipClusterPtr, callback); } - public void subscribeInstalledOpenLimitTiltAttribute( + public void subscribeMaxRFIDCodeLengthAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInstalledOpenLimitTiltAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeMaxRFIDCodeLengthAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readInstalledClosedLimitTiltAttribute( + public void readMinRFIDCodeLengthAttribute( IntegerAttributeCallback callback) { - readInstalledClosedLimitTiltAttribute(chipClusterPtr, callback); + readMinRFIDCodeLengthAttribute(chipClusterPtr, callback); } - public void subscribeInstalledClosedLimitTiltAttribute( + public void subscribeMinRFIDCodeLengthAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInstalledClosedLimitTiltAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeMinRFIDCodeLengthAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readModeAttribute( + public void readCredentialRulesSupportAttribute( IntegerAttributeCallback callback) { - readModeAttribute(chipClusterPtr, callback); - } - public void writeModeAttribute(DefaultClusterCallback callback, Integer value) { - writeModeAttribute(chipClusterPtr, callback, value, null); - } - - - public void writeModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + readCredentialRulesSupportAttribute(chipClusterPtr, callback); } - - - public void subscribeModeAttribute( + public void subscribeCredentialRulesSupportAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeCredentialRulesSupportAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSafetyStatusAttribute( + public void readNumberOfCredentialsSupportedPerUserAttribute( IntegerAttributeCallback callback) { - readSafetyStatusAttribute(chipClusterPtr, callback); + readNumberOfCredentialsSupportedPerUserAttribute(chipClusterPtr, callback); } - public void subscribeSafetyStatusAttribute( + public void subscribeNumberOfCredentialsSupportedPerUserAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSafetyStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeNumberOfCredentialsSupportedPerUserAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void readLanguageAttribute( + CharStringAttributeCallback callback) { + readLanguageAttribute(chipClusterPtr, callback); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeLanguageAttribute(DefaultClusterCallback callback, String value) { + writeLanguageAttribute(chipClusterPtr, callback, value, null); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void writeLanguageAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { + writeLanguageAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeLanguageAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLanguageAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void readLEDSettingsAttribute( + IntegerAttributeCallback callback) { + readLEDSettingsAttribute(chipClusterPtr, callback); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeLEDSettingsAttribute(DefaultClusterCallback callback, Integer value) { + writeLEDSettingsAttribute(chipClusterPtr, callback, value, null); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void writeLEDSettingsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeLEDSettingsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeLEDSettingsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLEDSettingsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFeatureMapAttribute( + public void readAutoRelockTimeAttribute( LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + readAutoRelockTimeAttribute(chipClusterPtr, callback); } - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeAutoRelockTimeAttribute(DefaultClusterCallback callback, Long value) { + writeAutoRelockTimeAttribute(chipClusterPtr, callback, value, null); } - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + public void writeAutoRelockTimeAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeAutoRelockTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAutoRelockTimeAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAutoRelockTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPhysicalClosedLimitLiftAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePhysicalClosedLimitLiftAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPhysicalClosedLimitTiltAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePhysicalClosedLimitTiltAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentPositionLiftAttribute(long chipClusterPtr - , CurrentPositionLiftAttributeCallback callback); - - private native void subscribeCurrentPositionLiftAttribute(long chipClusterPtr - , CurrentPositionLiftAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentPositionTiltAttribute(long chipClusterPtr - , CurrentPositionTiltAttributeCallback callback); - - private native void subscribeCurrentPositionTiltAttribute(long chipClusterPtr - , CurrentPositionTiltAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfActuationsLiftAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNumberOfActuationsLiftAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfActuationsTiltAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNumberOfActuationsTiltAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readConfigStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeConfigStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentPositionLiftPercentageAttribute(long chipClusterPtr - , CurrentPositionLiftPercentageAttributeCallback callback); - - private native void subscribeCurrentPositionLiftPercentageAttribute(long chipClusterPtr - , CurrentPositionLiftPercentageAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentPositionTiltPercentageAttribute(long chipClusterPtr - , CurrentPositionTiltPercentageAttributeCallback callback); - - private native void subscribeCurrentPositionTiltPercentageAttribute(long chipClusterPtr - , CurrentPositionTiltPercentageAttributeCallback callback, int minInterval, int maxInterval); - private native void readOperationalStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeOperationalStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readTargetPositionLiftPercent100thsAttribute(long chipClusterPtr - , TargetPositionLiftPercent100thsAttributeCallback callback); - - private native void subscribeTargetPositionLiftPercent100thsAttribute(long chipClusterPtr - , TargetPositionLiftPercent100thsAttributeCallback callback, int minInterval, int maxInterval); - private native void readTargetPositionTiltPercent100thsAttribute(long chipClusterPtr - , TargetPositionTiltPercent100thsAttributeCallback callback); - - private native void subscribeTargetPositionTiltPercent100thsAttribute(long chipClusterPtr - , TargetPositionTiltPercent100thsAttributeCallback callback, int minInterval, int maxInterval); - private native void readEndProductTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeEndProductTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentPositionLiftPercent100thsAttribute(long chipClusterPtr - , CurrentPositionLiftPercent100thsAttributeCallback callback); - - private native void subscribeCurrentPositionLiftPercent100thsAttribute(long chipClusterPtr - , CurrentPositionLiftPercent100thsAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentPositionTiltPercent100thsAttribute(long chipClusterPtr - , CurrentPositionTiltPercent100thsAttributeCallback callback); - - private native void subscribeCurrentPositionTiltPercent100thsAttribute(long chipClusterPtr - , CurrentPositionTiltPercent100thsAttributeCallback callback, int minInterval, int maxInterval); - private native void readInstalledOpenLimitLiftAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeInstalledOpenLimitLiftAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInstalledClosedLimitLiftAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeInstalledClosedLimitLiftAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInstalledOpenLimitTiltAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeInstalledOpenLimitTiltAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInstalledClosedLimitTiltAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeInstalledClosedLimitTiltAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void writeModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribeModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSafetyStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeSafetyStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class BarrierControlCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 259L; - - public BarrierControlCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void readSoundVolumeAttribute( + IntegerAttributeCallback callback) { + readSoundVolumeAttribute(chipClusterPtr, callback); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); - - - public void barrierControlGoToPercent(DefaultClusterCallback callback, Integer percentOpen) { - barrierControlGoToPercent(chipClusterPtr, callback, percentOpen, null); + public void writeSoundVolumeAttribute(DefaultClusterCallback callback, Integer value) { + writeSoundVolumeAttribute(chipClusterPtr, callback, value, null); } - public void barrierControlGoToPercent(DefaultClusterCallback callback, Integer percentOpen, int timedInvokeTimeoutMs) { - barrierControlGoToPercent(chipClusterPtr, callback, percentOpen, timedInvokeTimeoutMs); + public void writeSoundVolumeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeSoundVolumeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void barrierControlStop(DefaultClusterCallback callback) { - barrierControlStop(chipClusterPtr, callback, null); + public void subscribeSoundVolumeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSoundVolumeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void barrierControlStop(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - barrierControlStop(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readOperatingModeAttribute( + IntegerAttributeCallback callback) { + readOperatingModeAttribute(chipClusterPtr, callback); } - private native void barrierControlGoToPercent(long chipClusterPtr, DefaultClusterCallback callback, Integer percentOpen, @Nullable Integer timedInvokeTimeoutMs); - - private native void barrierControlStop(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void writeOperatingModeAttribute(DefaultClusterCallback callback, Integer value) { + writeOperatingModeAttribute(chipClusterPtr, callback, value, null); } - public void readBarrierMovingStateAttribute( - IntegerAttributeCallback callback) { - readBarrierMovingStateAttribute(chipClusterPtr, callback); + public void writeOperatingModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOperatingModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeBarrierMovingStateAttribute( + public void subscribeOperatingModeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBarrierMovingStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeOperatingModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readBarrierSafetyStatusAttribute( + public void readSupportedOperatingModesAttribute( IntegerAttributeCallback callback) { - readBarrierSafetyStatusAttribute(chipClusterPtr, callback); + readSupportedOperatingModesAttribute(chipClusterPtr, callback); } - public void subscribeBarrierSafetyStatusAttribute( + public void subscribeSupportedOperatingModesAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBarrierSafetyStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeSupportedOperatingModesAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readBarrierCapabilitiesAttribute( + public void readDefaultConfigurationRegisterAttribute( IntegerAttributeCallback callback) { - readBarrierCapabilitiesAttribute(chipClusterPtr, callback); + readDefaultConfigurationRegisterAttribute(chipClusterPtr, callback); } - public void subscribeBarrierCapabilitiesAttribute( + public void subscribeDefaultConfigurationRegisterAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBarrierCapabilitiesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeDefaultConfigurationRegisterAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readBarrierOpenEventsAttribute( - IntegerAttributeCallback callback) { - readBarrierOpenEventsAttribute(chipClusterPtr, callback); - } - public void writeBarrierOpenEventsAttribute(DefaultClusterCallback callback, Integer value) { - writeBarrierOpenEventsAttribute(chipClusterPtr, callback, value, null); + public void readEnableLocalProgrammingAttribute( + BooleanAttributeCallback callback) { + readEnableLocalProgrammingAttribute(chipClusterPtr, callback); } - - public void writeBarrierOpenEventsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeBarrierOpenEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeEnableLocalProgrammingAttribute(DefaultClusterCallback callback, Boolean value) { + writeEnableLocalProgrammingAttribute(chipClusterPtr, callback, value, null); } + public void writeEnableLocalProgrammingAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + writeEnableLocalProgrammingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeBarrierOpenEventsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBarrierOpenEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeEnableLocalProgrammingAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEnableLocalProgrammingAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readBarrierCloseEventsAttribute( - IntegerAttributeCallback callback) { - readBarrierCloseEventsAttribute(chipClusterPtr, callback); + public void readEnableOneTouchLockingAttribute( + BooleanAttributeCallback callback) { + readEnableOneTouchLockingAttribute(chipClusterPtr, callback); } - public void writeBarrierCloseEventsAttribute(DefaultClusterCallback callback, Integer value) { - writeBarrierCloseEventsAttribute(chipClusterPtr, callback, value, null); + + public void writeEnableOneTouchLockingAttribute(DefaultClusterCallback callback, Boolean value) { + writeEnableOneTouchLockingAttribute(chipClusterPtr, callback, value, null); } + public void writeEnableOneTouchLockingAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + writeEnableOneTouchLockingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - public void writeBarrierCloseEventsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeBarrierCloseEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeEnableOneTouchLockingAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEnableOneTouchLockingAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readEnableInsideStatusLEDAttribute( + BooleanAttributeCallback callback) { + readEnableInsideStatusLEDAttribute(chipClusterPtr, callback); + } + public void writeEnableInsideStatusLEDAttribute(DefaultClusterCallback callback, Boolean value) { + writeEnableInsideStatusLEDAttribute(chipClusterPtr, callback, value, null); + } - public void subscribeBarrierCloseEventsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBarrierCloseEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeEnableInsideStatusLEDAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + writeEnableInsideStatusLEDAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void readBarrierCommandOpenEventsAttribute( - IntegerAttributeCallback callback) { - readBarrierCommandOpenEventsAttribute(chipClusterPtr, callback); - } - public void writeBarrierCommandOpenEventsAttribute(DefaultClusterCallback callback, Integer value) { - writeBarrierCommandOpenEventsAttribute(chipClusterPtr, callback, value, null); + public void subscribeEnableInsideStatusLEDAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEnableInsideStatusLEDAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - public void writeBarrierCommandOpenEventsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeBarrierCommandOpenEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readEnablePrivacyModeButtonAttribute( + BooleanAttributeCallback callback) { + readEnablePrivacyModeButtonAttribute(chipClusterPtr, callback); } + public void writeEnablePrivacyModeButtonAttribute(DefaultClusterCallback callback, Boolean value) { + writeEnablePrivacyModeButtonAttribute(chipClusterPtr, callback, value, null); + } + public void writeEnablePrivacyModeButtonAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + writeEnablePrivacyModeButtonAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - public void subscribeBarrierCommandOpenEventsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBarrierCommandOpenEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeEnablePrivacyModeButtonAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEnablePrivacyModeButtonAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readBarrierCommandCloseEventsAttribute( + public void readLocalProgrammingFeaturesAttribute( IntegerAttributeCallback callback) { - readBarrierCommandCloseEventsAttribute(chipClusterPtr, callback); + readLocalProgrammingFeaturesAttribute(chipClusterPtr, callback); } - public void writeBarrierCommandCloseEventsAttribute(DefaultClusterCallback callback, Integer value) { - writeBarrierCommandCloseEventsAttribute(chipClusterPtr, callback, value, null); + + public void writeLocalProgrammingFeaturesAttribute(DefaultClusterCallback callback, Integer value) { + writeLocalProgrammingFeaturesAttribute(chipClusterPtr, callback, value, null); } + public void writeLocalProgrammingFeaturesAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeLocalProgrammingFeaturesAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - public void writeBarrierCommandCloseEventsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeBarrierCommandCloseEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeLocalProgrammingFeaturesAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLocalProgrammingFeaturesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readWrongCodeEntryLimitAttribute( + IntegerAttributeCallback callback) { + readWrongCodeEntryLimitAttribute(chipClusterPtr, callback); } + public void writeWrongCodeEntryLimitAttribute(DefaultClusterCallback callback, Integer value) { + writeWrongCodeEntryLimitAttribute(chipClusterPtr, callback, value, null); + } + public void writeWrongCodeEntryLimitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeWrongCodeEntryLimitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - public void subscribeBarrierCommandCloseEventsAttribute( + public void subscribeWrongCodeEntryLimitAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBarrierCommandCloseEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeWrongCodeEntryLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readBarrierOpenPeriodAttribute( + public void readUserCodeTemporaryDisableTimeAttribute( IntegerAttributeCallback callback) { - readBarrierOpenPeriodAttribute(chipClusterPtr, callback); + readUserCodeTemporaryDisableTimeAttribute(chipClusterPtr, callback); } - public void writeBarrierOpenPeriodAttribute(DefaultClusterCallback callback, Integer value) { - writeBarrierOpenPeriodAttribute(chipClusterPtr, callback, value, null); + + public void writeUserCodeTemporaryDisableTimeAttribute(DefaultClusterCallback callback, Integer value) { + writeUserCodeTemporaryDisableTimeAttribute(chipClusterPtr, callback, value, null); } + public void writeUserCodeTemporaryDisableTimeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeUserCodeTemporaryDisableTimeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - public void writeBarrierOpenPeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeBarrierOpenPeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeUserCodeTemporaryDisableTimeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUserCodeTemporaryDisableTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readSendPINOverTheAirAttribute( + BooleanAttributeCallback callback) { + readSendPINOverTheAirAttribute(chipClusterPtr, callback); + } + public void writeSendPINOverTheAirAttribute(DefaultClusterCallback callback, Boolean value) { + writeSendPINOverTheAirAttribute(chipClusterPtr, callback, value, null); + } - public void subscribeBarrierOpenPeriodAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBarrierOpenPeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeSendPINOverTheAirAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + writeSendPINOverTheAirAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void readBarrierClosePeriodAttribute( - IntegerAttributeCallback callback) { - readBarrierClosePeriodAttribute(chipClusterPtr, callback); + public void subscribeSendPINOverTheAirAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSendPINOverTheAirAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void writeBarrierClosePeriodAttribute(DefaultClusterCallback callback, Integer value) { - writeBarrierClosePeriodAttribute(chipClusterPtr, callback, value, null); + + public void readRequirePINforRemoteOperationAttribute( + BooleanAttributeCallback callback) { + readRequirePINforRemoteOperationAttribute(chipClusterPtr, callback); } + public void writeRequirePINforRemoteOperationAttribute(DefaultClusterCallback callback, Boolean value) { + writeRequirePINforRemoteOperationAttribute(chipClusterPtr, callback, value, null); + } - public void writeBarrierClosePeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeBarrierClosePeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeRequirePINforRemoteOperationAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { + writeRequirePINforRemoteOperationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } + public void subscribeRequirePINforRemoteOperationAttribute( + BooleanAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRequirePINforRemoteOperationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readExpiringUserTimeoutAttribute( + IntegerAttributeCallback callback) { + readExpiringUserTimeoutAttribute(chipClusterPtr, callback); + } - public void subscribeBarrierClosePeriodAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBarrierClosePeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeExpiringUserTimeoutAttribute(DefaultClusterCallback callback, Integer value) { + writeExpiringUserTimeoutAttribute(chipClusterPtr, callback, value, null); } - public void readBarrierPositionAttribute( - IntegerAttributeCallback callback) { - readBarrierPositionAttribute(chipClusterPtr, callback); + public void writeExpiringUserTimeoutAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeExpiringUserTimeoutAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeBarrierPositionAttribute( + public void subscribeExpiringUserTimeoutAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBarrierPositionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeExpiringUserTimeoutAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -17214,490 +15470,589 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readLockStateAttribute(long chipClusterPtr, LockStateAttributeCallback callback); - private native void readBarrierMovingStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeLockStateAttribute(long chipClusterPtr, LockStateAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeBarrierMovingStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBarrierSafetyStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readLockTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeBarrierSafetyStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBarrierCapabilitiesAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeLockTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeBarrierCapabilitiesAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBarrierOpenEventsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readActuatorEnabledAttribute(long chipClusterPtr, BooleanAttributeCallback callback); - private native void writeBarrierOpenEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeActuatorEnabledAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeBarrierOpenEventsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBarrierCloseEventsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readDoorStateAttribute(long chipClusterPtr, DoorStateAttributeCallback callback); - private native void writeBarrierCloseEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeDoorStateAttribute(long chipClusterPtr, DoorStateAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeBarrierCloseEventsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBarrierCommandOpenEventsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readDoorOpenEventsAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void writeBarrierCommandOpenEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void writeDoorOpenEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeBarrierCommandOpenEventsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBarrierCommandCloseEventsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeDoorOpenEventsAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void writeBarrierCommandCloseEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readDoorClosedEventsAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeBarrierCommandCloseEventsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBarrierOpenPeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void writeDoorClosedEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void writeBarrierOpenPeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeDoorClosedEventsAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeBarrierOpenPeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBarrierClosePeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readOpenPeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeBarrierClosePeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void writeOpenPeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeOpenPeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNumberOfTotalUsersSupportedAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNumberOfTotalUsersSupportedAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNumberOfPINUsersSupportedAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNumberOfPINUsersSupportedAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNumberOfRFIDUsersSupportedAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNumberOfRFIDUsersSupportedAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNumberOfWeekDaySchedulesSupportedPerUserAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNumberOfWeekDaySchedulesSupportedPerUserAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNumberOfYearDaySchedulesSupportedPerUserAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNumberOfYearDaySchedulesSupportedPerUserAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNumberOfHolidaySchedulesSupportedAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNumberOfHolidaySchedulesSupportedAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxPINCodeLengthAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMaxPINCodeLengthAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinPINCodeLengthAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMinPINCodeLengthAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxRFIDCodeLengthAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMaxRFIDCodeLengthAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinRFIDCodeLengthAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMinRFIDCodeLengthAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCredentialRulesSupportAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCredentialRulesSupportAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNumberOfCredentialsSupportedPerUserAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNumberOfCredentialsSupportedPerUserAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLanguageAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void writeLanguageAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeLanguageAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLEDSettingsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeLEDSettingsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeLEDSettingsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAutoRelockTimeAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void writeAutoRelockTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeAutoRelockTimeAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSoundVolumeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeSoundVolumeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeSoundVolumeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOperatingModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeOperatingModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeOperatingModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSupportedOperatingModesAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeSupportedOperatingModesAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDefaultConfigurationRegisterAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDefaultConfigurationRegisterAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEnableLocalProgrammingAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void writeEnableLocalProgrammingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeEnableLocalProgrammingAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEnableOneTouchLockingAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void writeEnableOneTouchLockingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeBarrierClosePeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBarrierPositionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeBarrierPositionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeEnableOneTouchLockingAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEnableInsideStatusLEDAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void writeEnableInsideStatusLEDAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeEnableInsideStatusLEDAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEnablePrivacyModeButtonAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void writeEnablePrivacyModeButtonAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeEnablePrivacyModeButtonAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLocalProgrammingFeaturesAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeLocalProgrammingFeaturesAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeLocalProgrammingFeaturesAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readWrongCodeEntryLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeWrongCodeEntryLimitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeWrongCodeEntryLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUserCodeTemporaryDisableTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeUserCodeTemporaryDisableTimeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeUserCodeTemporaryDisableTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSendPINOverTheAirAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void writeSendPINOverTheAirAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeSendPINOverTheAirAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRequirePINforRemoteOperationAttribute(long chipClusterPtr, BooleanAttributeCallback callback); + + private native void writeRequirePINforRemoteOperationAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeRequirePINforRemoteOperationAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readExpiringUserTimeoutAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeExpiringUserTimeoutAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeExpiringUserTimeoutAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class PumpConfigurationAndControlCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 512L; - public PumpConfigurationAndControlCluster(long devicePtr, int endpointId) { + public static class WindowCoveringCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 258L; + + public WindowCoveringCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); + public void upOrOpen(DefaultClusterCallback callback) { + upOrOpen(chipClusterPtr, callback, null); + } - public interface MaxPressureAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void upOrOpen(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + upOrOpen(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public interface MaxSpeedAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void downOrClose(DefaultClusterCallback callback) { + downOrClose(chipClusterPtr, callback, null); } - public interface MaxFlowAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void downOrClose(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + downOrClose(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public interface MinConstPressureAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void stopMotion(DefaultClusterCallback callback) { + stopMotion(chipClusterPtr, callback, null); } - public interface MaxConstPressureAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void stopMotion(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + stopMotion(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public interface MinCompPressureAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void goToLiftValue(DefaultClusterCallback callback, Integer liftValue) { + goToLiftValue(chipClusterPtr, callback, liftValue, null); } - public interface MaxCompPressureAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void goToLiftValue(DefaultClusterCallback callback, Integer liftValue, int timedInvokeTimeoutMs) { + goToLiftValue(chipClusterPtr, callback, liftValue, timedInvokeTimeoutMs); } - public interface MinConstSpeedAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void goToLiftPercentage(DefaultClusterCallback callback, Integer liftPercent100thsValue) { + goToLiftPercentage(chipClusterPtr, callback, liftPercent100thsValue, null); } - public interface MaxConstSpeedAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void goToLiftPercentage(DefaultClusterCallback callback, Integer liftPercent100thsValue, int timedInvokeTimeoutMs) { + goToLiftPercentage(chipClusterPtr, callback, liftPercent100thsValue, timedInvokeTimeoutMs); } - public interface MinConstFlowAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void goToTiltValue(DefaultClusterCallback callback, Integer tiltValue) { + goToTiltValue(chipClusterPtr, callback, tiltValue, null); } - public interface MaxConstFlowAttributeCallback { + + public void goToTiltValue(DefaultClusterCallback callback, Integer tiltValue, int timedInvokeTimeoutMs) { + goToTiltValue(chipClusterPtr, callback, tiltValue, timedInvokeTimeoutMs); + } + + public void goToTiltPercentage(DefaultClusterCallback callback, Integer tiltPercent100thsValue) { + goToTiltPercentage(chipClusterPtr, callback, tiltPercent100thsValue, null); + } + + public void goToTiltPercentage(DefaultClusterCallback callback, Integer tiltPercent100thsValue, int timedInvokeTimeoutMs) { + goToTiltPercentage(chipClusterPtr, callback, tiltPercent100thsValue, timedInvokeTimeoutMs); + } + + private native void upOrOpen(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void downOrClose(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void stopMotion(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void goToLiftValue(long chipClusterPtr, DefaultClusterCallback callback, Integer liftValue, @Nullable Integer timedInvokeTimeoutMs); + + private native void goToLiftPercentage(long chipClusterPtr, DefaultClusterCallback callback, Integer liftPercent100thsValue, @Nullable Integer timedInvokeTimeoutMs); + + private native void goToTiltValue(long chipClusterPtr, DefaultClusterCallback callback, Integer tiltValue, @Nullable Integer timedInvokeTimeoutMs); + + private native void goToTiltPercentage(long chipClusterPtr, DefaultClusterCallback callback, Integer tiltPercent100thsValue, @Nullable Integer timedInvokeTimeoutMs); + + public interface CurrentPositionLiftAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface MinConstTempAttributeCallback { + + public interface CurrentPositionTiltAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface MaxConstTempAttributeCallback { + + public interface CurrentPositionLiftPercentageAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface CapacityAttributeCallback { + + public interface CurrentPositionTiltPercentageAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface SpeedAttributeCallback { + + public interface TargetPositionLiftPercent100thsAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface LifetimeRunningHoursAttributeCallback { - void onSuccess(@Nullable Long value); + + public interface TargetPositionTiltPercent100thsAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface PowerAttributeCallback { - void onSuccess(@Nullable Long value); + + public interface CurrentPositionLiftPercent100thsAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface LifetimeEnergyConsumedAttributeCallback { - void onSuccess(@Nullable Long value); + + public interface CurrentPositionTiltPercent100thsAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMaxPressureAttribute( - MaxPressureAttributeCallback callback) { - readMaxPressureAttribute(chipClusterPtr, callback); - } - - public void subscribeMaxPressureAttribute( - MaxPressureAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxPressureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readTypeAttribute( + IntegerAttributeCallback callback) { + readTypeAttribute(chipClusterPtr, callback); } - public void readMaxSpeedAttribute( - MaxSpeedAttributeCallback callback) { - readMaxSpeedAttribute(chipClusterPtr, callback); + public void subscribeTypeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMaxSpeedAttribute( - MaxSpeedAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxSpeedAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readPhysicalClosedLimitLiftAttribute( + IntegerAttributeCallback callback) { + readPhysicalClosedLimitLiftAttribute(chipClusterPtr, callback); } - public void readMaxFlowAttribute( - MaxFlowAttributeCallback callback) { - readMaxFlowAttribute(chipClusterPtr, callback); + public void subscribePhysicalClosedLimitLiftAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePhysicalClosedLimitLiftAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMaxFlowAttribute( - MaxFlowAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxFlowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readPhysicalClosedLimitTiltAttribute( + IntegerAttributeCallback callback) { + readPhysicalClosedLimitTiltAttribute(chipClusterPtr, callback); } - public void readMinConstPressureAttribute( - MinConstPressureAttributeCallback callback) { - readMinConstPressureAttribute(chipClusterPtr, callback); + public void subscribePhysicalClosedLimitTiltAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePhysicalClosedLimitTiltAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMinConstPressureAttribute( - MinConstPressureAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinConstPressureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readCurrentPositionLiftAttribute( + CurrentPositionLiftAttributeCallback callback) { + readCurrentPositionLiftAttribute(chipClusterPtr, callback); } - public void readMaxConstPressureAttribute( - MaxConstPressureAttributeCallback callback) { - readMaxConstPressureAttribute(chipClusterPtr, callback); + public void subscribeCurrentPositionLiftAttribute( + CurrentPositionLiftAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentPositionLiftAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMaxConstPressureAttribute( - MaxConstPressureAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxConstPressureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readCurrentPositionTiltAttribute( + CurrentPositionTiltAttributeCallback callback) { + readCurrentPositionTiltAttribute(chipClusterPtr, callback); } - public void readMinCompPressureAttribute( - MinCompPressureAttributeCallback callback) { - readMinCompPressureAttribute(chipClusterPtr, callback); + public void subscribeCurrentPositionTiltAttribute( + CurrentPositionTiltAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentPositionTiltAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMinCompPressureAttribute( - MinCompPressureAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinCompPressureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readNumberOfActuationsLiftAttribute( + IntegerAttributeCallback callback) { + readNumberOfActuationsLiftAttribute(chipClusterPtr, callback); } - public void readMaxCompPressureAttribute( - MaxCompPressureAttributeCallback callback) { - readMaxCompPressureAttribute(chipClusterPtr, callback); + public void subscribeNumberOfActuationsLiftAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNumberOfActuationsLiftAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMaxCompPressureAttribute( - MaxCompPressureAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxCompPressureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readNumberOfActuationsTiltAttribute( + IntegerAttributeCallback callback) { + readNumberOfActuationsTiltAttribute(chipClusterPtr, callback); } - public void readMinConstSpeedAttribute( - MinConstSpeedAttributeCallback callback) { - readMinConstSpeedAttribute(chipClusterPtr, callback); + public void subscribeNumberOfActuationsTiltAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNumberOfActuationsTiltAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMinConstSpeedAttribute( - MinConstSpeedAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinConstSpeedAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readConfigStatusAttribute( + IntegerAttributeCallback callback) { + readConfigStatusAttribute(chipClusterPtr, callback); } - public void readMaxConstSpeedAttribute( - MaxConstSpeedAttributeCallback callback) { - readMaxConstSpeedAttribute(chipClusterPtr, callback); + public void subscribeConfigStatusAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeConfigStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMaxConstSpeedAttribute( - MaxConstSpeedAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxConstSpeedAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readCurrentPositionLiftPercentageAttribute( + CurrentPositionLiftPercentageAttributeCallback callback) { + readCurrentPositionLiftPercentageAttribute(chipClusterPtr, callback); } - public void readMinConstFlowAttribute( - MinConstFlowAttributeCallback callback) { - readMinConstFlowAttribute(chipClusterPtr, callback); + public void subscribeCurrentPositionLiftPercentageAttribute( + CurrentPositionLiftPercentageAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentPositionLiftPercentageAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMinConstFlowAttribute( - MinConstFlowAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinConstFlowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readCurrentPositionTiltPercentageAttribute( + CurrentPositionTiltPercentageAttributeCallback callback) { + readCurrentPositionTiltPercentageAttribute(chipClusterPtr, callback); } - public void readMaxConstFlowAttribute( - MaxConstFlowAttributeCallback callback) { - readMaxConstFlowAttribute(chipClusterPtr, callback); + public void subscribeCurrentPositionTiltPercentageAttribute( + CurrentPositionTiltPercentageAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentPositionTiltPercentageAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMaxConstFlowAttribute( - MaxConstFlowAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxConstFlowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readOperationalStatusAttribute( + IntegerAttributeCallback callback) { + readOperationalStatusAttribute(chipClusterPtr, callback); } - public void readMinConstTempAttribute( - MinConstTempAttributeCallback callback) { - readMinConstTempAttribute(chipClusterPtr, callback); + public void subscribeOperationalStatusAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOperationalStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeMinConstTempAttribute( - MinConstTempAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinConstTempAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readMaxConstTempAttribute( - MaxConstTempAttributeCallback callback) { - readMaxConstTempAttribute(chipClusterPtr, callback); - } - - public void subscribeMaxConstTempAttribute( - MaxConstTempAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxConstTempAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readPumpStatusAttribute( - IntegerAttributeCallback callback) { - readPumpStatusAttribute(chipClusterPtr, callback); + public void readTargetPositionLiftPercent100thsAttribute( + TargetPositionLiftPercent100thsAttributeCallback callback) { + readTargetPositionLiftPercent100thsAttribute(chipClusterPtr, callback); } - public void subscribePumpStatusAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePumpStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeTargetPositionLiftPercent100thsAttribute( + TargetPositionLiftPercent100thsAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTargetPositionLiftPercent100thsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEffectiveOperationModeAttribute( - IntegerAttributeCallback callback) { - readEffectiveOperationModeAttribute(chipClusterPtr, callback); + public void readTargetPositionTiltPercent100thsAttribute( + TargetPositionTiltPercent100thsAttributeCallback callback) { + readTargetPositionTiltPercent100thsAttribute(chipClusterPtr, callback); } - public void subscribeEffectiveOperationModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEffectiveOperationModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeTargetPositionTiltPercent100thsAttribute( + TargetPositionTiltPercent100thsAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTargetPositionTiltPercent100thsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEffectiveControlModeAttribute( + public void readEndProductTypeAttribute( IntegerAttributeCallback callback) { - readEffectiveControlModeAttribute(chipClusterPtr, callback); + readEndProductTypeAttribute(chipClusterPtr, callback); } - public void subscribeEffectiveControlModeAttribute( + public void subscribeEndProductTypeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEffectiveControlModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeEndProductTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCapacityAttribute( - CapacityAttributeCallback callback) { - readCapacityAttribute(chipClusterPtr, callback); + public void readCurrentPositionLiftPercent100thsAttribute( + CurrentPositionLiftPercent100thsAttributeCallback callback) { + readCurrentPositionLiftPercent100thsAttribute(chipClusterPtr, callback); } - public void subscribeCapacityAttribute( - CapacityAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCapacityAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCurrentPositionLiftPercent100thsAttribute( + CurrentPositionLiftPercent100thsAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentPositionLiftPercent100thsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSpeedAttribute( - SpeedAttributeCallback callback) { - readSpeedAttribute(chipClusterPtr, callback); + public void readCurrentPositionTiltPercent100thsAttribute( + CurrentPositionTiltPercent100thsAttributeCallback callback) { + readCurrentPositionTiltPercent100thsAttribute(chipClusterPtr, callback); } - public void subscribeSpeedAttribute( - SpeedAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSpeedAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCurrentPositionTiltPercent100thsAttribute( + CurrentPositionTiltPercent100thsAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentPositionTiltPercent100thsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLifetimeRunningHoursAttribute( - LifetimeRunningHoursAttributeCallback callback) { - readLifetimeRunningHoursAttribute(chipClusterPtr, callback); - } - public void writeLifetimeRunningHoursAttribute(DefaultClusterCallback callback, Long value) { - writeLifetimeRunningHoursAttribute(chipClusterPtr, callback, value, null); + public void readInstalledOpenLimitLiftAttribute( + IntegerAttributeCallback callback) { + readInstalledOpenLimitLiftAttribute(chipClusterPtr, callback); } - - public void writeLifetimeRunningHoursAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeLifetimeRunningHoursAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeInstalledOpenLimitLiftAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInstalledOpenLimitLiftAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - - public void subscribeLifetimeRunningHoursAttribute( - LifetimeRunningHoursAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLifetimeRunningHoursAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readInstalledClosedLimitLiftAttribute( + IntegerAttributeCallback callback) { + readInstalledClosedLimitLiftAttribute(chipClusterPtr, callback); } - public void readPowerAttribute( - PowerAttributeCallback callback) { - readPowerAttribute(chipClusterPtr, callback); + public void subscribeInstalledClosedLimitLiftAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInstalledClosedLimitLiftAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribePowerAttribute( - PowerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readInstalledOpenLimitTiltAttribute( + IntegerAttributeCallback callback) { + readInstalledOpenLimitTiltAttribute(chipClusterPtr, callback); } - public void readLifetimeEnergyConsumedAttribute( - LifetimeEnergyConsumedAttributeCallback callback) { - readLifetimeEnergyConsumedAttribute(chipClusterPtr, callback); - } - public void writeLifetimeEnergyConsumedAttribute(DefaultClusterCallback callback, Long value) { - writeLifetimeEnergyConsumedAttribute(chipClusterPtr, callback, value, null); + public void subscribeInstalledOpenLimitTiltAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInstalledOpenLimitTiltAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - public void writeLifetimeEnergyConsumedAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeLifetimeEnergyConsumedAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readInstalledClosedLimitTiltAttribute( + IntegerAttributeCallback callback) { + readInstalledClosedLimitTiltAttribute(chipClusterPtr, callback); } - - - public void subscribeLifetimeEnergyConsumedAttribute( - LifetimeEnergyConsumedAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLifetimeEnergyConsumedAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeInstalledClosedLimitTiltAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInstalledClosedLimitTiltAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOperationModeAttribute( + public void readModeAttribute( IntegerAttributeCallback callback) { - readOperationModeAttribute(chipClusterPtr, callback); - } - public void writeOperationModeAttribute(DefaultClusterCallback callback, Integer value) { - writeOperationModeAttribute(chipClusterPtr, callback, value, null); + readModeAttribute(chipClusterPtr, callback); } - - public void writeOperationModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOperationModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeModeAttribute(DefaultClusterCallback callback, Integer value) { + writeModeAttribute(chipClusterPtr, callback, value, null); } + public void writeModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeOperationModeAttribute( + public void subscribeModeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOperationModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readControlModeAttribute( + public void readSafetyStatusAttribute( IntegerAttributeCallback callback) { - readControlModeAttribute(chipClusterPtr, callback); - } - public void writeControlModeAttribute(DefaultClusterCallback callback, Integer value) { - writeControlModeAttribute(chipClusterPtr, callback, value, null); - } - - - public void writeControlModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeControlModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + readSafetyStatusAttribute(chipClusterPtr, callback); } - - - public void subscribeControlModeAttribute( + public void subscribeSafetyStatusAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeControlModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeSafetyStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -17760,1051 +16115,862 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void readMaxPressureAttribute(long chipClusterPtr - , MaxPressureAttributeCallback callback); - - private native void subscribeMaxPressureAttribute(long chipClusterPtr - , MaxPressureAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxSpeedAttribute(long chipClusterPtr - , MaxSpeedAttributeCallback callback); - - private native void subscribeMaxSpeedAttribute(long chipClusterPtr - , MaxSpeedAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxFlowAttribute(long chipClusterPtr - , MaxFlowAttributeCallback callback); - - private native void subscribeMaxFlowAttribute(long chipClusterPtr - , MaxFlowAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinConstPressureAttribute(long chipClusterPtr - , MinConstPressureAttributeCallback callback); - - private native void subscribeMinConstPressureAttribute(long chipClusterPtr - , MinConstPressureAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxConstPressureAttribute(long chipClusterPtr - , MaxConstPressureAttributeCallback callback); - - private native void subscribeMaxConstPressureAttribute(long chipClusterPtr - , MaxConstPressureAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinCompPressureAttribute(long chipClusterPtr - , MinCompPressureAttributeCallback callback); - - private native void subscribeMinCompPressureAttribute(long chipClusterPtr - , MinCompPressureAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxCompPressureAttribute(long chipClusterPtr - , MaxCompPressureAttributeCallback callback); - - private native void subscribeMaxCompPressureAttribute(long chipClusterPtr - , MaxCompPressureAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinConstSpeedAttribute(long chipClusterPtr - , MinConstSpeedAttributeCallback callback); - - private native void subscribeMinConstSpeedAttribute(long chipClusterPtr - , MinConstSpeedAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxConstSpeedAttribute(long chipClusterPtr - , MaxConstSpeedAttributeCallback callback); - - private native void subscribeMaxConstSpeedAttribute(long chipClusterPtr - , MaxConstSpeedAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinConstFlowAttribute(long chipClusterPtr - , MinConstFlowAttributeCallback callback); - - private native void subscribeMinConstFlowAttribute(long chipClusterPtr - , MinConstFlowAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxConstFlowAttribute(long chipClusterPtr - , MaxConstFlowAttributeCallback callback); - - private native void subscribeMaxConstFlowAttribute(long chipClusterPtr - , MaxConstFlowAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinConstTempAttribute(long chipClusterPtr - , MinConstTempAttributeCallback callback); - - private native void subscribeMinConstTempAttribute(long chipClusterPtr - , MinConstTempAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxConstTempAttribute(long chipClusterPtr - , MaxConstTempAttributeCallback callback); - - private native void subscribeMaxConstTempAttribute(long chipClusterPtr - , MaxConstTempAttributeCallback callback, int minInterval, int maxInterval); - private native void readPumpStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePumpStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readEffectiveOperationModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeEffectiveOperationModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readEffectiveControlModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeEffectiveControlModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCapacityAttribute(long chipClusterPtr - , CapacityAttributeCallback callback); - - private native void subscribeCapacityAttribute(long chipClusterPtr - , CapacityAttributeCallback callback, int minInterval, int maxInterval); - private native void readSpeedAttribute(long chipClusterPtr - , SpeedAttributeCallback callback); - - private native void subscribeSpeedAttribute(long chipClusterPtr - , SpeedAttributeCallback callback, int minInterval, int maxInterval); - private native void readLifetimeRunningHoursAttribute(long chipClusterPtr - , LifetimeRunningHoursAttributeCallback callback); + private native void subscribeTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeLifetimeRunningHoursAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + private native void readPhysicalClosedLimitLiftAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeLifetimeRunningHoursAttribute(long chipClusterPtr - , LifetimeRunningHoursAttributeCallback callback, int minInterval, int maxInterval); - private native void readPowerAttribute(long chipClusterPtr - , PowerAttributeCallback callback); + private native void subscribePhysicalClosedLimitLiftAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePowerAttribute(long chipClusterPtr - , PowerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLifetimeEnergyConsumedAttribute(long chipClusterPtr - , LifetimeEnergyConsumedAttributeCallback callback); + private native void readPhysicalClosedLimitTiltAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeLifetimeEnergyConsumedAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribePhysicalClosedLimitTiltAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeLifetimeEnergyConsumedAttribute(long chipClusterPtr - , LifetimeEnergyConsumedAttributeCallback callback, int minInterval, int maxInterval); - private native void readOperationModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readCurrentPositionLiftAttribute(long chipClusterPtr, CurrentPositionLiftAttributeCallback callback); - private native void writeOperationModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeCurrentPositionLiftAttribute(long chipClusterPtr, CurrentPositionLiftAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOperationModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readControlModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readCurrentPositionTiltAttribute(long chipClusterPtr, CurrentPositionTiltAttributeCallback callback); - private native void writeControlModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeCurrentPositionTiltAttribute(long chipClusterPtr, CurrentPositionTiltAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNumberOfActuationsLiftAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNumberOfActuationsLiftAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNumberOfActuationsTiltAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNumberOfActuationsTiltAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readConfigStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeConfigStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentPositionLiftPercentageAttribute(long chipClusterPtr, CurrentPositionLiftPercentageAttributeCallback callback); + + private native void subscribeCurrentPositionLiftPercentageAttribute(long chipClusterPtr, CurrentPositionLiftPercentageAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentPositionTiltPercentageAttribute(long chipClusterPtr, CurrentPositionTiltPercentageAttributeCallback callback); + + private native void subscribeCurrentPositionTiltPercentageAttribute(long chipClusterPtr, CurrentPositionTiltPercentageAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOperationalStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeOperationalStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTargetPositionLiftPercent100thsAttribute(long chipClusterPtr, TargetPositionLiftPercent100thsAttributeCallback callback); + + private native void subscribeTargetPositionLiftPercent100thsAttribute(long chipClusterPtr, TargetPositionLiftPercent100thsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTargetPositionTiltPercent100thsAttribute(long chipClusterPtr, TargetPositionTiltPercent100thsAttributeCallback callback); + + private native void subscribeTargetPositionTiltPercent100thsAttribute(long chipClusterPtr, TargetPositionTiltPercent100thsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEndProductTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeEndProductTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentPositionLiftPercent100thsAttribute(long chipClusterPtr, CurrentPositionLiftPercent100thsAttributeCallback callback); + + private native void subscribeCurrentPositionLiftPercent100thsAttribute(long chipClusterPtr, CurrentPositionLiftPercent100thsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentPositionTiltPercent100thsAttribute(long chipClusterPtr, CurrentPositionTiltPercent100thsAttributeCallback callback); - private native void subscribeControlModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeCurrentPositionTiltPercent100thsAttribute(long chipClusterPtr, CurrentPositionTiltPercent100thsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInstalledOpenLimitLiftAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeInstalledOpenLimitLiftAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInstalledClosedLimitLiftAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeInstalledClosedLimitLiftAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInstalledOpenLimitTiltAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeInstalledOpenLimitTiltAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInstalledClosedLimitTiltAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeInstalledClosedLimitTiltAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSafetyStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeSafetyStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class ThermostatCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 513L; - public ThermostatCluster(long devicePtr, int endpointId) { + public static class BarrierControlCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 259L; + + public BarrierControlCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void setpointRaiseLower(DefaultClusterCallback callback, Integer mode, Integer amount) { - setpointRaiseLower(chipClusterPtr, callback, mode, amount, null); + public void barrierControlGoToPercent(DefaultClusterCallback callback, Integer percentOpen) { + barrierControlGoToPercent(chipClusterPtr, callback, percentOpen, null); } - public void setpointRaiseLower(DefaultClusterCallback callback, Integer mode, Integer amount, int timedInvokeTimeoutMs) { - setpointRaiseLower(chipClusterPtr, callback, mode, amount, timedInvokeTimeoutMs); + public void barrierControlGoToPercent(DefaultClusterCallback callback, Integer percentOpen, int timedInvokeTimeoutMs) { + barrierControlGoToPercent(chipClusterPtr, callback, percentOpen, timedInvokeTimeoutMs); } - public void setWeeklySchedule(DefaultClusterCallback callback, Integer numberOfTransitionsForSequence, Integer dayOfWeekForSequence, Integer modeForSequence, ArrayList transitions) { - setWeeklySchedule(chipClusterPtr, callback, numberOfTransitionsForSequence, dayOfWeekForSequence, modeForSequence, transitions, null); + public void barrierControlStop(DefaultClusterCallback callback) { + barrierControlStop(chipClusterPtr, callback, null); } - public void setWeeklySchedule(DefaultClusterCallback callback, Integer numberOfTransitionsForSequence, Integer dayOfWeekForSequence, Integer modeForSequence, ArrayList transitions, int timedInvokeTimeoutMs) { - setWeeklySchedule(chipClusterPtr, callback, numberOfTransitionsForSequence, dayOfWeekForSequence, modeForSequence, transitions, timedInvokeTimeoutMs); + public void barrierControlStop(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + barrierControlStop(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void getWeeklySchedule(GetWeeklyScheduleResponseCallback callback, Integer daysToReturn, Integer modeToReturn) { - getWeeklySchedule(chipClusterPtr, callback, daysToReturn, modeToReturn, null); - } + private native void barrierControlGoToPercent(long chipClusterPtr, DefaultClusterCallback callback, Integer percentOpen, @Nullable Integer timedInvokeTimeoutMs); - public void getWeeklySchedule(GetWeeklyScheduleResponseCallback callback, Integer daysToReturn, Integer modeToReturn, int timedInvokeTimeoutMs) { - getWeeklySchedule(chipClusterPtr, callback, daysToReturn, modeToReturn, timedInvokeTimeoutMs); - } + private native void barrierControlStop(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - public void clearWeeklySchedule(DefaultClusterCallback callback) { - clearWeeklySchedule(chipClusterPtr, callback, null); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void clearWeeklySchedule(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - clearWeeklySchedule(chipClusterPtr, callback, timedInvokeTimeoutMs); - } - - private native void setpointRaiseLower(long chipClusterPtr, DefaultClusterCallback callback, Integer mode, Integer amount, @Nullable Integer timedInvokeTimeoutMs); - - private native void setWeeklySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer numberOfTransitionsForSequence, Integer dayOfWeekForSequence, Integer modeForSequence, ArrayList transitions, @Nullable Integer timedInvokeTimeoutMs); - - private native void getWeeklySchedule(long chipClusterPtr, GetWeeklyScheduleResponseCallback callback, Integer daysToReturn, Integer modeToReturn, @Nullable Integer timedInvokeTimeoutMs); - - private native void clearWeeklySchedule(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - - public interface GetWeeklyScheduleResponseCallback { - void onSuccess(Integer numberOfTransitionsForSequence, Integer dayOfWeekForSequence, Integer modeForSequence, ArrayList transitions); - - void onError(Exception error); - } - public interface LocalTemperatureAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface OutdoorTemperatureAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface TemperatureSetpointHoldDurationAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface SetpointChangeAmountAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface OccupiedSetbackAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface OccupiedSetbackMinAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface OccupiedSetbackMaxAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface UnoccupiedSetbackAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface UnoccupiedSetbackMinAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface UnoccupiedSetbackMaxAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface ACCoilTemperatureAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readLocalTemperatureAttribute( - LocalTemperatureAttributeCallback callback) { - readLocalTemperatureAttribute(chipClusterPtr, callback); + public void readBarrierMovingStateAttribute( + IntegerAttributeCallback callback) { + readBarrierMovingStateAttribute(chipClusterPtr, callback); } - public void subscribeLocalTemperatureAttribute( - LocalTemperatureAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLocalTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeBarrierMovingStateAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeBarrierMovingStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOutdoorTemperatureAttribute( - OutdoorTemperatureAttributeCallback callback) { - readOutdoorTemperatureAttribute(chipClusterPtr, callback); + public void readBarrierSafetyStatusAttribute( + IntegerAttributeCallback callback) { + readBarrierSafetyStatusAttribute(chipClusterPtr, callback); } - public void subscribeOutdoorTemperatureAttribute( - OutdoorTemperatureAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOutdoorTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeBarrierSafetyStatusAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeBarrierSafetyStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOccupancyAttribute( + public void readBarrierCapabilitiesAttribute( IntegerAttributeCallback callback) { - readOccupancyAttribute(chipClusterPtr, callback); + readBarrierCapabilitiesAttribute(chipClusterPtr, callback); } - public void subscribeOccupancyAttribute( + public void subscribeBarrierCapabilitiesAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOccupancyAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeBarrierCapabilitiesAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAbsMinHeatSetpointLimitAttribute( + public void readBarrierOpenEventsAttribute( IntegerAttributeCallback callback) { - readAbsMinHeatSetpointLimitAttribute(chipClusterPtr, callback); + readBarrierOpenEventsAttribute(chipClusterPtr, callback); } - public void subscribeAbsMinHeatSetpointLimitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAbsMinHeatSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeBarrierOpenEventsAttribute(DefaultClusterCallback callback, Integer value) { + writeBarrierOpenEventsAttribute(chipClusterPtr, callback, value, null); } - public void readAbsMaxHeatSetpointLimitAttribute( - IntegerAttributeCallback callback) { - readAbsMaxHeatSetpointLimitAttribute(chipClusterPtr, callback); + public void writeBarrierOpenEventsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeBarrierOpenEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAbsMaxHeatSetpointLimitAttribute( + public void subscribeBarrierOpenEventsAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAbsMaxHeatSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeBarrierOpenEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAbsMinCoolSetpointLimitAttribute( + public void readBarrierCloseEventsAttribute( IntegerAttributeCallback callback) { - readAbsMinCoolSetpointLimitAttribute(chipClusterPtr, callback); + readBarrierCloseEventsAttribute(chipClusterPtr, callback); } - public void subscribeAbsMinCoolSetpointLimitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAbsMinCoolSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeBarrierCloseEventsAttribute(DefaultClusterCallback callback, Integer value) { + writeBarrierCloseEventsAttribute(chipClusterPtr, callback, value, null); } - public void readAbsMaxCoolSetpointLimitAttribute( - IntegerAttributeCallback callback) { - readAbsMaxCoolSetpointLimitAttribute(chipClusterPtr, callback); + public void writeBarrierCloseEventsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeBarrierCloseEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAbsMaxCoolSetpointLimitAttribute( + public void subscribeBarrierCloseEventsAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAbsMaxCoolSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeBarrierCloseEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPICoolingDemandAttribute( + public void readBarrierCommandOpenEventsAttribute( IntegerAttributeCallback callback) { - readPICoolingDemandAttribute(chipClusterPtr, callback); + readBarrierCommandOpenEventsAttribute(chipClusterPtr, callback); } - public void subscribePICoolingDemandAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePICoolingDemandAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeBarrierCommandOpenEventsAttribute(DefaultClusterCallback callback, Integer value) { + writeBarrierCommandOpenEventsAttribute(chipClusterPtr, callback, value, null); } - public void readPIHeatingDemandAttribute( - IntegerAttributeCallback callback) { - readPIHeatingDemandAttribute(chipClusterPtr, callback); + public void writeBarrierCommandOpenEventsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeBarrierCommandOpenEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribePIHeatingDemandAttribute( + public void subscribeBarrierCommandOpenEventsAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePIHeatingDemandAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeBarrierCommandOpenEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readHVACSystemTypeConfigurationAttribute( + public void readBarrierCommandCloseEventsAttribute( IntegerAttributeCallback callback) { - readHVACSystemTypeConfigurationAttribute(chipClusterPtr, callback); - } - public void writeHVACSystemTypeConfigurationAttribute(DefaultClusterCallback callback, Integer value) { - writeHVACSystemTypeConfigurationAttribute(chipClusterPtr, callback, value, null); + readBarrierCommandCloseEventsAttribute(chipClusterPtr, callback); } - - public void writeHVACSystemTypeConfigurationAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeHVACSystemTypeConfigurationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeBarrierCommandCloseEventsAttribute(DefaultClusterCallback callback, Integer value) { + writeBarrierCommandCloseEventsAttribute(chipClusterPtr, callback, value, null); } + public void writeBarrierCommandCloseEventsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeBarrierCommandCloseEventsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeHVACSystemTypeConfigurationAttribute( + public void subscribeBarrierCommandCloseEventsAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeHVACSystemTypeConfigurationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeBarrierCommandCloseEventsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLocalTemperatureCalibrationAttribute( + public void readBarrierOpenPeriodAttribute( IntegerAttributeCallback callback) { - readLocalTemperatureCalibrationAttribute(chipClusterPtr, callback); - } - public void writeLocalTemperatureCalibrationAttribute(DefaultClusterCallback callback, Integer value) { - writeLocalTemperatureCalibrationAttribute(chipClusterPtr, callback, value, null); + readBarrierOpenPeriodAttribute(chipClusterPtr, callback); } - - public void writeLocalTemperatureCalibrationAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeLocalTemperatureCalibrationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeBarrierOpenPeriodAttribute(DefaultClusterCallback callback, Integer value) { + writeBarrierOpenPeriodAttribute(chipClusterPtr, callback, value, null); } + public void writeBarrierOpenPeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeBarrierOpenPeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeLocalTemperatureCalibrationAttribute( + public void subscribeBarrierOpenPeriodAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLocalTemperatureCalibrationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeBarrierOpenPeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOccupiedCoolingSetpointAttribute( + public void readBarrierClosePeriodAttribute( IntegerAttributeCallback callback) { - readOccupiedCoolingSetpointAttribute(chipClusterPtr, callback); - } - public void writeOccupiedCoolingSetpointAttribute(DefaultClusterCallback callback, Integer value) { - writeOccupiedCoolingSetpointAttribute(chipClusterPtr, callback, value, null); + readBarrierClosePeriodAttribute(chipClusterPtr, callback); } - - public void writeOccupiedCoolingSetpointAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOccupiedCoolingSetpointAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeBarrierClosePeriodAttribute(DefaultClusterCallback callback, Integer value) { + writeBarrierClosePeriodAttribute(chipClusterPtr, callback, value, null); } + public void writeBarrierClosePeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeBarrierClosePeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeOccupiedCoolingSetpointAttribute( + public void subscribeBarrierClosePeriodAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOccupiedCoolingSetpointAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeBarrierClosePeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOccupiedHeatingSetpointAttribute( + public void readBarrierPositionAttribute( IntegerAttributeCallback callback) { - readOccupiedHeatingSetpointAttribute(chipClusterPtr, callback); - } - public void writeOccupiedHeatingSetpointAttribute(DefaultClusterCallback callback, Integer value) { - writeOccupiedHeatingSetpointAttribute(chipClusterPtr, callback, value, null); + readBarrierPositionAttribute(chipClusterPtr, callback); } + public void subscribeBarrierPositionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeBarrierPositionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void writeOccupiedHeatingSetpointAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOccupiedHeatingSetpointAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); } + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); + } - public void subscribeOccupiedHeatingSetpointAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOccupiedHeatingSetpointAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readUnoccupiedCoolingSetpointAttribute( - IntegerAttributeCallback callback) { - readUnoccupiedCoolingSetpointAttribute(chipClusterPtr, callback); - } - public void writeUnoccupiedCoolingSetpointAttribute(DefaultClusterCallback callback, Integer value) { - writeUnoccupiedCoolingSetpointAttribute(chipClusterPtr, callback, value, null); + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); } + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void writeUnoccupiedCoolingSetpointAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeUnoccupiedCoolingSetpointAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } - public void subscribeUnoccupiedCoolingSetpointAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUnoccupiedCoolingSetpointAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readUnoccupiedHeatingSetpointAttribute( + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readUnoccupiedHeatingSetpointAttribute(chipClusterPtr, callback); - } - public void writeUnoccupiedHeatingSetpointAttribute(DefaultClusterCallback callback, Integer value) { - writeUnoccupiedHeatingSetpointAttribute(chipClusterPtr, callback, value, null); + readClusterRevisionAttribute(chipClusterPtr, callback); } - - public void writeUnoccupiedHeatingSetpointAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeUnoccupiedHeatingSetpointAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readBarrierMovingStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribeBarrierMovingStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeUnoccupiedHeatingSetpointAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUnoccupiedHeatingSetpointAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readBarrierSafetyStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readMinHeatSetpointLimitAttribute( - IntegerAttributeCallback callback) { - readMinHeatSetpointLimitAttribute(chipClusterPtr, callback); - } - public void writeMinHeatSetpointLimitAttribute(DefaultClusterCallback callback, Integer value) { - writeMinHeatSetpointLimitAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeBarrierSafetyStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readBarrierCapabilitiesAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeMinHeatSetpointLimitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeMinHeatSetpointLimitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeBarrierCapabilitiesAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readBarrierOpenEventsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeBarrierOpenEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void subscribeMinHeatSetpointLimitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinHeatSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeBarrierOpenEventsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readMaxHeatSetpointLimitAttribute( - IntegerAttributeCallback callback) { - readMaxHeatSetpointLimitAttribute(chipClusterPtr, callback); - } - public void writeMaxHeatSetpointLimitAttribute(DefaultClusterCallback callback, Integer value) { - writeMaxHeatSetpointLimitAttribute(chipClusterPtr, callback, value, null); - } + private native void readBarrierCloseEventsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeBarrierCloseEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void writeMaxHeatSetpointLimitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeMaxHeatSetpointLimitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeBarrierCloseEventsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readBarrierCommandOpenEventsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeBarrierCommandOpenEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void subscribeMaxHeatSetpointLimitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxHeatSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeBarrierCommandOpenEventsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readMinCoolSetpointLimitAttribute( - IntegerAttributeCallback callback) { - readMinCoolSetpointLimitAttribute(chipClusterPtr, callback); - } - public void writeMinCoolSetpointLimitAttribute(DefaultClusterCallback callback, Integer value) { - writeMinCoolSetpointLimitAttribute(chipClusterPtr, callback, value, null); - } + private native void readBarrierCommandCloseEventsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeBarrierCommandCloseEventsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void writeMinCoolSetpointLimitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeMinCoolSetpointLimitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeBarrierCommandCloseEventsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readBarrierOpenPeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeBarrierOpenPeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void subscribeMinCoolSetpointLimitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinCoolSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeBarrierOpenPeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readMaxCoolSetpointLimitAttribute( - IntegerAttributeCallback callback) { - readMaxCoolSetpointLimitAttribute(chipClusterPtr, callback); - } - public void writeMaxCoolSetpointLimitAttribute(DefaultClusterCallback callback, Integer value) { - writeMaxCoolSetpointLimitAttribute(chipClusterPtr, callback, value, null); - } + private native void readBarrierClosePeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeBarrierClosePeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void writeMaxCoolSetpointLimitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeMaxCoolSetpointLimitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeBarrierClosePeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readBarrierPositionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribeBarrierPositionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeMaxCoolSetpointLimitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxCoolSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - public void readMinSetpointDeadBandAttribute( - IntegerAttributeCallback callback) { - readMinSetpointDeadBandAttribute(chipClusterPtr, callback); - } - public void writeMinSetpointDeadBandAttribute(DefaultClusterCallback callback, Integer value) { - writeMinSetpointDeadBandAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - public void writeMinSetpointDeadBandAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeMinSetpointDeadBandAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeMinSetpointDeadBandAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinSetpointDeadBandAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - public void readRemoteSensingAttribute( - IntegerAttributeCallback callback) { - readRemoteSensingAttribute(chipClusterPtr, callback); - } - public void writeRemoteSensingAttribute(DefaultClusterCallback callback, Integer value) { - writeRemoteSensingAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void writeRemoteSensingAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeRemoteSensingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - public void subscribeRemoteSensingAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRemoteSensingAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + public static class PumpConfigurationAndControlCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 512L; - public void readControlSequenceOfOperationAttribute( - IntegerAttributeCallback callback) { - readControlSequenceOfOperationAttribute(chipClusterPtr, callback); - } - public void writeControlSequenceOfOperationAttribute(DefaultClusterCallback callback, Integer value) { - writeControlSequenceOfOperationAttribute(chipClusterPtr, callback, value, null); + public PumpConfigurationAndControlCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } + @Override + public native long initWithDevice(long devicePtr, int endpointId); - public void writeControlSequenceOfOperationAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeControlSequenceOfOperationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public interface MaxPressureAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - - public void subscribeControlSequenceOfOperationAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeControlSequenceOfOperationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface MaxSpeedAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readSystemModeAttribute( - IntegerAttributeCallback callback) { - readSystemModeAttribute(chipClusterPtr, callback); - } - public void writeSystemModeAttribute(DefaultClusterCallback callback, Integer value) { - writeSystemModeAttribute(chipClusterPtr, callback, value, null); + public interface MaxFlowAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - public void writeSystemModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeSystemModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public interface MinConstPressureAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MaxConstPressureAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + public interface MinCompPressureAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - public void subscribeSystemModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSystemModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface MaxCompPressureAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readThermostatRunningModeAttribute( - IntegerAttributeCallback callback) { - readThermostatRunningModeAttribute(chipClusterPtr, callback); + public interface MinConstSpeedAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeThermostatRunningModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeThermostatRunningModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface MaxConstSpeedAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readStartOfWeekAttribute( - IntegerAttributeCallback callback) { - readStartOfWeekAttribute(chipClusterPtr, callback); + public interface MinConstFlowAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeStartOfWeekAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStartOfWeekAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface MaxConstFlowAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readNumberOfWeeklyTransitionsAttribute( - IntegerAttributeCallback callback) { - readNumberOfWeeklyTransitionsAttribute(chipClusterPtr, callback); + public interface MinConstTempAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeNumberOfWeeklyTransitionsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfWeeklyTransitionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface MaxConstTempAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readNumberOfDailyTransitionsAttribute( - IntegerAttributeCallback callback) { - readNumberOfDailyTransitionsAttribute(chipClusterPtr, callback); + public interface CapacityAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeNumberOfDailyTransitionsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfDailyTransitionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface SpeedAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readTemperatureSetpointHoldAttribute( - IntegerAttributeCallback callback) { - readTemperatureSetpointHoldAttribute(chipClusterPtr, callback); - } - public void writeTemperatureSetpointHoldAttribute(DefaultClusterCallback callback, Integer value) { - writeTemperatureSetpointHoldAttribute(chipClusterPtr, callback, value, null); + public interface LifetimeRunningHoursAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - public void writeTemperatureSetpointHoldAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeTemperatureSetpointHoldAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public interface PowerAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - - public void subscribeTemperatureSetpointHoldAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTemperatureSetpointHoldAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface LifetimeEnergyConsumedAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readTemperatureSetpointHoldDurationAttribute( - TemperatureSetpointHoldDurationAttributeCallback callback) { - readTemperatureSetpointHoldDurationAttribute(chipClusterPtr, callback); - } - public void writeTemperatureSetpointHoldDurationAttribute(DefaultClusterCallback callback, Integer value) { - writeTemperatureSetpointHoldDurationAttribute(chipClusterPtr, callback, value, null); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - public void writeTemperatureSetpointHoldDurationAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeTemperatureSetpointHoldDurationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - - public void subscribeTemperatureSetpointHoldDurationAttribute( - TemperatureSetpointHoldDurationAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTemperatureSetpointHoldDurationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readThermostatProgrammingOperationModeAttribute( - IntegerAttributeCallback callback) { - readThermostatProgrammingOperationModeAttribute(chipClusterPtr, callback); - } - public void writeThermostatProgrammingOperationModeAttribute(DefaultClusterCallback callback, Integer value) { - writeThermostatProgrammingOperationModeAttribute(chipClusterPtr, callback, value, null); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - public void writeThermostatProgrammingOperationModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeThermostatProgrammingOperationModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readMaxPressureAttribute( + MaxPressureAttributeCallback callback) { + readMaxPressureAttribute(chipClusterPtr, callback); } - - - public void subscribeThermostatProgrammingOperationModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeThermostatProgrammingOperationModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxPressureAttribute( + MaxPressureAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxPressureAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readThermostatRunningStateAttribute( - IntegerAttributeCallback callback) { - readThermostatRunningStateAttribute(chipClusterPtr, callback); + public void readMaxSpeedAttribute( + MaxSpeedAttributeCallback callback) { + readMaxSpeedAttribute(chipClusterPtr, callback); } - public void subscribeThermostatRunningStateAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeThermostatRunningStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxSpeedAttribute( + MaxSpeedAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxSpeedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSetpointChangeSourceAttribute( - IntegerAttributeCallback callback) { - readSetpointChangeSourceAttribute(chipClusterPtr, callback); + public void readMaxFlowAttribute( + MaxFlowAttributeCallback callback) { + readMaxFlowAttribute(chipClusterPtr, callback); } - public void subscribeSetpointChangeSourceAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSetpointChangeSourceAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxFlowAttribute( + MaxFlowAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxFlowAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSetpointChangeAmountAttribute( - SetpointChangeAmountAttributeCallback callback) { - readSetpointChangeAmountAttribute(chipClusterPtr, callback); + public void readMinConstPressureAttribute( + MinConstPressureAttributeCallback callback) { + readMinConstPressureAttribute(chipClusterPtr, callback); } - public void subscribeSetpointChangeAmountAttribute( - SetpointChangeAmountAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSetpointChangeAmountAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMinConstPressureAttribute( + MinConstPressureAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinConstPressureAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSetpointChangeSourceTimestampAttribute( - LongAttributeCallback callback) { - readSetpointChangeSourceTimestampAttribute(chipClusterPtr, callback); + public void readMaxConstPressureAttribute( + MaxConstPressureAttributeCallback callback) { + readMaxConstPressureAttribute(chipClusterPtr, callback); } - public void subscribeSetpointChangeSourceTimestampAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSetpointChangeSourceTimestampAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxConstPressureAttribute( + MaxConstPressureAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxConstPressureAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOccupiedSetbackAttribute( - OccupiedSetbackAttributeCallback callback) { - readOccupiedSetbackAttribute(chipClusterPtr, callback); - } - public void writeOccupiedSetbackAttribute(DefaultClusterCallback callback, Integer value) { - writeOccupiedSetbackAttribute(chipClusterPtr, callback, value, null); + public void readMinCompPressureAttribute( + MinCompPressureAttributeCallback callback) { + readMinCompPressureAttribute(chipClusterPtr, callback); } - - public void writeOccupiedSetbackAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOccupiedSetbackAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeMinCompPressureAttribute( + MinCompPressureAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinCompPressureAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - - public void subscribeOccupiedSetbackAttribute( - OccupiedSetbackAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOccupiedSetbackAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readMaxCompPressureAttribute( + MaxCompPressureAttributeCallback callback) { + readMaxCompPressureAttribute(chipClusterPtr, callback); } - public void readOccupiedSetbackMinAttribute( - OccupiedSetbackMinAttributeCallback callback) { - readOccupiedSetbackMinAttribute(chipClusterPtr, callback); + public void subscribeMaxCompPressureAttribute( + MaxCompPressureAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxCompPressureAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeOccupiedSetbackMinAttribute( - OccupiedSetbackMinAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOccupiedSetbackMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readMinConstSpeedAttribute( + MinConstSpeedAttributeCallback callback) { + readMinConstSpeedAttribute(chipClusterPtr, callback); } - public void readOccupiedSetbackMaxAttribute( - OccupiedSetbackMaxAttributeCallback callback) { - readOccupiedSetbackMaxAttribute(chipClusterPtr, callback); + public void subscribeMinConstSpeedAttribute( + MinConstSpeedAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinConstSpeedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeOccupiedSetbackMaxAttribute( - OccupiedSetbackMaxAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOccupiedSetbackMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readMaxConstSpeedAttribute( + MaxConstSpeedAttributeCallback callback) { + readMaxConstSpeedAttribute(chipClusterPtr, callback); } - public void readUnoccupiedSetbackAttribute( - UnoccupiedSetbackAttributeCallback callback) { - readUnoccupiedSetbackAttribute(chipClusterPtr, callback); - } - public void writeUnoccupiedSetbackAttribute(DefaultClusterCallback callback, Integer value) { - writeUnoccupiedSetbackAttribute(chipClusterPtr, callback, value, null); + public void subscribeMaxConstSpeedAttribute( + MaxConstSpeedAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxConstSpeedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - public void writeUnoccupiedSetbackAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeUnoccupiedSetbackAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readMinConstFlowAttribute( + MinConstFlowAttributeCallback callback) { + readMinConstFlowAttribute(chipClusterPtr, callback); } + public void subscribeMinConstFlowAttribute( + MinConstFlowAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinConstFlowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readMaxConstFlowAttribute( + MaxConstFlowAttributeCallback callback) { + readMaxConstFlowAttribute(chipClusterPtr, callback); + } - public void subscribeUnoccupiedSetbackAttribute( - UnoccupiedSetbackAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUnoccupiedSetbackAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxConstFlowAttribute( + MaxConstFlowAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxConstFlowAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readUnoccupiedSetbackMinAttribute( - UnoccupiedSetbackMinAttributeCallback callback) { - readUnoccupiedSetbackMinAttribute(chipClusterPtr, callback); + public void readMinConstTempAttribute( + MinConstTempAttributeCallback callback) { + readMinConstTempAttribute(chipClusterPtr, callback); } - public void subscribeUnoccupiedSetbackMinAttribute( - UnoccupiedSetbackMinAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUnoccupiedSetbackMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMinConstTempAttribute( + MinConstTempAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinConstTempAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readUnoccupiedSetbackMaxAttribute( - UnoccupiedSetbackMaxAttributeCallback callback) { - readUnoccupiedSetbackMaxAttribute(chipClusterPtr, callback); + public void readMaxConstTempAttribute( + MaxConstTempAttributeCallback callback) { + readMaxConstTempAttribute(chipClusterPtr, callback); } - public void subscribeUnoccupiedSetbackMaxAttribute( - UnoccupiedSetbackMaxAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUnoccupiedSetbackMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxConstTempAttribute( + MaxConstTempAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxConstTempAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEmergencyHeatDeltaAttribute( + public void readPumpStatusAttribute( IntegerAttributeCallback callback) { - readEmergencyHeatDeltaAttribute(chipClusterPtr, callback); - } - public void writeEmergencyHeatDeltaAttribute(DefaultClusterCallback callback, Integer value) { - writeEmergencyHeatDeltaAttribute(chipClusterPtr, callback, value, null); + readPumpStatusAttribute(chipClusterPtr, callback); } - - public void writeEmergencyHeatDeltaAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeEmergencyHeatDeltaAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribePumpStatusAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePumpStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readEffectiveOperationModeAttribute( + IntegerAttributeCallback callback) { + readEffectiveOperationModeAttribute(chipClusterPtr, callback); + } - - public void subscribeEmergencyHeatDeltaAttribute( + public void subscribeEffectiveOperationModeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEmergencyHeatDeltaAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeEffectiveOperationModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readACTypeAttribute( + public void readEffectiveControlModeAttribute( IntegerAttributeCallback callback) { - readACTypeAttribute(chipClusterPtr, callback); + readEffectiveControlModeAttribute(chipClusterPtr, callback); } - public void writeACTypeAttribute(DefaultClusterCallback callback, Integer value) { - writeACTypeAttribute(chipClusterPtr, callback, value, null); + + public void subscribeEffectiveControlModeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEffectiveControlModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - public void writeACTypeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeACTypeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readCapacityAttribute( + CapacityAttributeCallback callback) { + readCapacityAttribute(chipClusterPtr, callback); } - - - public void subscribeACTypeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeACTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCapacityAttribute( + CapacityAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCapacityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readACCapacityAttribute( - IntegerAttributeCallback callback) { - readACCapacityAttribute(chipClusterPtr, callback); - } - public void writeACCapacityAttribute(DefaultClusterCallback callback, Integer value) { - writeACCapacityAttribute(chipClusterPtr, callback, value, null); + public void readSpeedAttribute( + SpeedAttributeCallback callback) { + readSpeedAttribute(chipClusterPtr, callback); } - - public void writeACCapacityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeACCapacityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeSpeedAttribute( + SpeedAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSpeedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - - public void subscribeACCapacityAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeACCapacityAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readLifetimeRunningHoursAttribute( + LifetimeRunningHoursAttributeCallback callback) { + readLifetimeRunningHoursAttribute(chipClusterPtr, callback); } - public void readACRefrigerantTypeAttribute( - IntegerAttributeCallback callback) { - readACRefrigerantTypeAttribute(chipClusterPtr, callback); - } - public void writeACRefrigerantTypeAttribute(DefaultClusterCallback callback, Integer value) { - writeACRefrigerantTypeAttribute(chipClusterPtr, callback, value, null); + public void writeLifetimeRunningHoursAttribute(DefaultClusterCallback callback, Long value) { + writeLifetimeRunningHoursAttribute(chipClusterPtr, callback, value, null); } - - public void writeACRefrigerantTypeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeACRefrigerantTypeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeLifetimeRunningHoursAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeLifetimeRunningHoursAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - - public void subscribeACRefrigerantTypeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeACRefrigerantTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeLifetimeRunningHoursAttribute( + LifetimeRunningHoursAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLifetimeRunningHoursAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readACCompressorTypeAttribute( - IntegerAttributeCallback callback) { - readACCompressorTypeAttribute(chipClusterPtr, callback); - } - public void writeACCompressorTypeAttribute(DefaultClusterCallback callback, Integer value) { - writeACCompressorTypeAttribute(chipClusterPtr, callback, value, null); + public void readPowerAttribute( + PowerAttributeCallback callback) { + readPowerAttribute(chipClusterPtr, callback); } - - public void writeACCompressorTypeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeACCompressorTypeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribePowerAttribute( + PowerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - - public void subscribeACCompressorTypeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeACCompressorTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readLifetimeEnergyConsumedAttribute( + LifetimeEnergyConsumedAttributeCallback callback) { + readLifetimeEnergyConsumedAttribute(chipClusterPtr, callback); } - public void readACErrorCodeAttribute( - LongAttributeCallback callback) { - readACErrorCodeAttribute(chipClusterPtr, callback); - } - public void writeACErrorCodeAttribute(DefaultClusterCallback callback, Long value) { - writeACErrorCodeAttribute(chipClusterPtr, callback, value, null); + public void writeLifetimeEnergyConsumedAttribute(DefaultClusterCallback callback, Long value) { + writeLifetimeEnergyConsumedAttribute(chipClusterPtr, callback, value, null); } - - public void writeACErrorCodeAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeACErrorCodeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeLifetimeEnergyConsumedAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeLifetimeEnergyConsumedAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - - public void subscribeACErrorCodeAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeACErrorCodeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeLifetimeEnergyConsumedAttribute( + LifetimeEnergyConsumedAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLifetimeEnergyConsumedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readACLouverPositionAttribute( + public void readOperationModeAttribute( IntegerAttributeCallback callback) { - readACLouverPositionAttribute(chipClusterPtr, callback); - } - public void writeACLouverPositionAttribute(DefaultClusterCallback callback, Integer value) { - writeACLouverPositionAttribute(chipClusterPtr, callback, value, null); - } - - - public void writeACLouverPositionAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeACLouverPositionAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + readOperationModeAttribute(chipClusterPtr, callback); } - - - public void subscribeACLouverPositionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeACLouverPositionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeOperationModeAttribute(DefaultClusterCallback callback, Integer value) { + writeOperationModeAttribute(chipClusterPtr, callback, value, null); } - public void readACCoilTemperatureAttribute( - ACCoilTemperatureAttributeCallback callback) { - readACCoilTemperatureAttribute(chipClusterPtr, callback); + public void writeOperationModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOperationModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeACCoilTemperatureAttribute( - ACCoilTemperatureAttributeCallback callback, int minInterval, int maxInterval) { - subscribeACCoilTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOperationModeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOperationModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readACCapacityformatAttribute( + public void readControlModeAttribute( IntegerAttributeCallback callback) { - readACCapacityformatAttribute(chipClusterPtr, callback); - } - public void writeACCapacityformatAttribute(DefaultClusterCallback callback, Integer value) { - writeACCapacityformatAttribute(chipClusterPtr, callback, value, null); + readControlModeAttribute(chipClusterPtr, callback); } - - public void writeACCapacityformatAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeACCapacityformatAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeControlModeAttribute(DefaultClusterCallback callback, Integer value) { + writeControlModeAttribute(chipClusterPtr, callback, value, null); } + public void writeControlModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeControlModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeACCapacityformatAttribute( + public void subscribeControlModeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeACCapacityformatAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeControlModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -18867,1875 +17033,1547 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMaxPressureAttribute(long chipClusterPtr, MaxPressureAttributeCallback callback); - private native void readLocalTemperatureAttribute(long chipClusterPtr - , LocalTemperatureAttributeCallback callback); + private native void subscribeMaxPressureAttribute(long chipClusterPtr, MaxPressureAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeLocalTemperatureAttribute(long chipClusterPtr - , LocalTemperatureAttributeCallback callback, int minInterval, int maxInterval); - private native void readOutdoorTemperatureAttribute(long chipClusterPtr - , OutdoorTemperatureAttributeCallback callback); + private native void readMaxSpeedAttribute(long chipClusterPtr, MaxSpeedAttributeCallback callback); - private native void subscribeOutdoorTemperatureAttribute(long chipClusterPtr - , OutdoorTemperatureAttributeCallback callback, int minInterval, int maxInterval); - private native void readOccupancyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaxSpeedAttribute(long chipClusterPtr, MaxSpeedAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOccupancyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAbsMinHeatSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readMaxFlowAttribute(long chipClusterPtr, MaxFlowAttributeCallback callback); - private native void subscribeAbsMinHeatSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAbsMaxHeatSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaxFlowAttribute(long chipClusterPtr, MaxFlowAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAbsMaxHeatSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAbsMinCoolSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readMinConstPressureAttribute(long chipClusterPtr, MinConstPressureAttributeCallback callback); - private native void subscribeAbsMinCoolSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAbsMaxCoolSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMinConstPressureAttribute(long chipClusterPtr, MinConstPressureAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAbsMaxCoolSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPICoolingDemandAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readMaxConstPressureAttribute(long chipClusterPtr, MaxConstPressureAttributeCallback callback); - private native void subscribePICoolingDemandAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPIHeatingDemandAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaxConstPressureAttribute(long chipClusterPtr, MaxConstPressureAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePIHeatingDemandAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readHVACSystemTypeConfigurationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readMinCompPressureAttribute(long chipClusterPtr, MinCompPressureAttributeCallback callback); - private native void writeHVACSystemTypeConfigurationAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribeHVACSystemTypeConfigurationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLocalTemperatureCalibrationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMinCompPressureAttribute(long chipClusterPtr, MinCompPressureAttributeCallback callback, int minInterval, int maxInterval); - private native void writeLocalTemperatureCalibrationAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readMaxCompPressureAttribute(long chipClusterPtr, MaxCompPressureAttributeCallback callback); - private native void subscribeLocalTemperatureCalibrationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOccupiedCoolingSetpointAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaxCompPressureAttribute(long chipClusterPtr, MaxCompPressureAttributeCallback callback, int minInterval, int maxInterval); - private native void writeOccupiedCoolingSetpointAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readMinConstSpeedAttribute(long chipClusterPtr, MinConstSpeedAttributeCallback callback); - private native void subscribeOccupiedCoolingSetpointAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOccupiedHeatingSetpointAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMinConstSpeedAttribute(long chipClusterPtr, MinConstSpeedAttributeCallback callback, int minInterval, int maxInterval); - private native void writeOccupiedHeatingSetpointAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readMaxConstSpeedAttribute(long chipClusterPtr, MaxConstSpeedAttributeCallback callback); - private native void subscribeOccupiedHeatingSetpointAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readUnoccupiedCoolingSetpointAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaxConstSpeedAttribute(long chipClusterPtr, MaxConstSpeedAttributeCallback callback, int minInterval, int maxInterval); - private native void writeUnoccupiedCoolingSetpointAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readMinConstFlowAttribute(long chipClusterPtr, MinConstFlowAttributeCallback callback); - private native void subscribeUnoccupiedCoolingSetpointAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readUnoccupiedHeatingSetpointAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMinConstFlowAttribute(long chipClusterPtr, MinConstFlowAttributeCallback callback, int minInterval, int maxInterval); - private native void writeUnoccupiedHeatingSetpointAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readMaxConstFlowAttribute(long chipClusterPtr, MaxConstFlowAttributeCallback callback); - private native void subscribeUnoccupiedHeatingSetpointAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinHeatSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaxConstFlowAttribute(long chipClusterPtr, MaxConstFlowAttributeCallback callback, int minInterval, int maxInterval); - private native void writeMinHeatSetpointLimitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readMinConstTempAttribute(long chipClusterPtr, MinConstTempAttributeCallback callback); - private native void subscribeMinHeatSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxHeatSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMinConstTempAttribute(long chipClusterPtr, MinConstTempAttributeCallback callback, int minInterval, int maxInterval); - private native void writeMaxHeatSetpointLimitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readMaxConstTempAttribute(long chipClusterPtr, MaxConstTempAttributeCallback callback); - private native void subscribeMaxHeatSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinCoolSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaxConstTempAttribute(long chipClusterPtr, MaxConstTempAttributeCallback callback, int minInterval, int maxInterval); - private native void writeMinCoolSetpointLimitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readPumpStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeMinCoolSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxCoolSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribePumpStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeMaxCoolSetpointLimitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readEffectiveOperationModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeMaxCoolSetpointLimitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinSetpointDeadBandAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeEffectiveOperationModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeMinSetpointDeadBandAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readEffectiveControlModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeMinSetpointDeadBandAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRemoteSensingAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeEffectiveControlModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeRemoteSensingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readCapacityAttribute(long chipClusterPtr, CapacityAttributeCallback callback); - private native void subscribeRemoteSensingAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readControlSequenceOfOperationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeCapacityAttribute(long chipClusterPtr, CapacityAttributeCallback callback, int minInterval, int maxInterval); - private native void writeControlSequenceOfOperationAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readSpeedAttribute(long chipClusterPtr, SpeedAttributeCallback callback); - private native void subscribeControlSequenceOfOperationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSystemModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeSpeedAttribute(long chipClusterPtr, SpeedAttributeCallback callback, int minInterval, int maxInterval); - private native void writeSystemModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readLifetimeRunningHoursAttribute(long chipClusterPtr, LifetimeRunningHoursAttributeCallback callback); - private native void subscribeSystemModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readThermostatRunningModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void writeLifetimeRunningHoursAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeThermostatRunningModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartOfWeekAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeLifetimeRunningHoursAttribute(long chipClusterPtr, LifetimeRunningHoursAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeStartOfWeekAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfWeeklyTransitionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readPowerAttribute(long chipClusterPtr, PowerAttributeCallback callback); - private native void subscribeNumberOfWeeklyTransitionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfDailyTransitionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribePowerAttribute(long chipClusterPtr, PowerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeNumberOfDailyTransitionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readTemperatureSetpointHoldAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readLifetimeEnergyConsumedAttribute(long chipClusterPtr, LifetimeEnergyConsumedAttributeCallback callback); - private native void writeTemperatureSetpointHoldAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void writeLifetimeEnergyConsumedAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeTemperatureSetpointHoldAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readTemperatureSetpointHoldDurationAttribute(long chipClusterPtr - , TemperatureSetpointHoldDurationAttributeCallback callback); + private native void subscribeLifetimeEnergyConsumedAttribute(long chipClusterPtr, LifetimeEnergyConsumedAttributeCallback callback, int minInterval, int maxInterval); - private native void writeTemperatureSetpointHoldDurationAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readOperationModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeTemperatureSetpointHoldDurationAttribute(long chipClusterPtr - , TemperatureSetpointHoldDurationAttributeCallback callback, int minInterval, int maxInterval); - private native void readThermostatProgrammingOperationModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void writeOperationModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void writeThermostatProgrammingOperationModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeOperationModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeThermostatProgrammingOperationModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readThermostatRunningStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readControlModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeThermostatRunningStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSetpointChangeSourceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void writeControlModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeSetpointChangeSourceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSetpointChangeAmountAttribute(long chipClusterPtr - , SetpointChangeAmountAttributeCallback callback); + private native void subscribeControlModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeSetpointChangeAmountAttribute(long chipClusterPtr - , SetpointChangeAmountAttributeCallback callback, int minInterval, int maxInterval); - private native void readSetpointChangeSourceTimestampAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeSetpointChangeSourceTimestampAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readOccupiedSetbackAttribute(long chipClusterPtr - , OccupiedSetbackAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void writeOccupiedSetbackAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeOccupiedSetbackAttribute(long chipClusterPtr - , OccupiedSetbackAttributeCallback callback, int minInterval, int maxInterval); - private native void readOccupiedSetbackMinAttribute(long chipClusterPtr - , OccupiedSetbackMinAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOccupiedSetbackMinAttribute(long chipClusterPtr - , OccupiedSetbackMinAttributeCallback callback, int minInterval, int maxInterval); - private native void readOccupiedSetbackMaxAttribute(long chipClusterPtr - , OccupiedSetbackMaxAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeOccupiedSetbackMaxAttribute(long chipClusterPtr - , OccupiedSetbackMaxAttributeCallback callback, int minInterval, int maxInterval); - private native void readUnoccupiedSetbackAttribute(long chipClusterPtr - , UnoccupiedSetbackAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void writeUnoccupiedSetbackAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeUnoccupiedSetbackAttribute(long chipClusterPtr - , UnoccupiedSetbackAttributeCallback callback, int minInterval, int maxInterval); - private native void readUnoccupiedSetbackMinAttribute(long chipClusterPtr - , UnoccupiedSetbackMinAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeUnoccupiedSetbackMinAttribute(long chipClusterPtr - , UnoccupiedSetbackMinAttributeCallback callback, int minInterval, int maxInterval); - private native void readUnoccupiedSetbackMaxAttribute(long chipClusterPtr - , UnoccupiedSetbackMaxAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeUnoccupiedSetbackMaxAttribute(long chipClusterPtr - , UnoccupiedSetbackMaxAttributeCallback callback, int minInterval, int maxInterval); - private native void readEmergencyHeatDeltaAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void writeEmergencyHeatDeltaAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeEmergencyHeatDeltaAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readACTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - private native void writeACTypeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public static class ThermostatCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 513L; - private native void subscribeACTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readACCapacityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public ThermostatCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } - private native void writeACCapacityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + @Override + public native long initWithDevice(long devicePtr, int endpointId); - private native void subscribeACCapacityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readACRefrigerantTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void setpointRaiseLower(DefaultClusterCallback callback, Integer mode, Integer amount) { + setpointRaiseLower(chipClusterPtr, callback, mode, amount, null); + } - private native void writeACRefrigerantTypeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void setpointRaiseLower(DefaultClusterCallback callback, Integer mode, Integer amount, int timedInvokeTimeoutMs) { + setpointRaiseLower(chipClusterPtr, callback, mode, amount, timedInvokeTimeoutMs); + } - private native void subscribeACRefrigerantTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readACCompressorTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void setWeeklySchedule(DefaultClusterCallback callback, Integer numberOfTransitionsForSequence, Integer dayOfWeekForSequence, Integer modeForSequence, ArrayList transitions) { + setWeeklySchedule(chipClusterPtr, callback, numberOfTransitionsForSequence, dayOfWeekForSequence, modeForSequence, transitions, null); + } - private native void writeACCompressorTypeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void setWeeklySchedule(DefaultClusterCallback callback, Integer numberOfTransitionsForSequence, Integer dayOfWeekForSequence, Integer modeForSequence, ArrayList transitions, int timedInvokeTimeoutMs) { + setWeeklySchedule(chipClusterPtr, callback, numberOfTransitionsForSequence, dayOfWeekForSequence, modeForSequence, transitions, timedInvokeTimeoutMs); + } - private native void subscribeACCompressorTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readACErrorCodeAttribute(long chipClusterPtr - , LongAttributeCallback callback); + public void getWeeklySchedule(GetWeeklyScheduleResponseCallback callback, Integer daysToReturn, Integer modeToReturn) { + getWeeklySchedule(chipClusterPtr, callback, daysToReturn, modeToReturn, null); + } - private native void writeACErrorCodeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + public void getWeeklySchedule(GetWeeklyScheduleResponseCallback callback, Integer daysToReturn, Integer modeToReturn, int timedInvokeTimeoutMs) { + getWeeklySchedule(chipClusterPtr, callback, daysToReturn, modeToReturn, timedInvokeTimeoutMs); + } - private native void subscribeACErrorCodeAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readACLouverPositionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void clearWeeklySchedule(DefaultClusterCallback callback) { + clearWeeklySchedule(chipClusterPtr, callback, null); + } - private native void writeACLouverPositionAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void clearWeeklySchedule(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + clearWeeklySchedule(chipClusterPtr, callback, timedInvokeTimeoutMs); + } - private native void subscribeACLouverPositionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readACCoilTemperatureAttribute(long chipClusterPtr - , ACCoilTemperatureAttributeCallback callback); + private native void setpointRaiseLower(long chipClusterPtr, DefaultClusterCallback callback, Integer mode, Integer amount, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeACCoilTemperatureAttribute(long chipClusterPtr - , ACCoilTemperatureAttributeCallback callback, int minInterval, int maxInterval); - private native void readACCapacityformatAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void setWeeklySchedule(long chipClusterPtr, DefaultClusterCallback callback, Integer numberOfTransitionsForSequence, Integer dayOfWeekForSequence, Integer modeForSequence, ArrayList transitions, @Nullable Integer timedInvokeTimeoutMs); - private native void writeACCapacityformatAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void getWeeklySchedule(long chipClusterPtr, GetWeeklyScheduleResponseCallback callback, Integer daysToReturn, Integer modeToReturn, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeACCapacityformatAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class FanControlCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 514L; + private native void clearWeeklySchedule(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - public FanControlCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public interface GetWeeklyScheduleResponseCallback { + void onSuccess(Integer numberOfTransitionsForSequence, Integer dayOfWeekForSequence, Integer modeForSequence, ArrayList transitions); + void onError(Exception error); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); - - - public void step(DefaultClusterCallback callback, Integer direction, Optional wrap, Optional lowestOff) { - step(chipClusterPtr, callback, direction, wrap, lowestOff, null); + public interface LocalTemperatureAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void step(DefaultClusterCallback callback, Integer direction, Optional wrap, Optional lowestOff, int timedInvokeTimeoutMs) { - step(chipClusterPtr, callback, direction, wrap, lowestOff, timedInvokeTimeoutMs); + public interface OutdoorTemperatureAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - private native void step(long chipClusterPtr, DefaultClusterCallback callback, Integer direction, Optional wrap, Optional lowestOff, @Nullable Integer timedInvokeTimeoutMs); - - public interface PercentSettingAttributeCallback { + public interface TemperatureSetpointHoldDurationAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface SpeedSettingAttributeCallback { + + public interface SetpointChangeAmountAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); + + public interface OccupiedSetbackAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); + + public interface OccupiedSetbackMinAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface EventListAttributeCallback { - void onSuccess(List value); + + public interface OccupiedSetbackMaxAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface AttributeListAttributeCallback { - void onSuccess(List value); + + public interface UnoccupiedSetbackAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readFanModeAttribute( - IntegerAttributeCallback callback) { - readFanModeAttribute(chipClusterPtr, callback); - } - public void writeFanModeAttribute(DefaultClusterCallback callback, Integer value) { - writeFanModeAttribute(chipClusterPtr, callback, value, null); + public interface UnoccupiedSetbackMinAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - public void writeFanModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeFanModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public interface UnoccupiedSetbackMaxAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - - public void subscribeFanModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFanModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface ACCoilTemperatureAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readFanModeSequenceAttribute( - IntegerAttributeCallback callback) { - readFanModeSequenceAttribute(chipClusterPtr, callback); - } - public void writeFanModeSequenceAttribute(DefaultClusterCallback callback, Integer value) { - writeFanModeSequenceAttribute(chipClusterPtr, callback, value, null); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - public void writeFanModeSequenceAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeFanModeSequenceAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - - public void subscribeFanModeSequenceAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFanModeSequenceAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readPercentSettingAttribute( - PercentSettingAttributeCallback callback) { - readPercentSettingAttribute(chipClusterPtr, callback); - } - public void writePercentSettingAttribute(DefaultClusterCallback callback, Integer value) { - writePercentSettingAttribute(chipClusterPtr, callback, value, null); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - - public void writePercentSettingAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writePercentSettingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readLocalTemperatureAttribute( + LocalTemperatureAttributeCallback callback) { + readLocalTemperatureAttribute(chipClusterPtr, callback); } + public void subscribeLocalTemperatureAttribute( + LocalTemperatureAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLocalTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readOutdoorTemperatureAttribute( + OutdoorTemperatureAttributeCallback callback) { + readOutdoorTemperatureAttribute(chipClusterPtr, callback); + } - public void subscribePercentSettingAttribute( - PercentSettingAttributeCallback callback, int minInterval, int maxInterval) { - subscribePercentSettingAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOutdoorTemperatureAttribute( + OutdoorTemperatureAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOutdoorTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPercentCurrentAttribute( + public void readOccupancyAttribute( IntegerAttributeCallback callback) { - readPercentCurrentAttribute(chipClusterPtr, callback); + readOccupancyAttribute(chipClusterPtr, callback); } - public void subscribePercentCurrentAttribute( + public void subscribeOccupancyAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePercentCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeOccupancyAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSpeedMaxAttribute( + public void readAbsMinHeatSetpointLimitAttribute( IntegerAttributeCallback callback) { - readSpeedMaxAttribute(chipClusterPtr, callback); + readAbsMinHeatSetpointLimitAttribute(chipClusterPtr, callback); } - public void subscribeSpeedMaxAttribute( + public void subscribeAbsMinHeatSetpointLimitAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSpeedMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readSpeedSettingAttribute( - SpeedSettingAttributeCallback callback) { - readSpeedSettingAttribute(chipClusterPtr, callback); - } - public void writeSpeedSettingAttribute(DefaultClusterCallback callback, Integer value) { - writeSpeedSettingAttribute(chipClusterPtr, callback, value, null); + subscribeAbsMinHeatSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - public void writeSpeedSettingAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeSpeedSettingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readAbsMaxHeatSetpointLimitAttribute( + IntegerAttributeCallback callback) { + readAbsMaxHeatSetpointLimitAttribute(chipClusterPtr, callback); } - - - public void subscribeSpeedSettingAttribute( - SpeedSettingAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSpeedSettingAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAbsMaxHeatSetpointLimitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAbsMaxHeatSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSpeedCurrentAttribute( + public void readAbsMinCoolSetpointLimitAttribute( IntegerAttributeCallback callback) { - readSpeedCurrentAttribute(chipClusterPtr, callback); + readAbsMinCoolSetpointLimitAttribute(chipClusterPtr, callback); } - public void subscribeSpeedCurrentAttribute( + public void subscribeAbsMinCoolSetpointLimitAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSpeedCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeAbsMinCoolSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRockSupportAttribute( + public void readAbsMaxCoolSetpointLimitAttribute( IntegerAttributeCallback callback) { - readRockSupportAttribute(chipClusterPtr, callback); + readAbsMaxCoolSetpointLimitAttribute(chipClusterPtr, callback); } - public void subscribeRockSupportAttribute( + public void subscribeAbsMaxCoolSetpointLimitAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRockSupportAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeAbsMaxCoolSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRockSettingAttribute( + public void readPICoolingDemandAttribute( IntegerAttributeCallback callback) { - readRockSettingAttribute(chipClusterPtr, callback); - } - public void writeRockSettingAttribute(DefaultClusterCallback callback, Integer value) { - writeRockSettingAttribute(chipClusterPtr, callback, value, null); - } - - - public void writeRockSettingAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeRockSettingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + readPICoolingDemandAttribute(chipClusterPtr, callback); } - - - public void subscribeRockSettingAttribute( + public void subscribePICoolingDemandAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRockSettingAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribePICoolingDemandAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readWindSupportAttribute( + public void readPIHeatingDemandAttribute( IntegerAttributeCallback callback) { - readWindSupportAttribute(chipClusterPtr, callback); + readPIHeatingDemandAttribute(chipClusterPtr, callback); } - public void subscribeWindSupportAttribute( + public void subscribePIHeatingDemandAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeWindSupportAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribePIHeatingDemandAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readWindSettingAttribute( + public void readHVACSystemTypeConfigurationAttribute( IntegerAttributeCallback callback) { - readWindSettingAttribute(chipClusterPtr, callback); - } - public void writeWindSettingAttribute(DefaultClusterCallback callback, Integer value) { - writeWindSettingAttribute(chipClusterPtr, callback, value, null); + readHVACSystemTypeConfigurationAttribute(chipClusterPtr, callback); } - - public void writeWindSettingAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeWindSettingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeHVACSystemTypeConfigurationAttribute(DefaultClusterCallback callback, Integer value) { + writeHVACSystemTypeConfigurationAttribute(chipClusterPtr, callback, value, null); } + public void writeHVACSystemTypeConfigurationAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeHVACSystemTypeConfigurationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeWindSettingAttribute( + public void subscribeHVACSystemTypeConfigurationAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeWindSettingAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeHVACSystemTypeConfigurationAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAirflowDirectionAttribute( + public void readLocalTemperatureCalibrationAttribute( IntegerAttributeCallback callback) { - readAirflowDirectionAttribute(chipClusterPtr, callback); - } - public void writeAirflowDirectionAttribute(DefaultClusterCallback callback, Integer value) { - writeAirflowDirectionAttribute(chipClusterPtr, callback, value, null); + readLocalTemperatureCalibrationAttribute(chipClusterPtr, callback); } - - public void writeAirflowDirectionAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeAirflowDirectionAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeLocalTemperatureCalibrationAttribute(DefaultClusterCallback callback, Integer value) { + writeLocalTemperatureCalibrationAttribute(chipClusterPtr, callback, value, null); } + public void writeLocalTemperatureCalibrationAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeLocalTemperatureCalibrationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeAirflowDirectionAttribute( + public void subscribeLocalTemperatureCalibrationAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAirflowDirectionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeLocalTemperatureCalibrationAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void readOccupiedCoolingSetpointAttribute( + IntegerAttributeCallback callback) { + readOccupiedCoolingSetpointAttribute(chipClusterPtr, callback); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeOccupiedCoolingSetpointAttribute(DefaultClusterCallback callback, Integer value) { + writeOccupiedCoolingSetpointAttribute(chipClusterPtr, callback, value, null); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void writeOccupiedCoolingSetpointAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOccupiedCoolingSetpointAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOccupiedCoolingSetpointAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOccupiedCoolingSetpointAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void readOccupiedHeatingSetpointAttribute( + IntegerAttributeCallback callback) { + readOccupiedHeatingSetpointAttribute(chipClusterPtr, callback); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeOccupiedHeatingSetpointAttribute(DefaultClusterCallback callback, Integer value) { + writeOccupiedHeatingSetpointAttribute(chipClusterPtr, callback, value, null); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void writeOccupiedHeatingSetpointAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOccupiedHeatingSetpointAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOccupiedHeatingSetpointAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOccupiedHeatingSetpointAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + public void readUnoccupiedCoolingSetpointAttribute( + IntegerAttributeCallback callback) { + readUnoccupiedCoolingSetpointAttribute(chipClusterPtr, callback); } - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeUnoccupiedCoolingSetpointAttribute(DefaultClusterCallback callback, Integer value) { + writeUnoccupiedCoolingSetpointAttribute(chipClusterPtr, callback, value, null); } - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + public void writeUnoccupiedCoolingSetpointAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeUnoccupiedCoolingSetpointAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeClusterRevisionAttribute( + public void subscribeUnoccupiedCoolingSetpointAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeUnoccupiedCoolingSetpointAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readUnoccupiedHeatingSetpointAttribute( + IntegerAttributeCallback callback) { + readUnoccupiedHeatingSetpointAttribute(chipClusterPtr, callback); + } - private native void readFanModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void writeFanModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribeFanModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readFanModeSequenceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void writeFanModeSequenceAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribeFanModeSequenceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPercentSettingAttribute(long chipClusterPtr - , PercentSettingAttributeCallback callback); - - private native void writePercentSettingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribePercentSettingAttribute(long chipClusterPtr - , PercentSettingAttributeCallback callback, int minInterval, int maxInterval); - private native void readPercentCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePercentCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSpeedMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeSpeedMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readSpeedSettingAttribute(long chipClusterPtr - , SpeedSettingAttributeCallback callback); - - private native void writeSpeedSettingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribeSpeedSettingAttribute(long chipClusterPtr - , SpeedSettingAttributeCallback callback, int minInterval, int maxInterval); - private native void readSpeedCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeSpeedCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRockSupportAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRockSupportAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRockSettingAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void writeUnoccupiedHeatingSetpointAttribute(DefaultClusterCallback callback, Integer value) { + writeUnoccupiedHeatingSetpointAttribute(chipClusterPtr, callback, value, null); + } - private native void writeRockSettingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void writeUnoccupiedHeatingSetpointAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeUnoccupiedHeatingSetpointAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - private native void subscribeRockSettingAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readWindSupportAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void subscribeUnoccupiedHeatingSetpointAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUnoccupiedHeatingSetpointAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void subscribeWindSupportAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readWindSettingAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void readMinHeatSetpointLimitAttribute( + IntegerAttributeCallback callback) { + readMinHeatSetpointLimitAttribute(chipClusterPtr, callback); + } - private native void writeWindSettingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void writeMinHeatSetpointLimitAttribute(DefaultClusterCallback callback, Integer value) { + writeMinHeatSetpointLimitAttribute(chipClusterPtr, callback, value, null); + } - private native void subscribeWindSettingAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAirflowDirectionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void writeMinHeatSetpointLimitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeMinHeatSetpointLimitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - private native void writeAirflowDirectionAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void subscribeMinHeatSetpointLimitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinHeatSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void subscribeAirflowDirectionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class ThermostatUserInterfaceConfigurationCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 516L; + public void readMaxHeatSetpointLimitAttribute( + IntegerAttributeCallback callback) { + readMaxHeatSetpointLimitAttribute(chipClusterPtr, callback); + } - public ThermostatUserInterfaceConfigurationCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void writeMaxHeatSetpointLimitAttribute(DefaultClusterCallback callback, Integer value) { + writeMaxHeatSetpointLimitAttribute(chipClusterPtr, callback, value, null); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); + public void writeMaxHeatSetpointLimitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeMaxHeatSetpointLimitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + public void subscribeMaxHeatSetpointLimitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxHeatSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void readMinCoolSetpointLimitAttribute( + IntegerAttributeCallback callback) { + readMinCoolSetpointLimitAttribute(chipClusterPtr, callback); } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void writeMinCoolSetpointLimitAttribute(DefaultClusterCallback callback, Integer value) { + writeMinCoolSetpointLimitAttribute(chipClusterPtr, callback, value, null); } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void writeMinCoolSetpointLimitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeMinCoolSetpointLimitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeMinCoolSetpointLimitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinCoolSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readTemperatureDisplayModeAttribute( + public void readMaxCoolSetpointLimitAttribute( IntegerAttributeCallback callback) { - readTemperatureDisplayModeAttribute(chipClusterPtr, callback); - } - public void writeTemperatureDisplayModeAttribute(DefaultClusterCallback callback, Integer value) { - writeTemperatureDisplayModeAttribute(chipClusterPtr, callback, value, null); + readMaxCoolSetpointLimitAttribute(chipClusterPtr, callback); } - - public void writeTemperatureDisplayModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeTemperatureDisplayModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeMaxCoolSetpointLimitAttribute(DefaultClusterCallback callback, Integer value) { + writeMaxCoolSetpointLimitAttribute(chipClusterPtr, callback, value, null); } + public void writeMaxCoolSetpointLimitAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeMaxCoolSetpointLimitAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeTemperatureDisplayModeAttribute( + public void subscribeMaxCoolSetpointLimitAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTemperatureDisplayModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeMaxCoolSetpointLimitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readKeypadLockoutAttribute( + public void readMinSetpointDeadBandAttribute( IntegerAttributeCallback callback) { - readKeypadLockoutAttribute(chipClusterPtr, callback); - } - public void writeKeypadLockoutAttribute(DefaultClusterCallback callback, Integer value) { - writeKeypadLockoutAttribute(chipClusterPtr, callback, value, null); + readMinSetpointDeadBandAttribute(chipClusterPtr, callback); } - - public void writeKeypadLockoutAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeKeypadLockoutAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeMinSetpointDeadBandAttribute(DefaultClusterCallback callback, Integer value) { + writeMinSetpointDeadBandAttribute(chipClusterPtr, callback, value, null); } + public void writeMinSetpointDeadBandAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeMinSetpointDeadBandAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeKeypadLockoutAttribute( + public void subscribeMinSetpointDeadBandAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeKeypadLockoutAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeMinSetpointDeadBandAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readScheduleProgrammingVisibilityAttribute( + public void readRemoteSensingAttribute( IntegerAttributeCallback callback) { - readScheduleProgrammingVisibilityAttribute(chipClusterPtr, callback); - } - public void writeScheduleProgrammingVisibilityAttribute(DefaultClusterCallback callback, Integer value) { - writeScheduleProgrammingVisibilityAttribute(chipClusterPtr, callback, value, null); + readRemoteSensingAttribute(chipClusterPtr, callback); } - - public void writeScheduleProgrammingVisibilityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeScheduleProgrammingVisibilityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeRemoteSensingAttribute(DefaultClusterCallback callback, Integer value) { + writeRemoteSensingAttribute(chipClusterPtr, callback, value, null); } + public void writeRemoteSensingAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeRemoteSensingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeScheduleProgrammingVisibilityAttribute( + public void subscribeRemoteSensingAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeScheduleProgrammingVisibilityAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeRemoteSensingAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void readControlSequenceOfOperationAttribute( + IntegerAttributeCallback callback) { + readControlSequenceOfOperationAttribute(chipClusterPtr, callback); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeControlSequenceOfOperationAttribute(DefaultClusterCallback callback, Integer value) { + writeControlSequenceOfOperationAttribute(chipClusterPtr, callback, value, null); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void writeControlSequenceOfOperationAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeControlSequenceOfOperationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeControlSequenceOfOperationAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeControlSequenceOfOperationAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void readSystemModeAttribute( + IntegerAttributeCallback callback) { + readSystemModeAttribute(chipClusterPtr, callback); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeSystemModeAttribute(DefaultClusterCallback callback, Integer value) { + writeSystemModeAttribute(chipClusterPtr, callback, value, null); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void writeSystemModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeSystemModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSystemModeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSystemModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + public void readThermostatRunningModeAttribute( + IntegerAttributeCallback callback) { + readThermostatRunningModeAttribute(chipClusterPtr, callback); } - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeThermostatRunningModeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeThermostatRunningModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readClusterRevisionAttribute( + public void readStartOfWeekAttribute( IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + readStartOfWeekAttribute(chipClusterPtr, callback); } - public void subscribeClusterRevisionAttribute( + public void subscribeStartOfWeekAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeStartOfWeekAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readNumberOfWeeklyTransitionsAttribute( + IntegerAttributeCallback callback) { + readNumberOfWeeklyTransitionsAttribute(chipClusterPtr, callback); + } - private native void readTemperatureDisplayModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void writeTemperatureDisplayModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribeTemperatureDisplayModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readKeypadLockoutAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void subscribeNumberOfWeeklyTransitionsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNumberOfWeeklyTransitionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void writeKeypadLockoutAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribeKeypadLockoutAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readScheduleProgrammingVisibilityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void readNumberOfDailyTransitionsAttribute( + IntegerAttributeCallback callback) { + readNumberOfDailyTransitionsAttribute(chipClusterPtr, callback); + } - private native void writeScheduleProgrammingVisibilityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void subscribeNumberOfDailyTransitionsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNumberOfDailyTransitionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void subscribeScheduleProgrammingVisibilityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class ColorControlCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 768L; + public void readTemperatureSetpointHoldAttribute( + IntegerAttributeCallback callback) { + readTemperatureSetpointHoldAttribute(chipClusterPtr, callback); + } - public ColorControlCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void writeTemperatureSetpointHoldAttribute(DefaultClusterCallback callback, Integer value) { + writeTemperatureSetpointHoldAttribute(chipClusterPtr, callback, value, null); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); + public void writeTemperatureSetpointHoldAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeTemperatureSetpointHoldAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + public void subscribeTemperatureSetpointHoldAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTemperatureSetpointHoldAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void moveToHue(DefaultClusterCallback callback, Integer hue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - moveToHue(chipClusterPtr, callback, hue, direction, transitionTime, optionsMask, optionsOverride, null); + public void readTemperatureSetpointHoldDurationAttribute( + TemperatureSetpointHoldDurationAttributeCallback callback) { + readTemperatureSetpointHoldDurationAttribute(chipClusterPtr, callback); } - public void moveToHue(DefaultClusterCallback callback, Integer hue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - moveToHue(chipClusterPtr, callback, hue, direction, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void writeTemperatureSetpointHoldDurationAttribute(DefaultClusterCallback callback, Integer value) { + writeTemperatureSetpointHoldDurationAttribute(chipClusterPtr, callback, value, null); } - public void moveHue(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride) { - moveHue(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, null); + public void writeTemperatureSetpointHoldDurationAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeTemperatureSetpointHoldDurationAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void moveHue(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - moveHue(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeTemperatureSetpointHoldDurationAttribute( + TemperatureSetpointHoldDurationAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTemperatureSetpointHoldDurationAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void stepHue(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - stepHue(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, null); + public void readThermostatProgrammingOperationModeAttribute( + IntegerAttributeCallback callback) { + readThermostatProgrammingOperationModeAttribute(chipClusterPtr, callback); } - public void stepHue(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - stepHue(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void writeThermostatProgrammingOperationModeAttribute(DefaultClusterCallback callback, Integer value) { + writeThermostatProgrammingOperationModeAttribute(chipClusterPtr, callback, value, null); } - public void moveToSaturation(DefaultClusterCallback callback, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - moveToSaturation(chipClusterPtr, callback, saturation, transitionTime, optionsMask, optionsOverride, null); + public void writeThermostatProgrammingOperationModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeThermostatProgrammingOperationModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void moveToSaturation(DefaultClusterCallback callback, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - moveToSaturation(chipClusterPtr, callback, saturation, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeThermostatProgrammingOperationModeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeThermostatProgrammingOperationModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void moveSaturation(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride) { - moveSaturation(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, null); + public void readThermostatRunningStateAttribute( + IntegerAttributeCallback callback) { + readThermostatRunningStateAttribute(chipClusterPtr, callback); } - public void moveSaturation(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - moveSaturation(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeThermostatRunningStateAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeThermostatRunningStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void stepSaturation(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - stepSaturation(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, null); + public void readSetpointChangeSourceAttribute( + IntegerAttributeCallback callback) { + readSetpointChangeSourceAttribute(chipClusterPtr, callback); } - public void stepSaturation(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - stepSaturation(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeSetpointChangeSourceAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSetpointChangeSourceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void moveToHueAndSaturation(DefaultClusterCallback callback, Integer hue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - moveToHueAndSaturation(chipClusterPtr, callback, hue, saturation, transitionTime, optionsMask, optionsOverride, null); + public void readSetpointChangeAmountAttribute( + SetpointChangeAmountAttributeCallback callback) { + readSetpointChangeAmountAttribute(chipClusterPtr, callback); } - public void moveToHueAndSaturation(DefaultClusterCallback callback, Integer hue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - moveToHueAndSaturation(chipClusterPtr, callback, hue, saturation, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeSetpointChangeAmountAttribute( + SetpointChangeAmountAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSetpointChangeAmountAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void moveToColor(DefaultClusterCallback callback, Integer colorX, Integer colorY, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - moveToColor(chipClusterPtr, callback, colorX, colorY, transitionTime, optionsMask, optionsOverride, null); + public void readSetpointChangeSourceTimestampAttribute( + LongAttributeCallback callback) { + readSetpointChangeSourceTimestampAttribute(chipClusterPtr, callback); } - public void moveToColor(DefaultClusterCallback callback, Integer colorX, Integer colorY, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - moveToColor(chipClusterPtr, callback, colorX, colorY, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeSetpointChangeSourceTimestampAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSetpointChangeSourceTimestampAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void moveColor(DefaultClusterCallback callback, Integer rateX, Integer rateY, Integer optionsMask, Integer optionsOverride) { - moveColor(chipClusterPtr, callback, rateX, rateY, optionsMask, optionsOverride, null); + public void readOccupiedSetbackAttribute( + OccupiedSetbackAttributeCallback callback) { + readOccupiedSetbackAttribute(chipClusterPtr, callback); } - public void moveColor(DefaultClusterCallback callback, Integer rateX, Integer rateY, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - moveColor(chipClusterPtr, callback, rateX, rateY, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void writeOccupiedSetbackAttribute(DefaultClusterCallback callback, Integer value) { + writeOccupiedSetbackAttribute(chipClusterPtr, callback, value, null); } - public void stepColor(DefaultClusterCallback callback, Integer stepX, Integer stepY, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - stepColor(chipClusterPtr, callback, stepX, stepY, transitionTime, optionsMask, optionsOverride, null); + public void writeOccupiedSetbackAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOccupiedSetbackAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void stepColor(DefaultClusterCallback callback, Integer stepX, Integer stepY, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - stepColor(chipClusterPtr, callback, stepX, stepY, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeOccupiedSetbackAttribute( + OccupiedSetbackAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOccupiedSetbackAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void moveToColorTemperature(DefaultClusterCallback callback, Integer colorTemperatureMireds, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - moveToColorTemperature(chipClusterPtr, callback, colorTemperatureMireds, transitionTime, optionsMask, optionsOverride, null); + public void readOccupiedSetbackMinAttribute( + OccupiedSetbackMinAttributeCallback callback) { + readOccupiedSetbackMinAttribute(chipClusterPtr, callback); } - public void moveToColorTemperature(DefaultClusterCallback callback, Integer colorTemperatureMireds, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - moveToColorTemperature(chipClusterPtr, callback, colorTemperatureMireds, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeOccupiedSetbackMinAttribute( + OccupiedSetbackMinAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOccupiedSetbackMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void enhancedMoveToHue(DefaultClusterCallback callback, Integer enhancedHue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - enhancedMoveToHue(chipClusterPtr, callback, enhancedHue, direction, transitionTime, optionsMask, optionsOverride, null); + public void readOccupiedSetbackMaxAttribute( + OccupiedSetbackMaxAttributeCallback callback) { + readOccupiedSetbackMaxAttribute(chipClusterPtr, callback); } - public void enhancedMoveToHue(DefaultClusterCallback callback, Integer enhancedHue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - enhancedMoveToHue(chipClusterPtr, callback, enhancedHue, direction, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeOccupiedSetbackMaxAttribute( + OccupiedSetbackMaxAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOccupiedSetbackMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void enhancedMoveHue(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride) { - enhancedMoveHue(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, null); + public void readUnoccupiedSetbackAttribute( + UnoccupiedSetbackAttributeCallback callback) { + readUnoccupiedSetbackAttribute(chipClusterPtr, callback); } - public void enhancedMoveHue(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - enhancedMoveHue(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void writeUnoccupiedSetbackAttribute(DefaultClusterCallback callback, Integer value) { + writeUnoccupiedSetbackAttribute(chipClusterPtr, callback, value, null); } - public void enhancedStepHue(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - enhancedStepHue(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, null); + public void writeUnoccupiedSetbackAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeUnoccupiedSetbackAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void enhancedStepHue(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - enhancedStepHue(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeUnoccupiedSetbackAttribute( + UnoccupiedSetbackAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUnoccupiedSetbackAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void enhancedMoveToHueAndSaturation(DefaultClusterCallback callback, Integer enhancedHue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { - enhancedMoveToHueAndSaturation(chipClusterPtr, callback, enhancedHue, saturation, transitionTime, optionsMask, optionsOverride, null); + public void readUnoccupiedSetbackMinAttribute( + UnoccupiedSetbackMinAttributeCallback callback) { + readUnoccupiedSetbackMinAttribute(chipClusterPtr, callback); } - public void enhancedMoveToHueAndSaturation(DefaultClusterCallback callback, Integer enhancedHue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - enhancedMoveToHueAndSaturation(chipClusterPtr, callback, enhancedHue, saturation, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeUnoccupiedSetbackMinAttribute( + UnoccupiedSetbackMinAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUnoccupiedSetbackMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void colorLoopSet(DefaultClusterCallback callback, Integer updateFlags, Integer action, Integer direction, Integer time, Integer startHue, Integer optionsMask, Integer optionsOverride) { - colorLoopSet(chipClusterPtr, callback, updateFlags, action, direction, time, startHue, optionsMask, optionsOverride, null); + public void readUnoccupiedSetbackMaxAttribute( + UnoccupiedSetbackMaxAttributeCallback callback) { + readUnoccupiedSetbackMaxAttribute(chipClusterPtr, callback); } - public void colorLoopSet(DefaultClusterCallback callback, Integer updateFlags, Integer action, Integer direction, Integer time, Integer startHue, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - colorLoopSet(chipClusterPtr, callback, updateFlags, action, direction, time, startHue, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeUnoccupiedSetbackMaxAttribute( + UnoccupiedSetbackMaxAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUnoccupiedSetbackMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void stopMoveStep(DefaultClusterCallback callback, Integer optionsMask, Integer optionsOverride) { - stopMoveStep(chipClusterPtr, callback, optionsMask, optionsOverride, null); + public void readEmergencyHeatDeltaAttribute( + IntegerAttributeCallback callback) { + readEmergencyHeatDeltaAttribute(chipClusterPtr, callback); } - public void stopMoveStep(DefaultClusterCallback callback, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - stopMoveStep(chipClusterPtr, callback, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void writeEmergencyHeatDeltaAttribute(DefaultClusterCallback callback, Integer value) { + writeEmergencyHeatDeltaAttribute(chipClusterPtr, callback, value, null); } - public void moveColorTemperature(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride) { - moveColorTemperature(chipClusterPtr, callback, moveMode, rate, colorTemperatureMinimumMireds, colorTemperatureMaximumMireds, optionsMask, optionsOverride, null); + public void writeEmergencyHeatDeltaAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeEmergencyHeatDeltaAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void moveColorTemperature(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - moveColorTemperature(chipClusterPtr, callback, moveMode, rate, colorTemperatureMinimumMireds, colorTemperatureMaximumMireds, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void subscribeEmergencyHeatDeltaAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEmergencyHeatDeltaAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void stepColorTemperature(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride) { - stepColorTemperature(chipClusterPtr, callback, stepMode, stepSize, transitionTime, colorTemperatureMinimumMireds, colorTemperatureMaximumMireds, optionsMask, optionsOverride, null); + public void readACTypeAttribute( + IntegerAttributeCallback callback) { + readACTypeAttribute(chipClusterPtr, callback); } - public void stepColorTemperature(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { - stepColorTemperature(chipClusterPtr, callback, stepMode, stepSize, transitionTime, colorTemperatureMinimumMireds, colorTemperatureMaximumMireds, optionsMask, optionsOverride, timedInvokeTimeoutMs); + public void writeACTypeAttribute(DefaultClusterCallback callback, Integer value) { + writeACTypeAttribute(chipClusterPtr, callback, value, null); } - private native void moveToHue(long chipClusterPtr, DefaultClusterCallback callback, Integer hue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + public void writeACTypeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeACTypeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - private native void moveHue(long chipClusterPtr, DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + public void subscribeACTypeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeACTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void stepHue(long chipClusterPtr, DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + public void readACCapacityAttribute( + IntegerAttributeCallback callback) { + readACCapacityAttribute(chipClusterPtr, callback); + } - private native void moveToSaturation(long chipClusterPtr, DefaultClusterCallback callback, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + public void writeACCapacityAttribute(DefaultClusterCallback callback, Integer value) { + writeACCapacityAttribute(chipClusterPtr, callback, value, null); + } - private native void moveSaturation(long chipClusterPtr, DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + public void writeACCapacityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeACCapacityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - private native void stepSaturation(long chipClusterPtr, DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + public void subscribeACCapacityAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeACCapacityAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void moveToHueAndSaturation(long chipClusterPtr, DefaultClusterCallback callback, Integer hue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + public void readACRefrigerantTypeAttribute( + IntegerAttributeCallback callback) { + readACRefrigerantTypeAttribute(chipClusterPtr, callback); + } - private native void moveToColor(long chipClusterPtr, DefaultClusterCallback callback, Integer colorX, Integer colorY, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + public void writeACRefrigerantTypeAttribute(DefaultClusterCallback callback, Integer value) { + writeACRefrigerantTypeAttribute(chipClusterPtr, callback, value, null); + } - private native void moveColor(long chipClusterPtr, DefaultClusterCallback callback, Integer rateX, Integer rateY, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + public void writeACRefrigerantTypeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeACRefrigerantTypeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - private native void stepColor(long chipClusterPtr, DefaultClusterCallback callback, Integer stepX, Integer stepY, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + public void subscribeACRefrigerantTypeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeACRefrigerantTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void moveToColorTemperature(long chipClusterPtr, DefaultClusterCallback callback, Integer colorTemperatureMireds, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - - private native void enhancedMoveToHue(long chipClusterPtr, DefaultClusterCallback callback, Integer enhancedHue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - - private native void enhancedMoveHue(long chipClusterPtr, DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - - private native void enhancedStepHue(long chipClusterPtr, DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - - private native void enhancedMoveToHueAndSaturation(long chipClusterPtr, DefaultClusterCallback callback, Integer enhancedHue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - - private native void colorLoopSet(long chipClusterPtr, DefaultClusterCallback callback, Integer updateFlags, Integer action, Integer direction, Integer time, Integer startHue, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - - private native void stopMoveStep(long chipClusterPtr, DefaultClusterCallback callback, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - - private native void moveColorTemperature(long chipClusterPtr, DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - - private native void stepColorTemperature(long chipClusterPtr, DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - - public interface NumberOfPrimariesAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface Primary1IntensityAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface Primary2IntensityAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface Primary3IntensityAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface Primary4IntensityAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface Primary5IntensityAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface Primary6IntensityAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface ColorPointRIntensityAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface ColorPointGIntensityAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface ColorPointBIntensityAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface StartUpColorTemperatureMiredsAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - - public void readCurrentHueAttribute( + public void readACCompressorTypeAttribute( IntegerAttributeCallback callback) { - readCurrentHueAttribute(chipClusterPtr, callback); + readACCompressorTypeAttribute(chipClusterPtr, callback); } - public void subscribeCurrentHueAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentHueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeACCompressorTypeAttribute(DefaultClusterCallback callback, Integer value) { + writeACCompressorTypeAttribute(chipClusterPtr, callback, value, null); } - public void readCurrentSaturationAttribute( - IntegerAttributeCallback callback) { - readCurrentSaturationAttribute(chipClusterPtr, callback); + public void writeACCompressorTypeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeACCompressorTypeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeCurrentSaturationAttribute( + public void subscribeACCompressorTypeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentSaturationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeACCompressorTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRemainingTimeAttribute( - IntegerAttributeCallback callback) { - readRemainingTimeAttribute(chipClusterPtr, callback); + public void readACErrorCodeAttribute( + LongAttributeCallback callback) { + readACErrorCodeAttribute(chipClusterPtr, callback); } - public void subscribeRemainingTimeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRemainingTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeACErrorCodeAttribute(DefaultClusterCallback callback, Long value) { + writeACErrorCodeAttribute(chipClusterPtr, callback, value, null); } - public void readCurrentXAttribute( - IntegerAttributeCallback callback) { - readCurrentXAttribute(chipClusterPtr, callback); + public void writeACErrorCodeAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeACErrorCodeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeCurrentXAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentXAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeACErrorCodeAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeACErrorCodeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentYAttribute( + public void readACLouverPositionAttribute( IntegerAttributeCallback callback) { - readCurrentYAttribute(chipClusterPtr, callback); + readACLouverPositionAttribute(chipClusterPtr, callback); } - public void subscribeCurrentYAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentYAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeACLouverPositionAttribute(DefaultClusterCallback callback, Integer value) { + writeACLouverPositionAttribute(chipClusterPtr, callback, value, null); } - public void readDriftCompensationAttribute( - IntegerAttributeCallback callback) { - readDriftCompensationAttribute(chipClusterPtr, callback); + public void writeACLouverPositionAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeACLouverPositionAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeDriftCompensationAttribute( + public void subscribeACLouverPositionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDriftCompensationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeACLouverPositionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCompensationTextAttribute( - CharStringAttributeCallback callback) { - readCompensationTextAttribute(chipClusterPtr, callback); + public void readACCoilTemperatureAttribute( + ACCoilTemperatureAttributeCallback callback) { + readACCoilTemperatureAttribute(chipClusterPtr, callback); } - public void subscribeCompensationTextAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCompensationTextAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeACCoilTemperatureAttribute( + ACCoilTemperatureAttributeCallback callback, int minInterval, int maxInterval) { + subscribeACCoilTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readColorTemperatureMiredsAttribute( + public void readACCapacityformatAttribute( IntegerAttributeCallback callback) { - readColorTemperatureMiredsAttribute(chipClusterPtr, callback); + readACCapacityformatAttribute(chipClusterPtr, callback); } - public void subscribeColorTemperatureMiredsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorTemperatureMiredsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeACCapacityformatAttribute(DefaultClusterCallback callback, Integer value) { + writeACCapacityformatAttribute(chipClusterPtr, callback, value, null); } - public void readColorModeAttribute( - IntegerAttributeCallback callback) { - readColorModeAttribute(chipClusterPtr, callback); + public void writeACCapacityformatAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeACCapacityformatAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeColorModeAttribute( + public void subscribeACCapacityformatAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeACCapacityformatAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOptionsAttribute( - IntegerAttributeCallback callback) { - readOptionsAttribute(chipClusterPtr, callback); - } - public void writeOptionsAttribute(DefaultClusterCallback callback, Integer value) { - writeOptionsAttribute(chipClusterPtr, callback, value, null); + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); } + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void writeOptionsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOptionsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); + } - public void subscribeOptionsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOptionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readNumberOfPrimariesAttribute( - NumberOfPrimariesAttributeCallback callback) { - readNumberOfPrimariesAttribute(chipClusterPtr, callback); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } - public void subscribeNumberOfPrimariesAttribute( - NumberOfPrimariesAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNumberOfPrimariesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPrimary1XAttribute( - IntegerAttributeCallback callback) { - readPrimary1XAttribute(chipClusterPtr, callback); + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); } - public void subscribePrimary1XAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary1XAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPrimary1YAttribute( + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readPrimary1YAttribute(chipClusterPtr, callback); + readClusterRevisionAttribute(chipClusterPtr, callback); } - public void subscribePrimary1YAttribute( + public void subscribeClusterRevisionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary1YAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPrimary1IntensityAttribute( - Primary1IntensityAttributeCallback callback) { - readPrimary1IntensityAttribute(chipClusterPtr, callback); - } + private native void readLocalTemperatureAttribute(long chipClusterPtr, LocalTemperatureAttributeCallback callback); - public void subscribePrimary1IntensityAttribute( - Primary1IntensityAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary1IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeLocalTemperatureAttribute(long chipClusterPtr, LocalTemperatureAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary2XAttribute( - IntegerAttributeCallback callback) { - readPrimary2XAttribute(chipClusterPtr, callback); - } + private native void readOutdoorTemperatureAttribute(long chipClusterPtr, OutdoorTemperatureAttributeCallback callback); - public void subscribePrimary2XAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary2XAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeOutdoorTemperatureAttribute(long chipClusterPtr, OutdoorTemperatureAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary2YAttribute( - IntegerAttributeCallback callback) { - readPrimary2YAttribute(chipClusterPtr, callback); - } + private native void readOccupancyAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePrimary2YAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary2YAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeOccupancyAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary2IntensityAttribute( - Primary2IntensityAttributeCallback callback) { - readPrimary2IntensityAttribute(chipClusterPtr, callback); - } + private native void readAbsMinHeatSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePrimary2IntensityAttribute( - Primary2IntensityAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary2IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeAbsMinHeatSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary3XAttribute( - IntegerAttributeCallback callback) { - readPrimary3XAttribute(chipClusterPtr, callback); - } + private native void readAbsMaxHeatSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePrimary3XAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary3XAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeAbsMaxHeatSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary3YAttribute( - IntegerAttributeCallback callback) { - readPrimary3YAttribute(chipClusterPtr, callback); - } + private native void readAbsMinCoolSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePrimary3YAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary3YAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeAbsMinCoolSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary3IntensityAttribute( - Primary3IntensityAttributeCallback callback) { - readPrimary3IntensityAttribute(chipClusterPtr, callback); - } + private native void readAbsMaxCoolSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePrimary3IntensityAttribute( - Primary3IntensityAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary3IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeAbsMaxCoolSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary4XAttribute( - IntegerAttributeCallback callback) { - readPrimary4XAttribute(chipClusterPtr, callback); - } + private native void readPICoolingDemandAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePrimary4XAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary4XAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribePICoolingDemandAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary4YAttribute( - IntegerAttributeCallback callback) { - readPrimary4YAttribute(chipClusterPtr, callback); - } + private native void readPIHeatingDemandAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePrimary4YAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary4YAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribePIHeatingDemandAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary4IntensityAttribute( - Primary4IntensityAttributeCallback callback) { - readPrimary4IntensityAttribute(chipClusterPtr, callback); - } + private native void readHVACSystemTypeConfigurationAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePrimary4IntensityAttribute( - Primary4IntensityAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary4IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeHVACSystemTypeConfigurationAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readPrimary5XAttribute( - IntegerAttributeCallback callback) { - readPrimary5XAttribute(chipClusterPtr, callback); - } + private native void subscribeHVACSystemTypeConfigurationAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribePrimary5XAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary5XAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readLocalTemperatureCalibrationAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readPrimary5YAttribute( - IntegerAttributeCallback callback) { - readPrimary5YAttribute(chipClusterPtr, callback); - } + private native void writeLocalTemperatureCalibrationAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void subscribePrimary5YAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary5YAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeLocalTemperatureCalibrationAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary5IntensityAttribute( - Primary5IntensityAttributeCallback callback) { - readPrimary5IntensityAttribute(chipClusterPtr, callback); - } + private native void readOccupiedCoolingSetpointAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePrimary5IntensityAttribute( - Primary5IntensityAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary5IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeOccupiedCoolingSetpointAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readPrimary6XAttribute( - IntegerAttributeCallback callback) { - readPrimary6XAttribute(chipClusterPtr, callback); - } + private native void subscribeOccupiedCoolingSetpointAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribePrimary6XAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary6XAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readOccupiedHeatingSetpointAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readPrimary6YAttribute( - IntegerAttributeCallback callback) { - readPrimary6YAttribute(chipClusterPtr, callback); - } + private native void writeOccupiedHeatingSetpointAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void subscribePrimary6YAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary6YAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeOccupiedHeatingSetpointAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readPrimary6IntensityAttribute( - Primary6IntensityAttributeCallback callback) { - readPrimary6IntensityAttribute(chipClusterPtr, callback); - } + private native void readUnoccupiedCoolingSetpointAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePrimary6IntensityAttribute( - Primary6IntensityAttributeCallback callback, int minInterval, int maxInterval) { - subscribePrimary6IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeUnoccupiedCoolingSetpointAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readWhitePointXAttribute( - IntegerAttributeCallback callback) { - readWhitePointXAttribute(chipClusterPtr, callback); - } - public void writeWhitePointXAttribute(DefaultClusterCallback callback, Integer value) { - writeWhitePointXAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeUnoccupiedCoolingSetpointAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readUnoccupiedHeatingSetpointAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeWhitePointXAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeWhitePointXAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void writeUnoccupiedHeatingSetpointAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeUnoccupiedHeatingSetpointAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readMinHeatSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeWhitePointXAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeWhitePointXAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeMinHeatSetpointLimitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readWhitePointYAttribute( - IntegerAttributeCallback callback) { - readWhitePointYAttribute(chipClusterPtr, callback); - } - public void writeWhitePointYAttribute(DefaultClusterCallback callback, Integer value) { - writeWhitePointYAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeMinHeatSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readMaxHeatSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeWhitePointYAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeWhitePointYAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void writeMaxHeatSetpointLimitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeMaxHeatSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readMinCoolSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeWhitePointYAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeWhitePointYAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeMinCoolSetpointLimitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readColorPointRXAttribute( - IntegerAttributeCallback callback) { - readColorPointRXAttribute(chipClusterPtr, callback); - } - public void writeColorPointRXAttribute(DefaultClusterCallback callback, Integer value) { - writeColorPointRXAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeMinCoolSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readMaxCoolSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeColorPointRXAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeColorPointRXAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void writeMaxCoolSetpointLimitAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeMaxCoolSetpointLimitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readMinSetpointDeadBandAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeColorPointRXAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorPointRXAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeMinSetpointDeadBandAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readColorPointRYAttribute( - IntegerAttributeCallback callback) { - readColorPointRYAttribute(chipClusterPtr, callback); - } - public void writeColorPointRYAttribute(DefaultClusterCallback callback, Integer value) { - writeColorPointRYAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeMinSetpointDeadBandAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readRemoteSensingAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeColorPointRYAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeColorPointRYAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void writeRemoteSensingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeRemoteSensingAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readControlSequenceOfOperationAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeColorPointRYAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorPointRYAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeControlSequenceOfOperationAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readColorPointRIntensityAttribute( - ColorPointRIntensityAttributeCallback callback) { - readColorPointRIntensityAttribute(chipClusterPtr, callback); - } - public void writeColorPointRIntensityAttribute(DefaultClusterCallback callback, Integer value) { - writeColorPointRIntensityAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeControlSequenceOfOperationAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readSystemModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeColorPointRIntensityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeColorPointRIntensityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void writeSystemModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeSystemModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readThermostatRunningModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeColorPointRIntensityAttribute( - ColorPointRIntensityAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorPointRIntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeThermostatRunningModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readColorPointGXAttribute( - IntegerAttributeCallback callback) { - readColorPointGXAttribute(chipClusterPtr, callback); - } - public void writeColorPointGXAttribute(DefaultClusterCallback callback, Integer value) { - writeColorPointGXAttribute(chipClusterPtr, callback, value, null); - } + private native void readStartOfWeekAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribeStartOfWeekAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void writeColorPointGXAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeColorPointGXAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void readNumberOfWeeklyTransitionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribeNumberOfWeeklyTransitionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readNumberOfDailyTransitionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeColorPointGXAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorPointGXAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeNumberOfDailyTransitionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readColorPointGYAttribute( - IntegerAttributeCallback callback) { - readColorPointGYAttribute(chipClusterPtr, callback); - } - public void writeColorPointGYAttribute(DefaultClusterCallback callback, Integer value) { - writeColorPointGYAttribute(chipClusterPtr, callback, value, null); - } + private native void readTemperatureSetpointHoldAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeTemperatureSetpointHoldAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void writeColorPointGYAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeColorPointGYAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeTemperatureSetpointHoldAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readTemperatureSetpointHoldDurationAttribute(long chipClusterPtr, TemperatureSetpointHoldDurationAttributeCallback callback); + private native void writeTemperatureSetpointHoldDurationAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void subscribeColorPointGYAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorPointGYAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeTemperatureSetpointHoldDurationAttribute(long chipClusterPtr, TemperatureSetpointHoldDurationAttributeCallback callback, int minInterval, int maxInterval); - public void readColorPointGIntensityAttribute( - ColorPointGIntensityAttributeCallback callback) { - readColorPointGIntensityAttribute(chipClusterPtr, callback); - } - public void writeColorPointGIntensityAttribute(DefaultClusterCallback callback, Integer value) { - writeColorPointGIntensityAttribute(chipClusterPtr, callback, value, null); - } + private native void readThermostatProgrammingOperationModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeThermostatProgrammingOperationModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void writeColorPointGIntensityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeColorPointGIntensityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeThermostatProgrammingOperationModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readThermostatRunningStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribeThermostatRunningStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeColorPointGIntensityAttribute( - ColorPointGIntensityAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorPointGIntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readSetpointChangeSourceAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readColorPointBXAttribute( - IntegerAttributeCallback callback) { - readColorPointBXAttribute(chipClusterPtr, callback); - } - public void writeColorPointBXAttribute(DefaultClusterCallback callback, Integer value) { - writeColorPointBXAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeSetpointChangeSourceAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readSetpointChangeAmountAttribute(long chipClusterPtr, SetpointChangeAmountAttributeCallback callback); - public void writeColorPointBXAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeColorPointBXAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeSetpointChangeAmountAttribute(long chipClusterPtr, SetpointChangeAmountAttributeCallback callback, int minInterval, int maxInterval); + private native void readSetpointChangeSourceTimestampAttribute(long chipClusterPtr, LongAttributeCallback callback); + private native void subscribeSetpointChangeSourceTimestampAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeColorPointBXAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorPointBXAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readOccupiedSetbackAttribute(long chipClusterPtr, OccupiedSetbackAttributeCallback callback); - public void readColorPointBYAttribute( - IntegerAttributeCallback callback) { - readColorPointBYAttribute(chipClusterPtr, callback); - } - public void writeColorPointBYAttribute(DefaultClusterCallback callback, Integer value) { - writeColorPointBYAttribute(chipClusterPtr, callback, value, null); + private native void writeOccupiedSetbackAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeOccupiedSetbackAttribute(long chipClusterPtr, OccupiedSetbackAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOccupiedSetbackMinAttribute(long chipClusterPtr, OccupiedSetbackMinAttributeCallback callback); + + private native void subscribeOccupiedSetbackMinAttribute(long chipClusterPtr, OccupiedSetbackMinAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOccupiedSetbackMaxAttribute(long chipClusterPtr, OccupiedSetbackMaxAttributeCallback callback); + + private native void subscribeOccupiedSetbackMaxAttribute(long chipClusterPtr, OccupiedSetbackMaxAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUnoccupiedSetbackAttribute(long chipClusterPtr, UnoccupiedSetbackAttributeCallback callback); + + private native void writeUnoccupiedSetbackAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeUnoccupiedSetbackAttribute(long chipClusterPtr, UnoccupiedSetbackAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUnoccupiedSetbackMinAttribute(long chipClusterPtr, UnoccupiedSetbackMinAttributeCallback callback); + + private native void subscribeUnoccupiedSetbackMinAttribute(long chipClusterPtr, UnoccupiedSetbackMinAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUnoccupiedSetbackMaxAttribute(long chipClusterPtr, UnoccupiedSetbackMaxAttributeCallback callback); + + private native void subscribeUnoccupiedSetbackMaxAttribute(long chipClusterPtr, UnoccupiedSetbackMaxAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEmergencyHeatDeltaAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeEmergencyHeatDeltaAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeEmergencyHeatDeltaAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readACTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeACTypeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeACTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readACCapacityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeACCapacityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeACCapacityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readACRefrigerantTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeACRefrigerantTypeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeACRefrigerantTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readACCompressorTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeACCompressorTypeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeACCompressorTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readACErrorCodeAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void writeACErrorCodeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeACErrorCodeAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readACLouverPositionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeACLouverPositionAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeACLouverPositionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readACCoilTemperatureAttribute(long chipClusterPtr, ACCoilTemperatureAttributeCallback callback); + + private native void subscribeACCoilTemperatureAttribute(long chipClusterPtr, ACCoilTemperatureAttributeCallback callback, int minInterval, int maxInterval); + + private native void readACCapacityformatAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeACCapacityformatAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeACCapacityformatAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class FanControlCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 514L; + + public FanControlCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } + @Override + public native long initWithDevice(long devicePtr, int endpointId); - public void writeColorPointBYAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeColorPointBYAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void step(DefaultClusterCallback callback, Integer direction, Optional wrap, Optional lowestOff) { + step(chipClusterPtr, callback, direction, wrap, lowestOff, null); } + public void step(DefaultClusterCallback callback, Integer direction, Optional wrap, Optional lowestOff, int timedInvokeTimeoutMs) { + step(chipClusterPtr, callback, direction, wrap, lowestOff, timedInvokeTimeoutMs); + } + private native void step(long chipClusterPtr, DefaultClusterCallback callback, Integer direction, Optional wrap, Optional lowestOff, @Nullable Integer timedInvokeTimeoutMs); - public void subscribeColorPointBYAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorPointBYAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface PercentSettingAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readColorPointBIntensityAttribute( - ColorPointBIntensityAttributeCallback callback) { - readColorPointBIntensityAttribute(chipClusterPtr, callback); + public interface SpeedSettingAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void writeColorPointBIntensityAttribute(DefaultClusterCallback callback, Integer value) { - writeColorPointBIntensityAttribute(chipClusterPtr, callback, value, null); + + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - public void writeColorPointBIntensityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeColorPointBIntensityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + public void readFanModeAttribute( + IntegerAttributeCallback callback) { + readFanModeAttribute(chipClusterPtr, callback); + } - public void subscribeColorPointBIntensityAttribute( - ColorPointBIntensityAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorPointBIntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeFanModeAttribute(DefaultClusterCallback callback, Integer value) { + writeFanModeAttribute(chipClusterPtr, callback, value, null); } - public void readEnhancedCurrentHueAttribute( - IntegerAttributeCallback callback) { - readEnhancedCurrentHueAttribute(chipClusterPtr, callback); + public void writeFanModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeFanModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeEnhancedCurrentHueAttribute( + public void subscribeFanModeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEnhancedCurrentHueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeFanModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEnhancedColorModeAttribute( + public void readFanModeSequenceAttribute( IntegerAttributeCallback callback) { - readEnhancedColorModeAttribute(chipClusterPtr, callback); + readFanModeSequenceAttribute(chipClusterPtr, callback); } - public void subscribeEnhancedColorModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEnhancedColorModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeFanModeSequenceAttribute(DefaultClusterCallback callback, Integer value) { + writeFanModeSequenceAttribute(chipClusterPtr, callback, value, null); } - public void readColorLoopActiveAttribute( - IntegerAttributeCallback callback) { - readColorLoopActiveAttribute(chipClusterPtr, callback); + public void writeFanModeSequenceAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeFanModeSequenceAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeColorLoopActiveAttribute( + public void subscribeFanModeSequenceAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorLoopActiveAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeFanModeSequenceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readColorLoopDirectionAttribute( - IntegerAttributeCallback callback) { - readColorLoopDirectionAttribute(chipClusterPtr, callback); + public void readPercentSettingAttribute( + PercentSettingAttributeCallback callback) { + readPercentSettingAttribute(chipClusterPtr, callback); } - public void subscribeColorLoopDirectionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorLoopDirectionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writePercentSettingAttribute(DefaultClusterCallback callback, Integer value) { + writePercentSettingAttribute(chipClusterPtr, callback, value, null); } - public void readColorLoopTimeAttribute( - IntegerAttributeCallback callback) { - readColorLoopTimeAttribute(chipClusterPtr, callback); + public void writePercentSettingAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writePercentSettingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeColorLoopTimeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorLoopTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePercentSettingAttribute( + PercentSettingAttributeCallback callback, int minInterval, int maxInterval) { + subscribePercentSettingAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readColorLoopStartEnhancedHueAttribute( + public void readPercentCurrentAttribute( IntegerAttributeCallback callback) { - readColorLoopStartEnhancedHueAttribute(chipClusterPtr, callback); + readPercentCurrentAttribute(chipClusterPtr, callback); } - public void subscribeColorLoopStartEnhancedHueAttribute( + public void subscribePercentCurrentAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorLoopStartEnhancedHueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribePercentCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readColorLoopStoredEnhancedHueAttribute( + public void readSpeedMaxAttribute( IntegerAttributeCallback callback) { - readColorLoopStoredEnhancedHueAttribute(chipClusterPtr, callback); + readSpeedMaxAttribute(chipClusterPtr, callback); } - public void subscribeColorLoopStoredEnhancedHueAttribute( + public void subscribeSpeedMaxAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorLoopStoredEnhancedHueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeSpeedMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readColorCapabilitiesAttribute( - IntegerAttributeCallback callback) { - readColorCapabilitiesAttribute(chipClusterPtr, callback); + public void readSpeedSettingAttribute( + SpeedSettingAttributeCallback callback) { + readSpeedSettingAttribute(chipClusterPtr, callback); } - public void subscribeColorCapabilitiesAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorCapabilitiesAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeSpeedSettingAttribute(DefaultClusterCallback callback, Integer value) { + writeSpeedSettingAttribute(chipClusterPtr, callback, value, null); } - public void readColorTempPhysicalMinMiredsAttribute( - IntegerAttributeCallback callback) { - readColorTempPhysicalMinMiredsAttribute(chipClusterPtr, callback); + public void writeSpeedSettingAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeSpeedSettingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeColorTempPhysicalMinMiredsAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorTempPhysicalMinMiredsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSpeedSettingAttribute( + SpeedSettingAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSpeedSettingAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readColorTempPhysicalMaxMiredsAttribute( + public void readSpeedCurrentAttribute( IntegerAttributeCallback callback) { - readColorTempPhysicalMaxMiredsAttribute(chipClusterPtr, callback); + readSpeedCurrentAttribute(chipClusterPtr, callback); } - public void subscribeColorTempPhysicalMaxMiredsAttribute( + public void subscribeSpeedCurrentAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeColorTempPhysicalMaxMiredsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeSpeedCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCoupleColorTempToLevelMinMiredsAttribute( + public void readRockSupportAttribute( IntegerAttributeCallback callback) { - readCoupleColorTempToLevelMinMiredsAttribute(chipClusterPtr, callback); + readRockSupportAttribute(chipClusterPtr, callback); } - public void subscribeCoupleColorTempToLevelMinMiredsAttribute( + public void subscribeRockSupportAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCoupleColorTempToLevelMinMiredsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeRockSupportAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readStartUpColorTemperatureMiredsAttribute( - StartUpColorTemperatureMiredsAttributeCallback callback) { - readStartUpColorTemperatureMiredsAttribute(chipClusterPtr, callback); - } - public void writeStartUpColorTemperatureMiredsAttribute(DefaultClusterCallback callback, Integer value) { - writeStartUpColorTemperatureMiredsAttribute(chipClusterPtr, callback, value, null); + public void readRockSettingAttribute( + IntegerAttributeCallback callback) { + readRockSettingAttribute(chipClusterPtr, callback); } + public void writeRockSettingAttribute(DefaultClusterCallback callback, Integer value) { + writeRockSettingAttribute(chipClusterPtr, callback, value, null); + } - public void writeStartUpColorTemperatureMiredsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeStartUpColorTemperatureMiredsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeRockSettingAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeRockSettingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } + public void subscribeRockSettingAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRockSettingAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readWindSupportAttribute( + IntegerAttributeCallback callback) { + readWindSupportAttribute(chipClusterPtr, callback); + } - public void subscribeStartUpColorTemperatureMiredsAttribute( - StartUpColorTemperatureMiredsAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStartUpColorTemperatureMiredsAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeWindSupportAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeWindSupportAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readWindSettingAttribute( + IntegerAttributeCallback callback) { + readWindSettingAttribute(chipClusterPtr, callback); + } + + public void writeWindSettingAttribute(DefaultClusterCallback callback, Integer value) { + writeWindSettingAttribute(chipClusterPtr, callback, value, null); + } + + public void writeWindSettingAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeWindSettingAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeWindSettingAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeWindSettingAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAirflowDirectionAttribute( + IntegerAttributeCallback callback) { + readAirflowDirectionAttribute(chipClusterPtr, callback); + } + + public void writeAirflowDirectionAttribute(DefaultClusterCallback callback, Integer value) { + writeAirflowDirectionAttribute(chipClusterPtr, callback, value, null); + } + + public void writeAirflowDirectionAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeAirflowDirectionAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeAirflowDirectionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAirflowDirectionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -20798,1794 +18636,1196 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readFanModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void readCurrentHueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void writeFanModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeCurrentHueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentSaturationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeFanModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCurrentSaturationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRemainingTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readFanModeSequenceAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeRemainingTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentXAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void writeFanModeSequenceAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeCurrentXAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentYAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeFanModeSequenceAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCurrentYAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDriftCompensationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readPercentSettingAttribute(long chipClusterPtr, PercentSettingAttributeCallback callback); - private native void subscribeDriftCompensationAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCompensationTextAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void writePercentSettingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeCompensationTextAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorTemperatureMiredsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribePercentSettingAttribute(long chipClusterPtr, PercentSettingAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeColorTemperatureMiredsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readPercentCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeColorModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOptionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribePercentCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeOptionsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readSpeedMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeOptionsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNumberOfPrimariesAttribute(long chipClusterPtr - , NumberOfPrimariesAttributeCallback callback); - - private native void subscribeNumberOfPrimariesAttribute(long chipClusterPtr - , NumberOfPrimariesAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary1XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary1XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary1YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary1YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary1IntensityAttribute(long chipClusterPtr - , Primary1IntensityAttributeCallback callback); - - private native void subscribePrimary1IntensityAttribute(long chipClusterPtr - , Primary1IntensityAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary2XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary2XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary2YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary2YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary2IntensityAttribute(long chipClusterPtr - , Primary2IntensityAttributeCallback callback); - - private native void subscribePrimary2IntensityAttribute(long chipClusterPtr - , Primary2IntensityAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary3XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary3XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary3YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary3YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary3IntensityAttribute(long chipClusterPtr - , Primary3IntensityAttributeCallback callback); - - private native void subscribePrimary3IntensityAttribute(long chipClusterPtr - , Primary3IntensityAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary4XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary4XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary4YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary4YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary4IntensityAttribute(long chipClusterPtr - , Primary4IntensityAttributeCallback callback); - - private native void subscribePrimary4IntensityAttribute(long chipClusterPtr - , Primary4IntensityAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary5XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary5XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary5YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary5YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary5IntensityAttribute(long chipClusterPtr - , Primary5IntensityAttributeCallback callback); - - private native void subscribePrimary5IntensityAttribute(long chipClusterPtr - , Primary5IntensityAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary6XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary6XAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary6YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePrimary6YAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPrimary6IntensityAttribute(long chipClusterPtr - , Primary6IntensityAttributeCallback callback); - - private native void subscribePrimary6IntensityAttribute(long chipClusterPtr - , Primary6IntensityAttributeCallback callback, int minInterval, int maxInterval); - private native void readWhitePointXAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeSpeedMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeWhitePointXAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readSpeedSettingAttribute(long chipClusterPtr, SpeedSettingAttributeCallback callback); - private native void subscribeWhitePointXAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readWhitePointYAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void writeSpeedSettingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void writeWhitePointYAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeSpeedSettingAttribute(long chipClusterPtr, SpeedSettingAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeWhitePointYAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorPointRXAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readSpeedCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeColorPointRXAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeSpeedCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeColorPointRXAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorPointRYAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readRockSupportAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeColorPointRYAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeRockSupportAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeColorPointRYAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorPointRIntensityAttribute(long chipClusterPtr - , ColorPointRIntensityAttributeCallback callback); + private native void readRockSettingAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeColorPointRIntensityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void writeRockSettingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeColorPointRIntensityAttribute(long chipClusterPtr - , ColorPointRIntensityAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorPointGXAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeRockSettingAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeColorPointGXAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readWindSupportAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeColorPointGXAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorPointGYAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeWindSupportAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeColorPointGYAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readWindSettingAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeColorPointGYAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorPointGIntensityAttribute(long chipClusterPtr - , ColorPointGIntensityAttributeCallback callback); + private native void writeWindSettingAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void writeColorPointGIntensityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeWindSettingAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeColorPointGIntensityAttribute(long chipClusterPtr - , ColorPointGIntensityAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorPointBXAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readAirflowDirectionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeColorPointBXAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void writeAirflowDirectionAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeColorPointBXAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorPointBYAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeAirflowDirectionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void writeColorPointBYAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeColorPointBYAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorPointBIntensityAttribute(long chipClusterPtr - , ColorPointBIntensityAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void writeColorPointBIntensityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeColorPointBIntensityAttribute(long chipClusterPtr - , ColorPointBIntensityAttributeCallback callback, int minInterval, int maxInterval); - private native void readEnhancedCurrentHueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeEnhancedCurrentHueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readEnhancedColorModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeEnhancedColorModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorLoopActiveAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeColorLoopActiveAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorLoopDirectionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeColorLoopDirectionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorLoopTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeColorLoopTimeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorLoopStartEnhancedHueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeColorLoopStartEnhancedHueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorLoopStoredEnhancedHueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeColorLoopStoredEnhancedHueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorCapabilitiesAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeColorCapabilitiesAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorTempPhysicalMinMiredsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeColorTempPhysicalMinMiredsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readColorTempPhysicalMaxMiredsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeColorTempPhysicalMaxMiredsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCoupleColorTempToLevelMinMiredsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeCoupleColorTempToLevelMinMiredsAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartUpColorTemperatureMiredsAttribute(long chipClusterPtr - , StartUpColorTemperatureMiredsAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void writeStartUpColorTemperatureMiredsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeStartUpColorTemperatureMiredsAttribute(long chipClusterPtr - , StartUpColorTemperatureMiredsAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class BallastConfigurationCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 769L; - public BallastConfigurationCluster(long devicePtr, int endpointId) { + public static class ThermostatUserInterfaceConfigurationCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 516L; + + public ThermostatUserInterfaceConfigurationCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public interface IntrinsicBallastFactorAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface BallastFactorAdjustmentAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface LampRatedHoursAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface LampBurnHoursAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface LampBurnHoursTripPointAttributeCallback { - void onSuccess(@Nullable Long value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readPhysicalMinLevelAttribute( + public void readTemperatureDisplayModeAttribute( IntegerAttributeCallback callback) { - readPhysicalMinLevelAttribute(chipClusterPtr, callback); + readTemperatureDisplayModeAttribute(chipClusterPtr, callback); } - public void subscribePhysicalMinLevelAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePhysicalMinLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeTemperatureDisplayModeAttribute(DefaultClusterCallback callback, Integer value) { + writeTemperatureDisplayModeAttribute(chipClusterPtr, callback, value, null); } - public void readPhysicalMaxLevelAttribute( - IntegerAttributeCallback callback) { - readPhysicalMaxLevelAttribute(chipClusterPtr, callback); + public void writeTemperatureDisplayModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeTemperatureDisplayModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribePhysicalMaxLevelAttribute( + public void subscribeTemperatureDisplayModeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePhysicalMaxLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeTemperatureDisplayModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readBallastStatusAttribute( + public void readKeypadLockoutAttribute( IntegerAttributeCallback callback) { - readBallastStatusAttribute(chipClusterPtr, callback); - } - - public void subscribeBallastStatusAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBallastStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); + readKeypadLockoutAttribute(chipClusterPtr, callback); } - public void readMinLevelAttribute( - IntegerAttributeCallback callback) { - readMinLevelAttribute(chipClusterPtr, callback); - } - public void writeMinLevelAttribute(DefaultClusterCallback callback, Integer value) { - writeMinLevelAttribute(chipClusterPtr, callback, value, null); + public void writeKeypadLockoutAttribute(DefaultClusterCallback callback, Integer value) { + writeKeypadLockoutAttribute(chipClusterPtr, callback, value, null); } - - public void writeMinLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeMinLevelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeKeypadLockoutAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeKeypadLockoutAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - - public void subscribeMinLevelAttribute( + public void subscribeKeypadLockoutAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeKeypadLockoutAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMaxLevelAttribute( + public void readScheduleProgrammingVisibilityAttribute( IntegerAttributeCallback callback) { - readMaxLevelAttribute(chipClusterPtr, callback); - } - public void writeMaxLevelAttribute(DefaultClusterCallback callback, Integer value) { - writeMaxLevelAttribute(chipClusterPtr, callback, value, null); + readScheduleProgrammingVisibilityAttribute(chipClusterPtr, callback); } - - public void writeMaxLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeMaxLevelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void writeScheduleProgrammingVisibilityAttribute(DefaultClusterCallback callback, Integer value) { + writeScheduleProgrammingVisibilityAttribute(chipClusterPtr, callback, value, null); } + public void writeScheduleProgrammingVisibilityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeScheduleProgrammingVisibilityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - - public void subscribeMaxLevelAttribute( + public void subscribeScheduleProgrammingVisibilityAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeScheduleProgrammingVisibilityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readIntrinsicBallastFactorAttribute( - IntrinsicBallastFactorAttributeCallback callback) { - readIntrinsicBallastFactorAttribute(chipClusterPtr, callback); - } - public void writeIntrinsicBallastFactorAttribute(DefaultClusterCallback callback, Integer value) { - writeIntrinsicBallastFactorAttribute(chipClusterPtr, callback, value, null); + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); } - - public void writeIntrinsicBallastFactorAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeIntrinsicBallastFactorAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - - public void subscribeIntrinsicBallastFactorAttribute( - IntrinsicBallastFactorAttributeCallback callback, int minInterval, int maxInterval) { - subscribeIntrinsicBallastFactorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } - public void readBallastFactorAdjustmentAttribute( - BallastFactorAdjustmentAttributeCallback callback) { - readBallastFactorAdjustmentAttribute(chipClusterPtr, callback); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void writeBallastFactorAdjustmentAttribute(DefaultClusterCallback callback, Integer value) { - writeBallastFactorAdjustmentAttribute(chipClusterPtr, callback, value, null); + + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); } + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void writeBallastFactorAdjustmentAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeBallastFactorAdjustmentAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } - public void subscribeBallastFactorAdjustmentAttribute( - BallastFactorAdjustmentAttributeCallback callback, int minInterval, int maxInterval) { - subscribeBallastFactorAdjustmentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLampQuantityAttribute( + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readLampQuantityAttribute(chipClusterPtr, callback); + readClusterRevisionAttribute(chipClusterPtr, callback); } - public void subscribeLampQuantityAttribute( + public void subscribeClusterRevisionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLampQuantityAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLampTypeAttribute( - CharStringAttributeCallback callback) { - readLampTypeAttribute(chipClusterPtr, callback); - } - public void writeLampTypeAttribute(DefaultClusterCallback callback, String value) { - writeLampTypeAttribute(chipClusterPtr, callback, value, null); - } + private native void readTemperatureDisplayModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeTemperatureDisplayModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void writeLampTypeAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { - writeLampTypeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeTemperatureDisplayModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readKeypadLockoutAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeKeypadLockoutAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void subscribeLampTypeAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLampTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeKeypadLockoutAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readLampManufacturerAttribute( - CharStringAttributeCallback callback) { - readLampManufacturerAttribute(chipClusterPtr, callback); - } - public void writeLampManufacturerAttribute(DefaultClusterCallback callback, String value) { - writeLampManufacturerAttribute(chipClusterPtr, callback, value, null); - } + private native void readScheduleProgrammingVisibilityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void writeScheduleProgrammingVisibilityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void writeLampManufacturerAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { - writeLampManufacturerAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeScheduleProgrammingVisibilityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeLampManufacturerAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLampManufacturerAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - public void readLampRatedHoursAttribute( - LampRatedHoursAttributeCallback callback) { - readLampRatedHoursAttribute(chipClusterPtr, callback); - } - public void writeLampRatedHoursAttribute(DefaultClusterCallback callback, Long value) { - writeLampRatedHoursAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - public void writeLampRatedHoursAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeLampRatedHoursAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeLampRatedHoursAttribute( - LampRatedHoursAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLampRatedHoursAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void readLampBurnHoursAttribute( - LampBurnHoursAttributeCallback callback) { - readLampBurnHoursAttribute(chipClusterPtr, callback); - } - public void writeLampBurnHoursAttribute(DefaultClusterCallback callback, Long value) { - writeLampBurnHoursAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeLampBurnHoursAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeLampBurnHoursAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class ColorControlCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 768L; + + public ColorControlCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } + @Override + public native long initWithDevice(long devicePtr, int endpointId); + public void moveToHue(DefaultClusterCallback callback, Integer hue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + moveToHue(chipClusterPtr, callback, hue, direction, transitionTime, optionsMask, optionsOverride, null); + } - public void subscribeLampBurnHoursAttribute( - LampBurnHoursAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLampBurnHoursAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void moveToHue(DefaultClusterCallback callback, Integer hue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + moveToHue(chipClusterPtr, callback, hue, direction, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); } - public void readLampAlarmModeAttribute( - IntegerAttributeCallback callback) { - readLampAlarmModeAttribute(chipClusterPtr, callback); + public void moveHue(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride) { + moveHue(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, null); } - public void writeLampAlarmModeAttribute(DefaultClusterCallback callback, Integer value) { - writeLampAlarmModeAttribute(chipClusterPtr, callback, value, null); + + public void moveHue(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + moveHue(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, timedInvokeTimeoutMs); } + public void stepHue(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + stepHue(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, null); + } - public void writeLampAlarmModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeLampAlarmModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void stepHue(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + stepHue(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); } + public void moveToSaturation(DefaultClusterCallback callback, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + moveToSaturation(chipClusterPtr, callback, saturation, transitionTime, optionsMask, optionsOverride, null); + } + public void moveToSaturation(DefaultClusterCallback callback, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + moveToSaturation(chipClusterPtr, callback, saturation, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + } - public void subscribeLampAlarmModeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLampAlarmModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void moveSaturation(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride) { + moveSaturation(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, null); } - public void readLampBurnHoursTripPointAttribute( - LampBurnHoursTripPointAttributeCallback callback) { - readLampBurnHoursTripPointAttribute(chipClusterPtr, callback); + public void moveSaturation(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + moveSaturation(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, timedInvokeTimeoutMs); } - public void writeLampBurnHoursTripPointAttribute(DefaultClusterCallback callback, Long value) { - writeLampBurnHoursTripPointAttribute(chipClusterPtr, callback, value, null); + + public void stepSaturation(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + stepSaturation(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, null); } + public void stepSaturation(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + stepSaturation(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + } - public void writeLampBurnHoursTripPointAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeLampBurnHoursTripPointAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void moveToHueAndSaturation(DefaultClusterCallback callback, Integer hue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + moveToHueAndSaturation(chipClusterPtr, callback, hue, saturation, transitionTime, optionsMask, optionsOverride, null); } + public void moveToHueAndSaturation(DefaultClusterCallback callback, Integer hue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + moveToHueAndSaturation(chipClusterPtr, callback, hue, saturation, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + } + public void moveToColor(DefaultClusterCallback callback, Integer colorX, Integer colorY, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + moveToColor(chipClusterPtr, callback, colorX, colorY, transitionTime, optionsMask, optionsOverride, null); + } - public void subscribeLampBurnHoursTripPointAttribute( - LampBurnHoursTripPointAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLampBurnHoursTripPointAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void moveToColor(DefaultClusterCallback callback, Integer colorX, Integer colorY, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + moveToColor(chipClusterPtr, callback, colorX, colorY, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void moveColor(DefaultClusterCallback callback, Integer rateX, Integer rateY, Integer optionsMask, Integer optionsOverride) { + moveColor(chipClusterPtr, callback, rateX, rateY, optionsMask, optionsOverride, null); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void moveColor(DefaultClusterCallback callback, Integer rateX, Integer rateY, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + moveColor(chipClusterPtr, callback, rateX, rateY, optionsMask, optionsOverride, timedInvokeTimeoutMs); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void stepColor(DefaultClusterCallback callback, Integer stepX, Integer stepY, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + stepColor(chipClusterPtr, callback, stepX, stepY, transitionTime, optionsMask, optionsOverride, null); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void stepColor(DefaultClusterCallback callback, Integer stepX, Integer stepY, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + stepColor(chipClusterPtr, callback, stepX, stepY, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void moveToColorTemperature(DefaultClusterCallback callback, Integer colorTemperatureMireds, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + moveToColorTemperature(chipClusterPtr, callback, colorTemperatureMireds, transitionTime, optionsMask, optionsOverride, null); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void moveToColorTemperature(DefaultClusterCallback callback, Integer colorTemperatureMireds, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + moveToColorTemperature(chipClusterPtr, callback, colorTemperatureMireds, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void enhancedMoveToHue(DefaultClusterCallback callback, Integer enhancedHue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + enhancedMoveToHue(chipClusterPtr, callback, enhancedHue, direction, transitionTime, optionsMask, optionsOverride, null); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void enhancedMoveToHue(DefaultClusterCallback callback, Integer enhancedHue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + enhancedMoveToHue(chipClusterPtr, callback, enhancedHue, direction, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); } - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + public void enhancedMoveHue(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride) { + enhancedMoveHue(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, null); } - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void enhancedMoveHue(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + enhancedMoveHue(chipClusterPtr, callback, moveMode, rate, optionsMask, optionsOverride, timedInvokeTimeoutMs); } - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + public void enhancedStepHue(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + enhancedStepHue(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, null); } - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void enhancedStepHue(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + enhancedStepHue(chipClusterPtr, callback, stepMode, stepSize, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); } + public void enhancedMoveToHueAndSaturation(DefaultClusterCallback callback, Integer enhancedHue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride) { + enhancedMoveToHueAndSaturation(chipClusterPtr, callback, enhancedHue, saturation, transitionTime, optionsMask, optionsOverride, null); + } - private native void readPhysicalMinLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void enhancedMoveToHueAndSaturation(DefaultClusterCallback callback, Integer enhancedHue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + enhancedMoveToHueAndSaturation(chipClusterPtr, callback, enhancedHue, saturation, transitionTime, optionsMask, optionsOverride, timedInvokeTimeoutMs); + } - private native void subscribePhysicalMinLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPhysicalMaxLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void colorLoopSet(DefaultClusterCallback callback, Integer updateFlags, Integer action, Integer direction, Integer time, Integer startHue, Integer optionsMask, Integer optionsOverride) { + colorLoopSet(chipClusterPtr, callback, updateFlags, action, direction, time, startHue, optionsMask, optionsOverride, null); + } - private native void subscribePhysicalMaxLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBallastStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void colorLoopSet(DefaultClusterCallback callback, Integer updateFlags, Integer action, Integer direction, Integer time, Integer startHue, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + colorLoopSet(chipClusterPtr, callback, updateFlags, action, direction, time, startHue, optionsMask, optionsOverride, timedInvokeTimeoutMs); + } - private native void subscribeBallastStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void stopMoveStep(DefaultClusterCallback callback, Integer optionsMask, Integer optionsOverride) { + stopMoveStep(chipClusterPtr, callback, optionsMask, optionsOverride, null); + } - private native void writeMinLevelAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void stopMoveStep(DefaultClusterCallback callback, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + stopMoveStep(chipClusterPtr, callback, optionsMask, optionsOverride, timedInvokeTimeoutMs); + } - private native void subscribeMinLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void moveColorTemperature(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride) { + moveColorTemperature(chipClusterPtr, callback, moveMode, rate, colorTemperatureMinimumMireds, colorTemperatureMaximumMireds, optionsMask, optionsOverride, null); + } - private native void writeMaxLevelAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void moveColorTemperature(DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + moveColorTemperature(chipClusterPtr, callback, moveMode, rate, colorTemperatureMinimumMireds, colorTemperatureMaximumMireds, optionsMask, optionsOverride, timedInvokeTimeoutMs); + } - private native void subscribeMaxLevelAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readIntrinsicBallastFactorAttribute(long chipClusterPtr - , IntrinsicBallastFactorAttributeCallback callback); + public void stepColorTemperature(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride) { + stepColorTemperature(chipClusterPtr, callback, stepMode, stepSize, transitionTime, colorTemperatureMinimumMireds, colorTemperatureMaximumMireds, optionsMask, optionsOverride, null); + } - private native void writeIntrinsicBallastFactorAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + public void stepColorTemperature(DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride, int timedInvokeTimeoutMs) { + stepColorTemperature(chipClusterPtr, callback, stepMode, stepSize, transitionTime, colorTemperatureMinimumMireds, colorTemperatureMaximumMireds, optionsMask, optionsOverride, timedInvokeTimeoutMs); + } - private native void subscribeIntrinsicBallastFactorAttribute(long chipClusterPtr - , IntrinsicBallastFactorAttributeCallback callback, int minInterval, int maxInterval); - private native void readBallastFactorAdjustmentAttribute(long chipClusterPtr - , BallastFactorAdjustmentAttributeCallback callback); + private native void moveToHue(long chipClusterPtr, DefaultClusterCallback callback, Integer hue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void writeBallastFactorAdjustmentAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void moveHue(long chipClusterPtr, DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeBallastFactorAdjustmentAttribute(long chipClusterPtr - , BallastFactorAdjustmentAttributeCallback callback, int minInterval, int maxInterval); - private native void readLampQuantityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void stepHue(long chipClusterPtr, DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeLampQuantityAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLampTypeAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void moveToSaturation(long chipClusterPtr, DefaultClusterCallback callback, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void writeLampTypeAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); + private native void moveSaturation(long chipClusterPtr, DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeLampTypeAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readLampManufacturerAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void stepSaturation(long chipClusterPtr, DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void writeLampManufacturerAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); + private native void moveToHueAndSaturation(long chipClusterPtr, DefaultClusterCallback callback, Integer hue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeLampManufacturerAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readLampRatedHoursAttribute(long chipClusterPtr - , LampRatedHoursAttributeCallback callback); + private native void moveToColor(long chipClusterPtr, DefaultClusterCallback callback, Integer colorX, Integer colorY, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void writeLampRatedHoursAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + private native void moveColor(long chipClusterPtr, DefaultClusterCallback callback, Integer rateX, Integer rateY, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeLampRatedHoursAttribute(long chipClusterPtr - , LampRatedHoursAttributeCallback callback, int minInterval, int maxInterval); - private native void readLampBurnHoursAttribute(long chipClusterPtr - , LampBurnHoursAttributeCallback callback); + private native void stepColor(long chipClusterPtr, DefaultClusterCallback callback, Integer stepX, Integer stepY, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void writeLampBurnHoursAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + private native void moveToColorTemperature(long chipClusterPtr, DefaultClusterCallback callback, Integer colorTemperatureMireds, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeLampBurnHoursAttribute(long chipClusterPtr - , LampBurnHoursAttributeCallback callback, int minInterval, int maxInterval); - private native void readLampAlarmModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void enhancedMoveToHue(long chipClusterPtr, DefaultClusterCallback callback, Integer enhancedHue, Integer direction, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void writeLampAlarmModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void enhancedMoveHue(long chipClusterPtr, DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeLampAlarmModeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLampBurnHoursTripPointAttribute(long chipClusterPtr - , LampBurnHoursTripPointAttributeCallback callback); + private native void enhancedStepHue(long chipClusterPtr, DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void writeLampBurnHoursTripPointAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + private native void enhancedMoveToHueAndSaturation(long chipClusterPtr, DefaultClusterCallback callback, Integer enhancedHue, Integer saturation, Integer transitionTime, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - private native void subscribeLampBurnHoursTripPointAttribute(long chipClusterPtr - , LampBurnHoursTripPointAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class IlluminanceMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1024L; + private native void colorLoopSet(long chipClusterPtr, DefaultClusterCallback callback, Integer updateFlags, Integer action, Integer direction, Integer time, Integer startHue, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - public IlluminanceMeasurementCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void stopMoveStep(long chipClusterPtr, DefaultClusterCallback callback, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void moveColorTemperature(long chipClusterPtr, DefaultClusterCallback callback, Integer moveMode, Integer rate, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); + private native void stepColorTemperature(long chipClusterPtr, DefaultClusterCallback callback, Integer stepMode, Integer stepSize, Integer transitionTime, Integer colorTemperatureMinimumMireds, Integer colorTemperatureMaximumMireds, Integer optionsMask, Integer optionsOverride, @Nullable Integer timedInvokeTimeoutMs); - public interface MeasuredValueAttributeCallback { + public interface NumberOfPrimariesAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface MinMeasuredValueAttributeCallback { + + public interface Primary1IntensityAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface MaxMeasuredValueAttributeCallback { + + public interface Primary2IntensityAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface LightSensorTypeAttributeCallback { + + public interface Primary3IntensityAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); + + public interface Primary4IntensityAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); + + public interface Primary5IntensityAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface EventListAttributeCallback { - void onSuccess(List value); + + public interface Primary6IntensityAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface AttributeListAttributeCallback { - void onSuccess(List value); + + public interface ColorPointRIntensityAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMeasuredValueAttribute( - MeasuredValueAttributeCallback callback) { - readMeasuredValueAttribute(chipClusterPtr, callback); + public interface ColorPointGIntensityAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeMeasuredValueAttribute( - MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface ColorPointBIntensityAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback) { - readMinMeasuredValueAttribute(chipClusterPtr, callback); + public interface StartUpColorTemperatureMiredsAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback) { - readMaxMeasuredValueAttribute(chipClusterPtr, callback); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readToleranceAttribute( + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public void readCurrentHueAttribute( IntegerAttributeCallback callback) { - readToleranceAttribute(chipClusterPtr, callback); + readCurrentHueAttribute(chipClusterPtr, callback); } - public void subscribeToleranceAttribute( + public void subscribeCurrentHueAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeCurrentHueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLightSensorTypeAttribute( - LightSensorTypeAttributeCallback callback) { - readLightSensorTypeAttribute(chipClusterPtr, callback); + public void readCurrentSaturationAttribute( + IntegerAttributeCallback callback) { + readCurrentSaturationAttribute(chipClusterPtr, callback); } - public void subscribeLightSensorTypeAttribute( - LightSensorTypeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLightSensorTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCurrentSaturationAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentSaturationAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void readRemainingTimeAttribute( + IntegerAttributeCallback callback) { + readRemainingTimeAttribute(chipClusterPtr, callback); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeRemainingTimeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRemainingTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void readCurrentXAttribute( + IntegerAttributeCallback callback) { + readCurrentXAttribute(chipClusterPtr, callback); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCurrentXAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentXAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void readCurrentYAttribute( + IntegerAttributeCallback callback) { + readCurrentYAttribute(chipClusterPtr, callback); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCurrentYAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentYAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void readDriftCompensationAttribute( + IntegerAttributeCallback callback) { + readDriftCompensationAttribute(chipClusterPtr, callback); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeDriftCompensationAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDriftCompensationAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + public void readCompensationTextAttribute( + CharStringAttributeCallback callback) { + readCompensationTextAttribute(chipClusterPtr, callback); } - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCompensationTextAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCompensationTextAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readClusterRevisionAttribute( + public void readColorTemperatureMiredsAttribute( IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + readColorTemperatureMiredsAttribute(chipClusterPtr, callback); } - public void subscribeClusterRevisionAttribute( + public void subscribeColorTemperatureMiredsAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeColorTemperatureMiredsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLightSensorTypeAttribute(long chipClusterPtr - , LightSensorTypeAttributeCallback callback); - - private native void subscribeLightSensorTypeAttribute(long chipClusterPtr - , LightSensorTypeAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class TemperatureMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1026L; - - public TemperatureMeasurementCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void readColorModeAttribute( + IntegerAttributeCallback callback) { + readColorModeAttribute(chipClusterPtr, callback); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); - - - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void subscribeColorModeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMeasuredValueAttribute( - MeasuredValueAttributeCallback callback) { - readMeasuredValueAttribute(chipClusterPtr, callback); + public void readOptionsAttribute( + IntegerAttributeCallback callback) { + readOptionsAttribute(chipClusterPtr, callback); } - public void subscribeMeasuredValueAttribute( - MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeOptionsAttribute(DefaultClusterCallback callback, Integer value) { + writeOptionsAttribute(chipClusterPtr, callback, value, null); } - public void readMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback) { - readMinMeasuredValueAttribute(chipClusterPtr, callback); + public void writeOptionsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOptionsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOptionsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOptionsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback) { - readMaxMeasuredValueAttribute(chipClusterPtr, callback); + public void readNumberOfPrimariesAttribute( + NumberOfPrimariesAttributeCallback callback) { + readNumberOfPrimariesAttribute(chipClusterPtr, callback); } - public void subscribeMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeNumberOfPrimariesAttribute( + NumberOfPrimariesAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNumberOfPrimariesAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readToleranceAttribute( + public void readPrimary1XAttribute( IntegerAttributeCallback callback) { - readToleranceAttribute(chipClusterPtr, callback); + readPrimary1XAttribute(chipClusterPtr, callback); } - public void subscribeToleranceAttribute( + public void subscribePrimary1XAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribePrimary1XAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void readPrimary1YAttribute( + IntegerAttributeCallback callback) { + readPrimary1YAttribute(chipClusterPtr, callback); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary1YAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary1YAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void readPrimary1IntensityAttribute( + Primary1IntensityAttributeCallback callback) { + readPrimary1IntensityAttribute(chipClusterPtr, callback); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary1IntensityAttribute( + Primary1IntensityAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary1IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void readPrimary2XAttribute( + IntegerAttributeCallback callback) { + readPrimary2XAttribute(chipClusterPtr, callback); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary2XAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary2XAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void readPrimary2YAttribute( + IntegerAttributeCallback callback) { + readPrimary2YAttribute(chipClusterPtr, callback); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary2YAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary2YAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + public void readPrimary2IntensityAttribute( + Primary2IntensityAttributeCallback callback) { + readPrimary2IntensityAttribute(chipClusterPtr, callback); } - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary2IntensityAttribute( + Primary2IntensityAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary2IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readClusterRevisionAttribute( + public void readPrimary3XAttribute( IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + readPrimary3XAttribute(chipClusterPtr, callback); } - public void subscribeClusterRevisionAttribute( + public void subscribePrimary3XAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribePrimary3XAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class PressureMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1027L; - - public PressureMeasurementCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void readPrimary3YAttribute( + IntegerAttributeCallback callback) { + readPrimary3YAttribute(chipClusterPtr, callback); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); - - - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface ScaledValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface MinScaledValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface MaxScaledValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void subscribePrimary3YAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary3YAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMeasuredValueAttribute( - MeasuredValueAttributeCallback callback) { - readMeasuredValueAttribute(chipClusterPtr, callback); + public void readPrimary3IntensityAttribute( + Primary3IntensityAttributeCallback callback) { + readPrimary3IntensityAttribute(chipClusterPtr, callback); } - public void subscribeMeasuredValueAttribute( - MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary3IntensityAttribute( + Primary3IntensityAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary3IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback) { - readMinMeasuredValueAttribute(chipClusterPtr, callback); + public void readPrimary4XAttribute( + IntegerAttributeCallback callback) { + readPrimary4XAttribute(chipClusterPtr, callback); } - public void subscribeMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary4XAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary4XAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback) { - readMaxMeasuredValueAttribute(chipClusterPtr, callback); + public void readPrimary4YAttribute( + IntegerAttributeCallback callback) { + readPrimary4YAttribute(chipClusterPtr, callback); } - public void subscribeMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary4YAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary4YAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readToleranceAttribute( - IntegerAttributeCallback callback) { - readToleranceAttribute(chipClusterPtr, callback); + public void readPrimary4IntensityAttribute( + Primary4IntensityAttributeCallback callback) { + readPrimary4IntensityAttribute(chipClusterPtr, callback); } - public void subscribeToleranceAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary4IntensityAttribute( + Primary4IntensityAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary4IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readScaledValueAttribute( - ScaledValueAttributeCallback callback) { - readScaledValueAttribute(chipClusterPtr, callback); + public void readPrimary5XAttribute( + IntegerAttributeCallback callback) { + readPrimary5XAttribute(chipClusterPtr, callback); } - public void subscribeScaledValueAttribute( - ScaledValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeScaledValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary5XAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary5XAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMinScaledValueAttribute( - MinScaledValueAttributeCallback callback) { - readMinScaledValueAttribute(chipClusterPtr, callback); + public void readPrimary5YAttribute( + IntegerAttributeCallback callback) { + readPrimary5YAttribute(chipClusterPtr, callback); } - public void subscribeMinScaledValueAttribute( - MinScaledValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinScaledValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary5YAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary5YAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMaxScaledValueAttribute( - MaxScaledValueAttributeCallback callback) { - readMaxScaledValueAttribute(chipClusterPtr, callback); + public void readPrimary5IntensityAttribute( + Primary5IntensityAttributeCallback callback) { + readPrimary5IntensityAttribute(chipClusterPtr, callback); } - public void subscribeMaxScaledValueAttribute( - MaxScaledValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxScaledValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary5IntensityAttribute( + Primary5IntensityAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary5IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readScaledToleranceAttribute( + public void readPrimary6XAttribute( IntegerAttributeCallback callback) { - readScaledToleranceAttribute(chipClusterPtr, callback); + readPrimary6XAttribute(chipClusterPtr, callback); } - public void subscribeScaledToleranceAttribute( + public void subscribePrimary6XAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeScaledToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribePrimary6XAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readScaleAttribute( + public void readPrimary6YAttribute( IntegerAttributeCallback callback) { - readScaleAttribute(chipClusterPtr, callback); + readPrimary6YAttribute(chipClusterPtr, callback); } - public void subscribeScaleAttribute( + public void subscribePrimary6YAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeScaleAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribePrimary6YAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void readPrimary6IntensityAttribute( + Primary6IntensityAttributeCallback callback) { + readPrimary6IntensityAttribute(chipClusterPtr, callback); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePrimary6IntensityAttribute( + Primary6IntensityAttributeCallback callback, int minInterval, int maxInterval) { + subscribePrimary6IntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void readWhitePointXAttribute( + IntegerAttributeCallback callback) { + readWhitePointXAttribute(chipClusterPtr, callback); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeWhitePointXAttribute(DefaultClusterCallback callback, Integer value) { + writeWhitePointXAttribute(chipClusterPtr, callback, value, null); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void writeWhitePointXAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeWhitePointXAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeWhitePointXAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeWhitePointXAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void readWhitePointYAttribute( + IntegerAttributeCallback callback) { + readWhitePointYAttribute(chipClusterPtr, callback); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeWhitePointYAttribute(DefaultClusterCallback callback, Integer value) { + writeWhitePointYAttribute(chipClusterPtr, callback, value, null); } - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + public void writeWhitePointYAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeWhitePointYAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeWhitePointYAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeWhitePointYAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readClusterRevisionAttribute( + public void readColorPointRXAttribute( IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + readColorPointRXAttribute(chipClusterPtr, callback); } - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeColorPointRXAttribute(DefaultClusterCallback callback, Integer value) { + writeColorPointRXAttribute(chipClusterPtr, callback, value, null); } - - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readScaledValueAttribute(long chipClusterPtr - , ScaledValueAttributeCallback callback); - - private native void subscribeScaledValueAttribute(long chipClusterPtr - , ScaledValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinScaledValueAttribute(long chipClusterPtr - , MinScaledValueAttributeCallback callback); - - private native void subscribeMinScaledValueAttribute(long chipClusterPtr - , MinScaledValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxScaledValueAttribute(long chipClusterPtr - , MaxScaledValueAttributeCallback callback); - - private native void subscribeMaxScaledValueAttribute(long chipClusterPtr - , MaxScaledValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readScaledToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeScaledToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readScaleAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeScaleAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class FlowMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1028L; - - public FlowMeasurementCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void writeColorPointRXAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeColorPointRXAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); + public void subscribeColorPointRXAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorPointRXAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readColorPointRYAttribute( + IntegerAttributeCallback callback) { + readColorPointRYAttribute(chipClusterPtr, callback); + } - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void writeColorPointRYAttribute(DefaultClusterCallback callback, Integer value) { + writeColorPointRYAttribute(chipClusterPtr, callback, value, null); } - public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void writeColorPointRYAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeColorPointRYAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeColorPointRYAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorPointRYAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void readColorPointRIntensityAttribute( + ColorPointRIntensityAttributeCallback callback) { + readColorPointRIntensityAttribute(chipClusterPtr, callback); } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void writeColorPointRIntensityAttribute(DefaultClusterCallback callback, Integer value) { + writeColorPointRIntensityAttribute(chipClusterPtr, callback, value, null); } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void writeColorPointRIntensityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeColorPointRIntensityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeColorPointRIntensityAttribute( + ColorPointRIntensityAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorPointRIntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMeasuredValueAttribute( - MeasuredValueAttributeCallback callback) { - readMeasuredValueAttribute(chipClusterPtr, callback); + public void readColorPointGXAttribute( + IntegerAttributeCallback callback) { + readColorPointGXAttribute(chipClusterPtr, callback); } - public void subscribeMeasuredValueAttribute( - MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeColorPointGXAttribute(DefaultClusterCallback callback, Integer value) { + writeColorPointGXAttribute(chipClusterPtr, callback, value, null); } - public void readMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback) { - readMinMeasuredValueAttribute(chipClusterPtr, callback); + public void writeColorPointGXAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeColorPointGXAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeColorPointGXAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorPointGXAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback) { - readMaxMeasuredValueAttribute(chipClusterPtr, callback); + public void readColorPointGYAttribute( + IntegerAttributeCallback callback) { + readColorPointGYAttribute(chipClusterPtr, callback); } - public void subscribeMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeColorPointGYAttribute(DefaultClusterCallback callback, Integer value) { + writeColorPointGYAttribute(chipClusterPtr, callback, value, null); } - public void readToleranceAttribute( - IntegerAttributeCallback callback) { - readToleranceAttribute(chipClusterPtr, callback); + public void writeColorPointGYAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeColorPointGYAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeToleranceAttribute( + public void subscribeColorPointGYAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeColorPointGYAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void readColorPointGIntensityAttribute( + ColorPointGIntensityAttributeCallback callback) { + readColorPointGIntensityAttribute(chipClusterPtr, callback); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeColorPointGIntensityAttribute(DefaultClusterCallback callback, Integer value) { + writeColorPointGIntensityAttribute(chipClusterPtr, callback, value, null); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void writeColorPointGIntensityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeColorPointGIntensityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeColorPointGIntensityAttribute( + ColorPointGIntensityAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorPointGIntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void readColorPointBXAttribute( + IntegerAttributeCallback callback) { + readColorPointBXAttribute(chipClusterPtr, callback); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeColorPointBXAttribute(DefaultClusterCallback callback, Integer value) { + writeColorPointBXAttribute(chipClusterPtr, callback, value, null); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void writeColorPointBXAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeColorPointBXAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeColorPointBXAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorPointBXAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + public void readColorPointBYAttribute( + IntegerAttributeCallback callback) { + readColorPointBYAttribute(chipClusterPtr, callback); } - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeColorPointBYAttribute(DefaultClusterCallback callback, Integer value) { + writeColorPointBYAttribute(chipClusterPtr, callback, value, null); } - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + public void writeColorPointBYAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeColorPointBYAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeClusterRevisionAttribute( + public void subscribeColorPointBYAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeColorPointBYAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readColorPointBIntensityAttribute( + ColorPointBIntensityAttributeCallback callback) { + readColorPointBIntensityAttribute(chipClusterPtr, callback); + } - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); + public void writeColorPointBIntensityAttribute(DefaultClusterCallback callback, Integer value) { + writeColorPointBIntensityAttribute(chipClusterPtr, callback, value, null); + } - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); + public void writeColorPointBIntensityAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeColorPointBIntensityAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); + public void subscribeColorPointBIntensityAttribute( + ColorPointBIntensityAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorPointBIntensityAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void readEnhancedCurrentHueAttribute( + IntegerAttributeCallback callback) { + readEnhancedCurrentHueAttribute(chipClusterPtr, callback); + } - private native void subscribeToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + public void subscribeEnhancedCurrentHueAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEnhancedCurrentHueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + public void readEnhancedColorModeAttribute( + IntegerAttributeCallback callback) { + readEnhancedColorModeAttribute(chipClusterPtr, callback); + } - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + public void subscribeEnhancedColorModeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEnhancedColorModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + public void readColorLoopActiveAttribute( + IntegerAttributeCallback callback) { + readColorLoopActiveAttribute(chipClusterPtr, callback); + } - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + public void subscribeColorLoopActiveAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorLoopActiveAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + public void readColorLoopDirectionAttribute( + IntegerAttributeCallback callback) { + readColorLoopDirectionAttribute(chipClusterPtr, callback); + } - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class RelativeHumidityMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1029L; + public void subscribeColorLoopDirectionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorLoopDirectionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public RelativeHumidityMeasurementCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void readColorLoopTimeAttribute( + IntegerAttributeCallback callback) { + readColorLoopTimeAttribute(chipClusterPtr, callback); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); + public void subscribeColorLoopTimeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorLoopTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readColorLoopStartEnhancedHueAttribute( + IntegerAttributeCallback callback) { + readColorLoopStartEnhancedHueAttribute(chipClusterPtr, callback); + } - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void subscribeColorLoopStartEnhancedHueAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorLoopStartEnhancedHueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void readColorLoopStoredEnhancedHueAttribute( + IntegerAttributeCallback callback) { + readColorLoopStoredEnhancedHueAttribute(chipClusterPtr, callback); } - public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Integer value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeColorLoopStoredEnhancedHueAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorLoopStoredEnhancedHueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void readColorCapabilitiesAttribute( + IntegerAttributeCallback callback) { + readColorCapabilitiesAttribute(chipClusterPtr, callback); } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeColorCapabilitiesAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorCapabilitiesAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void readColorTempPhysicalMinMiredsAttribute( + IntegerAttributeCallback callback) { + readColorTempPhysicalMinMiredsAttribute(chipClusterPtr, callback); } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeColorTempPhysicalMinMiredsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorTempPhysicalMinMiredsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMeasuredValueAttribute( - MeasuredValueAttributeCallback callback) { - readMeasuredValueAttribute(chipClusterPtr, callback); + public void readColorTempPhysicalMaxMiredsAttribute( + IntegerAttributeCallback callback) { + readColorTempPhysicalMaxMiredsAttribute(chipClusterPtr, callback); } - public void subscribeMeasuredValueAttribute( - MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeColorTempPhysicalMaxMiredsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeColorTempPhysicalMaxMiredsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback) { - readMinMeasuredValueAttribute(chipClusterPtr, callback); + public void readCoupleColorTempToLevelMinMiredsAttribute( + IntegerAttributeCallback callback) { + readCoupleColorTempToLevelMinMiredsAttribute(chipClusterPtr, callback); } - public void subscribeMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeCoupleColorTempToLevelMinMiredsAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCoupleColorTempToLevelMinMiredsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback) { - readMaxMeasuredValueAttribute(chipClusterPtr, callback); + public void readStartUpColorTemperatureMiredsAttribute( + StartUpColorTemperatureMiredsAttributeCallback callback) { + readStartUpColorTemperatureMiredsAttribute(chipClusterPtr, callback); } - public void subscribeMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeStartUpColorTemperatureMiredsAttribute(DefaultClusterCallback callback, Integer value) { + writeStartUpColorTemperatureMiredsAttribute(chipClusterPtr, callback, value, null); } - public void readToleranceAttribute( - IntegerAttributeCallback callback) { - readToleranceAttribute(chipClusterPtr, callback); + public void writeStartUpColorTemperatureMiredsAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeStartUpColorTemperatureMiredsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeToleranceAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeStartUpColorTemperatureMiredsAttribute( + StartUpColorTemperatureMiredsAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStartUpColorTemperatureMiredsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -22648,635 +19888,547 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readCurrentHueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); + private native void subscribeCurrentHueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); + private native void readCurrentSaturationAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); + private native void subscribeCurrentSaturationAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readRemainingTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeToleranceAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeRemainingTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readCurrentXAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeCurrentXAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readCurrentYAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeCurrentYAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readDriftCompensationAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class OccupancySensingCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1030L; + private native void subscribeDriftCompensationAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public OccupancySensingCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readCompensationTextAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribeCompensationTextAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + private native void readColorTemperatureMiredsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } + private native void subscribeColorTemperatureMiredsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readOccupancyAttribute( - IntegerAttributeCallback callback) { - readOccupancyAttribute(chipClusterPtr, callback); - } + private native void readColorModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeOccupancyAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOccupancyAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeColorModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readOccupancySensorTypeAttribute( - IntegerAttributeCallback callback) { - readOccupancySensorTypeAttribute(chipClusterPtr, callback); - } + private native void readOptionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeOccupancySensorTypeAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOccupancySensorTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeOptionsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readOccupancySensorTypeBitmapAttribute( - IntegerAttributeCallback callback) { - readOccupancySensorTypeBitmapAttribute(chipClusterPtr, callback); - } + private native void subscribeOptionsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeOccupancySensorTypeBitmapAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOccupancySensorTypeBitmapAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readNumberOfPrimariesAttribute(long chipClusterPtr, NumberOfPrimariesAttributeCallback callback); - public void readPIROccupiedToUnoccupiedDelayAttribute( - IntegerAttributeCallback callback) { - readPIROccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback); - } - public void writePIROccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { - writePIROccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeNumberOfPrimariesAttribute(long chipClusterPtr, NumberOfPrimariesAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary1XAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writePIROccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writePIROccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribePrimary1XAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary1YAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribePrimary1YAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribePIROccupiedToUnoccupiedDelayAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePIROccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readPrimary1IntensityAttribute(long chipClusterPtr, Primary1IntensityAttributeCallback callback); - public void readPIRUnoccupiedToOccupiedDelayAttribute( - IntegerAttributeCallback callback) { - readPIRUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback); - } - public void writePIRUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { - writePIRUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribePrimary1IntensityAttribute(long chipClusterPtr, Primary1IntensityAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary2XAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writePIRUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writePIRUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribePrimary2XAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary2YAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribePrimary2YAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribePIRUnoccupiedToOccupiedDelayAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePIRUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readPrimary2IntensityAttribute(long chipClusterPtr, Primary2IntensityAttributeCallback callback); - public void readPIRUnoccupiedToOccupiedThresholdAttribute( - IntegerAttributeCallback callback) { - readPIRUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback); - } - public void writePIRUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value) { - writePIRUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribePrimary2IntensityAttribute(long chipClusterPtr, Primary2IntensityAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary3XAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writePIRUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writePIRUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribePrimary3XAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary3YAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribePrimary3YAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribePIRUnoccupiedToOccupiedThresholdAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePIRUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readPrimary3IntensityAttribute(long chipClusterPtr, Primary3IntensityAttributeCallback callback); - public void readUltrasonicOccupiedToUnoccupiedDelayAttribute( - IntegerAttributeCallback callback) { - readUltrasonicOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback); - } - public void writeUltrasonicOccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { - writeUltrasonicOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribePrimary3IntensityAttribute(long chipClusterPtr, Primary3IntensityAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary4XAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeUltrasonicOccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeUltrasonicOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribePrimary4XAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary4YAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribePrimary4YAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeUltrasonicOccupiedToUnoccupiedDelayAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUltrasonicOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readPrimary4IntensityAttribute(long chipClusterPtr, Primary4IntensityAttributeCallback callback); - public void readUltrasonicUnoccupiedToOccupiedDelayAttribute( - IntegerAttributeCallback callback) { - readUltrasonicUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback); - } - public void writeUltrasonicUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { - writeUltrasonicUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribePrimary4IntensityAttribute(long chipClusterPtr, Primary4IntensityAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary5XAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeUltrasonicUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeUltrasonicUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribePrimary5XAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary5YAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribePrimary5YAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeUltrasonicUnoccupiedToOccupiedDelayAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUltrasonicUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readPrimary5IntensityAttribute(long chipClusterPtr, Primary5IntensityAttributeCallback callback); - public void readUltrasonicUnoccupiedToOccupiedThresholdAttribute( - IntegerAttributeCallback callback) { - readUltrasonicUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback); - } - public void writeUltrasonicUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value) { - writeUltrasonicUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribePrimary5IntensityAttribute(long chipClusterPtr, Primary5IntensityAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary6XAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writeUltrasonicUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeUltrasonicUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribePrimary6XAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readPrimary6YAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribePrimary6YAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeUltrasonicUnoccupiedToOccupiedThresholdAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUltrasonicUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readPrimary6IntensityAttribute(long chipClusterPtr, Primary6IntensityAttributeCallback callback); - public void readPhysicalContactOccupiedToUnoccupiedDelayAttribute( - IntegerAttributeCallback callback) { - readPhysicalContactOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback); - } - public void writePhysicalContactOccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { - writePhysicalContactOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribePrimary6IntensityAttribute(long chipClusterPtr, Primary6IntensityAttributeCallback callback, int minInterval, int maxInterval); + private native void readWhitePointXAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writePhysicalContactOccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writePhysicalContactOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void writeWhitePointXAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeWhitePointXAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readWhitePointYAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePhysicalContactOccupiedToUnoccupiedDelayAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePhysicalContactOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeWhitePointYAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readPhysicalContactUnoccupiedToOccupiedDelayAttribute( - IntegerAttributeCallback callback) { - readPhysicalContactUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback); - } - public void writePhysicalContactUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { - writePhysicalContactUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeWhitePointYAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readColorPointRXAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void writePhysicalContactUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writePhysicalContactUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void writeColorPointRXAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeColorPointRXAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readColorPointRYAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePhysicalContactUnoccupiedToOccupiedDelayAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePhysicalContactUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeColorPointRYAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readPhysicalContactUnoccupiedToOccupiedThresholdAttribute( - IntegerAttributeCallback callback) { - readPhysicalContactUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback); - } - public void writePhysicalContactUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value) { - writePhysicalContactUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeColorPointRYAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readColorPointRIntensityAttribute(long chipClusterPtr, ColorPointRIntensityAttributeCallback callback); - public void writePhysicalContactUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writePhysicalContactUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void writeColorPointRIntensityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeColorPointRIntensityAttribute(long chipClusterPtr, ColorPointRIntensityAttributeCallback callback, int minInterval, int maxInterval); + private native void readColorPointGXAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribePhysicalContactUnoccupiedToOccupiedThresholdAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePhysicalContactUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeColorPointGXAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); - } + private native void subscribeColorPointGXAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readColorPointGYAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); - } + private native void writeColorPointGYAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeColorPointGYAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); - } + private native void readColorPointGIntensityAttribute(long chipClusterPtr, ColorPointGIntensityAttributeCallback callback); - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeColorPointGIntensityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); - } + private native void subscribeColorPointGIntensityAttribute(long chipClusterPtr, ColorPointGIntensityAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readColorPointBXAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); - } + private native void writeColorPointBXAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeColorPointBXAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); - } + private native void readColorPointBYAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void writeColorPointBYAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeColorPointBYAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOccupancyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readColorPointBIntensityAttribute(long chipClusterPtr, ColorPointBIntensityAttributeCallback callback); - private native void subscribeOccupancyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOccupancySensorTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void writeColorPointBIntensityAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOccupancySensorTypeAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOccupancySensorTypeBitmapAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeColorPointBIntensityAttribute(long chipClusterPtr, ColorPointBIntensityAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOccupancySensorTypeBitmapAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPIROccupiedToUnoccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readEnhancedCurrentHueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writePIROccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeEnhancedCurrentHueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePIROccupiedToUnoccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPIRUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readEnhancedColorModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writePIRUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeEnhancedColorModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePIRUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPIRUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readColorLoopActiveAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writePIRUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeColorLoopActiveAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePIRUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readUltrasonicOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readColorLoopDirectionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeUltrasonicOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeColorLoopDirectionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeUltrasonicOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readUltrasonicUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readColorLoopTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeUltrasonicUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeColorLoopTimeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeUltrasonicUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readUltrasonicUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readColorLoopStartEnhancedHueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeUltrasonicUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeColorLoopStartEnhancedHueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeUltrasonicUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPhysicalContactOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readColorLoopStoredEnhancedHueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writePhysicalContactOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeColorLoopStoredEnhancedHueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePhysicalContactOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPhysicalContactUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readColorCapabilitiesAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writePhysicalContactUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeColorCapabilitiesAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePhysicalContactUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPhysicalContactUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readColorTempPhysicalMinMiredsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writePhysicalContactUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeColorTempPhysicalMinMiredsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readColorTempPhysicalMaxMiredsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeColorTempPhysicalMaxMiredsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribePhysicalContactUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readCoupleColorTempToLevelMinMiredsAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCoupleColorTempToLevelMinMiredsAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readStartUpColorTemperatureMiredsAttribute(long chipClusterPtr, StartUpColorTemperatureMiredsAttributeCallback callback); + + private native void writeStartUpColorTemperatureMiredsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeStartUpColorTemperatureMiredsAttribute(long chipClusterPtr, StartUpColorTemperatureMiredsAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class CarbonMonoxideConcentrationMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1036L; - public CarbonMonoxideConcentrationMeasurementCluster(long devicePtr, int endpointId) { + public static class BallastConfigurationCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 769L; + + public BallastConfigurationCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + public interface IntrinsicBallastFactorAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + + public interface BallastFactorAdjustmentAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + + public interface LampRatedHoursAttributeCallback { + void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface PeakMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + + public interface LampBurnHoursAttributeCallback { + void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface AverageMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + + public interface LampBurnHoursTripPointAttributeCallback { + void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMeasuredValueAttribute( - MeasuredValueAttributeCallback callback) { - readMeasuredValueAttribute(chipClusterPtr, callback); + public void readPhysicalMinLevelAttribute( + IntegerAttributeCallback callback) { + readPhysicalMinLevelAttribute(chipClusterPtr, callback); } - public void subscribeMeasuredValueAttribute( - MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePhysicalMinLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePhysicalMinLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback) { - readMinMeasuredValueAttribute(chipClusterPtr, callback); + public void readPhysicalMaxLevelAttribute( + IntegerAttributeCallback callback) { + readPhysicalMaxLevelAttribute(chipClusterPtr, callback); } - public void subscribeMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePhysicalMaxLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePhysicalMaxLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback) { - readMaxMeasuredValueAttribute(chipClusterPtr, callback); + public void readBallastStatusAttribute( + IntegerAttributeCallback callback) { + readBallastStatusAttribute(chipClusterPtr, callback); } - public void subscribeMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeBallastStatusAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeBallastStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback) { - readPeakMeasuredValueAttribute(chipClusterPtr, callback); + public void readMinLevelAttribute( + IntegerAttributeCallback callback) { + readMinLevelAttribute(chipClusterPtr, callback); } - public void subscribePeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeMinLevelAttribute(DefaultClusterCallback callback, Integer value) { + writeMinLevelAttribute(chipClusterPtr, callback, value, null); } - public void readPeakMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); + public void writeMinLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeMinLevelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribePeakMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMinLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback) { - readAverageMeasuredValueAttribute(chipClusterPtr, callback); + public void readMaxLevelAttribute( + IntegerAttributeCallback callback) { + readMaxLevelAttribute(chipClusterPtr, callback); } - public void subscribeAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeMaxLevelAttribute(DefaultClusterCallback callback, Integer value) { + writeMaxLevelAttribute(chipClusterPtr, callback, value, null); } - public void readAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); + public void writeMaxLevelAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeMaxLevelAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxLevelAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxLevelAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readUncertaintyAttribute( - FloatAttributeCallback callback) { - readUncertaintyAttribute(chipClusterPtr, callback); + public void readIntrinsicBallastFactorAttribute( + IntrinsicBallastFactorAttributeCallback callback) { + readIntrinsicBallastFactorAttribute(chipClusterPtr, callback); } - public void subscribeUncertaintyAttribute( - FloatAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeIntrinsicBallastFactorAttribute(DefaultClusterCallback callback, Integer value) { + writeIntrinsicBallastFactorAttribute(chipClusterPtr, callback, value, null); } - public void readMeasurementUnitAttribute( - IntegerAttributeCallback callback) { - readMeasurementUnitAttribute(chipClusterPtr, callback); + public void writeIntrinsicBallastFactorAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeIntrinsicBallastFactorAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeMeasurementUnitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeIntrinsicBallastFactorAttribute( + IntrinsicBallastFactorAttributeCallback callback, int minInterval, int maxInterval) { + subscribeIntrinsicBallastFactorAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMeasurementMediumAttribute( + public void readBallastFactorAdjustmentAttribute( + BallastFactorAdjustmentAttributeCallback callback) { + readBallastFactorAdjustmentAttribute(chipClusterPtr, callback); + } + + public void writeBallastFactorAdjustmentAttribute(DefaultClusterCallback callback, Integer value) { + writeBallastFactorAdjustmentAttribute(chipClusterPtr, callback, value, null); + } + + public void writeBallastFactorAdjustmentAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeBallastFactorAdjustmentAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeBallastFactorAdjustmentAttribute( + BallastFactorAdjustmentAttributeCallback callback, int minInterval, int maxInterval) { + subscribeBallastFactorAdjustmentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLampQuantityAttribute( IntegerAttributeCallback callback) { - readMeasurementMediumAttribute(chipClusterPtr, callback); + readLampQuantityAttribute(chipClusterPtr, callback); } - public void subscribeMeasurementMediumAttribute( + public void subscribeLampQuantityAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeLampQuantityAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLevelValueAttribute( + public void readLampTypeAttribute( + CharStringAttributeCallback callback) { + readLampTypeAttribute(chipClusterPtr, callback); + } + + public void writeLampTypeAttribute(DefaultClusterCallback callback, String value) { + writeLampTypeAttribute(chipClusterPtr, callback, value, null); + } + + public void writeLampTypeAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { + writeLampTypeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeLampTypeAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLampTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLampManufacturerAttribute( + CharStringAttributeCallback callback) { + readLampManufacturerAttribute(chipClusterPtr, callback); + } + + public void writeLampManufacturerAttribute(DefaultClusterCallback callback, String value) { + writeLampManufacturerAttribute(chipClusterPtr, callback, value, null); + } + + public void writeLampManufacturerAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { + writeLampManufacturerAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeLampManufacturerAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLampManufacturerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLampRatedHoursAttribute( + LampRatedHoursAttributeCallback callback) { + readLampRatedHoursAttribute(chipClusterPtr, callback); + } + + public void writeLampRatedHoursAttribute(DefaultClusterCallback callback, Long value) { + writeLampRatedHoursAttribute(chipClusterPtr, callback, value, null); + } + + public void writeLampRatedHoursAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeLampRatedHoursAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeLampRatedHoursAttribute( + LampRatedHoursAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLampRatedHoursAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLampBurnHoursAttribute( + LampBurnHoursAttributeCallback callback) { + readLampBurnHoursAttribute(chipClusterPtr, callback); + } + + public void writeLampBurnHoursAttribute(DefaultClusterCallback callback, Long value) { + writeLampBurnHoursAttribute(chipClusterPtr, callback, value, null); + } + + public void writeLampBurnHoursAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeLampBurnHoursAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeLampBurnHoursAttribute( + LampBurnHoursAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLampBurnHoursAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLampAlarmModeAttribute( IntegerAttributeCallback callback) { - readLevelValueAttribute(chipClusterPtr, callback); + readLampAlarmModeAttribute(chipClusterPtr, callback); } - public void subscribeLevelValueAttribute( + public void writeLampAlarmModeAttribute(DefaultClusterCallback callback, Integer value) { + writeLampAlarmModeAttribute(chipClusterPtr, callback, value, null); + } + + public void writeLampAlarmModeAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeLampAlarmModeAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeLampAlarmModeAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeLampAlarmModeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLampBurnHoursTripPointAttribute( + LampBurnHoursTripPointAttributeCallback callback) { + readLampBurnHoursTripPointAttribute(chipClusterPtr, callback); + } + + public void writeLampBurnHoursTripPointAttribute(DefaultClusterCallback callback, Long value) { + writeLampBurnHoursTripPointAttribute(chipClusterPtr, callback, value, null); + } + + public void writeLampBurnHoursTripPointAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeLampBurnHoursTripPointAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeLampBurnHoursTripPointAttribute( + LampBurnHoursTripPointAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLampBurnHoursTripPointAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -23339,144 +20491,159 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readPhysicalMinLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribePhysicalMinLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPhysicalMaxLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribePhysicalMaxLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBallastStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeBallastStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeMinLevelAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeMinLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeMaxLevelAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeMaxLevelAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readIntrinsicBallastFactorAttribute(long chipClusterPtr, IntrinsicBallastFactorAttributeCallback callback); + + private native void writeIntrinsicBallastFactorAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeIntrinsicBallastFactorAttribute(long chipClusterPtr, IntrinsicBallastFactorAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBallastFactorAdjustmentAttribute(long chipClusterPtr, BallastFactorAdjustmentAttributeCallback callback); + + private native void writeBallastFactorAdjustmentAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeBallastFactorAdjustmentAttribute(long chipClusterPtr, BallastFactorAdjustmentAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLampQuantityAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeLampQuantityAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLampTypeAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void writeLampTypeAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeLampTypeAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLampManufacturerAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void writeLampManufacturerAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeLampManufacturerAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLampRatedHoursAttribute(long chipClusterPtr, LampRatedHoursAttributeCallback callback); + + private native void writeLampRatedHoursAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeLampRatedHoursAttribute(long chipClusterPtr, LampRatedHoursAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLampBurnHoursAttribute(long chipClusterPtr, LampBurnHoursAttributeCallback callback); + + private native void writeLampBurnHoursAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeLampBurnHoursAttribute(long chipClusterPtr, LampBurnHoursAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLampAlarmModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeLampAlarmModeAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeLampAlarmModeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLampBurnHoursTripPointAttribute(long chipClusterPtr, LampBurnHoursTripPointAttributeCallback callback); + + private native void writeLampBurnHoursTripPointAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeLampBurnHoursTripPointAttribute(long chipClusterPtr, LampBurnHoursTripPointAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback); - - private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback); - - private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribeUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class CarbonDioxideConcentrationMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1037L; - public CarbonDioxideConcentrationMeasurementCluster(long devicePtr, int endpointId) { + public static class IlluminanceMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1024L; + + public IlluminanceMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface PeakMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface AverageMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + + public interface LightSensorTypeAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -23513,84 +20680,24 @@ public void subscribeMaxMeasuredValueAttribute( subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback) { - readPeakMeasuredValueAttribute(chipClusterPtr, callback); + public void readToleranceAttribute( + IntegerAttributeCallback callback) { + readToleranceAttribute(chipClusterPtr, callback); } - public void subscribePeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readPeakMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); - } - - public void subscribePeakMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback) { - readAverageMeasuredValueAttribute(chipClusterPtr, callback); - } - - public void subscribeAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); - } - - public void subscribeAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readUncertaintyAttribute( - FloatAttributeCallback callback) { - readUncertaintyAttribute(chipClusterPtr, callback); - } - - public void subscribeUncertaintyAttribute( - FloatAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readMeasurementUnitAttribute( - IntegerAttributeCallback callback) { - readMeasurementUnitAttribute(chipClusterPtr, callback); - } - - public void subscribeMeasurementUnitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readMeasurementMediumAttribute( - IntegerAttributeCallback callback) { - readMeasurementMediumAttribute(chipClusterPtr, callback); - } - - public void subscribeMeasurementMediumAttribute( + public void subscribeToleranceAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLevelValueAttribute( - IntegerAttributeCallback callback) { - readLevelValueAttribute(chipClusterPtr, callback); + public void readLightSensorTypeAttribute( + LightSensorTypeAttributeCallback callback) { + readLightSensorTypeAttribute(chipClusterPtr, callback); } - public void subscribeLevelValueAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeLightSensorTypeAttribute( + LightSensorTypeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLightSensorTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -23653,144 +20760,97 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); + + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); + + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); + + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback); - - private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback); - - private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribeUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readLightSensorTypeAttribute(long chipClusterPtr, LightSensorTypeAttributeCallback callback); + + private native void subscribeLightSensorTypeAttribute(long chipClusterPtr, LightSensorTypeAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class NitrogenDioxideConcentrationMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1043L; - public NitrogenDioxideConcentrationMeasurementCluster(long devicePtr, int endpointId) { + public static class TemperatureMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1026L; + + public TemperatureMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface PeakMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AverageMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -23827,84 +20887,14 @@ public void subscribeMaxMeasuredValueAttribute( subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback) { - readPeakMeasuredValueAttribute(chipClusterPtr, callback); - } - - public void subscribePeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readPeakMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); - } - - public void subscribePeakMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback) { - readAverageMeasuredValueAttribute(chipClusterPtr, callback); - } - - public void subscribeAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); - } - - public void subscribeAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readUncertaintyAttribute( - FloatAttributeCallback callback) { - readUncertaintyAttribute(chipClusterPtr, callback); - } - - public void subscribeUncertaintyAttribute( - FloatAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readMeasurementUnitAttribute( - IntegerAttributeCallback callback) { - readMeasurementUnitAttribute(chipClusterPtr, callback); - } - - public void subscribeMeasurementUnitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readMeasurementMediumAttribute( - IntegerAttributeCallback callback) { - readMeasurementMediumAttribute(chipClusterPtr, callback); - } - - public void subscribeMeasurementMediumAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readLevelValueAttribute( + public void readToleranceAttribute( IntegerAttributeCallback callback) { - readLevelValueAttribute(chipClusterPtr, callback); + readToleranceAttribute(chipClusterPtr, callback); } - public void subscribeLevelValueAttribute( + public void subscribeToleranceAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -23967,144 +20957,111 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); + + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); + + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); + + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback); - - private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback); - - private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribeUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class OzoneConcentrationMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1045L; - public OzoneConcentrationMeasurementCluster(long devicePtr, int endpointId) { + public static class PressureMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1027L; + + public PressureMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface PeakMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + + public interface ScaledValueAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface AverageMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + + public interface MinScaledValueAttributeCallback { + void onSuccess(@Nullable Integer value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface MaxScaledValueAttributeCallback { + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -24141,84 +21098,64 @@ public void subscribeMaxMeasuredValueAttribute( subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback) { - readPeakMeasuredValueAttribute(chipClusterPtr, callback); - } - - public void subscribePeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readPeakMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); - } - - public void subscribePeakMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback) { - readAverageMeasuredValueAttribute(chipClusterPtr, callback); + public void readToleranceAttribute( + IntegerAttributeCallback callback) { + readToleranceAttribute(chipClusterPtr, callback); } - public void subscribeAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeToleranceAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); + public void readScaledValueAttribute( + ScaledValueAttributeCallback callback) { + readScaledValueAttribute(chipClusterPtr, callback); } - public void subscribeAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeScaledValueAttribute( + ScaledValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeScaledValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readUncertaintyAttribute( - FloatAttributeCallback callback) { - readUncertaintyAttribute(chipClusterPtr, callback); + public void readMinScaledValueAttribute( + MinScaledValueAttributeCallback callback) { + readMinScaledValueAttribute(chipClusterPtr, callback); } - public void subscribeUncertaintyAttribute( - FloatAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMinScaledValueAttribute( + MinScaledValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinScaledValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMeasurementUnitAttribute( - IntegerAttributeCallback callback) { - readMeasurementUnitAttribute(chipClusterPtr, callback); + public void readMaxScaledValueAttribute( + MaxScaledValueAttributeCallback callback) { + readMaxScaledValueAttribute(chipClusterPtr, callback); } - public void subscribeMeasurementUnitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxScaledValueAttribute( + MaxScaledValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxScaledValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMeasurementMediumAttribute( + public void readScaledToleranceAttribute( IntegerAttributeCallback callback) { - readMeasurementMediumAttribute(chipClusterPtr, callback); + readScaledToleranceAttribute(chipClusterPtr, callback); } - public void subscribeMeasurementMediumAttribute( + public void subscribeScaledToleranceAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeScaledToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLevelValueAttribute( + public void readScaleAttribute( IntegerAttributeCallback callback) { - readLevelValueAttribute(chipClusterPtr, callback); + readScaleAttribute(chipClusterPtr, callback); } - public void subscribeLevelValueAttribute( + public void subscribeScaleAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeScaleAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -24281,144 +21218,113 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); + + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); + + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); + + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readScaledValueAttribute(long chipClusterPtr, ScaledValueAttributeCallback callback); + + private native void subscribeScaledValueAttribute(long chipClusterPtr, ScaledValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinScaledValueAttribute(long chipClusterPtr, MinScaledValueAttributeCallback callback); + + private native void subscribeMinScaledValueAttribute(long chipClusterPtr, MinScaledValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxScaledValueAttribute(long chipClusterPtr, MaxScaledValueAttributeCallback callback); + + private native void subscribeMaxScaledValueAttribute(long chipClusterPtr, MaxScaledValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback); - - private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback); - - private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribeUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readScaledToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeScaledToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readScaleAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeScaleAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class Pm25ConcentrationMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1066L; - public Pm25ConcentrationMeasurementCluster(long devicePtr, int endpointId) { + public static class FlowMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1028L; + + public FlowMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface PeakMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AverageMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -24455,84 +21361,14 @@ public void subscribeMaxMeasuredValueAttribute( subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback) { - readPeakMeasuredValueAttribute(chipClusterPtr, callback); - } - - public void subscribePeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readPeakMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); - } - - public void subscribePeakMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback) { - readAverageMeasuredValueAttribute(chipClusterPtr, callback); - } - - public void subscribeAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); - } - - public void subscribeAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readUncertaintyAttribute( - FloatAttributeCallback callback) { - readUncertaintyAttribute(chipClusterPtr, callback); - } - - public void subscribeUncertaintyAttribute( - FloatAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readMeasurementUnitAttribute( - IntegerAttributeCallback callback) { - readMeasurementUnitAttribute(chipClusterPtr, callback); - } - - public void subscribeMeasurementUnitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readMeasurementMediumAttribute( - IntegerAttributeCallback callback) { - readMeasurementMediumAttribute(chipClusterPtr, callback); - } - - public void subscribeMeasurementMediumAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readLevelValueAttribute( + public void readToleranceAttribute( IntegerAttributeCallback callback) { - readLevelValueAttribute(chipClusterPtr, callback); + readToleranceAttribute(chipClusterPtr, callback); } - public void subscribeLevelValueAttribute( + public void subscribeToleranceAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -24595,144 +21431,93 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); + + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); + + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); + + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback); - - private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback); - - private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribeUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class FormaldehydeConcentrationMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1067L; - public FormaldehydeConcentrationMeasurementCluster(long devicePtr, int endpointId) { + public static class RelativeHumidityMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1029L; + + public RelativeHumidityMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface PeakMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AverageMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); + void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -24769,84 +21554,14 @@ public void subscribeMaxMeasuredValueAttribute( subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback) { - readPeakMeasuredValueAttribute(chipClusterPtr, callback); - } - - public void subscribePeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readPeakMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); - } - - public void subscribePeakMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback) { - readAverageMeasuredValueAttribute(chipClusterPtr, callback); - } - - public void subscribeAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); - } - - public void subscribeAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readUncertaintyAttribute( - FloatAttributeCallback callback) { - readUncertaintyAttribute(chipClusterPtr, callback); - } - - public void subscribeUncertaintyAttribute( - FloatAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readMeasurementUnitAttribute( - IntegerAttributeCallback callback) { - readMeasurementUnitAttribute(chipClusterPtr, callback); - } - - public void subscribeMeasurementUnitAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readMeasurementMediumAttribute( - IntegerAttributeCallback callback) { - readMeasurementMediumAttribute(chipClusterPtr, callback); - } - - public void subscribeMeasurementMediumAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readLevelValueAttribute( + public void readToleranceAttribute( IntegerAttributeCallback callback) { - readLevelValueAttribute(chipClusterPtr, callback); + readToleranceAttribute(chipClusterPtr, callback); } - public void subscribeLevelValueAttribute( + public void subscribeToleranceAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeToleranceAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -24909,258 +21624,271 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); + + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); + + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); + + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeToleranceAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback); - - private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback); - - private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribeUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class Pm1ConcentrationMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1068L; - public Pm1ConcentrationMeasurementCluster(long devicePtr, int endpointId) { + public static class OccupancySensingCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1030L; + + public OccupancySensingCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public interface MeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface MinMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface MaxMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface PeakMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AverageMeasuredValueAttributeCallback { - void onSuccess(@Nullable Float value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMeasuredValueAttribute( - MeasuredValueAttributeCallback callback) { - readMeasuredValueAttribute(chipClusterPtr, callback); + public void readOccupancyAttribute( + IntegerAttributeCallback callback) { + readOccupancyAttribute(chipClusterPtr, callback); } - public void subscribeMeasuredValueAttribute( - MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOccupancyAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOccupancyAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback) { - readMinMeasuredValueAttribute(chipClusterPtr, callback); + public void readOccupancySensorTypeAttribute( + IntegerAttributeCallback callback) { + readOccupancySensorTypeAttribute(chipClusterPtr, callback); } - public void subscribeMinMeasuredValueAttribute( - MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOccupancySensorTypeAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOccupancySensorTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback) { - readMaxMeasuredValueAttribute(chipClusterPtr, callback); + public void readOccupancySensorTypeBitmapAttribute( + IntegerAttributeCallback callback) { + readOccupancySensorTypeBitmapAttribute(chipClusterPtr, callback); } - public void subscribeMaxMeasuredValueAttribute( - MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeOccupancySensorTypeBitmapAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOccupancySensorTypeBitmapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback) { - readPeakMeasuredValueAttribute(chipClusterPtr, callback); + public void readPIROccupiedToUnoccupiedDelayAttribute( + IntegerAttributeCallback callback) { + readPIROccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback); } - public void subscribePeakMeasuredValueAttribute( - PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writePIROccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { + writePIROccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, null); } - public void readPeakMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); + public void writePIROccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writePIROccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribePeakMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePIROccupiedToUnoccupiedDelayAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePIROccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback) { - readAverageMeasuredValueAttribute(chipClusterPtr, callback); + public void readPIRUnoccupiedToOccupiedDelayAttribute( + IntegerAttributeCallback callback) { + readPIRUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback); } - public void subscribeAverageMeasuredValueAttribute( - AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writePIRUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { + writePIRUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, null); } - public void readAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback) { - readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); + public void writePIRUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writePIRUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeAverageMeasuredValueWindowAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePIRUnoccupiedToOccupiedDelayAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePIRUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readUncertaintyAttribute( - FloatAttributeCallback callback) { - readUncertaintyAttribute(chipClusterPtr, callback); + public void readPIRUnoccupiedToOccupiedThresholdAttribute( + IntegerAttributeCallback callback) { + readPIRUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback); } - public void subscribeUncertaintyAttribute( - FloatAttributeCallback callback, int minInterval, int maxInterval) { - subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writePIRUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value) { + writePIRUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, null); } - public void readMeasurementUnitAttribute( - IntegerAttributeCallback callback) { - readMeasurementUnitAttribute(chipClusterPtr, callback); + public void writePIRUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writePIRUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeMeasurementUnitAttribute( + public void subscribePIRUnoccupiedToOccupiedThresholdAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribePIRUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMeasurementMediumAttribute( + public void readUltrasonicOccupiedToUnoccupiedDelayAttribute( IntegerAttributeCallback callback) { - readMeasurementMediumAttribute(chipClusterPtr, callback); + readUltrasonicOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback); } - public void subscribeMeasurementMediumAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeUltrasonicOccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { + writeUltrasonicOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, null); } - public void readLevelValueAttribute( - IntegerAttributeCallback callback) { - readLevelValueAttribute(chipClusterPtr, callback); - } + public void writeUltrasonicOccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeUltrasonicOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } - public void subscribeLevelValueAttribute( + public void subscribeUltrasonicOccupiedToUnoccupiedDelayAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeUltrasonicOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readUltrasonicUnoccupiedToOccupiedDelayAttribute( + IntegerAttributeCallback callback) { + readUltrasonicUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback); + } + + public void writeUltrasonicUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { + writeUltrasonicUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, null); + } + + public void writeUltrasonicUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeUltrasonicUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeUltrasonicUnoccupiedToOccupiedDelayAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUltrasonicUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readUltrasonicUnoccupiedToOccupiedThresholdAttribute( + IntegerAttributeCallback callback) { + readUltrasonicUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback); + } + + public void writeUltrasonicUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value) { + writeUltrasonicUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, null); + } + + public void writeUltrasonicUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeUltrasonicUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeUltrasonicUnoccupiedToOccupiedThresholdAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUltrasonicUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPhysicalContactOccupiedToUnoccupiedDelayAttribute( + IntegerAttributeCallback callback) { + readPhysicalContactOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback); + } + + public void writePhysicalContactOccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { + writePhysicalContactOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, null); + } + + public void writePhysicalContactOccupiedToUnoccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writePhysicalContactOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribePhysicalContactOccupiedToUnoccupiedDelayAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePhysicalContactOccupiedToUnoccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPhysicalContactUnoccupiedToOccupiedDelayAttribute( + IntegerAttributeCallback callback) { + readPhysicalContactUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback); + } + + public void writePhysicalContactUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value) { + writePhysicalContactUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, null); + } + + public void writePhysicalContactUnoccupiedToOccupiedDelayAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writePhysicalContactUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribePhysicalContactUnoccupiedToOccupiedDelayAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePhysicalContactUnoccupiedToOccupiedDelayAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPhysicalContactUnoccupiedToOccupiedThresholdAttribute( + IntegerAttributeCallback callback) { + readPhysicalContactUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback); + } + + public void writePhysicalContactUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value) { + writePhysicalContactUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, null); + } + + public void writePhysicalContactUnoccupiedToOccupiedThresholdAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writePhysicalContactUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribePhysicalContactUnoccupiedToOccupiedThresholdAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePhysicalContactUnoccupiedToOccupiedThresholdAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -25223,144 +21951,155 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readOccupancyAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeOccupancyAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOccupancySensorTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeOccupancySensorTypeAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOccupancySensorTypeBitmapAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeOccupancySensorTypeBitmapAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPIROccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writePIROccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribePIROccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPIRUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writePIRUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribePIRUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPIRUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writePIRUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribePIRUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUltrasonicOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeUltrasonicOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeUltrasonicOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUltrasonicUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeUltrasonicUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeUltrasonicUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUltrasonicUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeUltrasonicUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeUltrasonicUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPhysicalContactOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writePhysicalContactOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribePhysicalContactOccupiedToUnoccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPhysicalContactUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writePhysicalContactUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribePhysicalContactUnoccupiedToOccupiedDelayAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPhysicalContactUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writePhysicalContactUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribePhysicalContactUnoccupiedToOccupiedThresholdAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback); - - private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback); - - private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribeUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class Pm10ConcentrationMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1069L; - public Pm10ConcentrationMeasurementCluster(long devicePtr, int endpointId) { + public static class CarbonMonoxideConcentrationMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1036L; + + public CarbonMonoxideConcentrationMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface MeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MinMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MaxMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface PeakMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AverageMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -25537,144 +22276,133 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); + + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); + + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); + + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback); + + private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback); + + private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback); + + private native void subscribeUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback); - - private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback); - - private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribeUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class TotalVolatileOrganicCompoundsConcentrationMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1070L; - public TotalVolatileOrganicCompoundsConcentrationMeasurementCluster(long devicePtr, int endpointId) { + public static class CarbonDioxideConcentrationMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1037L; + + public CarbonDioxideConcentrationMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface MeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MinMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MaxMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface PeakMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AverageMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -25851,144 +22579,133 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); + + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); + + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); + + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback); + + private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback); + + private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback); - - private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback); - - private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribeUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback); + + private native void subscribeUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class RadonConcentrationMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1071L; - public RadonConcentrationMeasurementCluster(long devicePtr, int endpointId) { + public static class NitrogenDioxideConcentrationMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1043L; + + public NitrogenDioxideConcentrationMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - public interface MeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MinMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface MaxMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface PeakMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AverageMeasuredValueAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -26165,133 +22882,247 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); + + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); + + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); + + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback); + + private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback); + + private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback); + + private native void subscribeUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback); - - private native void subscribeMeasuredValueAttribute(long chipClusterPtr - , MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback); - - private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr - , MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback); - - private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr - , MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback); - - private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr - , PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback); - - private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr - , AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribeUncertaintyAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementUnitAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasurementMediumAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLevelValueAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class WakeOnLanCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1283L; - public WakeOnLanCluster(long devicePtr, int endpointId) { + public static class OzoneConcentrationMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1045L; + + public OzoneConcentrationMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); + public interface MeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface MinMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface MaxMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface PeakMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AverageMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMACAddressAttribute( - CharStringAttributeCallback callback) { - readMACAddressAttribute(chipClusterPtr, callback); + public void readMeasuredValueAttribute( + MeasuredValueAttributeCallback callback) { + readMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeMACAddressAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMACAddressAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMeasuredValueAttribute( + MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback) { + readMinMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void subscribeMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback) { + readMaxMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void subscribeMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback) { + readPeakMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void subscribePeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPeakMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); + } + + public void subscribePeakMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback) { + readAverageMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readUncertaintyAttribute( + FloatAttributeCallback callback) { + readUncertaintyAttribute(chipClusterPtr, callback); + } + + public void subscribeUncertaintyAttribute( + FloatAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasurementUnitAttribute( + IntegerAttributeCallback callback) { + readMeasurementUnitAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasurementUnitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasurementMediumAttribute( + IntegerAttributeCallback callback) { + readMeasurementMediumAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasurementMediumAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLevelValueAttribute( + IntegerAttributeCallback callback) { + readLevelValueAttribute(chipClusterPtr, callback); + } + + public void subscribeLevelValueAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -26354,153 +23185,247 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); - private native void readMACAddressAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeMACAddressAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readPeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class ChannelCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1284L; + private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); - public ChannelCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void readAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback); + private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - public void changeChannel(ChangeChannelResponseCallback callback, String match) { - changeChannel(chipClusterPtr, callback, match, null); - } + private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void changeChannel(ChangeChannelResponseCallback callback, String match, int timedInvokeTimeoutMs) { - changeChannel(chipClusterPtr, callback, match, timedInvokeTimeoutMs); - } + private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void changeChannelByNumber(DefaultClusterCallback callback, Integer majorNumber, Integer minorNumber) { - changeChannelByNumber(chipClusterPtr, callback, majorNumber, minorNumber, null); - } + private native void readUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback); - public void changeChannelByNumber(DefaultClusterCallback callback, Integer majorNumber, Integer minorNumber, int timedInvokeTimeoutMs) { - changeChannelByNumber(chipClusterPtr, callback, majorNumber, minorNumber, timedInvokeTimeoutMs); - } + private native void subscribeUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); - public void skipChannel(DefaultClusterCallback callback, Integer count) { - skipChannel(chipClusterPtr, callback, count, null); - } + private native void readMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void skipChannel(DefaultClusterCallback callback, Integer count, int timedInvokeTimeoutMs) { - skipChannel(chipClusterPtr, callback, count, timedInvokeTimeoutMs); - } + private native void subscribeMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void changeChannel(long chipClusterPtr, ChangeChannelResponseCallback callback, String match, @Nullable Integer timedInvokeTimeoutMs); + private native void readMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void changeChannelByNumber(long chipClusterPtr, DefaultClusterCallback callback, Integer majorNumber, Integer minorNumber, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void skipChannel(long chipClusterPtr, DefaultClusterCallback callback, Integer count, @Nullable Integer timedInvokeTimeoutMs); + private native void readLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public interface ChangeChannelResponseCallback { - void onSuccess(Integer status, Optional data); + private native void subscribeLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - void onError(Exception error); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class Pm25ConcentrationMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1066L; + + public Pm25ConcentrationMeasurementCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public interface ChannelListAttributeCallback { - void onSuccess(List value); + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public interface MeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface LineupAttributeCallback { - void onSuccess(@Nullable ChipStructs.ChannelClusterLineupInfoStruct value); + + public interface MinMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface CurrentChannelAttributeCallback { - void onSuccess(@Nullable ChipStructs.ChannelClusterChannelInfoStruct value); + + public interface MaxMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + + public interface PeakMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AverageMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readChannelListAttribute( - ChannelListAttributeCallback callback) { - readChannelListAttribute(chipClusterPtr, callback); + public void readMeasuredValueAttribute( + MeasuredValueAttributeCallback callback) { + readMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeChannelListAttribute( - ChannelListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeChannelListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMeasuredValueAttribute( + MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLineupAttribute( - LineupAttributeCallback callback) { - readLineupAttribute(chipClusterPtr, callback); + public void readMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback) { + readMinMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeLineupAttribute( - LineupAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLineupAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentChannelAttribute( - CurrentChannelAttributeCallback callback) { - readCurrentChannelAttribute(chipClusterPtr, callback); + public void readMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback) { + readMaxMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeCurrentChannelAttribute( - CurrentChannelAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentChannelAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback) { + readPeakMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void subscribePeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPeakMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); + } + + public void subscribePeakMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback) { + readAverageMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readUncertaintyAttribute( + FloatAttributeCallback callback) { + readUncertaintyAttribute(chipClusterPtr, callback); + } + + public void subscribeUncertaintyAttribute( + FloatAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasurementUnitAttribute( + IntegerAttributeCallback callback) { + readMeasurementUnitAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasurementUnitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasurementMediumAttribute( + IntegerAttributeCallback callback) { + readMeasurementMediumAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasurementMediumAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLevelValueAttribute( + IntegerAttributeCallback callback) { + readLevelValueAttribute(chipClusterPtr, callback); + } + + public void subscribeLevelValueAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -26563,467 +23488,550 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); + + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); + + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); + + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback); + + private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback); + + private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void readChannelListAttribute(long chipClusterPtr - , ChannelListAttributeCallback callback); + private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeChannelListAttribute(long chipClusterPtr - , ChannelListAttributeCallback callback, int minInterval, int maxInterval); - private native void readLineupAttribute(long chipClusterPtr - , LineupAttributeCallback callback); + private native void readUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback); - private native void subscribeLineupAttribute(long chipClusterPtr - , LineupAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentChannelAttribute(long chipClusterPtr - , CurrentChannelAttributeCallback callback); + private native void subscribeUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCurrentChannelAttribute(long chipClusterPtr - , CurrentChannelAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class TargetNavigatorCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1285L; - public TargetNavigatorCluster(long devicePtr, int endpointId) { + public static class FormaldehydeConcentrationMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1067L; + + public FormaldehydeConcentrationMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void navigateTarget(NavigateTargetResponseCallback callback, Integer target, Optional data) { - navigateTarget(chipClusterPtr, callback, target, data, null); + public interface MeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void navigateTarget(NavigateTargetResponseCallback callback, Integer target, Optional data, int timedInvokeTimeoutMs) { - navigateTarget(chipClusterPtr, callback, target, data, timedInvokeTimeoutMs); + public interface MinMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - private native void navigateTarget(long chipClusterPtr, NavigateTargetResponseCallback callback, Integer target, Optional data, @Nullable Integer timedInvokeTimeoutMs); - - public interface NavigateTargetResponseCallback { - void onSuccess(Integer status, Optional data); + public interface MaxMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - void onError(Exception error); + public interface PeakMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public interface TargetListAttributeCallback { - void onSuccess(List value); + + public interface AverageMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readTargetListAttribute( - TargetListAttributeCallback callback) { - readTargetListAttribute(chipClusterPtr, callback); + public void readMeasuredValueAttribute( + MeasuredValueAttributeCallback callback) { + readMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeTargetListAttribute( - TargetListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTargetListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMeasuredValueAttribute( + MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentTargetAttribute( - IntegerAttributeCallback callback) { - readCurrentTargetAttribute(chipClusterPtr, callback); + public void readMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback) { + readMinMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeCurrentTargetAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentTargetAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void readMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback) { + readMaxMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void readPeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback) { + readPeakMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void readPeakMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + public void subscribePeakMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void readAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback) { + readAverageMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFeatureMapAttribute( + public void readAverageMeasuredValueWindowAttribute( LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); } - public void subscribeFeatureMapAttribute( + public void subscribeAverageMeasuredValueWindowAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + public void readUncertaintyAttribute( + FloatAttributeCallback callback) { + readUncertaintyAttribute(chipClusterPtr, callback); } - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeUncertaintyAttribute( + FloatAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readTargetListAttribute(long chipClusterPtr - , TargetListAttributeCallback callback); - - private native void subscribeTargetListAttribute(long chipClusterPtr - , TargetListAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentTargetAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeCurrentTargetAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class MediaPlaybackCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1286L; - - public MediaPlaybackCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void readMeasurementUnitAttribute( + IntegerAttributeCallback callback) { + readMeasurementUnitAttribute(chipClusterPtr, callback); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); - - - public void play(PlaybackResponseCallback callback) { - play(chipClusterPtr, callback, null); + public void subscribeMeasurementUnitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void play(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { - play(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readMeasurementMediumAttribute( + IntegerAttributeCallback callback) { + readMeasurementMediumAttribute(chipClusterPtr, callback); } - public void pause(PlaybackResponseCallback callback) { - pause(chipClusterPtr, callback, null); + public void subscribeMeasurementMediumAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void pause(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { - pause(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readLevelValueAttribute( + IntegerAttributeCallback callback) { + readLevelValueAttribute(chipClusterPtr, callback); } - public void stop(PlaybackResponseCallback callback) { - stop(chipClusterPtr, callback, null); + public void subscribeLevelValueAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void stop(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { - stop(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); } - public void startOver(PlaybackResponseCallback callback) { - startOver(chipClusterPtr, callback, null); + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void startOver(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { - startOver(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } - public void previous(PlaybackResponseCallback callback) { - previous(chipClusterPtr, callback, null); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void previous(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { - previous(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); } - public void next(PlaybackResponseCallback callback) { - next(chipClusterPtr, callback, null); + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void next(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { - next(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } - public void rewind(PlaybackResponseCallback callback) { - rewind(chipClusterPtr, callback, null); + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void rewind(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { - rewind(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); } - public void fastForward(PlaybackResponseCallback callback) { - fastForward(chipClusterPtr, callback, null); + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void fastForward(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { - fastForward(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + readClusterRevisionAttribute(chipClusterPtr, callback); } - public void skipForward(PlaybackResponseCallback callback, Long deltaPositionMilliseconds) { - skipForward(chipClusterPtr, callback, deltaPositionMilliseconds, null); + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void skipForward(PlaybackResponseCallback callback, Long deltaPositionMilliseconds, int timedInvokeTimeoutMs) { - skipForward(chipClusterPtr, callback, deltaPositionMilliseconds, timedInvokeTimeoutMs); - } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); - public void skipBackward(PlaybackResponseCallback callback, Long deltaPositionMilliseconds) { - skipBackward(chipClusterPtr, callback, deltaPositionMilliseconds, null); - } + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - public void skipBackward(PlaybackResponseCallback callback, Long deltaPositionMilliseconds, int timedInvokeTimeoutMs) { - skipBackward(chipClusterPtr, callback, deltaPositionMilliseconds, timedInvokeTimeoutMs); - } + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); - public void seek(PlaybackResponseCallback callback, Long position) { - seek(chipClusterPtr, callback, position, null); - } + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - public void seek(PlaybackResponseCallback callback, Long position, int timedInvokeTimeoutMs) { - seek(chipClusterPtr, callback, position, timedInvokeTimeoutMs); - } + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); - private native void play(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void pause(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void readPeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback); - private native void stop(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void startOver(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void previous(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void next(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void readAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback); - private native void rewind(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void fastForward(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void skipForward(long chipClusterPtr, PlaybackResponseCallback callback, Long deltaPositionMilliseconds, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void skipBackward(long chipClusterPtr, PlaybackResponseCallback callback, Long deltaPositionMilliseconds, @Nullable Integer timedInvokeTimeoutMs); + private native void readUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback); - private native void seek(long chipClusterPtr, PlaybackResponseCallback callback, Long position, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); - public interface PlaybackResponseCallback { - void onSuccess(Integer status, Optional data); + private native void readMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - void onError(Exception error); + private native void subscribeMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class Pm1ConcentrationMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1068L; + + public Pm1ConcentrationMeasurementCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public interface StartTimeAttributeCallback { - void onSuccess(@Nullable Long value); + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public interface MeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface DurationAttributeCallback { - void onSuccess(@Nullable Long value); + + public interface MinMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface SampledPositionAttributeCallback { - void onSuccess(@Nullable ChipStructs.MediaPlaybackClusterPlaybackPositionStruct value); + + public interface MaxMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface SeekRangeEndAttributeCallback { - void onSuccess(@Nullable Long value); + + public interface PeakMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface SeekRangeStartAttributeCallback { - void onSuccess(@Nullable Long value); + + public interface AverageMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readCurrentStateAttribute( - IntegerAttributeCallback callback) { - readCurrentStateAttribute(chipClusterPtr, callback); - } - - public void subscribeCurrentStateAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readMeasuredValueAttribute( + MeasuredValueAttributeCallback callback) { + readMeasuredValueAttribute(chipClusterPtr, callback); } - public void readStartTimeAttribute( - StartTimeAttributeCallback callback) { - readStartTimeAttribute(chipClusterPtr, callback); + public void subscribeMeasuredValueAttribute( + MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeStartTimeAttribute( - StartTimeAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStartTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback) { + readMinMeasuredValueAttribute(chipClusterPtr, callback); } - public void readDurationAttribute( - DurationAttributeCallback callback) { - readDurationAttribute(chipClusterPtr, callback); + public void subscribeMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeDurationAttribute( - DurationAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDurationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback) { + readMaxMeasuredValueAttribute(chipClusterPtr, callback); } - public void readSampledPositionAttribute( - SampledPositionAttributeCallback callback) { - readSampledPositionAttribute(chipClusterPtr, callback); + public void subscribeMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeSampledPositionAttribute( - SampledPositionAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSampledPositionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readPeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback) { + readPeakMeasuredValueAttribute(chipClusterPtr, callback); } - public void readPlaybackSpeedAttribute( + public void subscribePeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPeakMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); + } + + public void subscribePeakMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback) { + readAverageMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readUncertaintyAttribute( FloatAttributeCallback callback) { - readPlaybackSpeedAttribute(chipClusterPtr, callback); + readUncertaintyAttribute(chipClusterPtr, callback); } - public void subscribePlaybackSpeedAttribute( + public void subscribeUncertaintyAttribute( FloatAttributeCallback callback, int minInterval, int maxInterval) { - subscribePlaybackSpeedAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSeekRangeEndAttribute( - SeekRangeEndAttributeCallback callback) { - readSeekRangeEndAttribute(chipClusterPtr, callback); + public void readMeasurementUnitAttribute( + IntegerAttributeCallback callback) { + readMeasurementUnitAttribute(chipClusterPtr, callback); } - public void subscribeSeekRangeEndAttribute( - SeekRangeEndAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSeekRangeEndAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMeasurementUnitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSeekRangeStartAttribute( - SeekRangeStartAttributeCallback callback) { - readSeekRangeStartAttribute(chipClusterPtr, callback); + public void readMeasurementMediumAttribute( + IntegerAttributeCallback callback) { + readMeasurementMediumAttribute(chipClusterPtr, callback); } - public void subscribeSeekRangeStartAttribute( - SeekRangeStartAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSeekRangeStartAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMeasurementMediumAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLevelValueAttribute( + IntegerAttributeCallback callback) { + readLevelValueAttribute(chipClusterPtr, callback); + } + + public void subscribeLevelValueAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -27086,312 +24094,247 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); - private native void readCurrentStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeCurrentStateAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStartTimeAttribute(long chipClusterPtr - , StartTimeAttributeCallback callback); - - private native void subscribeStartTimeAttribute(long chipClusterPtr - , StartTimeAttributeCallback callback, int minInterval, int maxInterval); - private native void readDurationAttribute(long chipClusterPtr - , DurationAttributeCallback callback); - - private native void subscribeDurationAttribute(long chipClusterPtr - , DurationAttributeCallback callback, int minInterval, int maxInterval); - private native void readSampledPositionAttribute(long chipClusterPtr - , SampledPositionAttributeCallback callback); - - private native void subscribeSampledPositionAttribute(long chipClusterPtr - , SampledPositionAttributeCallback callback, int minInterval, int maxInterval); - private native void readPlaybackSpeedAttribute(long chipClusterPtr - , FloatAttributeCallback callback); - - private native void subscribePlaybackSpeedAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readSeekRangeEndAttribute(long chipClusterPtr - , SeekRangeEndAttributeCallback callback); - - private native void subscribeSeekRangeEndAttribute(long chipClusterPtr - , SeekRangeEndAttributeCallback callback, int minInterval, int maxInterval); - private native void readSeekRangeStartAttribute(long chipClusterPtr - , SeekRangeStartAttributeCallback callback); - - private native void subscribeSeekRangeStartAttribute(long chipClusterPtr - , SeekRangeStartAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class MediaInputCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1287L; + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - public MediaInputCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); - public void selectInput(DefaultClusterCallback callback, Integer index) { - selectInput(chipClusterPtr, callback, index, null); - } + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - public void selectInput(DefaultClusterCallback callback, Integer index, int timedInvokeTimeoutMs) { - selectInput(chipClusterPtr, callback, index, timedInvokeTimeoutMs); - } + private native void readPeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback); - public void showInputStatus(DefaultClusterCallback callback) { - showInputStatus(chipClusterPtr, callback, null); - } + private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - public void showInputStatus(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - showInputStatus(chipClusterPtr, callback, timedInvokeTimeoutMs); - } + private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void hideInputStatus(DefaultClusterCallback callback) { - hideInputStatus(chipClusterPtr, callback, null); - } + private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void hideInputStatus(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - hideInputStatus(chipClusterPtr, callback, timedInvokeTimeoutMs); - } + private native void readAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback); - public void renameInput(DefaultClusterCallback callback, Integer index, String name) { - renameInput(chipClusterPtr, callback, index, name, null); - } + private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - public void renameInput(DefaultClusterCallback callback, Integer index, String name, int timedInvokeTimeoutMs) { - renameInput(chipClusterPtr, callback, index, name, timedInvokeTimeoutMs); + private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback); + + private native void subscribeUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class Pm10ConcentrationMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1069L; + + public Pm10ConcentrationMeasurementCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - private native void selectInput(long chipClusterPtr, DefaultClusterCallback callback, Integer index, @Nullable Integer timedInvokeTimeoutMs); + @Override + public native long initWithDevice(long devicePtr, int endpointId); - private native void showInputStatus(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + public interface MeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - private native void hideInputStatus(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + public interface MinMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - private native void renameInput(long chipClusterPtr, DefaultClusterCallback callback, Integer index, String name, @Nullable Integer timedInvokeTimeoutMs); + public interface MaxMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - public interface InputListAttributeCallback { - void onSuccess(List value); + public interface PeakMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AverageMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readInputListAttribute( - InputListAttributeCallback callback) { - readInputListAttribute(chipClusterPtr, callback); + public void readMeasuredValueAttribute( + MeasuredValueAttributeCallback callback) { + readMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeInputListAttribute( - InputListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInputListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMeasuredValueAttribute( + MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentInputAttribute( - IntegerAttributeCallback callback) { - readCurrentInputAttribute(chipClusterPtr, callback); + public void readMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback) { + readMinMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeCurrentInputAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentInputAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); + public void readMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback) { + readMaxMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); + public void readPeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback) { + readPeakMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); + public void readPeakMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); } - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePeakMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void readAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback) { + readAverageMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFeatureMapAttribute( + public void readAverageMeasuredValueWindowAttribute( LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); } - public void subscribeFeatureMapAttribute( + public void subscribeAverageMeasuredValueWindowAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + public void readUncertaintyAttribute( + FloatAttributeCallback callback) { + readUncertaintyAttribute(chipClusterPtr, callback); } - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeUncertaintyAttribute( + FloatAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readInputListAttribute(long chipClusterPtr - , InputListAttributeCallback callback); - - private native void subscribeInputListAttribute(long chipClusterPtr - , InputListAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentInputAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeCurrentInputAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class LowPowerCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1288L; - - public LowPowerCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void readMeasurementUnitAttribute( + IntegerAttributeCallback callback) { + readMeasurementUnitAttribute(chipClusterPtr, callback); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); - - - public void sleep(DefaultClusterCallback callback) { - sleep(chipClusterPtr, callback, null); + public void subscribeMeasurementUnitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void sleep(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - sleep(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void readMeasurementMediumAttribute( + IntegerAttributeCallback callback) { + readMeasurementMediumAttribute(chipClusterPtr, callback); } - private native void sleep(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void subscribeMeasurementMediumAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void readLevelValueAttribute( + IntegerAttributeCallback callback) { + readLevelValueAttribute(chipClusterPtr, callback); } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + + public void subscribeLevelValueAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -27454,448 +24397,247 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class KeypadInputCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1289L; - - public KeypadInputCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readPeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void sendKey(SendKeyResponseCallback callback, Integer keyCode) { - sendKey(chipClusterPtr, callback, keyCode, null); - } + private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void sendKey(SendKeyResponseCallback callback, Integer keyCode, int timedInvokeTimeoutMs) { - sendKey(chipClusterPtr, callback, keyCode, timedInvokeTimeoutMs); - } + private native void readAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback); - private native void sendKey(long chipClusterPtr, SendKeyResponseCallback callback, Integer keyCode, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - public interface SendKeyResponseCallback { - void onSuccess(Integer status); + private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); - void onError(Exception error); - } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } + private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); - } + private native void readUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback); - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); - } + private native void readMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); - } + private native void readMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); - } + private native void readLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); - } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); - } + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class ContentLauncherCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1290L; - public ContentLauncherCluster(long devicePtr, int endpointId) { + public static class TotalVolatileOrganicCompoundsConcentrationMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1070L; + + public TotalVolatileOrganicCompoundsConcentrationMeasurementCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void launchContent(LauncherResponseCallback callback, ChipStructs.ContentLauncherClusterContentSearchStruct search, Boolean autoPlay, Optional data) { - launchContent(chipClusterPtr, callback, search, autoPlay, data, null); + public interface MeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void launchContent(LauncherResponseCallback callback, ChipStructs.ContentLauncherClusterContentSearchStruct search, Boolean autoPlay, Optional data, int timedInvokeTimeoutMs) { - launchContent(chipClusterPtr, callback, search, autoPlay, data, timedInvokeTimeoutMs); + public interface MinMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void launchURL(LauncherResponseCallback callback, String contentURL, Optional displayString, Optional brandingInformation) { - launchURL(chipClusterPtr, callback, contentURL, displayString, brandingInformation, null); + public interface MaxMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void launchURL(LauncherResponseCallback callback, String contentURL, Optional displayString, Optional brandingInformation, int timedInvokeTimeoutMs) { - launchURL(chipClusterPtr, callback, contentURL, displayString, brandingInformation, timedInvokeTimeoutMs); + public interface PeakMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - private native void launchContent(long chipClusterPtr, LauncherResponseCallback callback, ChipStructs.ContentLauncherClusterContentSearchStruct search, Boolean autoPlay, Optional data, @Nullable Integer timedInvokeTimeoutMs); - - private native void launchURL(long chipClusterPtr, LauncherResponseCallback callback, String contentURL, Optional displayString, Optional brandingInformation, @Nullable Integer timedInvokeTimeoutMs); - - public interface LauncherResponseCallback { - void onSuccess(Integer status, Optional data); - - void onError(Exception error); - } - public interface AcceptHeaderAttributeCallback { - void onSuccess(List value); + public interface AverageMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readAcceptHeaderAttribute( - AcceptHeaderAttributeCallback callback) { - readAcceptHeaderAttribute(chipClusterPtr, callback); + public void readMeasuredValueAttribute( + MeasuredValueAttributeCallback callback) { + readMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeAcceptHeaderAttribute( - AcceptHeaderAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptHeaderAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMeasuredValueAttribute( + MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readSupportedStreamingProtocolsAttribute( - LongAttributeCallback callback) { - readSupportedStreamingProtocolsAttribute(chipClusterPtr, callback); - } - public void writeSupportedStreamingProtocolsAttribute(DefaultClusterCallback callback, Long value) { - writeSupportedStreamingProtocolsAttribute(chipClusterPtr, callback, value, null); + public void readMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback) { + readMinMeasuredValueAttribute(chipClusterPtr, callback); } - - public void writeSupportedStreamingProtocolsAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { - writeSupportedStreamingProtocolsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback) { + readMaxMeasuredValueAttribute(chipClusterPtr, callback); + } - - public void subscribeSupportedStreamingProtocolsAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeSupportedStreamingProtocolsAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); - } - - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); - } - - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); - } - - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); + public void readPeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback) { + readPeakMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readFeatureMapAttribute( + public void readPeakMeasuredValueWindowAttribute( LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); + readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); } - public void subscribeFeatureMapAttribute( + public void subscribePeakMeasuredValueWindowAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); + public void readAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback) { + readAverageMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readAcceptHeaderAttribute(long chipClusterPtr - , AcceptHeaderAttributeCallback callback); - - private native void subscribeAcceptHeaderAttribute(long chipClusterPtr - , AcceptHeaderAttributeCallback callback, int minInterval, int maxInterval); - private native void readSupportedStreamingProtocolsAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void writeSupportedStreamingProtocolsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - - private native void subscribeSupportedStreamingProtocolsAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class AudioOutputCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1291L; - - public AudioOutputCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); + public void readAverageMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); } - @Override - public native long initWithDevice(long devicePtr, int endpointId); - - - public void selectOutput(DefaultClusterCallback callback, Integer index) { - selectOutput(chipClusterPtr, callback, index, null); + public void subscribeAverageMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void selectOutput(DefaultClusterCallback callback, Integer index, int timedInvokeTimeoutMs) { - selectOutput(chipClusterPtr, callback, index, timedInvokeTimeoutMs); + public void readUncertaintyAttribute( + FloatAttributeCallback callback) { + readUncertaintyAttribute(chipClusterPtr, callback); } - public void renameOutput(DefaultClusterCallback callback, Integer index, String name) { - renameOutput(chipClusterPtr, callback, index, name, null); + public void subscribeUncertaintyAttribute( + FloatAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void renameOutput(DefaultClusterCallback callback, Integer index, String name, int timedInvokeTimeoutMs) { - renameOutput(chipClusterPtr, callback, index, name, timedInvokeTimeoutMs); + public void readMeasurementUnitAttribute( + IntegerAttributeCallback callback) { + readMeasurementUnitAttribute(chipClusterPtr, callback); } - private native void selectOutput(long chipClusterPtr, DefaultClusterCallback callback, Integer index, @Nullable Integer timedInvokeTimeoutMs); - - private native void renameOutput(long chipClusterPtr, DefaultClusterCallback callback, Integer index, String name, @Nullable Integer timedInvokeTimeoutMs); - - public interface OutputListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface GeneratedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AcceptedCommandListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface EventListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AttributeListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} + public void subscribeMeasurementUnitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readOutputListAttribute( - OutputListAttributeCallback callback) { - readOutputListAttribute(chipClusterPtr, callback); + public void readMeasurementMediumAttribute( + IntegerAttributeCallback callback) { + readMeasurementMediumAttribute(chipClusterPtr, callback); } - public void subscribeOutputListAttribute( - OutputListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOutputListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMeasurementMediumAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentOutputAttribute( + public void readLevelValueAttribute( IntegerAttributeCallback callback) { - readCurrentOutputAttribute(chipClusterPtr, callback); + readLevelValueAttribute(chipClusterPtr, callback); } - public void subscribeCurrentOutputAttribute( + public void subscribeLevelValueAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentOutputAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -27958,153 +24700,247 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); - private native void readOutputListAttribute(long chipClusterPtr - , OutputListAttributeCallback callback); + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOutputListAttribute(long chipClusterPtr - , OutputListAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentOutputAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); - private native void subscribeCurrentOutputAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readPeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class ApplicationLauncherCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1292L; + private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public ApplicationLauncherCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void launchApp(LauncherResponseCallback callback, Optional application, Optional data) { - launchApp(chipClusterPtr, callback, application, data, null); - } + private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void launchApp(LauncherResponseCallback callback, Optional application, Optional data, int timedInvokeTimeoutMs) { - launchApp(chipClusterPtr, callback, application, data, timedInvokeTimeoutMs); - } + private native void readUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback); - public void stopApp(LauncherResponseCallback callback, Optional application) { - stopApp(chipClusterPtr, callback, application, null); - } + private native void subscribeUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); - public void stopApp(LauncherResponseCallback callback, Optional application, int timedInvokeTimeoutMs) { - stopApp(chipClusterPtr, callback, application, timedInvokeTimeoutMs); - } + private native void readMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void hideApp(LauncherResponseCallback callback, Optional application) { - hideApp(chipClusterPtr, callback, application, null); - } + private native void subscribeMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void hideApp(LauncherResponseCallback callback, Optional application, int timedInvokeTimeoutMs) { - hideApp(chipClusterPtr, callback, application, timedInvokeTimeoutMs); - } + private native void readMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void launchApp(long chipClusterPtr, LauncherResponseCallback callback, Optional application, Optional data, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void stopApp(long chipClusterPtr, LauncherResponseCallback callback, Optional application, @Nullable Integer timedInvokeTimeoutMs); + private native void readLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void hideApp(long chipClusterPtr, LauncherResponseCallback callback, Optional application, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public interface LauncherResponseCallback { - void onSuccess(Integer status, Optional data); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - void onError(Exception error); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class RadonConcentrationMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1071L; + + public RadonConcentrationMeasurementCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public interface CatalogListAttributeCallback { - void onSuccess(List value); + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public interface MeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public interface CurrentAppAttributeCallback { - void onSuccess(@Nullable ChipStructs.ApplicationLauncherClusterApplicationEPStruct value); + + public interface MinMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface MaxMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface PeakMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + + public interface AverageMeasuredValueAttributeCallback { + void onSuccess(@Nullable Float value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readCatalogListAttribute( - CatalogListAttributeCallback callback) { - readCatalogListAttribute(chipClusterPtr, callback); + public void readMeasuredValueAttribute( + MeasuredValueAttributeCallback callback) { + readMeasuredValueAttribute(chipClusterPtr, callback); } - public void subscribeCatalogListAttribute( - CatalogListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCatalogListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeMeasuredValueAttribute( + MeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentAppAttribute( - CurrentAppAttributeCallback callback) { - readCurrentAppAttribute(chipClusterPtr, callback); + public void readMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback) { + readMinMeasuredValueAttribute(chipClusterPtr, callback); } - public void writeCurrentAppAttribute(DefaultClusterCallback callback, ChipStructs.ApplicationLauncherClusterApplicationEPStruct value) { - writeCurrentAppAttribute(chipClusterPtr, callback, value, null); + + public void subscribeMinMeasuredValueAttribute( + MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMinMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback) { + readMaxMeasuredValueAttribute(chipClusterPtr, callback); + } - public void writeCurrentAppAttribute(DefaultClusterCallback callback, ChipStructs.ApplicationLauncherClusterApplicationEPStruct value, int timedWriteTimeoutMs) { - writeCurrentAppAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeMaxMeasuredValueAttribute( + MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMaxMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readPeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback) { + readPeakMeasuredValueAttribute(chipClusterPtr, callback); + } + public void subscribePeakMeasuredValueAttribute( + PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void subscribeCurrentAppAttribute( - CurrentAppAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentAppAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readPeakMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readPeakMeasuredValueWindowAttribute(chipClusterPtr, callback); + } + + public void subscribePeakMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribePeakMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback) { + readAverageMeasuredValueAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageMeasuredValueAttribute( + AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageMeasuredValueWindowAttribute( + LongAttributeCallback callback) { + readAverageMeasuredValueWindowAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageMeasuredValueWindowAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageMeasuredValueWindowAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readUncertaintyAttribute( + FloatAttributeCallback callback) { + readUncertaintyAttribute(chipClusterPtr, callback); + } + + public void subscribeUncertaintyAttribute( + FloatAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUncertaintyAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasurementUnitAttribute( + IntegerAttributeCallback callback) { + readMeasurementUnitAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasurementUnitAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementUnitAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasurementMediumAttribute( + IntegerAttributeCallback callback) { + readMeasurementMediumAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasurementMediumAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementMediumAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLevelValueAttribute( + IntegerAttributeCallback callback) { + readLevelValueAttribute(chipClusterPtr, callback); + } + + public void subscribeLevelValueAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLevelValueAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -28167,170 +25003,117 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback); - private native void readCatalogListAttribute(long chipClusterPtr - , CatalogListAttributeCallback callback); + private native void subscribeMeasuredValueAttribute(long chipClusterPtr, MeasuredValueAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCatalogListAttribute(long chipClusterPtr - , CatalogListAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentAppAttribute(long chipClusterPtr - , CurrentAppAttributeCallback callback); + private native void readMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback); - private native void writeCurrentAppAttribute(long chipClusterPtr, DefaultClusterCallback callback, ChipStructs.ApplicationLauncherClusterApplicationEPStruct value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeMinMeasuredValueAttribute(long chipClusterPtr, MinMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback); + + private native void subscribeMaxMeasuredValueAttribute(long chipClusterPtr, MaxMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback); + + private native void subscribePeakMeasuredValueAttribute(long chipClusterPtr, PeakMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribePeakMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback); + + private native void subscribeAverageMeasuredValueAttribute(long chipClusterPtr, AverageMeasuredValueAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeAverageMeasuredValueWindowAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback); + + private native void subscribeUncertaintyAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementUnitAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasurementMediumAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeLevelValueAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeCurrentAppAttribute(long chipClusterPtr - , CurrentAppAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class ApplicationBasicCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1293L; - public ApplicationBasicCluster(long devicePtr, int endpointId) { + public static class WakeOnLanCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1283L; + + public WakeOnLanCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public interface ApplicationAttributeCallback { - void onSuccess(ChipStructs.ApplicationBasicClusterApplicationStruct value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } - public interface AllowedVendorListAttributeCallback { - void onSuccess(List value); - void onError(Exception ex); - default void onSubscriptionEstablished(long subscriptionId) {} - } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readVendorNameAttribute( - CharStringAttributeCallback callback) { - readVendorNameAttribute(chipClusterPtr, callback); - } - - public void subscribeVendorNameAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeVendorNameAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readVendorIDAttribute( - IntegerAttributeCallback callback) { - readVendorIDAttribute(chipClusterPtr, callback); - } - - public void subscribeVendorIDAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeVendorIDAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readApplicationNameAttribute( - CharStringAttributeCallback callback) { - readApplicationNameAttribute(chipClusterPtr, callback); - } - - public void subscribeApplicationNameAttribute( - CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeApplicationNameAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readProductIDAttribute( - IntegerAttributeCallback callback) { - readProductIDAttribute(chipClusterPtr, callback); - } - - public void subscribeProductIDAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeProductIDAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readApplicationAttribute( - ApplicationAttributeCallback callback) { - readApplicationAttribute(chipClusterPtr, callback); - } - - public void subscribeApplicationAttribute( - ApplicationAttributeCallback callback, int minInterval, int maxInterval) { - subscribeApplicationAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readStatusAttribute( - IntegerAttributeCallback callback) { - readStatusAttribute(chipClusterPtr, callback); - } - - public void subscribeStatusAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readApplicationVersionAttribute( + public void readMACAddressAttribute( CharStringAttributeCallback callback) { - readApplicationVersionAttribute(chipClusterPtr, callback); + readMACAddressAttribute(chipClusterPtr, callback); } - public void subscribeApplicationVersionAttribute( + public void subscribeMACAddressAttribute( CharStringAttributeCallback callback, int minInterval, int maxInterval) { - subscribeApplicationVersionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } - - public void readAllowedVendorListAttribute( - AllowedVendorListAttributeCallback callback) { - readAllowedVendorListAttribute(chipClusterPtr, callback); - } - - public void subscribeAllowedVendorListAttribute( - AllowedVendorListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAllowedVendorListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeMACAddressAttribute(chipClusterPtr, callback, minInterval, maxInterval); } public void readGeneratedCommandListAttribute( @@ -28393,136 +25176,152 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readMACAddressAttribute(long chipClusterPtr, CharStringAttributeCallback callback); - private native void readVendorNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeVendorNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readVendorIDAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeVendorIDAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readApplicationNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeApplicationNameAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readProductIDAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeProductIDAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readApplicationAttribute(long chipClusterPtr - , ApplicationAttributeCallback callback); - - private native void subscribeApplicationAttribute(long chipClusterPtr - , ApplicationAttributeCallback callback, int minInterval, int maxInterval); - private native void readStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeStatusAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readApplicationVersionAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); - - private native void subscribeApplicationVersionAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readAllowedVendorListAttribute(long chipClusterPtr - , AllowedVendorListAttributeCallback callback); - - private native void subscribeAllowedVendorListAttribute(long chipClusterPtr - , AllowedVendorListAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - } - public static class AccountLoginCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 1294L; + private native void subscribeMACAddressAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); - public AccountLoginCluster(long devicePtr, int endpointId) { - super(devicePtr, endpointId); - } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - @Override - public native long initWithDevice(long devicePtr, int endpointId); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void getSetupPIN(GetSetupPINResponseCallback callback, String tempAccountIdentifier, int timedInvokeTimeoutMs) { - getSetupPIN(chipClusterPtr, callback, tempAccountIdentifier, timedInvokeTimeoutMs); - } + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - public void login(DefaultClusterCallback callback, String tempAccountIdentifier, String setupPIN, int timedInvokeTimeoutMs) { - login(chipClusterPtr, callback, tempAccountIdentifier, setupPIN, timedInvokeTimeoutMs); - } + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - public void logout(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - logout(chipClusterPtr, callback, timedInvokeTimeoutMs); - } + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void getSetupPIN(long chipClusterPtr, GetSetupPINResponseCallback callback, String tempAccountIdentifier, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void login(long chipClusterPtr, DefaultClusterCallback callback, String tempAccountIdentifier, String setupPIN, @Nullable Integer timedInvokeTimeoutMs); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void logout(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - public interface GetSetupPINResponseCallback { - void onSuccess(String setupPIN); + public static class ChannelCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1284L; - void onError(Exception error); + public ChannelCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public interface GeneratedCommandListAttributeCallback { + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void changeChannel(ChangeChannelResponseCallback callback, String match) { + changeChannel(chipClusterPtr, callback, match, null); + } + + public void changeChannel(ChangeChannelResponseCallback callback, String match, int timedInvokeTimeoutMs) { + changeChannel(chipClusterPtr, callback, match, timedInvokeTimeoutMs); + } + + public void changeChannelByNumber(DefaultClusterCallback callback, Integer majorNumber, Integer minorNumber) { + changeChannelByNumber(chipClusterPtr, callback, majorNumber, minorNumber, null); + } + + public void changeChannelByNumber(DefaultClusterCallback callback, Integer majorNumber, Integer minorNumber, int timedInvokeTimeoutMs) { + changeChannelByNumber(chipClusterPtr, callback, majorNumber, minorNumber, timedInvokeTimeoutMs); + } + + public void skipChannel(DefaultClusterCallback callback, Integer count) { + skipChannel(chipClusterPtr, callback, count, null); + } + + public void skipChannel(DefaultClusterCallback callback, Integer count, int timedInvokeTimeoutMs) { + skipChannel(chipClusterPtr, callback, count, timedInvokeTimeoutMs); + } + + private native void changeChannel(long chipClusterPtr, ChangeChannelResponseCallback callback, String match, @Nullable Integer timedInvokeTimeoutMs); + + private native void changeChannelByNumber(long chipClusterPtr, DefaultClusterCallback callback, Integer majorNumber, Integer minorNumber, @Nullable Integer timedInvokeTimeoutMs); + + private native void skipChannel(long chipClusterPtr, DefaultClusterCallback callback, Integer count, @Nullable Integer timedInvokeTimeoutMs); + + public interface ChangeChannelResponseCallback { + void onSuccess(Integer status, Optional data); + void onError(Exception error); + } + + public interface ChannelListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface LineupAttributeCallback { + void onSuccess(@Nullable ChipStructs.ChannelClusterLineupInfoStruct value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface CurrentChannelAttributeCallback { + void onSuccess(@Nullable ChipStructs.ChannelClusterChannelInfoStruct value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public void readChannelListAttribute( + ChannelListAttributeCallback callback) { + readChannelListAttribute(chipClusterPtr, callback); + } + + public void subscribeChannelListAttribute( + ChannelListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeChannelListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLineupAttribute( + LineupAttributeCallback callback) { + readLineupAttribute(chipClusterPtr, callback); + } + + public void subscribeLineupAttribute( + LineupAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLineupAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readCurrentChannelAttribute( + CurrentChannelAttributeCallback callback) { + readCurrentChannelAttribute(chipClusterPtr, callback); + } + + public void subscribeCurrentChannelAttribute( + CurrentChannelAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentChannelAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback) { readGeneratedCommandListAttribute(chipClusterPtr, callback); @@ -28583,2198 +25382,3993 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readChannelListAttribute(long chipClusterPtr, ChannelListAttributeCallback callback); + + private native void subscribeChannelListAttribute(long chipClusterPtr, ChannelListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLineupAttribute(long chipClusterPtr, LineupAttributeCallback callback); + + private native void subscribeLineupAttribute(long chipClusterPtr, LineupAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentChannelAttribute(long chipClusterPtr, CurrentChannelAttributeCallback callback); + + private native void subscribeCurrentChannelAttribute(long chipClusterPtr, CurrentChannelAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } - public static class ElectricalMeasurementCluster extends BaseChipCluster { - public static final long CLUSTER_ID = 2820L; - public ElectricalMeasurementCluster(long devicePtr, int endpointId) { + public static class TargetNavigatorCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1285L; + + public TargetNavigatorCluster(long devicePtr, int endpointId) { super(devicePtr, endpointId); } @Override public native long initWithDevice(long devicePtr, int endpointId); - - public void getProfileInfoCommand(DefaultClusterCallback callback) { - getProfileInfoCommand(chipClusterPtr, callback, null); + public void navigateTarget(NavigateTargetResponseCallback callback, Integer target, Optional data) { + navigateTarget(chipClusterPtr, callback, target, data, null); } - public void getProfileInfoCommand(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { - getProfileInfoCommand(chipClusterPtr, callback, timedInvokeTimeoutMs); + public void navigateTarget(NavigateTargetResponseCallback callback, Integer target, Optional data, int timedInvokeTimeoutMs) { + navigateTarget(chipClusterPtr, callback, target, data, timedInvokeTimeoutMs); } - public void getMeasurementProfileCommand(DefaultClusterCallback callback, Integer attributeId, Long startTime, Integer numberOfIntervals) { - getMeasurementProfileCommand(chipClusterPtr, callback, attributeId, startTime, numberOfIntervals, null); - } + private native void navigateTarget(long chipClusterPtr, NavigateTargetResponseCallback callback, Integer target, Optional data, @Nullable Integer timedInvokeTimeoutMs); - public void getMeasurementProfileCommand(DefaultClusterCallback callback, Integer attributeId, Long startTime, Integer numberOfIntervals, int timedInvokeTimeoutMs) { - getMeasurementProfileCommand(chipClusterPtr, callback, attributeId, startTime, numberOfIntervals, timedInvokeTimeoutMs); + public interface NavigateTargetResponseCallback { + void onSuccess(Integer status, Optional data); + void onError(Exception error); } - private native void getProfileInfoCommand(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - - private native void getMeasurementProfileCommand(long chipClusterPtr, DefaultClusterCallback callback, Integer attributeId, Long startTime, Integer numberOfIntervals, @Nullable Integer timedInvokeTimeoutMs); + public interface TargetListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMeasurementTypeAttribute( - LongAttributeCallback callback) { - readMeasurementTypeAttribute(chipClusterPtr, callback); + public void readTargetListAttribute( + TargetListAttributeCallback callback) { + readTargetListAttribute(chipClusterPtr, callback); } - public void subscribeMeasurementTypeAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasurementTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeTargetListAttribute( + TargetListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTargetListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDcVoltageAttribute( + public void readCurrentTargetAttribute( IntegerAttributeCallback callback) { - readDcVoltageAttribute(chipClusterPtr, callback); + readCurrentTargetAttribute(chipClusterPtr, callback); } - public void subscribeDcVoltageAttribute( + public void subscribeCurrentTargetAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeCurrentTargetAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDcVoltageMinAttribute( - IntegerAttributeCallback callback) { - readDcVoltageMinAttribute(chipClusterPtr, callback); + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); } - public void subscribeDcVoltageMinAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcVoltageMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDcVoltageMaxAttribute( - IntegerAttributeCallback callback) { - readDcVoltageMaxAttribute(chipClusterPtr, callback); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } - public void subscribeDcVoltageMaxAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcVoltageMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDcCurrentAttribute( - IntegerAttributeCallback callback) { - readDcCurrentAttribute(chipClusterPtr, callback); + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); } - public void subscribeDcCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDcCurrentMinAttribute( - IntegerAttributeCallback callback) { - readDcCurrentMinAttribute(chipClusterPtr, callback); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } - public void subscribeDcCurrentMinAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcCurrentMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDcCurrentMaxAttribute( - IntegerAttributeCallback callback) { - readDcCurrentMaxAttribute(chipClusterPtr, callback); + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); } - public void subscribeDcCurrentMaxAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcCurrentMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDcPowerAttribute( + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readDcPowerAttribute(chipClusterPtr, callback); + readClusterRevisionAttribute(chipClusterPtr, callback); } - public void subscribeDcPowerAttribute( + public void subscribeClusterRevisionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcPowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readDcPowerMinAttribute( - IntegerAttributeCallback callback) { - readDcPowerMinAttribute(chipClusterPtr, callback); - } + private native void readTargetListAttribute(long chipClusterPtr, TargetListAttributeCallback callback); - public void subscribeDcPowerMinAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcPowerMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeTargetListAttribute(long chipClusterPtr, TargetListAttributeCallback callback, int minInterval, int maxInterval); - public void readDcPowerMaxAttribute( - IntegerAttributeCallback callback) { - readDcPowerMaxAttribute(chipClusterPtr, callback); - } + private native void readCurrentTargetAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeDcPowerMaxAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcPowerMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeCurrentTargetAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readDcVoltageMultiplierAttribute( - IntegerAttributeCallback callback) { - readDcVoltageMultiplierAttribute(chipClusterPtr, callback); - } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - public void subscribeDcVoltageMultiplierAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcVoltageMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void readDcVoltageDivisorAttribute( - IntegerAttributeCallback callback) { - readDcVoltageDivisorAttribute(chipClusterPtr, callback); - } + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - public void subscribeDcVoltageDivisorAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcVoltageDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void readDcCurrentMultiplierAttribute( - IntegerAttributeCallback callback) { - readDcCurrentMultiplierAttribute(chipClusterPtr, callback); - } + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - public void subscribeDcCurrentMultiplierAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcCurrentMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - public void readDcCurrentDivisorAttribute( - IntegerAttributeCallback callback) { - readDcCurrentDivisorAttribute(chipClusterPtr, callback); - } + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - public void subscribeDcCurrentDivisorAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcCurrentDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - public void readDcPowerMultiplierAttribute( - IntegerAttributeCallback callback) { - readDcPowerMultiplierAttribute(chipClusterPtr, callback); - } + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void subscribeDcPowerMultiplierAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcPowerMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void readDcPowerDivisorAttribute( - IntegerAttributeCallback callback) { - readDcPowerDivisorAttribute(chipClusterPtr, callback); - } + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeDcPowerDivisorAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeDcPowerDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - public void readAcFrequencyAttribute( - IntegerAttributeCallback callback) { - readAcFrequencyAttribute(chipClusterPtr, callback); - } + public static class MediaPlaybackCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1286L; - public void subscribeAcFrequencyAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcFrequencyAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public MediaPlaybackCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public void readAcFrequencyMinAttribute( - IntegerAttributeCallback callback) { - readAcFrequencyMinAttribute(chipClusterPtr, callback); + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void play(PlaybackResponseCallback callback) { + play(chipClusterPtr, callback, null); } - public void subscribeAcFrequencyMinAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcFrequencyMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void play(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { + play(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void readAcFrequencyMaxAttribute( - IntegerAttributeCallback callback) { - readAcFrequencyMaxAttribute(chipClusterPtr, callback); + public void pause(PlaybackResponseCallback callback) { + pause(chipClusterPtr, callback, null); } - public void subscribeAcFrequencyMaxAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcFrequencyMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void pause(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { + pause(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void readNeutralCurrentAttribute( - IntegerAttributeCallback callback) { - readNeutralCurrentAttribute(chipClusterPtr, callback); + public void stop(PlaybackResponseCallback callback) { + stop(chipClusterPtr, callback, null); } - public void subscribeNeutralCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeNeutralCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void stop(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { + stop(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void readTotalActivePowerAttribute( - LongAttributeCallback callback) { - readTotalActivePowerAttribute(chipClusterPtr, callback); + public void startOver(PlaybackResponseCallback callback) { + startOver(chipClusterPtr, callback, null); } - public void subscribeTotalActivePowerAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTotalActivePowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void startOver(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { + startOver(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void readTotalReactivePowerAttribute( - LongAttributeCallback callback) { - readTotalReactivePowerAttribute(chipClusterPtr, callback); + public void previous(PlaybackResponseCallback callback) { + previous(chipClusterPtr, callback, null); } - public void subscribeTotalReactivePowerAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTotalReactivePowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void previous(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { + previous(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void readTotalApparentPowerAttribute( - LongAttributeCallback callback) { - readTotalApparentPowerAttribute(chipClusterPtr, callback); + public void next(PlaybackResponseCallback callback) { + next(chipClusterPtr, callback, null); } - public void subscribeTotalApparentPowerAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeTotalApparentPowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void next(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { + next(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void readMeasured1stHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasured1stHarmonicCurrentAttribute(chipClusterPtr, callback); + public void rewind(PlaybackResponseCallback callback) { + rewind(chipClusterPtr, callback, null); } - public void subscribeMeasured1stHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasured1stHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void rewind(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { + rewind(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void readMeasured3rdHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasured3rdHarmonicCurrentAttribute(chipClusterPtr, callback); + public void fastForward(PlaybackResponseCallback callback) { + fastForward(chipClusterPtr, callback, null); } - public void subscribeMeasured3rdHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasured3rdHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void fastForward(PlaybackResponseCallback callback, int timedInvokeTimeoutMs) { + fastForward(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void readMeasured5thHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasured5thHarmonicCurrentAttribute(chipClusterPtr, callback); + public void skipForward(PlaybackResponseCallback callback, Long deltaPositionMilliseconds) { + skipForward(chipClusterPtr, callback, deltaPositionMilliseconds, null); } - public void subscribeMeasured5thHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasured5thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void skipForward(PlaybackResponseCallback callback, Long deltaPositionMilliseconds, int timedInvokeTimeoutMs) { + skipForward(chipClusterPtr, callback, deltaPositionMilliseconds, timedInvokeTimeoutMs); } - public void readMeasured7thHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasured7thHarmonicCurrentAttribute(chipClusterPtr, callback); + public void skipBackward(PlaybackResponseCallback callback, Long deltaPositionMilliseconds) { + skipBackward(chipClusterPtr, callback, deltaPositionMilliseconds, null); } - public void subscribeMeasured7thHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasured7thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void skipBackward(PlaybackResponseCallback callback, Long deltaPositionMilliseconds, int timedInvokeTimeoutMs) { + skipBackward(chipClusterPtr, callback, deltaPositionMilliseconds, timedInvokeTimeoutMs); } - public void readMeasured9thHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasured9thHarmonicCurrentAttribute(chipClusterPtr, callback); + public void seek(PlaybackResponseCallback callback, Long position) { + seek(chipClusterPtr, callback, position, null); } - public void subscribeMeasured9thHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasured9thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void seek(PlaybackResponseCallback callback, Long position, int timedInvokeTimeoutMs) { + seek(chipClusterPtr, callback, position, timedInvokeTimeoutMs); } - public void readMeasured11thHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasured11thHarmonicCurrentAttribute(chipClusterPtr, callback); + private native void play(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void pause(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void stop(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void startOver(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void previous(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void next(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void rewind(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void fastForward(long chipClusterPtr, PlaybackResponseCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void skipForward(long chipClusterPtr, PlaybackResponseCallback callback, Long deltaPositionMilliseconds, @Nullable Integer timedInvokeTimeoutMs); + + private native void skipBackward(long chipClusterPtr, PlaybackResponseCallback callback, Long deltaPositionMilliseconds, @Nullable Integer timedInvokeTimeoutMs); + + private native void seek(long chipClusterPtr, PlaybackResponseCallback callback, Long position, @Nullable Integer timedInvokeTimeoutMs); + + public interface PlaybackResponseCallback { + void onSuccess(Integer status, Optional data); + void onError(Exception error); } - public void subscribeMeasured11thHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasured11thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface StartTimeAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMeasuredPhase1stHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasuredPhase1stHarmonicCurrentAttribute(chipClusterPtr, callback); + public interface DurationAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeMeasuredPhase1stHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredPhase1stHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface SampledPositionAttributeCallback { + void onSuccess(@Nullable ChipStructs.MediaPlaybackClusterPlaybackPositionStruct value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMeasuredPhase3rdHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasuredPhase3rdHarmonicCurrentAttribute(chipClusterPtr, callback); + public interface SeekRangeEndAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeMeasuredPhase3rdHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredPhase3rdHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface SeekRangeStartAttributeCallback { + void onSuccess(@Nullable Long value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMeasuredPhase5thHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasuredPhase5thHarmonicCurrentAttribute(chipClusterPtr, callback); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeMeasuredPhase5thHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredPhase5thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMeasuredPhase7thHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasuredPhase7thHarmonicCurrentAttribute(chipClusterPtr, callback); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeMeasuredPhase7thHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredPhase7thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readMeasuredPhase9thHarmonicCurrentAttribute( + public void readCurrentStateAttribute( IntegerAttributeCallback callback) { - readMeasuredPhase9thHarmonicCurrentAttribute(chipClusterPtr, callback); + readCurrentStateAttribute(chipClusterPtr, callback); } - public void subscribeMeasuredPhase9thHarmonicCurrentAttribute( + public void subscribeCurrentStateAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredPhase9thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeCurrentStateAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readMeasuredPhase11thHarmonicCurrentAttribute( - IntegerAttributeCallback callback) { - readMeasuredPhase11thHarmonicCurrentAttribute(chipClusterPtr, callback); + public void readStartTimeAttribute( + StartTimeAttributeCallback callback) { + readStartTimeAttribute(chipClusterPtr, callback); } - public void subscribeMeasuredPhase11thHarmonicCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeMeasuredPhase11thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeStartTimeAttribute( + StartTimeAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStartTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAcFrequencyMultiplierAttribute( - IntegerAttributeCallback callback) { - readAcFrequencyMultiplierAttribute(chipClusterPtr, callback); + public void readDurationAttribute( + DurationAttributeCallback callback) { + readDurationAttribute(chipClusterPtr, callback); } - public void subscribeAcFrequencyMultiplierAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcFrequencyMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeDurationAttribute( + DurationAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDurationAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAcFrequencyDivisorAttribute( - IntegerAttributeCallback callback) { - readAcFrequencyDivisorAttribute(chipClusterPtr, callback); + public void readSampledPositionAttribute( + SampledPositionAttributeCallback callback) { + readSampledPositionAttribute(chipClusterPtr, callback); } - public void subscribeAcFrequencyDivisorAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcFrequencyDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSampledPositionAttribute( + SampledPositionAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSampledPositionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPowerMultiplierAttribute( - LongAttributeCallback callback) { - readPowerMultiplierAttribute(chipClusterPtr, callback); + public void readPlaybackSpeedAttribute( + FloatAttributeCallback callback) { + readPlaybackSpeedAttribute(chipClusterPtr, callback); } - public void subscribePowerMultiplierAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePowerMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribePlaybackSpeedAttribute( + FloatAttributeCallback callback, int minInterval, int maxInterval) { + subscribePlaybackSpeedAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPowerDivisorAttribute( - LongAttributeCallback callback) { - readPowerDivisorAttribute(chipClusterPtr, callback); + public void readSeekRangeEndAttribute( + SeekRangeEndAttributeCallback callback) { + readSeekRangeEndAttribute(chipClusterPtr, callback); } - public void subscribePowerDivisorAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribePowerDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSeekRangeEndAttribute( + SeekRangeEndAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSeekRangeEndAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readHarmonicCurrentMultiplierAttribute( - IntegerAttributeCallback callback) { - readHarmonicCurrentMultiplierAttribute(chipClusterPtr, callback); + public void readSeekRangeStartAttribute( + SeekRangeStartAttributeCallback callback) { + readSeekRangeStartAttribute(chipClusterPtr, callback); } - public void subscribeHarmonicCurrentMultiplierAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeHarmonicCurrentMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSeekRangeStartAttribute( + SeekRangeStartAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSeekRangeStartAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readPhaseHarmonicCurrentMultiplierAttribute( - IntegerAttributeCallback callback) { - readPhaseHarmonicCurrentMultiplierAttribute(chipClusterPtr, callback); + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); } - public void subscribePhaseHarmonicCurrentMultiplierAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePhaseHarmonicCurrentMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readInstantaneousVoltageAttribute( - IntegerAttributeCallback callback) { - readInstantaneousVoltageAttribute(chipClusterPtr, callback); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } - public void subscribeInstantaneousVoltageAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInstantaneousVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readInstantaneousLineCurrentAttribute( - IntegerAttributeCallback callback) { - readInstantaneousLineCurrentAttribute(chipClusterPtr, callback); + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); } - public void subscribeInstantaneousLineCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInstantaneousLineCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readInstantaneousActiveCurrentAttribute( - IntegerAttributeCallback callback) { - readInstantaneousActiveCurrentAttribute(chipClusterPtr, callback); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } - public void subscribeInstantaneousActiveCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInstantaneousActiveCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readInstantaneousReactiveCurrentAttribute( - IntegerAttributeCallback callback) { - readInstantaneousReactiveCurrentAttribute(chipClusterPtr, callback); + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); } - public void subscribeInstantaneousReactiveCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInstantaneousReactiveCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readInstantaneousPowerAttribute( + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readInstantaneousPowerAttribute(chipClusterPtr, callback); + readClusterRevisionAttribute(chipClusterPtr, callback); } - public void subscribeInstantaneousPowerAttribute( + public void subscribeClusterRevisionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeInstantaneousPowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRmsVoltageAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageAttribute(chipClusterPtr, callback); - } + private native void readCurrentStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeRmsVoltageAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeCurrentStateAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void readRmsVoltageMinAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageMinAttribute(chipClusterPtr, callback); - } + private native void readStartTimeAttribute(long chipClusterPtr, StartTimeAttributeCallback callback); - public void subscribeRmsVoltageMinAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeStartTimeAttribute(long chipClusterPtr, StartTimeAttributeCallback callback, int minInterval, int maxInterval); - public void readRmsVoltageMaxAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageMaxAttribute(chipClusterPtr, callback); - } + private native void readDurationAttribute(long chipClusterPtr, DurationAttributeCallback callback); - public void subscribeRmsVoltageMaxAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeDurationAttribute(long chipClusterPtr, DurationAttributeCallback callback, int minInterval, int maxInterval); - public void readRmsCurrentAttribute( - IntegerAttributeCallback callback) { - readRmsCurrentAttribute(chipClusterPtr, callback); - } + private native void readSampledPositionAttribute(long chipClusterPtr, SampledPositionAttributeCallback callback); - public void subscribeRmsCurrentAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeSampledPositionAttribute(long chipClusterPtr, SampledPositionAttributeCallback callback, int minInterval, int maxInterval); - public void readRmsCurrentMinAttribute( - IntegerAttributeCallback callback) { - readRmsCurrentMinAttribute(chipClusterPtr, callback); - } + private native void readPlaybackSpeedAttribute(long chipClusterPtr, FloatAttributeCallback callback); - public void subscribeRmsCurrentMinAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsCurrentMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribePlaybackSpeedAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); - public void readRmsCurrentMaxAttribute( - IntegerAttributeCallback callback) { - readRmsCurrentMaxAttribute(chipClusterPtr, callback); - } + private native void readSeekRangeEndAttribute(long chipClusterPtr, SeekRangeEndAttributeCallback callback); - public void subscribeRmsCurrentMaxAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsCurrentMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeSeekRangeEndAttribute(long chipClusterPtr, SeekRangeEndAttributeCallback callback, int minInterval, int maxInterval); - public void readActivePowerAttribute( - IntegerAttributeCallback callback) { - readActivePowerAttribute(chipClusterPtr, callback); - } + private native void readSeekRangeStartAttribute(long chipClusterPtr, SeekRangeStartAttributeCallback callback); - public void subscribeActivePowerAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActivePowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeSeekRangeStartAttribute(long chipClusterPtr, SeekRangeStartAttributeCallback callback, int minInterval, int maxInterval); - public void readActivePowerMinAttribute( - IntegerAttributeCallback callback) { - readActivePowerMinAttribute(chipClusterPtr, callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class MediaInputCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1287L; + + public MediaInputCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public void subscribeActivePowerMinAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActivePowerMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void selectInput(DefaultClusterCallback callback, Integer index) { + selectInput(chipClusterPtr, callback, index, null); } - public void readActivePowerMaxAttribute( - IntegerAttributeCallback callback) { - readActivePowerMaxAttribute(chipClusterPtr, callback); + public void selectInput(DefaultClusterCallback callback, Integer index, int timedInvokeTimeoutMs) { + selectInput(chipClusterPtr, callback, index, timedInvokeTimeoutMs); } - public void subscribeActivePowerMaxAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActivePowerMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void showInputStatus(DefaultClusterCallback callback) { + showInputStatus(chipClusterPtr, callback, null); } - public void readReactivePowerAttribute( - IntegerAttributeCallback callback) { - readReactivePowerAttribute(chipClusterPtr, callback); + public void showInputStatus(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + showInputStatus(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void subscribeReactivePowerAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeReactivePowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void hideInputStatus(DefaultClusterCallback callback) { + hideInputStatus(chipClusterPtr, callback, null); } - public void readApparentPowerAttribute( - IntegerAttributeCallback callback) { - readApparentPowerAttribute(chipClusterPtr, callback); + public void hideInputStatus(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + hideInputStatus(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void subscribeApparentPowerAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeApparentPowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void renameInput(DefaultClusterCallback callback, Integer index, String name) { + renameInput(chipClusterPtr, callback, index, name, null); } - public void readPowerFactorAttribute( - IntegerAttributeCallback callback) { - readPowerFactorAttribute(chipClusterPtr, callback); + public void renameInput(DefaultClusterCallback callback, Integer index, String name, int timedInvokeTimeoutMs) { + renameInput(chipClusterPtr, callback, index, name, timedInvokeTimeoutMs); } - public void subscribePowerFactorAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePowerFactorAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void selectInput(long chipClusterPtr, DefaultClusterCallback callback, Integer index, @Nullable Integer timedInvokeTimeoutMs); - public void readAverageRmsVoltageMeasurementPeriodAttribute( - IntegerAttributeCallback callback) { - readAverageRmsVoltageMeasurementPeriodAttribute(chipClusterPtr, callback); + private native void showInputStatus(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void hideInputStatus(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void renameInput(long chipClusterPtr, DefaultClusterCallback callback, Integer index, String name, @Nullable Integer timedInvokeTimeoutMs); + + public interface InputListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void writeAverageRmsVoltageMeasurementPeriodAttribute(DefaultClusterCallback callback, Integer value) { - writeAverageRmsVoltageMeasurementPeriodAttribute(chipClusterPtr, callback, value, null); + + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } - public void writeAverageRmsVoltageMeasurementPeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeAverageRmsVoltageMeasurementPeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + public void readInputListAttribute( + InputListAttributeCallback callback) { + readInputListAttribute(chipClusterPtr, callback); + } - public void subscribeAverageRmsVoltageMeasurementPeriodAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageRmsVoltageMeasurementPeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeInputListAttribute( + InputListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInputListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAverageRmsUnderVoltageCounterAttribute( + public void readCurrentInputAttribute( IntegerAttributeCallback callback) { - readAverageRmsUnderVoltageCounterAttribute(chipClusterPtr, callback); - } - public void writeAverageRmsUnderVoltageCounterAttribute(DefaultClusterCallback callback, Integer value) { - writeAverageRmsUnderVoltageCounterAttribute(chipClusterPtr, callback, value, null); + readCurrentInputAttribute(chipClusterPtr, callback); } - - public void writeAverageRmsUnderVoltageCounterAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeAverageRmsUnderVoltageCounterAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeCurrentInputAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentInputAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); + } + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void subscribeAverageRmsUnderVoltageCounterAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageRmsUnderVoltageCounterAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } - public void readRmsExtremeOverVoltagePeriodAttribute( - IntegerAttributeCallback callback) { - readRmsExtremeOverVoltagePeriodAttribute(chipClusterPtr, callback); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void writeRmsExtremeOverVoltagePeriodAttribute(DefaultClusterCallback callback, Integer value) { - writeRmsExtremeOverVoltagePeriodAttribute(chipClusterPtr, callback, value, null); + + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); } + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } - public void writeRmsExtremeOverVoltagePeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeRmsExtremeOverVoltagePeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } - public void subscribeRmsExtremeOverVoltagePeriodAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsExtremeOverVoltagePeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRmsExtremeUnderVoltagePeriodAttribute( + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readRmsExtremeUnderVoltagePeriodAttribute(chipClusterPtr, callback); + readClusterRevisionAttribute(chipClusterPtr, callback); } - public void writeRmsExtremeUnderVoltagePeriodAttribute(DefaultClusterCallback callback, Integer value) { - writeRmsExtremeUnderVoltagePeriodAttribute(chipClusterPtr, callback, value, null); + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readInputListAttribute(long chipClusterPtr, InputListAttributeCallback callback); - public void writeRmsExtremeUnderVoltagePeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeRmsExtremeUnderVoltagePeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeInputListAttribute(long chipClusterPtr, InputListAttributeCallback callback, int minInterval, int maxInterval); + private native void readCurrentInputAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribeCurrentInputAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsExtremeUnderVoltagePeriodAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsExtremeUnderVoltagePeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - public void readRmsVoltageSagPeriodAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageSagPeriodAttribute(chipClusterPtr, callback); - } - public void writeRmsVoltageSagPeriodAttribute(DefaultClusterCallback callback, Integer value) { - writeRmsVoltageSagPeriodAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - public void writeRmsVoltageSagPeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeRmsVoltageSagPeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsVoltageSagPeriodAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageSagPeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - public void readRmsVoltageSwellPeriodAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageSwellPeriodAttribute(chipClusterPtr, callback); - } - public void writeRmsVoltageSwellPeriodAttribute(DefaultClusterCallback callback, Integer value) { - writeRmsVoltageSwellPeriodAttribute(chipClusterPtr, callback, value, null); - } + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void writeRmsVoltageSwellPeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeRmsVoltageSwellPeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - public void subscribeRmsVoltageSwellPeriodAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageSwellPeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + public static class LowPowerCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1288L; - public void readAcVoltageMultiplierAttribute( - IntegerAttributeCallback callback) { - readAcVoltageMultiplierAttribute(chipClusterPtr, callback); + public LowPowerCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public void subscribeAcVoltageMultiplierAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcVoltageMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + @Override + public native long initWithDevice(long devicePtr, int endpointId); - public void readAcVoltageDivisorAttribute( - IntegerAttributeCallback callback) { - readAcVoltageDivisorAttribute(chipClusterPtr, callback); + public void sleep(DefaultClusterCallback callback) { + sleep(chipClusterPtr, callback, null); } - public void subscribeAcVoltageDivisorAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcVoltageDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void sleep(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + sleep(chipClusterPtr, callback, timedInvokeTimeoutMs); } - public void readAcCurrentMultiplierAttribute( - IntegerAttributeCallback callback) { - readAcCurrentMultiplierAttribute(chipClusterPtr, callback); - } + private native void sleep(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); - public void subscribeAcCurrentMultiplierAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcCurrentMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readAcCurrentDivisorAttribute( - IntegerAttributeCallback callback) { - readAcCurrentDivisorAttribute(chipClusterPtr, callback); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeAcCurrentDivisorAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcCurrentDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readAcPowerMultiplierAttribute( - IntegerAttributeCallback callback) { - readAcPowerMultiplierAttribute(chipClusterPtr, callback); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeAcPowerMultiplierAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcPowerMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); } - public void readAcPowerDivisorAttribute( - IntegerAttributeCallback callback) { - readAcPowerDivisorAttribute(chipClusterPtr, callback); + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void subscribeAcPowerDivisorAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcPowerDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } - public void readOverloadAlarmsMaskAttribute( - IntegerAttributeCallback callback) { - readOverloadAlarmsMaskAttribute(chipClusterPtr, callback); - } - public void writeOverloadAlarmsMaskAttribute(DefaultClusterCallback callback, Integer value) { - writeOverloadAlarmsMaskAttribute(chipClusterPtr, callback, value, null); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); + } - public void writeOverloadAlarmsMaskAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeOverloadAlarmsMaskAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); + } - - public void subscribeOverloadAlarmsMaskAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeOverloadAlarmsMaskAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readVoltageOverloadAttribute( - IntegerAttributeCallback callback) { - readVoltageOverloadAttribute(chipClusterPtr, callback); + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); } - public void subscribeVoltageOverloadAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeVoltageOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readCurrentOverloadAttribute( + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readCurrentOverloadAttribute(chipClusterPtr, callback); + readClusterRevisionAttribute(chipClusterPtr, callback); } - public void subscribeCurrentOverloadAttribute( + public void subscribeClusterRevisionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeCurrentOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAcOverloadAlarmsMaskAttribute( - IntegerAttributeCallback callback) { - readAcOverloadAlarmsMaskAttribute(chipClusterPtr, callback); - } - public void writeAcOverloadAlarmsMaskAttribute(DefaultClusterCallback callback, Integer value) { - writeAcOverloadAlarmsMaskAttribute(chipClusterPtr, callback, value, null); - } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void writeAcOverloadAlarmsMaskAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { - writeAcOverloadAlarmsMaskAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - public void subscribeAcOverloadAlarmsMaskAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcOverloadAlarmsMaskAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - public void readAcVoltageOverloadAttribute( - IntegerAttributeCallback callback) { - readAcVoltageOverloadAttribute(chipClusterPtr, callback); - } + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - public void subscribeAcVoltageOverloadAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcVoltageOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - public void readAcCurrentOverloadAttribute( - IntegerAttributeCallback callback) { - readAcCurrentOverloadAttribute(chipClusterPtr, callback); - } + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void subscribeAcCurrentOverloadAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcCurrentOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void readAcActivePowerOverloadAttribute( - IntegerAttributeCallback callback) { - readAcActivePowerOverloadAttribute(chipClusterPtr, callback); - } + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeAcActivePowerOverloadAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcActivePowerOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - public void readAcReactivePowerOverloadAttribute( - IntegerAttributeCallback callback) { - readAcReactivePowerOverloadAttribute(chipClusterPtr, callback); - } + public static class KeypadInputCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1289L; - public void subscribeAcReactivePowerOverloadAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcReactivePowerOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public KeypadInputCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public void readAverageRmsOverVoltageAttribute( - IntegerAttributeCallback callback) { - readAverageRmsOverVoltageAttribute(chipClusterPtr, callback); - } + @Override + public native long initWithDevice(long devicePtr, int endpointId); - public void subscribeAverageRmsOverVoltageAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageRmsOverVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void sendKey(SendKeyResponseCallback callback, Integer keyCode) { + sendKey(chipClusterPtr, callback, keyCode, null); } - public void readAverageRmsUnderVoltageAttribute( - IntegerAttributeCallback callback) { - readAverageRmsUnderVoltageAttribute(chipClusterPtr, callback); + public void sendKey(SendKeyResponseCallback callback, Integer keyCode, int timedInvokeTimeoutMs) { + sendKey(chipClusterPtr, callback, keyCode, timedInvokeTimeoutMs); } - public void subscribeAverageRmsUnderVoltageAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageRmsUnderVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + private native void sendKey(long chipClusterPtr, SendKeyResponseCallback callback, Integer keyCode, @Nullable Integer timedInvokeTimeoutMs); + + public interface SendKeyResponseCallback { + void onSuccess(Integer status); + void onError(Exception error); } - public void readRmsExtremeOverVoltageAttribute( - IntegerAttributeCallback callback) { - readRmsExtremeOverVoltageAttribute(chipClusterPtr, callback); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeRmsExtremeOverVoltageAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsExtremeOverVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readRmsExtremeUnderVoltageAttribute( - IntegerAttributeCallback callback) { - readRmsExtremeUnderVoltageAttribute(chipClusterPtr, callback); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeRmsExtremeUnderVoltageAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsExtremeUnderVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readRmsVoltageSagAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageSagAttribute(chipClusterPtr, callback); + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); } - public void subscribeRmsVoltageSagAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageSagAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRmsVoltageSwellAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageSwellAttribute(chipClusterPtr, callback); + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); } - public void subscribeRmsVoltageSwellAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageSwellAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readLineCurrentPhaseBAttribute( - IntegerAttributeCallback callback) { - readLineCurrentPhaseBAttribute(chipClusterPtr, callback); + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); } - public void subscribeLineCurrentPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLineCurrentPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readActiveCurrentPhaseBAttribute( - IntegerAttributeCallback callback) { - readActiveCurrentPhaseBAttribute(chipClusterPtr, callback); + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); } - public void subscribeActiveCurrentPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActiveCurrentPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readReactiveCurrentPhaseBAttribute( - IntegerAttributeCallback callback) { - readReactiveCurrentPhaseBAttribute(chipClusterPtr, callback); + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); } - public void subscribeReactiveCurrentPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeReactiveCurrentPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRmsVoltagePhaseBAttribute( + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readRmsVoltagePhaseBAttribute(chipClusterPtr, callback); + readClusterRevisionAttribute(chipClusterPtr, callback); } - public void subscribeRmsVoltagePhaseBAttribute( + public void subscribeClusterRevisionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltagePhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRmsVoltageMinPhaseBAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageMinPhaseBAttribute(chipClusterPtr, callback); - } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - public void subscribeRmsVoltageMinPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageMinPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void readRmsVoltageMaxPhaseBAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageMaxPhaseBAttribute(chipClusterPtr, callback); - } + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - public void subscribeRmsVoltageMaxPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageMaxPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - public void readRmsCurrentPhaseBAttribute( - IntegerAttributeCallback callback) { - readRmsCurrentPhaseBAttribute(chipClusterPtr, callback); - } + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - public void subscribeRmsCurrentPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsCurrentPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - public void readRmsCurrentMinPhaseBAttribute( - IntegerAttributeCallback callback) { - readRmsCurrentMinPhaseBAttribute(chipClusterPtr, callback); - } + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - public void subscribeRmsCurrentMinPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsCurrentMinPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - public void readRmsCurrentMaxPhaseBAttribute( - IntegerAttributeCallback callback) { - readRmsCurrentMaxPhaseBAttribute(chipClusterPtr, callback); - } + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - public void subscribeRmsCurrentMaxPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsCurrentMaxPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - public void readActivePowerPhaseBAttribute( - IntegerAttributeCallback callback) { - readActivePowerPhaseBAttribute(chipClusterPtr, callback); - } + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void subscribeActivePowerPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActivePowerPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } - public void readActivePowerMinPhaseBAttribute( - IntegerAttributeCallback callback) { - readActivePowerMinPhaseBAttribute(chipClusterPtr, callback); - } + public static class ContentLauncherCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1290L; - public void subscribeActivePowerMinPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActivePowerMinPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public ContentLauncherCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); } - public void readActivePowerMaxPhaseBAttribute( - IntegerAttributeCallback callback) { - readActivePowerMaxPhaseBAttribute(chipClusterPtr, callback); + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void launchContent(LauncherResponseCallback callback, ChipStructs.ContentLauncherClusterContentSearchStruct search, Boolean autoPlay, Optional data) { + launchContent(chipClusterPtr, callback, search, autoPlay, data, null); } - public void subscribeActivePowerMaxPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActivePowerMaxPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void launchContent(LauncherResponseCallback callback, ChipStructs.ContentLauncherClusterContentSearchStruct search, Boolean autoPlay, Optional data, int timedInvokeTimeoutMs) { + launchContent(chipClusterPtr, callback, search, autoPlay, data, timedInvokeTimeoutMs); } - public void readReactivePowerPhaseBAttribute( - IntegerAttributeCallback callback) { - readReactivePowerPhaseBAttribute(chipClusterPtr, callback); + public void launchURL(LauncherResponseCallback callback, String contentURL, Optional displayString, Optional brandingInformation) { + launchURL(chipClusterPtr, callback, contentURL, displayString, brandingInformation, null); } - public void subscribeReactivePowerPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeReactivePowerPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void launchURL(LauncherResponseCallback callback, String contentURL, Optional displayString, Optional brandingInformation, int timedInvokeTimeoutMs) { + launchURL(chipClusterPtr, callback, contentURL, displayString, brandingInformation, timedInvokeTimeoutMs); } - public void readApparentPowerPhaseBAttribute( - IntegerAttributeCallback callback) { - readApparentPowerPhaseBAttribute(chipClusterPtr, callback); + private native void launchContent(long chipClusterPtr, LauncherResponseCallback callback, ChipStructs.ContentLauncherClusterContentSearchStruct search, Boolean autoPlay, Optional data, @Nullable Integer timedInvokeTimeoutMs); + + private native void launchURL(long chipClusterPtr, LauncherResponseCallback callback, String contentURL, Optional displayString, Optional brandingInformation, @Nullable Integer timedInvokeTimeoutMs); + + public interface LauncherResponseCallback { + void onSuccess(Integer status, Optional data); + void onError(Exception error); } - public void subscribeApparentPowerPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeApparentPowerPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AcceptHeaderAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readPowerFactorPhaseBAttribute( - IntegerAttributeCallback callback) { - readPowerFactorPhaseBAttribute(chipClusterPtr, callback); + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribePowerFactorPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePowerFactorPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readAverageRmsVoltageMeasurementPeriodPhaseBAttribute( - IntegerAttributeCallback callback) { - readAverageRmsVoltageMeasurementPeriodPhaseBAttribute(chipClusterPtr, callback); + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void subscribeAverageRmsVoltageMeasurementPeriodPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageRmsVoltageMeasurementPeriodPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} } - public void readAverageRmsOverVoltageCounterPhaseBAttribute( - IntegerAttributeCallback callback) { - readAverageRmsOverVoltageCounterPhaseBAttribute(chipClusterPtr, callback); + public void readAcceptHeaderAttribute( + AcceptHeaderAttributeCallback callback) { + readAcceptHeaderAttribute(chipClusterPtr, callback); } - public void subscribeAverageRmsOverVoltageCounterPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageRmsOverVoltageCounterPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeAcceptHeaderAttribute( + AcceptHeaderAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptHeaderAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readAverageRmsUnderVoltageCounterPhaseBAttribute( - IntegerAttributeCallback callback) { - readAverageRmsUnderVoltageCounterPhaseBAttribute(chipClusterPtr, callback); + public void readSupportedStreamingProtocolsAttribute( + LongAttributeCallback callback) { + readSupportedStreamingProtocolsAttribute(chipClusterPtr, callback); } - public void subscribeAverageRmsUnderVoltageCounterPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageRmsUnderVoltageCounterPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void writeSupportedStreamingProtocolsAttribute(DefaultClusterCallback callback, Long value) { + writeSupportedStreamingProtocolsAttribute(chipClusterPtr, callback, value, null); } - public void readRmsExtremeOverVoltagePeriodPhaseBAttribute( - IntegerAttributeCallback callback) { - readRmsExtremeOverVoltagePeriodPhaseBAttribute(chipClusterPtr, callback); + public void writeSupportedStreamingProtocolsAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { + writeSupportedStreamingProtocolsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - public void subscribeRmsExtremeOverVoltagePeriodPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsExtremeOverVoltagePeriodPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeSupportedStreamingProtocolsAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeSupportedStreamingProtocolsAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRmsExtremeUnderVoltagePeriodPhaseBAttribute( - IntegerAttributeCallback callback) { - readRmsExtremeUnderVoltagePeriodPhaseBAttribute(chipClusterPtr, callback); + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); } - public void subscribeRmsExtremeUnderVoltagePeriodPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsExtremeUnderVoltagePeriodPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRmsVoltageSagPeriodPhaseBAttribute( + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( IntegerAttributeCallback callback) { - readRmsVoltageSagPeriodPhaseBAttribute(chipClusterPtr, callback); + readClusterRevisionAttribute(chipClusterPtr, callback); } - public void subscribeRmsVoltageSagPeriodPhaseBAttribute( + public void subscribeClusterRevisionAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageSagPeriodPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + private native void readAcceptHeaderAttribute(long chipClusterPtr, AcceptHeaderAttributeCallback callback); + + private native void subscribeAcceptHeaderAttribute(long chipClusterPtr, AcceptHeaderAttributeCallback callback, int minInterval, int maxInterval); + + private native void readSupportedStreamingProtocolsAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void writeSupportedStreamingProtocolsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeSupportedStreamingProtocolsAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class AudioOutputCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1291L; + + public AudioOutputCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void selectOutput(DefaultClusterCallback callback, Integer index) { + selectOutput(chipClusterPtr, callback, index, null); + } + + public void selectOutput(DefaultClusterCallback callback, Integer index, int timedInvokeTimeoutMs) { + selectOutput(chipClusterPtr, callback, index, timedInvokeTimeoutMs); + } + + public void renameOutput(DefaultClusterCallback callback, Integer index, String name) { + renameOutput(chipClusterPtr, callback, index, name, null); + } + + public void renameOutput(DefaultClusterCallback callback, Integer index, String name, int timedInvokeTimeoutMs) { + renameOutput(chipClusterPtr, callback, index, name, timedInvokeTimeoutMs); + } + + private native void selectOutput(long chipClusterPtr, DefaultClusterCallback callback, Integer index, @Nullable Integer timedInvokeTimeoutMs); + + private native void renameOutput(long chipClusterPtr, DefaultClusterCallback callback, Integer index, String name, @Nullable Integer timedInvokeTimeoutMs); + + public interface OutputListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public void readOutputListAttribute( + OutputListAttributeCallback callback) { + readOutputListAttribute(chipClusterPtr, callback); + } + + public void subscribeOutputListAttribute( + OutputListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOutputListAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readRmsVoltageSwellPeriodPhaseBAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageSwellPeriodPhaseBAttribute(chipClusterPtr, callback); - } + public void readCurrentOutputAttribute( + IntegerAttributeCallback callback) { + readCurrentOutputAttribute(chipClusterPtr, callback); + } + + public void subscribeCurrentOutputAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentOutputAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + readClusterRevisionAttribute(chipClusterPtr, callback); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + private native void readOutputListAttribute(long chipClusterPtr, OutputListAttributeCallback callback); + + private native void subscribeOutputListAttribute(long chipClusterPtr, OutputListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentOutputAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCurrentOutputAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class ApplicationLauncherCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1292L; + + public ApplicationLauncherCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void launchApp(LauncherResponseCallback callback, Optional application, Optional data) { + launchApp(chipClusterPtr, callback, application, data, null); + } + + public void launchApp(LauncherResponseCallback callback, Optional application, Optional data, int timedInvokeTimeoutMs) { + launchApp(chipClusterPtr, callback, application, data, timedInvokeTimeoutMs); + } + + public void stopApp(LauncherResponseCallback callback, Optional application) { + stopApp(chipClusterPtr, callback, application, null); + } + + public void stopApp(LauncherResponseCallback callback, Optional application, int timedInvokeTimeoutMs) { + stopApp(chipClusterPtr, callback, application, timedInvokeTimeoutMs); + } + + public void hideApp(LauncherResponseCallback callback, Optional application) { + hideApp(chipClusterPtr, callback, application, null); + } + + public void hideApp(LauncherResponseCallback callback, Optional application, int timedInvokeTimeoutMs) { + hideApp(chipClusterPtr, callback, application, timedInvokeTimeoutMs); + } + + private native void launchApp(long chipClusterPtr, LauncherResponseCallback callback, Optional application, Optional data, @Nullable Integer timedInvokeTimeoutMs); + + private native void stopApp(long chipClusterPtr, LauncherResponseCallback callback, Optional application, @Nullable Integer timedInvokeTimeoutMs); + + private native void hideApp(long chipClusterPtr, LauncherResponseCallback callback, Optional application, @Nullable Integer timedInvokeTimeoutMs); + + public interface LauncherResponseCallback { + void onSuccess(Integer status, Optional data); + void onError(Exception error); + } + + public interface CatalogListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface CurrentAppAttributeCallback { + void onSuccess(@Nullable ChipStructs.ApplicationLauncherClusterApplicationEPStruct value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public void readCatalogListAttribute( + CatalogListAttributeCallback callback) { + readCatalogListAttribute(chipClusterPtr, callback); + } + + public void subscribeCatalogListAttribute( + CatalogListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCatalogListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readCurrentAppAttribute( + CurrentAppAttributeCallback callback) { + readCurrentAppAttribute(chipClusterPtr, callback); + } + + public void writeCurrentAppAttribute(DefaultClusterCallback callback, ChipStructs.ApplicationLauncherClusterApplicationEPStruct value) { + writeCurrentAppAttribute(chipClusterPtr, callback, value, null); + } + + public void writeCurrentAppAttribute(DefaultClusterCallback callback, ChipStructs.ApplicationLauncherClusterApplicationEPStruct value, int timedWriteTimeoutMs) { + writeCurrentAppAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeCurrentAppAttribute( + CurrentAppAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentAppAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + readClusterRevisionAttribute(chipClusterPtr, callback); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + private native void readCatalogListAttribute(long chipClusterPtr, CatalogListAttributeCallback callback); + + private native void subscribeCatalogListAttribute(long chipClusterPtr, CatalogListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentAppAttribute(long chipClusterPtr, CurrentAppAttributeCallback callback); + + private native void writeCurrentAppAttribute(long chipClusterPtr, DefaultClusterCallback callback, ChipStructs.ApplicationLauncherClusterApplicationEPStruct value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeCurrentAppAttribute(long chipClusterPtr, CurrentAppAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class ApplicationBasicCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1293L; + + public ApplicationBasicCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public interface ApplicationAttributeCallback { + void onSuccess(ChipStructs.ApplicationBasicClusterApplicationStruct value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AllowedVendorListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public void readVendorNameAttribute( + CharStringAttributeCallback callback) { + readVendorNameAttribute(chipClusterPtr, callback); + } + + public void subscribeVendorNameAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeVendorNameAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readVendorIDAttribute( + IntegerAttributeCallback callback) { + readVendorIDAttribute(chipClusterPtr, callback); + } + + public void subscribeVendorIDAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeVendorIDAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readApplicationNameAttribute( + CharStringAttributeCallback callback) { + readApplicationNameAttribute(chipClusterPtr, callback); + } + + public void subscribeApplicationNameAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeApplicationNameAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readProductIDAttribute( + IntegerAttributeCallback callback) { + readProductIDAttribute(chipClusterPtr, callback); + } + + public void subscribeProductIDAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeProductIDAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readApplicationAttribute( + ApplicationAttributeCallback callback) { + readApplicationAttribute(chipClusterPtr, callback); + } + + public void subscribeApplicationAttribute( + ApplicationAttributeCallback callback, int minInterval, int maxInterval) { + subscribeApplicationAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readStatusAttribute( + IntegerAttributeCallback callback) { + readStatusAttribute(chipClusterPtr, callback); + } + + public void subscribeStatusAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeStatusAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readApplicationVersionAttribute( + CharStringAttributeCallback callback) { + readApplicationVersionAttribute(chipClusterPtr, callback); + } + + public void subscribeApplicationVersionAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeApplicationVersionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAllowedVendorListAttribute( + AllowedVendorListAttributeCallback callback) { + readAllowedVendorListAttribute(chipClusterPtr, callback); + } + + public void subscribeAllowedVendorListAttribute( + AllowedVendorListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAllowedVendorListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + readClusterRevisionAttribute(chipClusterPtr, callback); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + private native void readVendorNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeVendorNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readVendorIDAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeVendorIDAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readApplicationNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeApplicationNameAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readProductIDAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeProductIDAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readApplicationAttribute(long chipClusterPtr, ApplicationAttributeCallback callback); + + private native void subscribeApplicationAttribute(long chipClusterPtr, ApplicationAttributeCallback callback, int minInterval, int maxInterval); + + private native void readStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeStatusAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readApplicationVersionAttribute(long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeApplicationVersionAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAllowedVendorListAttribute(long chipClusterPtr, AllowedVendorListAttributeCallback callback); + + private native void subscribeAllowedVendorListAttribute(long chipClusterPtr, AllowedVendorListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class AccountLoginCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 1294L; + + public AccountLoginCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + + public void getSetupPIN(GetSetupPINResponseCallback callback, String tempAccountIdentifier, int timedInvokeTimeoutMs) { + getSetupPIN(chipClusterPtr, callback, tempAccountIdentifier, timedInvokeTimeoutMs); + } + + + public void login(DefaultClusterCallback callback, String tempAccountIdentifier, String setupPIN, int timedInvokeTimeoutMs) { + login(chipClusterPtr, callback, tempAccountIdentifier, setupPIN, timedInvokeTimeoutMs); + } + + + public void logout(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + logout(chipClusterPtr, callback, timedInvokeTimeoutMs); + } + + private native void getSetupPIN(long chipClusterPtr, GetSetupPINResponseCallback callback, String tempAccountIdentifier, @Nullable Integer timedInvokeTimeoutMs); + + private native void login(long chipClusterPtr, DefaultClusterCallback callback, String tempAccountIdentifier, String setupPIN, @Nullable Integer timedInvokeTimeoutMs); + + private native void logout(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + public interface GetSetupPINResponseCallback { + void onSuccess(String setupPIN); + void onError(Exception error); + } + + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + readClusterRevisionAttribute(chipClusterPtr, callback); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + } + + public static class ElectricalMeasurementCluster extends BaseChipCluster { + public static final long CLUSTER_ID = 2820L; + + public ElectricalMeasurementCluster(long devicePtr, int endpointId) { + super(devicePtr, endpointId); + } + + @Override + public native long initWithDevice(long devicePtr, int endpointId); + + public void getProfileInfoCommand(DefaultClusterCallback callback) { + getProfileInfoCommand(chipClusterPtr, callback, null); + } + + public void getProfileInfoCommand(DefaultClusterCallback callback, int timedInvokeTimeoutMs) { + getProfileInfoCommand(chipClusterPtr, callback, timedInvokeTimeoutMs); + } + + public void getMeasurementProfileCommand(DefaultClusterCallback callback, Integer attributeId, Long startTime, Integer numberOfIntervals) { + getMeasurementProfileCommand(chipClusterPtr, callback, attributeId, startTime, numberOfIntervals, null); + } + + public void getMeasurementProfileCommand(DefaultClusterCallback callback, Integer attributeId, Long startTime, Integer numberOfIntervals, int timedInvokeTimeoutMs) { + getMeasurementProfileCommand(chipClusterPtr, callback, attributeId, startTime, numberOfIntervals, timedInvokeTimeoutMs); + } + + private native void getProfileInfoCommand(long chipClusterPtr, DefaultClusterCallback callback, @Nullable Integer timedInvokeTimeoutMs); + + private native void getMeasurementProfileCommand(long chipClusterPtr, DefaultClusterCallback callback, Integer attributeId, Long startTime, Integer numberOfIntervals, @Nullable Integer timedInvokeTimeoutMs); + + public interface GeneratedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AcceptedCommandListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface EventListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public interface AttributeListAttributeCallback { + void onSuccess(List value); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } + + public void readMeasurementTypeAttribute( + LongAttributeCallback callback) { + readMeasurementTypeAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasurementTypeAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasurementTypeAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcVoltageAttribute( + IntegerAttributeCallback callback) { + readDcVoltageAttribute(chipClusterPtr, callback); + } + + public void subscribeDcVoltageAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcVoltageMinAttribute( + IntegerAttributeCallback callback) { + readDcVoltageMinAttribute(chipClusterPtr, callback); + } + + public void subscribeDcVoltageMinAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcVoltageMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcVoltageMaxAttribute( + IntegerAttributeCallback callback) { + readDcVoltageMaxAttribute(chipClusterPtr, callback); + } + + public void subscribeDcVoltageMaxAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcVoltageMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcCurrentAttribute( + IntegerAttributeCallback callback) { + readDcCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeDcCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcCurrentMinAttribute( + IntegerAttributeCallback callback) { + readDcCurrentMinAttribute(chipClusterPtr, callback); + } + + public void subscribeDcCurrentMinAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcCurrentMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcCurrentMaxAttribute( + IntegerAttributeCallback callback) { + readDcCurrentMaxAttribute(chipClusterPtr, callback); + } + + public void subscribeDcCurrentMaxAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcCurrentMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcPowerAttribute( + IntegerAttributeCallback callback) { + readDcPowerAttribute(chipClusterPtr, callback); + } + + public void subscribeDcPowerAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcPowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcPowerMinAttribute( + IntegerAttributeCallback callback) { + readDcPowerMinAttribute(chipClusterPtr, callback); + } + + public void subscribeDcPowerMinAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcPowerMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcPowerMaxAttribute( + IntegerAttributeCallback callback) { + readDcPowerMaxAttribute(chipClusterPtr, callback); + } + + public void subscribeDcPowerMaxAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcPowerMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcVoltageMultiplierAttribute( + IntegerAttributeCallback callback) { + readDcVoltageMultiplierAttribute(chipClusterPtr, callback); + } + + public void subscribeDcVoltageMultiplierAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcVoltageMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcVoltageDivisorAttribute( + IntegerAttributeCallback callback) { + readDcVoltageDivisorAttribute(chipClusterPtr, callback); + } + + public void subscribeDcVoltageDivisorAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcVoltageDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcCurrentMultiplierAttribute( + IntegerAttributeCallback callback) { + readDcCurrentMultiplierAttribute(chipClusterPtr, callback); + } + + public void subscribeDcCurrentMultiplierAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcCurrentMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcCurrentDivisorAttribute( + IntegerAttributeCallback callback) { + readDcCurrentDivisorAttribute(chipClusterPtr, callback); + } + + public void subscribeDcCurrentDivisorAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcCurrentDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcPowerMultiplierAttribute( + IntegerAttributeCallback callback) { + readDcPowerMultiplierAttribute(chipClusterPtr, callback); + } + + public void subscribeDcPowerMultiplierAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcPowerMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readDcPowerDivisorAttribute( + IntegerAttributeCallback callback) { + readDcPowerDivisorAttribute(chipClusterPtr, callback); + } + + public void subscribeDcPowerDivisorAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeDcPowerDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcFrequencyAttribute( + IntegerAttributeCallback callback) { + readAcFrequencyAttribute(chipClusterPtr, callback); + } + + public void subscribeAcFrequencyAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcFrequencyAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcFrequencyMinAttribute( + IntegerAttributeCallback callback) { + readAcFrequencyMinAttribute(chipClusterPtr, callback); + } + + public void subscribeAcFrequencyMinAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcFrequencyMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcFrequencyMaxAttribute( + IntegerAttributeCallback callback) { + readAcFrequencyMaxAttribute(chipClusterPtr, callback); + } + + public void subscribeAcFrequencyMaxAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcFrequencyMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readNeutralCurrentAttribute( + IntegerAttributeCallback callback) { + readNeutralCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeNeutralCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeNeutralCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readTotalActivePowerAttribute( + LongAttributeCallback callback) { + readTotalActivePowerAttribute(chipClusterPtr, callback); + } + + public void subscribeTotalActivePowerAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTotalActivePowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readTotalReactivePowerAttribute( + LongAttributeCallback callback) { + readTotalReactivePowerAttribute(chipClusterPtr, callback); + } + + public void subscribeTotalReactivePowerAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTotalReactivePowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readTotalApparentPowerAttribute( + LongAttributeCallback callback) { + readTotalApparentPowerAttribute(chipClusterPtr, callback); + } + + public void subscribeTotalApparentPowerAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeTotalApparentPowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasured1stHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasured1stHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasured1stHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasured1stHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasured3rdHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasured3rdHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasured3rdHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasured3rdHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasured5thHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasured5thHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasured5thHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasured5thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasured7thHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasured7thHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasured7thHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasured7thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasured9thHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasured9thHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasured9thHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasured9thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasured11thHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasured11thHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasured11thHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasured11thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasuredPhase1stHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasuredPhase1stHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasuredPhase1stHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredPhase1stHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasuredPhase3rdHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasuredPhase3rdHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasuredPhase3rdHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredPhase3rdHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasuredPhase5thHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasuredPhase5thHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasuredPhase5thHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredPhase5thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasuredPhase7thHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasuredPhase7thHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasuredPhase7thHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredPhase7thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasuredPhase9thHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasuredPhase9thHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasuredPhase9thHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredPhase9thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readMeasuredPhase11thHarmonicCurrentAttribute( + IntegerAttributeCallback callback) { + readMeasuredPhase11thHarmonicCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeMeasuredPhase11thHarmonicCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeMeasuredPhase11thHarmonicCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcFrequencyMultiplierAttribute( + IntegerAttributeCallback callback) { + readAcFrequencyMultiplierAttribute(chipClusterPtr, callback); + } + + public void subscribeAcFrequencyMultiplierAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcFrequencyMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcFrequencyDivisorAttribute( + IntegerAttributeCallback callback) { + readAcFrequencyDivisorAttribute(chipClusterPtr, callback); + } + + public void subscribeAcFrequencyDivisorAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcFrequencyDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPowerMultiplierAttribute( + LongAttributeCallback callback) { + readPowerMultiplierAttribute(chipClusterPtr, callback); + } + + public void subscribePowerMultiplierAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribePowerMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPowerDivisorAttribute( + LongAttributeCallback callback) { + readPowerDivisorAttribute(chipClusterPtr, callback); + } + + public void subscribePowerDivisorAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribePowerDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readHarmonicCurrentMultiplierAttribute( + IntegerAttributeCallback callback) { + readHarmonicCurrentMultiplierAttribute(chipClusterPtr, callback); + } + + public void subscribeHarmonicCurrentMultiplierAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeHarmonicCurrentMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPhaseHarmonicCurrentMultiplierAttribute( + IntegerAttributeCallback callback) { + readPhaseHarmonicCurrentMultiplierAttribute(chipClusterPtr, callback); + } + + public void subscribePhaseHarmonicCurrentMultiplierAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePhaseHarmonicCurrentMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readInstantaneousVoltageAttribute( + IntegerAttributeCallback callback) { + readInstantaneousVoltageAttribute(chipClusterPtr, callback); + } + + public void subscribeInstantaneousVoltageAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInstantaneousVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readInstantaneousLineCurrentAttribute( + IntegerAttributeCallback callback) { + readInstantaneousLineCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeInstantaneousLineCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInstantaneousLineCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readInstantaneousActiveCurrentAttribute( + IntegerAttributeCallback callback) { + readInstantaneousActiveCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeInstantaneousActiveCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInstantaneousActiveCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readInstantaneousReactiveCurrentAttribute( + IntegerAttributeCallback callback) { + readInstantaneousReactiveCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeInstantaneousReactiveCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInstantaneousReactiveCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readInstantaneousPowerAttribute( + IntegerAttributeCallback callback) { + readInstantaneousPowerAttribute(chipClusterPtr, callback); + } + + public void subscribeInstantaneousPowerAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeInstantaneousPowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageMinAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageMinAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageMinAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageMaxAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageMaxAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageMaxAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsCurrentAttribute( + IntegerAttributeCallback callback) { + readRmsCurrentAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsCurrentAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsCurrentAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsCurrentMinAttribute( + IntegerAttributeCallback callback) { + readRmsCurrentMinAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsCurrentMinAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsCurrentMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsCurrentMaxAttribute( + IntegerAttributeCallback callback) { + readRmsCurrentMaxAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsCurrentMaxAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsCurrentMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActivePowerAttribute( + IntegerAttributeCallback callback) { + readActivePowerAttribute(chipClusterPtr, callback); + } + + public void subscribeActivePowerAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActivePowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActivePowerMinAttribute( + IntegerAttributeCallback callback) { + readActivePowerMinAttribute(chipClusterPtr, callback); + } + + public void subscribeActivePowerMinAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActivePowerMinAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActivePowerMaxAttribute( + IntegerAttributeCallback callback) { + readActivePowerMaxAttribute(chipClusterPtr, callback); + } + + public void subscribeActivePowerMaxAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActivePowerMaxAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readReactivePowerAttribute( + IntegerAttributeCallback callback) { + readReactivePowerAttribute(chipClusterPtr, callback); + } + + public void subscribeReactivePowerAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeReactivePowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readApparentPowerAttribute( + IntegerAttributeCallback callback) { + readApparentPowerAttribute(chipClusterPtr, callback); + } + + public void subscribeApparentPowerAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeApparentPowerAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPowerFactorAttribute( + IntegerAttributeCallback callback) { + readPowerFactorAttribute(chipClusterPtr, callback); + } + + public void subscribePowerFactorAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePowerFactorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageRmsVoltageMeasurementPeriodAttribute( + IntegerAttributeCallback callback) { + readAverageRmsVoltageMeasurementPeriodAttribute(chipClusterPtr, callback); + } + + public void writeAverageRmsVoltageMeasurementPeriodAttribute(DefaultClusterCallback callback, Integer value) { + writeAverageRmsVoltageMeasurementPeriodAttribute(chipClusterPtr, callback, value, null); + } + + public void writeAverageRmsVoltageMeasurementPeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeAverageRmsVoltageMeasurementPeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeAverageRmsVoltageMeasurementPeriodAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageRmsVoltageMeasurementPeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageRmsUnderVoltageCounterAttribute( + IntegerAttributeCallback callback) { + readAverageRmsUnderVoltageCounterAttribute(chipClusterPtr, callback); + } + + public void writeAverageRmsUnderVoltageCounterAttribute(DefaultClusterCallback callback, Integer value) { + writeAverageRmsUnderVoltageCounterAttribute(chipClusterPtr, callback, value, null); + } + + public void writeAverageRmsUnderVoltageCounterAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeAverageRmsUnderVoltageCounterAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeAverageRmsUnderVoltageCounterAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageRmsUnderVoltageCounterAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsExtremeOverVoltagePeriodAttribute( + IntegerAttributeCallback callback) { + readRmsExtremeOverVoltagePeriodAttribute(chipClusterPtr, callback); + } + + public void writeRmsExtremeOverVoltagePeriodAttribute(DefaultClusterCallback callback, Integer value) { + writeRmsExtremeOverVoltagePeriodAttribute(chipClusterPtr, callback, value, null); + } + + public void writeRmsExtremeOverVoltagePeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeRmsExtremeOverVoltagePeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeRmsExtremeOverVoltagePeriodAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsExtremeOverVoltagePeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsExtremeUnderVoltagePeriodAttribute( + IntegerAttributeCallback callback) { + readRmsExtremeUnderVoltagePeriodAttribute(chipClusterPtr, callback); + } + + public void writeRmsExtremeUnderVoltagePeriodAttribute(DefaultClusterCallback callback, Integer value) { + writeRmsExtremeUnderVoltagePeriodAttribute(chipClusterPtr, callback, value, null); + } + + public void writeRmsExtremeUnderVoltagePeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeRmsExtremeUnderVoltagePeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeRmsExtremeUnderVoltagePeriodAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsExtremeUnderVoltagePeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageSagPeriodAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageSagPeriodAttribute(chipClusterPtr, callback); + } + + public void writeRmsVoltageSagPeriodAttribute(DefaultClusterCallback callback, Integer value) { + writeRmsVoltageSagPeriodAttribute(chipClusterPtr, callback, value, null); + } + + public void writeRmsVoltageSagPeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeRmsVoltageSagPeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeRmsVoltageSagPeriodAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageSagPeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageSwellPeriodAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageSwellPeriodAttribute(chipClusterPtr, callback); + } + + public void writeRmsVoltageSwellPeriodAttribute(DefaultClusterCallback callback, Integer value) { + writeRmsVoltageSwellPeriodAttribute(chipClusterPtr, callback, value, null); + } + + public void writeRmsVoltageSwellPeriodAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeRmsVoltageSwellPeriodAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeRmsVoltageSwellPeriodAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageSwellPeriodAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcVoltageMultiplierAttribute( + IntegerAttributeCallback callback) { + readAcVoltageMultiplierAttribute(chipClusterPtr, callback); + } + + public void subscribeAcVoltageMultiplierAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcVoltageMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcVoltageDivisorAttribute( + IntegerAttributeCallback callback) { + readAcVoltageDivisorAttribute(chipClusterPtr, callback); + } + + public void subscribeAcVoltageDivisorAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcVoltageDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcCurrentMultiplierAttribute( + IntegerAttributeCallback callback) { + readAcCurrentMultiplierAttribute(chipClusterPtr, callback); + } + + public void subscribeAcCurrentMultiplierAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcCurrentMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcCurrentDivisorAttribute( + IntegerAttributeCallback callback) { + readAcCurrentDivisorAttribute(chipClusterPtr, callback); + } + + public void subscribeAcCurrentDivisorAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcCurrentDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcPowerMultiplierAttribute( + IntegerAttributeCallback callback) { + readAcPowerMultiplierAttribute(chipClusterPtr, callback); + } + + public void subscribeAcPowerMultiplierAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcPowerMultiplierAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcPowerDivisorAttribute( + IntegerAttributeCallback callback) { + readAcPowerDivisorAttribute(chipClusterPtr, callback); + } + + public void subscribeAcPowerDivisorAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcPowerDivisorAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readOverloadAlarmsMaskAttribute( + IntegerAttributeCallback callback) { + readOverloadAlarmsMaskAttribute(chipClusterPtr, callback); + } + + public void writeOverloadAlarmsMaskAttribute(DefaultClusterCallback callback, Integer value) { + writeOverloadAlarmsMaskAttribute(chipClusterPtr, callback, value, null); + } + + public void writeOverloadAlarmsMaskAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeOverloadAlarmsMaskAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeOverloadAlarmsMaskAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeOverloadAlarmsMaskAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readVoltageOverloadAttribute( + IntegerAttributeCallback callback) { + readVoltageOverloadAttribute(chipClusterPtr, callback); + } + + public void subscribeVoltageOverloadAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeVoltageOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readCurrentOverloadAttribute( + IntegerAttributeCallback callback) { + readCurrentOverloadAttribute(chipClusterPtr, callback); + } + + public void subscribeCurrentOverloadAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeCurrentOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcOverloadAlarmsMaskAttribute( + IntegerAttributeCallback callback) { + readAcOverloadAlarmsMaskAttribute(chipClusterPtr, callback); + } + + public void writeAcOverloadAlarmsMaskAttribute(DefaultClusterCallback callback, Integer value) { + writeAcOverloadAlarmsMaskAttribute(chipClusterPtr, callback, value, null); + } + + public void writeAcOverloadAlarmsMaskAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { + writeAcOverloadAlarmsMaskAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); + } + + public void subscribeAcOverloadAlarmsMaskAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcOverloadAlarmsMaskAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcVoltageOverloadAttribute( + IntegerAttributeCallback callback) { + readAcVoltageOverloadAttribute(chipClusterPtr, callback); + } + + public void subscribeAcVoltageOverloadAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcVoltageOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcCurrentOverloadAttribute( + IntegerAttributeCallback callback) { + readAcCurrentOverloadAttribute(chipClusterPtr, callback); + } + + public void subscribeAcCurrentOverloadAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcCurrentOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcActivePowerOverloadAttribute( + IntegerAttributeCallback callback) { + readAcActivePowerOverloadAttribute(chipClusterPtr, callback); + } + + public void subscribeAcActivePowerOverloadAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcActivePowerOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcReactivePowerOverloadAttribute( + IntegerAttributeCallback callback) { + readAcReactivePowerOverloadAttribute(chipClusterPtr, callback); + } + + public void subscribeAcReactivePowerOverloadAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcReactivePowerOverloadAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageRmsOverVoltageAttribute( + IntegerAttributeCallback callback) { + readAverageRmsOverVoltageAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageRmsOverVoltageAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageRmsOverVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageRmsUnderVoltageAttribute( + IntegerAttributeCallback callback) { + readAverageRmsUnderVoltageAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageRmsUnderVoltageAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageRmsUnderVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsExtremeOverVoltageAttribute( + IntegerAttributeCallback callback) { + readRmsExtremeOverVoltageAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsExtremeOverVoltageAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsExtremeOverVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsExtremeUnderVoltageAttribute( + IntegerAttributeCallback callback) { + readRmsExtremeUnderVoltageAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsExtremeUnderVoltageAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsExtremeUnderVoltageAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageSagAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageSagAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageSagAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageSagAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageSwellAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageSwellAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageSwellAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageSwellAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLineCurrentPhaseBAttribute( + IntegerAttributeCallback callback) { + readLineCurrentPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeLineCurrentPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLineCurrentPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActiveCurrentPhaseBAttribute( + IntegerAttributeCallback callback) { + readActiveCurrentPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeActiveCurrentPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActiveCurrentPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readReactiveCurrentPhaseBAttribute( + IntegerAttributeCallback callback) { + readReactiveCurrentPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeReactiveCurrentPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeReactiveCurrentPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltagePhaseBAttribute( + IntegerAttributeCallback callback) { + readRmsVoltagePhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltagePhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltagePhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageMinPhaseBAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageMinPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageMinPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageMinPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageMaxPhaseBAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageMaxPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageMaxPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageMaxPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsCurrentPhaseBAttribute( + IntegerAttributeCallback callback) { + readRmsCurrentPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsCurrentPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsCurrentPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsCurrentMinPhaseBAttribute( + IntegerAttributeCallback callback) { + readRmsCurrentMinPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsCurrentMinPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsCurrentMinPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsCurrentMaxPhaseBAttribute( + IntegerAttributeCallback callback) { + readRmsCurrentMaxPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsCurrentMaxPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsCurrentMaxPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActivePowerPhaseBAttribute( + IntegerAttributeCallback callback) { + readActivePowerPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeActivePowerPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActivePowerPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActivePowerMinPhaseBAttribute( + IntegerAttributeCallback callback) { + readActivePowerMinPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeActivePowerMinPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActivePowerMinPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActivePowerMaxPhaseBAttribute( + IntegerAttributeCallback callback) { + readActivePowerMaxPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeActivePowerMaxPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActivePowerMaxPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readReactivePowerPhaseBAttribute( + IntegerAttributeCallback callback) { + readReactivePowerPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeReactivePowerPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeReactivePowerPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readApparentPowerPhaseBAttribute( + IntegerAttributeCallback callback) { + readApparentPowerPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeApparentPowerPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeApparentPowerPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPowerFactorPhaseBAttribute( + IntegerAttributeCallback callback) { + readPowerFactorPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribePowerFactorPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePowerFactorPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageRmsVoltageMeasurementPeriodPhaseBAttribute( + IntegerAttributeCallback callback) { + readAverageRmsVoltageMeasurementPeriodPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageRmsVoltageMeasurementPeriodPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageRmsVoltageMeasurementPeriodPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageRmsOverVoltageCounterPhaseBAttribute( + IntegerAttributeCallback callback) { + readAverageRmsOverVoltageCounterPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageRmsOverVoltageCounterPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageRmsOverVoltageCounterPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageRmsUnderVoltageCounterPhaseBAttribute( + IntegerAttributeCallback callback) { + readAverageRmsUnderVoltageCounterPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageRmsUnderVoltageCounterPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageRmsUnderVoltageCounterPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsExtremeOverVoltagePeriodPhaseBAttribute( + IntegerAttributeCallback callback) { + readRmsExtremeOverVoltagePeriodPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsExtremeOverVoltagePeriodPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsExtremeOverVoltagePeriodPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsExtremeUnderVoltagePeriodPhaseBAttribute( + IntegerAttributeCallback callback) { + readRmsExtremeUnderVoltagePeriodPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsExtremeUnderVoltagePeriodPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsExtremeUnderVoltagePeriodPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageSagPeriodPhaseBAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageSagPeriodPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageSagPeriodPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageSagPeriodPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageSwellPeriodPhaseBAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageSwellPeriodPhaseBAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageSwellPeriodPhaseBAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageSwellPeriodPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readLineCurrentPhaseCAttribute( + IntegerAttributeCallback callback) { + readLineCurrentPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeLineCurrentPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeLineCurrentPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActiveCurrentPhaseCAttribute( + IntegerAttributeCallback callback) { + readActiveCurrentPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeActiveCurrentPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActiveCurrentPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readReactiveCurrentPhaseCAttribute( + IntegerAttributeCallback callback) { + readReactiveCurrentPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeReactiveCurrentPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeReactiveCurrentPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltagePhaseCAttribute( + IntegerAttributeCallback callback) { + readRmsVoltagePhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltagePhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltagePhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageMinPhaseCAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageMinPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageMinPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageMinPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageMaxPhaseCAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageMaxPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageMaxPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageMaxPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsCurrentPhaseCAttribute( + IntegerAttributeCallback callback) { + readRmsCurrentPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsCurrentPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsCurrentPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsCurrentMinPhaseCAttribute( + IntegerAttributeCallback callback) { + readRmsCurrentMinPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsCurrentMinPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsCurrentMinPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsCurrentMaxPhaseCAttribute( + IntegerAttributeCallback callback) { + readRmsCurrentMaxPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsCurrentMaxPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsCurrentMaxPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActivePowerPhaseCAttribute( + IntegerAttributeCallback callback) { + readActivePowerPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeActivePowerPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActivePowerPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActivePowerMinPhaseCAttribute( + IntegerAttributeCallback callback) { + readActivePowerMinPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeActivePowerMinPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActivePowerMinPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readActivePowerMaxPhaseCAttribute( + IntegerAttributeCallback callback) { + readActivePowerMaxPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeActivePowerMaxPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeActivePowerMaxPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readReactivePowerPhaseCAttribute( + IntegerAttributeCallback callback) { + readReactivePowerPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeReactivePowerPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeReactivePowerPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readApparentPowerPhaseCAttribute( + IntegerAttributeCallback callback) { + readApparentPowerPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeApparentPowerPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeApparentPowerPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readPowerFactorPhaseCAttribute( + IntegerAttributeCallback callback) { + readPowerFactorPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribePowerFactorPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribePowerFactorPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageRmsVoltageMeasurementPeriodPhaseCAttribute( + IntegerAttributeCallback callback) { + readAverageRmsVoltageMeasurementPeriodPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageRmsVoltageMeasurementPeriodPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageRmsVoltageMeasurementPeriodPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageRmsOverVoltageCounterPhaseCAttribute( + IntegerAttributeCallback callback) { + readAverageRmsOverVoltageCounterPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageRmsOverVoltageCounterPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageRmsOverVoltageCounterPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAverageRmsUnderVoltageCounterPhaseCAttribute( + IntegerAttributeCallback callback) { + readAverageRmsUnderVoltageCounterPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeAverageRmsUnderVoltageCounterPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAverageRmsUnderVoltageCounterPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsExtremeOverVoltagePeriodPhaseCAttribute( + IntegerAttributeCallback callback) { + readRmsExtremeOverVoltagePeriodPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsExtremeOverVoltagePeriodPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsExtremeOverVoltagePeriodPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsExtremeUnderVoltagePeriodPhaseCAttribute( + IntegerAttributeCallback callback) { + readRmsExtremeUnderVoltagePeriodPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsExtremeUnderVoltagePeriodPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsExtremeUnderVoltagePeriodPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageSagPeriodPhaseCAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageSagPeriodPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageSagPeriodPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageSagPeriodPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readRmsVoltageSwellPeriodPhaseCAttribute( + IntegerAttributeCallback callback) { + readRmsVoltageSwellPeriodPhaseCAttribute(chipClusterPtr, callback); + } + + public void subscribeRmsVoltageSwellPeriodPhaseCAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeRmsVoltageSwellPeriodPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback) { + readGeneratedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeGeneratedCommandListAttribute( + GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback) { + readAcceptedCommandListAttribute(chipClusterPtr, callback); + } + + public void subscribeAcceptedCommandListAttribute( + AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readEventListAttribute( + EventListAttributeCallback callback) { + readEventListAttribute(chipClusterPtr, callback); + } + + public void subscribeEventListAttribute( + EventListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readAttributeListAttribute( + AttributeListAttributeCallback callback) { + readAttributeListAttribute(chipClusterPtr, callback); + } + + public void subscribeAttributeListAttribute( + AttributeListAttributeCallback callback, int minInterval, int maxInterval) { + subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readFeatureMapAttribute( + LongAttributeCallback callback) { + readFeatureMapAttribute(chipClusterPtr, callback); + } + + public void subscribeFeatureMapAttribute( + LongAttributeCallback callback, int minInterval, int maxInterval) { + subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + public void readClusterRevisionAttribute( + IntegerAttributeCallback callback) { + readClusterRevisionAttribute(chipClusterPtr, callback); + } + + public void subscribeClusterRevisionAttribute( + IntegerAttributeCallback callback, int minInterval, int maxInterval) { + subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + + private native void readMeasurementTypeAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeMeasurementTypeAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcVoltageMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcVoltageMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcVoltageMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcVoltageMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcCurrentMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcCurrentMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcCurrentMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcCurrentMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcPowerAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcPowerAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcPowerMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcPowerMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcPowerMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcPowerMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcVoltageMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcVoltageMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcVoltageDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcVoltageDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcCurrentMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcCurrentMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcCurrentDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcCurrentDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcPowerMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcPowerMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readDcPowerDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeDcPowerDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcFrequencyAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcFrequencyAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcFrequencyMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcFrequencyMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcFrequencyMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcFrequencyMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNeutralCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeNeutralCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTotalActivePowerAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTotalActivePowerAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTotalReactivePowerAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTotalReactivePowerAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTotalApparentPowerAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeTotalApparentPowerAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasured1stHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasured1stHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasured3rdHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasured3rdHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasured5thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasured5thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasured7thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasured7thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasured9thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasured9thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasured11thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasured11thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasuredPhase1stHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasuredPhase1stHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasuredPhase3rdHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasuredPhase3rdHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasuredPhase5thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasuredPhase5thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasuredPhase7thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasuredPhase7thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasuredPhase9thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasuredPhase9thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readMeasuredPhase11thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeMeasuredPhase11thHarmonicCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcFrequencyMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcFrequencyMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcFrequencyDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcFrequencyDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPowerMultiplierAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribePowerMultiplierAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPowerDivisorAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribePowerDivisorAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readHarmonicCurrentMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeHarmonicCurrentMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPhaseHarmonicCurrentMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribePhaseHarmonicCurrentMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInstantaneousVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeInstantaneousVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInstantaneousLineCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeInstantaneousLineCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInstantaneousActiveCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeInstantaneousActiveCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInstantaneousReactiveCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeInstantaneousReactiveCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInstantaneousPowerAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeInstantaneousPowerAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsVoltageMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsVoltageMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsVoltageMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsVoltageMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsCurrentAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsCurrentMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsCurrentMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsCurrentMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsCurrentMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActivePowerAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeActivePowerAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActivePowerMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeActivePowerMinAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActivePowerMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeActivePowerMaxAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readReactivePowerAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeReactivePowerAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readApparentPowerAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeApparentPowerAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readPowerFactorAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribePowerFactorAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageRmsVoltageMeasurementPeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeAverageRmsVoltageMeasurementPeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeAverageRmsVoltageMeasurementPeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageRmsUnderVoltageCounterAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeAverageRmsUnderVoltageCounterAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeAverageRmsUnderVoltageCounterAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsExtremeOverVoltagePeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeRmsExtremeOverVoltagePeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeRmsExtremeOverVoltagePeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsExtremeUnderVoltagePeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeRmsExtremeUnderVoltagePeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeRmsExtremeUnderVoltagePeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsVoltageSagPeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeRmsVoltageSagPeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeRmsVoltageSagPeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsVoltageSwellPeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeRmsVoltageSwellPeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeRmsVoltageSwellPeriodAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcVoltageMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcVoltageMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcVoltageDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcVoltageDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcCurrentMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcCurrentMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcCurrentDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcCurrentDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcPowerMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcPowerMultiplierAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcPowerDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcPowerDivisorAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOverloadAlarmsMaskAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeOverloadAlarmsMaskAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeOverloadAlarmsMaskAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readVoltageOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeVoltageOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCurrentOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeCurrentOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcOverloadAlarmsMaskAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void writeAcOverloadAlarmsMaskAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + + private native void subscribeAcOverloadAlarmsMaskAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcVoltageOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcVoltageOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcCurrentOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcCurrentOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcActivePowerOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcActivePowerOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcReactivePowerOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAcReactivePowerOverloadAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageRmsOverVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAverageRmsOverVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAverageRmsUnderVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeAverageRmsUnderVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsExtremeOverVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsExtremeOverVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsExtremeUnderVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsExtremeUnderVoltageAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsVoltageSagAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsVoltageSagAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsVoltageSwellAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsVoltageSwellAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLineCurrentPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeLineCurrentPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActiveCurrentPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeActiveCurrentPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readReactiveCurrentPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeReactiveCurrentPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsVoltagePhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsVoltagePhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsVoltageMinPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsVoltageMinPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsVoltageMaxPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsVoltageMaxPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsCurrentPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsCurrentPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsCurrentMinPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsCurrentMinPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRmsCurrentMaxPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeRmsCurrentMaxPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readActivePowerPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeActivePowerPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsVoltageSwellPeriodPhaseBAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageSwellPeriodPhaseBAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readActivePowerMinPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readLineCurrentPhaseCAttribute( - IntegerAttributeCallback callback) { - readLineCurrentPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeActivePowerMinPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeLineCurrentPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeLineCurrentPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readActivePowerMaxPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readActiveCurrentPhaseCAttribute( - IntegerAttributeCallback callback) { - readActiveCurrentPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeActivePowerMaxPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeActiveCurrentPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActiveCurrentPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readReactivePowerPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readReactiveCurrentPhaseCAttribute( - IntegerAttributeCallback callback) { - readReactiveCurrentPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeReactivePowerPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeReactiveCurrentPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeReactiveCurrentPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readApparentPowerPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readRmsVoltagePhaseCAttribute( - IntegerAttributeCallback callback) { - readRmsVoltagePhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeApparentPowerPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsVoltagePhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltagePhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readPowerFactorPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readRmsVoltageMinPhaseCAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageMinPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribePowerFactorPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsVoltageMinPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageMinPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readAverageRmsVoltageMeasurementPeriodPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readRmsVoltageMaxPhaseCAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageMaxPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeAverageRmsVoltageMeasurementPeriodPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsVoltageMaxPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageMaxPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readAverageRmsOverVoltageCounterPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readRmsCurrentPhaseCAttribute( - IntegerAttributeCallback callback) { - readRmsCurrentPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeAverageRmsOverVoltageCounterPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsCurrentPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsCurrentPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readAverageRmsUnderVoltageCounterPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readRmsCurrentMinPhaseCAttribute( - IntegerAttributeCallback callback) { - readRmsCurrentMinPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeAverageRmsUnderVoltageCounterPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsCurrentMinPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsCurrentMinPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRmsExtremeOverVoltagePeriodPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readRmsCurrentMaxPhaseCAttribute( - IntegerAttributeCallback callback) { - readRmsCurrentMaxPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeRmsExtremeOverVoltagePeriodPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsCurrentMaxPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsCurrentMaxPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRmsExtremeUnderVoltagePeriodPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readActivePowerPhaseCAttribute( - IntegerAttributeCallback callback) { - readActivePowerPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeRmsExtremeUnderVoltagePeriodPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeActivePowerPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActivePowerPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRmsVoltageSagPeriodPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readActivePowerMinPhaseCAttribute( - IntegerAttributeCallback callback) { - readActivePowerMinPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeRmsVoltageSagPeriodPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeActivePowerMinPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActivePowerMinPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRmsVoltageSwellPeriodPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readActivePowerMaxPhaseCAttribute( - IntegerAttributeCallback callback) { - readActivePowerMaxPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeRmsVoltageSwellPeriodPhaseBAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeActivePowerMaxPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeActivePowerMaxPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readLineCurrentPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readReactivePowerPhaseCAttribute( - IntegerAttributeCallback callback) { - readReactivePowerPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeLineCurrentPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeReactivePowerPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeReactivePowerPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readActiveCurrentPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readApparentPowerPhaseCAttribute( - IntegerAttributeCallback callback) { - readApparentPowerPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeActiveCurrentPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeApparentPowerPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeApparentPowerPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readReactiveCurrentPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readPowerFactorPhaseCAttribute( - IntegerAttributeCallback callback) { - readPowerFactorPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeReactiveCurrentPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribePowerFactorPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribePowerFactorPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRmsVoltagePhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readAverageRmsVoltageMeasurementPeriodPhaseCAttribute( - IntegerAttributeCallback callback) { - readAverageRmsVoltageMeasurementPeriodPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeRmsVoltagePhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeAverageRmsVoltageMeasurementPeriodPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageRmsVoltageMeasurementPeriodPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRmsVoltageMinPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readAverageRmsOverVoltageCounterPhaseCAttribute( - IntegerAttributeCallback callback) { - readAverageRmsOverVoltageCounterPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeRmsVoltageMinPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeAverageRmsOverVoltageCounterPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageRmsOverVoltageCounterPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRmsVoltageMaxPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readAverageRmsUnderVoltageCounterPhaseCAttribute( - IntegerAttributeCallback callback) { - readAverageRmsUnderVoltageCounterPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeRmsVoltageMaxPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeAverageRmsUnderVoltageCounterPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAverageRmsUnderVoltageCounterPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRmsCurrentPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readRmsExtremeOverVoltagePeriodPhaseCAttribute( - IntegerAttributeCallback callback) { - readRmsExtremeOverVoltagePeriodPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeRmsCurrentPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsExtremeOverVoltagePeriodPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsExtremeOverVoltagePeriodPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRmsCurrentMinPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readRmsExtremeUnderVoltagePeriodPhaseCAttribute( - IntegerAttributeCallback callback) { - readRmsExtremeUnderVoltagePeriodPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeRmsCurrentMinPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsExtremeUnderVoltagePeriodPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsExtremeUnderVoltagePeriodPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readRmsCurrentMaxPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readRmsVoltageSagPeriodPhaseCAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageSagPeriodPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeRmsCurrentMaxPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsVoltageSagPeriodPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageSagPeriodPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readActivePowerPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readRmsVoltageSwellPeriodPhaseCAttribute( - IntegerAttributeCallback callback) { - readRmsVoltageSwellPeriodPhaseCAttribute(chipClusterPtr, callback); - } + private native void subscribeActivePowerPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeRmsVoltageSwellPeriodPhaseCAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeRmsVoltageSwellPeriodPhaseCAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readActivePowerMinPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback) { - readGeneratedCommandListAttribute(chipClusterPtr, callback); - } + private native void subscribeActivePowerMinPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeGeneratedCommandListAttribute( - GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeGeneratedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readActivePowerMaxPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback) { - readAcceptedCommandListAttribute(chipClusterPtr, callback); - } + private native void subscribeActivePowerMaxPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeAcceptedCommandListAttribute( - AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAcceptedCommandListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readReactivePowerPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readEventListAttribute( - EventListAttributeCallback callback) { - readEventListAttribute(chipClusterPtr, callback); - } + private native void subscribeReactivePowerPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeEventListAttribute( - EventListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeEventListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readApparentPowerPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readAttributeListAttribute( - AttributeListAttributeCallback callback) { - readAttributeListAttribute(chipClusterPtr, callback); - } + private native void subscribeApparentPowerPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeAttributeListAttribute( - AttributeListAttributeCallback callback, int minInterval, int maxInterval) { - subscribeAttributeListAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readPowerFactorPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readFeatureMapAttribute( - LongAttributeCallback callback) { - readFeatureMapAttribute(chipClusterPtr, callback); - } + private native void subscribePowerFactorPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeFeatureMapAttribute( - LongAttributeCallback callback, int minInterval, int maxInterval) { - subscribeFeatureMapAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readAverageRmsVoltageMeasurementPeriodPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - public void readClusterRevisionAttribute( - IntegerAttributeCallback callback) { - readClusterRevisionAttribute(chipClusterPtr, callback); - } + private native void subscribeAverageRmsVoltageMeasurementPeriodPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - public void subscribeClusterRevisionAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { - subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); - } + private native void readAverageRmsOverVoltageCounterPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + private native void subscribeAverageRmsOverVoltageCounterPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasurementTypeAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeMeasurementTypeAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcVoltageMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcVoltageMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcVoltageMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcVoltageMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcCurrentMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcCurrentMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcCurrentMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcCurrentMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcPowerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcPowerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcPowerMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcPowerMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcPowerMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcPowerMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcVoltageMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcVoltageMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcVoltageDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcVoltageDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcCurrentMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcCurrentMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcCurrentDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcCurrentDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcPowerMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcPowerMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readDcPowerDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeDcPowerDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcFrequencyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcFrequencyAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcFrequencyMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcFrequencyMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcFrequencyMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcFrequencyMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readNeutralCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeNeutralCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readTotalActivePowerAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTotalActivePowerAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTotalReactivePowerAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTotalReactivePowerAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readTotalApparentPowerAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeTotalApparentPowerAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasured1stHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasured1stHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasured3rdHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasured3rdHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasured5thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasured5thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasured7thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasured7thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasured9thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasured9thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasured11thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasured11thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredPhase1stHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasuredPhase1stHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredPhase3rdHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasuredPhase3rdHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredPhase5thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasuredPhase5thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredPhase7thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasuredPhase7thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredPhase9thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasuredPhase9thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readMeasuredPhase11thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeMeasuredPhase11thHarmonicCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcFrequencyMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcFrequencyMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcFrequencyDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcFrequencyDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPowerMultiplierAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePowerMultiplierAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readPowerDivisorAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribePowerDivisorAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readHarmonicCurrentMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeHarmonicCurrentMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPhaseHarmonicCurrentMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePhaseHarmonicCurrentMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInstantaneousVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeInstantaneousVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInstantaneousLineCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeInstantaneousLineCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInstantaneousActiveCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeInstantaneousActiveCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInstantaneousReactiveCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeInstantaneousReactiveCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInstantaneousPowerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeInstantaneousPowerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsCurrentAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsCurrentMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsCurrentMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsCurrentMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsCurrentMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActivePowerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActivePowerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActivePowerMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActivePowerMinAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActivePowerMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActivePowerMaxAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readReactivePowerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeReactivePowerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readApparentPowerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeApparentPowerAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPowerFactorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePowerFactorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageRmsVoltageMeasurementPeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readAverageRmsUnderVoltageCounterPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeAverageRmsVoltageMeasurementPeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeAverageRmsUnderVoltageCounterPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAverageRmsVoltageMeasurementPeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageRmsUnderVoltageCounterAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readRmsExtremeOverVoltagePeriodPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeAverageRmsUnderVoltageCounterAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeRmsExtremeOverVoltagePeriodPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAverageRmsUnderVoltageCounterAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsExtremeOverVoltagePeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readRmsExtremeUnderVoltagePeriodPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeRmsExtremeOverVoltagePeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeRmsExtremeUnderVoltagePeriodPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeRmsExtremeOverVoltagePeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsExtremeUnderVoltagePeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readRmsVoltageSagPeriodPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeRmsExtremeUnderVoltagePeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeRmsVoltageSagPeriodPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeRmsExtremeUnderVoltagePeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageSagPeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readRmsVoltageSwellPeriodPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void writeRmsVoltageSagPeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeRmsVoltageSwellPeriodPhaseCAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeRmsVoltageSagPeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageSwellPeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); - private native void writeRmsVoltageSwellPeriodAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeRmsVoltageSwellPeriodAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcVoltageMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcVoltageMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcVoltageDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcVoltageDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcCurrentMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcCurrentMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcCurrentDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcCurrentDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcPowerMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcPowerMultiplierAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcPowerDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcPowerDivisorAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readOverloadAlarmsMaskAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); - private native void writeOverloadAlarmsMaskAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeOverloadAlarmsMaskAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readVoltageOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void subscribeVoltageOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readCurrentOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeCurrentOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcOverloadAlarmsMaskAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void writeAcOverloadAlarmsMaskAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeAcOverloadAlarmsMaskAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcVoltageOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcVoltageOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcCurrentOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcCurrentOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcActivePowerOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcActivePowerOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcReactivePowerOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAcReactivePowerOverloadAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageRmsOverVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAverageRmsOverVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageRmsUnderVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAverageRmsUnderVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsExtremeOverVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsExtremeOverVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsExtremeUnderVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsExtremeUnderVoltageAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageSagAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageSagAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageSwellAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageSwellAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLineCurrentPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLineCurrentPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveCurrentPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActiveCurrentPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readReactiveCurrentPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeReactiveCurrentPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltagePhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltagePhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageMinPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageMinPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageMaxPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageMaxPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsCurrentPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsCurrentPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsCurrentMinPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsCurrentMinPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsCurrentMaxPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsCurrentMaxPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActivePowerPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActivePowerPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActivePowerMinPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActivePowerMinPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActivePowerMaxPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActivePowerMaxPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readReactivePowerPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeReactivePowerPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readApparentPowerPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeApparentPowerPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPowerFactorPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePowerFactorPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageRmsVoltageMeasurementPeriodPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAverageRmsVoltageMeasurementPeriodPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageRmsOverVoltageCounterPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAverageRmsOverVoltageCounterPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageRmsUnderVoltageCounterPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAverageRmsUnderVoltageCounterPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsExtremeOverVoltagePeriodPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsExtremeOverVoltagePeriodPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsExtremeUnderVoltagePeriodPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsExtremeUnderVoltagePeriodPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageSagPeriodPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageSagPeriodPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageSwellPeriodPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageSwellPeriodPhaseBAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readLineCurrentPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeLineCurrentPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActiveCurrentPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActiveCurrentPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readReactiveCurrentPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeReactiveCurrentPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltagePhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltagePhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageMinPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageMinPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageMaxPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageMaxPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsCurrentPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsCurrentPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsCurrentMinPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsCurrentMinPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsCurrentMaxPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsCurrentMaxPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActivePowerPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActivePowerPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActivePowerMinPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActivePowerMinPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readActivePowerMaxPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeActivePowerMaxPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readReactivePowerPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeReactivePowerPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readApparentPowerPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeApparentPowerPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readPowerFactorPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribePowerFactorPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageRmsVoltageMeasurementPeriodPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAverageRmsVoltageMeasurementPeriodPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageRmsOverVoltageCounterPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAverageRmsOverVoltageCounterPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readAverageRmsUnderVoltageCounterPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeAverageRmsUnderVoltageCounterPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsExtremeOverVoltagePeriodPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsExtremeOverVoltagePeriodPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsExtremeUnderVoltagePeriodPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsExtremeUnderVoltagePeriodPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageSagPeriodPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageSagPeriodPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRmsVoltageSwellPeriodPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeRmsVoltageSwellPeriodPhaseCAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class UnitTestingCluster extends BaseChipCluster { public static final long CLUSTER_ID = 4294048773L; @@ -30785,7 +29379,6 @@ public UnitTestingCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void test(DefaultClusterCallback callback) { test(chipClusterPtr, callback, null); } @@ -31005,279 +29598,322 @@ public void testEmitTestFabricScopedEventRequest(TestEmitTestFabricScopedEventRe public interface TestSpecificResponseCallback { void onSuccess(Integer returnValue); - void onError(Exception error); } + public interface TestAddArgumentsResponseCallback { void onSuccess(Integer returnValue); - void onError(Exception error); } + public interface TestSimpleArgumentResponseCallback { void onSuccess(Boolean returnValue); - void onError(Exception error); } + public interface TestStructArrayArgumentResponseCallback { void onSuccess(ArrayList arg1, ArrayList arg2, ArrayList arg3, ArrayList arg4, Integer arg5, Boolean arg6); - void onError(Exception error); } + public interface BooleanResponseCallback { void onSuccess(Boolean value); - void onError(Exception error); } + public interface TestListInt8UReverseResponseCallback { void onSuccess(ArrayList arg1); - void onError(Exception error); } + public interface TestEnumsResponseCallback { void onSuccess(Integer arg1, Integer arg2); - void onError(Exception error); } + public interface TestNullableOptionalResponseCallback { void onSuccess(Boolean wasPresent, Optional wasNull, Optional value, @Nullable Optional originalValue); - void onError(Exception error); } + public interface TestComplexNullableOptionalResponseCallback { void onSuccess(Boolean nullableIntWasNull, Optional nullableIntValue, Boolean optionalIntWasPresent, Optional optionalIntValue, Boolean nullableOptionalIntWasPresent, Optional nullableOptionalIntWasNull, Optional nullableOptionalIntValue, Boolean nullableStringWasNull, Optional nullableStringValue, Boolean optionalStringWasPresent, Optional optionalStringValue, Boolean nullableOptionalStringWasPresent, Optional nullableOptionalStringWasNull, Optional nullableOptionalStringValue, Boolean nullableStructWasNull, Optional nullableStructValue, Boolean optionalStructWasPresent, Optional optionalStructValue, Boolean nullableOptionalStructWasPresent, Optional nullableOptionalStructWasNull, Optional nullableOptionalStructValue, Boolean nullableListWasNull, Optional> nullableListValue, Boolean optionalListWasPresent, Optional> optionalListValue, Boolean nullableOptionalListWasPresent, Optional nullableOptionalListWasNull, Optional> nullableOptionalListValue); - void onError(Exception error); } + public interface SimpleStructResponseCallback { void onSuccess(ChipStructs.UnitTestingClusterSimpleStruct arg1); - void onError(Exception error); } + public interface TestEmitTestEventResponseCallback { void onSuccess(Long value); - void onError(Exception error); } + public interface TestEmitTestFabricScopedEventResponseCallback { void onSuccess(Long value); - void onError(Exception error); } + public interface ListInt8uAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ListOctetStringAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ListStructOctetStringAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ListNullablesAndOptionalsStructAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface StructAttrAttributeCallback { void onSuccess(ChipStructs.UnitTestingClusterSimpleStruct value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ListLongOctetStringAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ListFabricScopedAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableBooleanAttributeCallback { void onSuccess(@Nullable Boolean value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableBitmap8AttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableBitmap16AttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableBitmap32AttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableBitmap64AttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt8uAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt16uAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt24uAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt32uAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt40uAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt48uAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt56uAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt64uAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt8sAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt16sAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt24sAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt32sAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt40sAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt48sAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt56sAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableInt64sAttributeCallback { void onSuccess(@Nullable Long value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableEnum8AttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableEnum16AttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableFloatSingleAttributeCallback { void onSuccess(@Nullable Float value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableFloatDoubleAttributeCallback { void onSuccess(@Nullable Double value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableOctetStringAttributeCallback { void onSuccess(@Nullable byte[] value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableCharStringAttributeCallback { void onSuccess(@Nullable String value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableEnumAttrAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableStructAttributeCallback { void onSuccess(@Nullable ChipStructs.UnitTestingClusterSimpleStruct value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableRangeRestrictedInt8uAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableRangeRestrictedInt8sAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableRangeRestrictedInt16uAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface NullableRangeRestrictedInt16sAttributeCallback { void onSuccess(@Nullable Integer value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -31288,17 +29924,15 @@ public void readBooleanAttribute( BooleanAttributeCallback callback) { readBooleanAttribute(chipClusterPtr, callback); } + public void writeBooleanAttribute(DefaultClusterCallback callback, Boolean value) { writeBooleanAttribute(chipClusterPtr, callback, value, null); } - public void writeBooleanAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writeBooleanAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeBooleanAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribeBooleanAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31308,17 +29942,15 @@ public void readBitmap8Attribute( IntegerAttributeCallback callback) { readBitmap8Attribute(chipClusterPtr, callback); } + public void writeBitmap8Attribute(DefaultClusterCallback callback, Integer value) { writeBitmap8Attribute(chipClusterPtr, callback, value, null); } - public void writeBitmap8Attribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeBitmap8Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeBitmap8Attribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeBitmap8Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31328,17 +29960,15 @@ public void readBitmap16Attribute( IntegerAttributeCallback callback) { readBitmap16Attribute(chipClusterPtr, callback); } + public void writeBitmap16Attribute(DefaultClusterCallback callback, Integer value) { writeBitmap16Attribute(chipClusterPtr, callback, value, null); } - public void writeBitmap16Attribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeBitmap16Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeBitmap16Attribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeBitmap16Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31348,17 +29978,15 @@ public void readBitmap32Attribute( LongAttributeCallback callback) { readBitmap32Attribute(chipClusterPtr, callback); } + public void writeBitmap32Attribute(DefaultClusterCallback callback, Long value) { writeBitmap32Attribute(chipClusterPtr, callback, value, null); } - public void writeBitmap32Attribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeBitmap32Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeBitmap32Attribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeBitmap32Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31368,17 +29996,15 @@ public void readBitmap64Attribute( LongAttributeCallback callback) { readBitmap64Attribute(chipClusterPtr, callback); } + public void writeBitmap64Attribute(DefaultClusterCallback callback, Long value) { writeBitmap64Attribute(chipClusterPtr, callback, value, null); } - public void writeBitmap64Attribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeBitmap64Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeBitmap64Attribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeBitmap64Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31388,17 +30014,15 @@ public void readInt8uAttribute( IntegerAttributeCallback callback) { readInt8uAttribute(chipClusterPtr, callback); } + public void writeInt8uAttribute(DefaultClusterCallback callback, Integer value) { writeInt8uAttribute(chipClusterPtr, callback, value, null); } - public void writeInt8uAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeInt8uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt8uAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt8uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31408,17 +30032,15 @@ public void readInt16uAttribute( IntegerAttributeCallback callback) { readInt16uAttribute(chipClusterPtr, callback); } + public void writeInt16uAttribute(DefaultClusterCallback callback, Integer value) { writeInt16uAttribute(chipClusterPtr, callback, value, null); } - public void writeInt16uAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeInt16uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt16uAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt16uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31428,17 +30050,15 @@ public void readInt24uAttribute( LongAttributeCallback callback) { readInt24uAttribute(chipClusterPtr, callback); } + public void writeInt24uAttribute(DefaultClusterCallback callback, Long value) { writeInt24uAttribute(chipClusterPtr, callback, value, null); } - public void writeInt24uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt24uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt24uAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt24uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31448,17 +30068,15 @@ public void readInt32uAttribute( LongAttributeCallback callback) { readInt32uAttribute(chipClusterPtr, callback); } + public void writeInt32uAttribute(DefaultClusterCallback callback, Long value) { writeInt32uAttribute(chipClusterPtr, callback, value, null); } - public void writeInt32uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt32uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt32uAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt32uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31468,17 +30086,15 @@ public void readInt40uAttribute( LongAttributeCallback callback) { readInt40uAttribute(chipClusterPtr, callback); } + public void writeInt40uAttribute(DefaultClusterCallback callback, Long value) { writeInt40uAttribute(chipClusterPtr, callback, value, null); } - public void writeInt40uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt40uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt40uAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt40uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31488,17 +30104,15 @@ public void readInt48uAttribute( LongAttributeCallback callback) { readInt48uAttribute(chipClusterPtr, callback); } + public void writeInt48uAttribute(DefaultClusterCallback callback, Long value) { writeInt48uAttribute(chipClusterPtr, callback, value, null); } - public void writeInt48uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt48uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt48uAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt48uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31508,17 +30122,15 @@ public void readInt56uAttribute( LongAttributeCallback callback) { readInt56uAttribute(chipClusterPtr, callback); } + public void writeInt56uAttribute(DefaultClusterCallback callback, Long value) { writeInt56uAttribute(chipClusterPtr, callback, value, null); } - public void writeInt56uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt56uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt56uAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt56uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31528,17 +30140,15 @@ public void readInt64uAttribute( LongAttributeCallback callback) { readInt64uAttribute(chipClusterPtr, callback); } + public void writeInt64uAttribute(DefaultClusterCallback callback, Long value) { writeInt64uAttribute(chipClusterPtr, callback, value, null); } - public void writeInt64uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt64uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt64uAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt64uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31548,17 +30158,15 @@ public void readInt8sAttribute( IntegerAttributeCallback callback) { readInt8sAttribute(chipClusterPtr, callback); } + public void writeInt8sAttribute(DefaultClusterCallback callback, Integer value) { writeInt8sAttribute(chipClusterPtr, callback, value, null); } - public void writeInt8sAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeInt8sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt8sAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt8sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31568,17 +30176,15 @@ public void readInt16sAttribute( IntegerAttributeCallback callback) { readInt16sAttribute(chipClusterPtr, callback); } + public void writeInt16sAttribute(DefaultClusterCallback callback, Integer value) { writeInt16sAttribute(chipClusterPtr, callback, value, null); } - public void writeInt16sAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeInt16sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt16sAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt16sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31588,17 +30194,15 @@ public void readInt24sAttribute( LongAttributeCallback callback) { readInt24sAttribute(chipClusterPtr, callback); } + public void writeInt24sAttribute(DefaultClusterCallback callback, Long value) { writeInt24sAttribute(chipClusterPtr, callback, value, null); } - public void writeInt24sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt24sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt24sAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt24sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31608,17 +30212,15 @@ public void readInt32sAttribute( LongAttributeCallback callback) { readInt32sAttribute(chipClusterPtr, callback); } + public void writeInt32sAttribute(DefaultClusterCallback callback, Long value) { writeInt32sAttribute(chipClusterPtr, callback, value, null); } - public void writeInt32sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt32sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt32sAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt32sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31628,17 +30230,15 @@ public void readInt40sAttribute( LongAttributeCallback callback) { readInt40sAttribute(chipClusterPtr, callback); } + public void writeInt40sAttribute(DefaultClusterCallback callback, Long value) { writeInt40sAttribute(chipClusterPtr, callback, value, null); } - public void writeInt40sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt40sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt40sAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt40sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31648,17 +30248,15 @@ public void readInt48sAttribute( LongAttributeCallback callback) { readInt48sAttribute(chipClusterPtr, callback); } + public void writeInt48sAttribute(DefaultClusterCallback callback, Long value) { writeInt48sAttribute(chipClusterPtr, callback, value, null); } - public void writeInt48sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt48sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt48sAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt48sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31668,17 +30266,15 @@ public void readInt56sAttribute( LongAttributeCallback callback) { readInt56sAttribute(chipClusterPtr, callback); } + public void writeInt56sAttribute(DefaultClusterCallback callback, Long value) { writeInt56sAttribute(chipClusterPtr, callback, value, null); } - public void writeInt56sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt56sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt56sAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt56sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31688,17 +30284,15 @@ public void readInt64sAttribute( LongAttributeCallback callback) { readInt64sAttribute(chipClusterPtr, callback); } + public void writeInt64sAttribute(DefaultClusterCallback callback, Long value) { writeInt64sAttribute(chipClusterPtr, callback, value, null); } - public void writeInt64sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeInt64sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeInt64sAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeInt64sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31708,17 +30302,15 @@ public void readEnum8Attribute( IntegerAttributeCallback callback) { readEnum8Attribute(chipClusterPtr, callback); } + public void writeEnum8Attribute(DefaultClusterCallback callback, Integer value) { writeEnum8Attribute(chipClusterPtr, callback, value, null); } - public void writeEnum8Attribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeEnum8Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeEnum8Attribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeEnum8Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31728,17 +30320,15 @@ public void readEnum16Attribute( IntegerAttributeCallback callback) { readEnum16Attribute(chipClusterPtr, callback); } + public void writeEnum16Attribute(DefaultClusterCallback callback, Integer value) { writeEnum16Attribute(chipClusterPtr, callback, value, null); } - public void writeEnum16Attribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeEnum16Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeEnum16Attribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeEnum16Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31748,17 +30338,15 @@ public void readFloatSingleAttribute( FloatAttributeCallback callback) { readFloatSingleAttribute(chipClusterPtr, callback); } + public void writeFloatSingleAttribute(DefaultClusterCallback callback, Float value) { writeFloatSingleAttribute(chipClusterPtr, callback, value, null); } - public void writeFloatSingleAttribute(DefaultClusterCallback callback, Float value, int timedWriteTimeoutMs) { writeFloatSingleAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeFloatSingleAttribute( FloatAttributeCallback callback, int minInterval, int maxInterval) { subscribeFloatSingleAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31768,17 +30356,15 @@ public void readFloatDoubleAttribute( DoubleAttributeCallback callback) { readFloatDoubleAttribute(chipClusterPtr, callback); } + public void writeFloatDoubleAttribute(DefaultClusterCallback callback, Double value) { writeFloatDoubleAttribute(chipClusterPtr, callback, value, null); } - public void writeFloatDoubleAttribute(DefaultClusterCallback callback, Double value, int timedWriteTimeoutMs) { writeFloatDoubleAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeFloatDoubleAttribute( DoubleAttributeCallback callback, int minInterval, int maxInterval) { subscribeFloatDoubleAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31788,17 +30374,15 @@ public void readOctetStringAttribute( OctetStringAttributeCallback callback) { readOctetStringAttribute(chipClusterPtr, callback); } + public void writeOctetStringAttribute(DefaultClusterCallback callback, byte[] value) { writeOctetStringAttribute(chipClusterPtr, callback, value, null); } - public void writeOctetStringAttribute(DefaultClusterCallback callback, byte[] value, int timedWriteTimeoutMs) { writeOctetStringAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeOctetStringAttribute( OctetStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeOctetStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31808,17 +30392,15 @@ public void readListInt8uAttribute( ListInt8uAttributeCallback callback) { readListInt8uAttribute(chipClusterPtr, callback); } + public void writeListInt8uAttribute(DefaultClusterCallback callback, ArrayList value) { writeListInt8uAttribute(chipClusterPtr, callback, value, null); } - public void writeListInt8uAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { writeListInt8uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeListInt8uAttribute( ListInt8uAttributeCallback callback, int minInterval, int maxInterval) { subscribeListInt8uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31828,17 +30410,15 @@ public void readListOctetStringAttribute( ListOctetStringAttributeCallback callback) { readListOctetStringAttribute(chipClusterPtr, callback); } + public void writeListOctetStringAttribute(DefaultClusterCallback callback, ArrayList value) { writeListOctetStringAttribute(chipClusterPtr, callback, value, null); } - public void writeListOctetStringAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { writeListOctetStringAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeListOctetStringAttribute( ListOctetStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeListOctetStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31848,17 +30428,15 @@ public void readListStructOctetStringAttribute( ListStructOctetStringAttributeCallback callback) { readListStructOctetStringAttribute(chipClusterPtr, callback); } + public void writeListStructOctetStringAttribute(DefaultClusterCallback callback, ArrayList value) { writeListStructOctetStringAttribute(chipClusterPtr, callback, value, null); } - public void writeListStructOctetStringAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { writeListStructOctetStringAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeListStructOctetStringAttribute( ListStructOctetStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeListStructOctetStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31868,17 +30446,15 @@ public void readLongOctetStringAttribute( OctetStringAttributeCallback callback) { readLongOctetStringAttribute(chipClusterPtr, callback); } + public void writeLongOctetStringAttribute(DefaultClusterCallback callback, byte[] value) { writeLongOctetStringAttribute(chipClusterPtr, callback, value, null); } - public void writeLongOctetStringAttribute(DefaultClusterCallback callback, byte[] value, int timedWriteTimeoutMs) { writeLongOctetStringAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeLongOctetStringAttribute( OctetStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeLongOctetStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31888,17 +30464,15 @@ public void readCharStringAttribute( CharStringAttributeCallback callback) { readCharStringAttribute(chipClusterPtr, callback); } + public void writeCharStringAttribute(DefaultClusterCallback callback, String value) { writeCharStringAttribute(chipClusterPtr, callback, value, null); } - public void writeCharStringAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { writeCharStringAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeCharStringAttribute( CharStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeCharStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31908,17 +30482,15 @@ public void readLongCharStringAttribute( CharStringAttributeCallback callback) { readLongCharStringAttribute(chipClusterPtr, callback); } + public void writeLongCharStringAttribute(DefaultClusterCallback callback, String value) { writeLongCharStringAttribute(chipClusterPtr, callback, value, null); } - public void writeLongCharStringAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { writeLongCharStringAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeLongCharStringAttribute( CharStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeLongCharStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31928,17 +30500,15 @@ public void readEpochUsAttribute( LongAttributeCallback callback) { readEpochUsAttribute(chipClusterPtr, callback); } + public void writeEpochUsAttribute(DefaultClusterCallback callback, Long value) { writeEpochUsAttribute(chipClusterPtr, callback, value, null); } - public void writeEpochUsAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeEpochUsAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeEpochUsAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeEpochUsAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31948,17 +30518,15 @@ public void readEpochSAttribute( LongAttributeCallback callback) { readEpochSAttribute(chipClusterPtr, callback); } + public void writeEpochSAttribute(DefaultClusterCallback callback, Long value) { writeEpochSAttribute(chipClusterPtr, callback, value, null); } - public void writeEpochSAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeEpochSAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeEpochSAttribute( LongAttributeCallback callback, int minInterval, int maxInterval) { subscribeEpochSAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31968,17 +30536,15 @@ public void readVendorIdAttribute( IntegerAttributeCallback callback) { readVendorIdAttribute(chipClusterPtr, callback); } + public void writeVendorIdAttribute(DefaultClusterCallback callback, Integer value) { writeVendorIdAttribute(chipClusterPtr, callback, value, null); } - public void writeVendorIdAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeVendorIdAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeVendorIdAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeVendorIdAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -31988,17 +30554,15 @@ public void readListNullablesAndOptionalsStructAttribute( ListNullablesAndOptionalsStructAttributeCallback callback) { readListNullablesAndOptionalsStructAttribute(chipClusterPtr, callback); } + public void writeListNullablesAndOptionalsStructAttribute(DefaultClusterCallback callback, ArrayList value) { writeListNullablesAndOptionalsStructAttribute(chipClusterPtr, callback, value, null); } - public void writeListNullablesAndOptionalsStructAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { writeListNullablesAndOptionalsStructAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeListNullablesAndOptionalsStructAttribute( ListNullablesAndOptionalsStructAttributeCallback callback, int minInterval, int maxInterval) { subscribeListNullablesAndOptionalsStructAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32008,17 +30572,15 @@ public void readEnumAttrAttribute( IntegerAttributeCallback callback) { readEnumAttrAttribute(chipClusterPtr, callback); } + public void writeEnumAttrAttribute(DefaultClusterCallback callback, Integer value) { writeEnumAttrAttribute(chipClusterPtr, callback, value, null); } - public void writeEnumAttrAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeEnumAttrAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeEnumAttrAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeEnumAttrAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32028,17 +30590,15 @@ public void readStructAttrAttribute( StructAttrAttributeCallback callback) { readStructAttrAttribute(chipClusterPtr, callback); } + public void writeStructAttrAttribute(DefaultClusterCallback callback, ChipStructs.UnitTestingClusterSimpleStruct value) { writeStructAttrAttribute(chipClusterPtr, callback, value, null); } - public void writeStructAttrAttribute(DefaultClusterCallback callback, ChipStructs.UnitTestingClusterSimpleStruct value, int timedWriteTimeoutMs) { writeStructAttrAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeStructAttrAttribute( StructAttrAttributeCallback callback, int minInterval, int maxInterval) { subscribeStructAttrAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32048,17 +30608,15 @@ public void readRangeRestrictedInt8uAttribute( IntegerAttributeCallback callback) { readRangeRestrictedInt8uAttribute(chipClusterPtr, callback); } + public void writeRangeRestrictedInt8uAttribute(DefaultClusterCallback callback, Integer value) { writeRangeRestrictedInt8uAttribute(chipClusterPtr, callback, value, null); } - public void writeRangeRestrictedInt8uAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeRangeRestrictedInt8uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeRangeRestrictedInt8uAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeRangeRestrictedInt8uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32068,17 +30626,15 @@ public void readRangeRestrictedInt8sAttribute( IntegerAttributeCallback callback) { readRangeRestrictedInt8sAttribute(chipClusterPtr, callback); } + public void writeRangeRestrictedInt8sAttribute(DefaultClusterCallback callback, Integer value) { writeRangeRestrictedInt8sAttribute(chipClusterPtr, callback, value, null); } - public void writeRangeRestrictedInt8sAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeRangeRestrictedInt8sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeRangeRestrictedInt8sAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeRangeRestrictedInt8sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32088,17 +30644,15 @@ public void readRangeRestrictedInt16uAttribute( IntegerAttributeCallback callback) { readRangeRestrictedInt16uAttribute(chipClusterPtr, callback); } + public void writeRangeRestrictedInt16uAttribute(DefaultClusterCallback callback, Integer value) { writeRangeRestrictedInt16uAttribute(chipClusterPtr, callback, value, null); } - public void writeRangeRestrictedInt16uAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeRangeRestrictedInt16uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeRangeRestrictedInt16uAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeRangeRestrictedInt16uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32108,17 +30662,15 @@ public void readRangeRestrictedInt16sAttribute( IntegerAttributeCallback callback) { readRangeRestrictedInt16sAttribute(chipClusterPtr, callback); } + public void writeRangeRestrictedInt16sAttribute(DefaultClusterCallback callback, Integer value) { writeRangeRestrictedInt16sAttribute(chipClusterPtr, callback, value, null); } - public void writeRangeRestrictedInt16sAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeRangeRestrictedInt16sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeRangeRestrictedInt16sAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeRangeRestrictedInt16sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32128,17 +30680,15 @@ public void readListLongOctetStringAttribute( ListLongOctetStringAttributeCallback callback) { readListLongOctetStringAttribute(chipClusterPtr, callback); } + public void writeListLongOctetStringAttribute(DefaultClusterCallback callback, ArrayList value) { writeListLongOctetStringAttribute(chipClusterPtr, callback, value, null); } - public void writeListLongOctetStringAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { writeListLongOctetStringAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeListLongOctetStringAttribute( ListLongOctetStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeListLongOctetStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32148,6 +30698,7 @@ public void readListFabricScopedAttribute( ListFabricScopedAttributeCallback callback) { readListFabricScopedAttribute(chipClusterPtr, callback, true); } + public void readListFabricScopedAttributeWithFabricFilter( ListFabricScopedAttributeCallback callback, boolean isFabricFiltered) { readListFabricScopedAttribute(chipClusterPtr, callback, isFabricFiltered); @@ -32158,13 +30709,10 @@ public void writeListFabricScopedAttribute(DefaultClusterCallback callback, Arra writeListFabricScopedAttribute(chipClusterPtr, callback, value, null); } - public void writeListFabricScopedAttribute(DefaultClusterCallback callback, ArrayList value, int timedWriteTimeoutMs) { writeListFabricScopedAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeListFabricScopedAttribute( ListFabricScopedAttributeCallback callback, int minInterval, int maxInterval) { subscribeListFabricScopedAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32174,12 +30722,11 @@ public void readTimedWriteBooleanAttribute( BooleanAttributeCallback callback) { readTimedWriteBooleanAttribute(chipClusterPtr, callback); } + public void writeTimedWriteBooleanAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writeTimedWriteBooleanAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeTimedWriteBooleanAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribeTimedWriteBooleanAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32189,17 +30736,15 @@ public void readGeneralErrorBooleanAttribute( BooleanAttributeCallback callback) { readGeneralErrorBooleanAttribute(chipClusterPtr, callback); } + public void writeGeneralErrorBooleanAttribute(DefaultClusterCallback callback, Boolean value) { writeGeneralErrorBooleanAttribute(chipClusterPtr, callback, value, null); } - public void writeGeneralErrorBooleanAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writeGeneralErrorBooleanAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeGeneralErrorBooleanAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribeGeneralErrorBooleanAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32209,17 +30754,15 @@ public void readClusterErrorBooleanAttribute( BooleanAttributeCallback callback) { readClusterErrorBooleanAttribute(chipClusterPtr, callback); } + public void writeClusterErrorBooleanAttribute(DefaultClusterCallback callback, Boolean value) { writeClusterErrorBooleanAttribute(chipClusterPtr, callback, value, null); } - public void writeClusterErrorBooleanAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writeClusterErrorBooleanAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeClusterErrorBooleanAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribeClusterErrorBooleanAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32229,17 +30772,15 @@ public void readUnsupportedAttribute( BooleanAttributeCallback callback) { readUnsupportedAttribute(chipClusterPtr, callback); } + public void writeUnsupportedAttribute(DefaultClusterCallback callback, Boolean value) { writeUnsupportedAttribute(chipClusterPtr, callback, value, null); } - public void writeUnsupportedAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writeUnsupportedAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeUnsupportedAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribeUnsupportedAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32249,17 +30790,15 @@ public void readNullableBooleanAttribute( NullableBooleanAttributeCallback callback) { readNullableBooleanAttribute(chipClusterPtr, callback); } + public void writeNullableBooleanAttribute(DefaultClusterCallback callback, Boolean value) { writeNullableBooleanAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableBooleanAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writeNullableBooleanAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableBooleanAttribute( NullableBooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableBooleanAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32269,16 +30808,14 @@ public void readNullableBitmap8Attribute( NullableBitmap8AttributeCallback callback) { readNullableBitmap8Attribute(chipClusterPtr, callback); } + public void writeNullableBitmap8Attribute(DefaultClusterCallback callback, Integer value) { writeNullableBitmap8Attribute(chipClusterPtr, callback, value, null); } - public void writeNullableBitmap8Attribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableBitmap8Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); - } - - + } public void subscribeNullableBitmap8Attribute( NullableBitmap8AttributeCallback callback, int minInterval, int maxInterval) { @@ -32289,17 +30826,15 @@ public void readNullableBitmap16Attribute( NullableBitmap16AttributeCallback callback) { readNullableBitmap16Attribute(chipClusterPtr, callback); } + public void writeNullableBitmap16Attribute(DefaultClusterCallback callback, Integer value) { writeNullableBitmap16Attribute(chipClusterPtr, callback, value, null); } - public void writeNullableBitmap16Attribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableBitmap16Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableBitmap16Attribute( NullableBitmap16AttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableBitmap16Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32309,17 +30844,15 @@ public void readNullableBitmap32Attribute( NullableBitmap32AttributeCallback callback) { readNullableBitmap32Attribute(chipClusterPtr, callback); } + public void writeNullableBitmap32Attribute(DefaultClusterCallback callback, Long value) { writeNullableBitmap32Attribute(chipClusterPtr, callback, value, null); } - public void writeNullableBitmap32Attribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableBitmap32Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableBitmap32Attribute( NullableBitmap32AttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableBitmap32Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32329,17 +30862,15 @@ public void readNullableBitmap64Attribute( NullableBitmap64AttributeCallback callback) { readNullableBitmap64Attribute(chipClusterPtr, callback); } + public void writeNullableBitmap64Attribute(DefaultClusterCallback callback, Long value) { writeNullableBitmap64Attribute(chipClusterPtr, callback, value, null); } - public void writeNullableBitmap64Attribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableBitmap64Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableBitmap64Attribute( NullableBitmap64AttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableBitmap64Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32349,17 +30880,15 @@ public void readNullableInt8uAttribute( NullableInt8uAttributeCallback callback) { readNullableInt8uAttribute(chipClusterPtr, callback); } + public void writeNullableInt8uAttribute(DefaultClusterCallback callback, Integer value) { writeNullableInt8uAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt8uAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableInt8uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt8uAttribute( NullableInt8uAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt8uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32369,17 +30898,15 @@ public void readNullableInt16uAttribute( NullableInt16uAttributeCallback callback) { readNullableInt16uAttribute(chipClusterPtr, callback); } + public void writeNullableInt16uAttribute(DefaultClusterCallback callback, Integer value) { writeNullableInt16uAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt16uAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableInt16uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt16uAttribute( NullableInt16uAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt16uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32389,17 +30916,15 @@ public void readNullableInt24uAttribute( NullableInt24uAttributeCallback callback) { readNullableInt24uAttribute(chipClusterPtr, callback); } + public void writeNullableInt24uAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt24uAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt24uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt24uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt24uAttribute( NullableInt24uAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt24uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32409,17 +30934,15 @@ public void readNullableInt32uAttribute( NullableInt32uAttributeCallback callback) { readNullableInt32uAttribute(chipClusterPtr, callback); } + public void writeNullableInt32uAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt32uAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt32uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt32uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt32uAttribute( NullableInt32uAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt32uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32429,17 +30952,15 @@ public void readNullableInt40uAttribute( NullableInt40uAttributeCallback callback) { readNullableInt40uAttribute(chipClusterPtr, callback); } + public void writeNullableInt40uAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt40uAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt40uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt40uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt40uAttribute( NullableInt40uAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt40uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32449,17 +30970,15 @@ public void readNullableInt48uAttribute( NullableInt48uAttributeCallback callback) { readNullableInt48uAttribute(chipClusterPtr, callback); } + public void writeNullableInt48uAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt48uAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt48uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt48uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt48uAttribute( NullableInt48uAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt48uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32469,17 +30988,15 @@ public void readNullableInt56uAttribute( NullableInt56uAttributeCallback callback) { readNullableInt56uAttribute(chipClusterPtr, callback); } + public void writeNullableInt56uAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt56uAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt56uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt56uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt56uAttribute( NullableInt56uAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt56uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32489,17 +31006,15 @@ public void readNullableInt64uAttribute( NullableInt64uAttributeCallback callback) { readNullableInt64uAttribute(chipClusterPtr, callback); } + public void writeNullableInt64uAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt64uAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt64uAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt64uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt64uAttribute( NullableInt64uAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt64uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32509,17 +31024,15 @@ public void readNullableInt8sAttribute( NullableInt8sAttributeCallback callback) { readNullableInt8sAttribute(chipClusterPtr, callback); } + public void writeNullableInt8sAttribute(DefaultClusterCallback callback, Integer value) { writeNullableInt8sAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt8sAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableInt8sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt8sAttribute( NullableInt8sAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt8sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32529,17 +31042,15 @@ public void readNullableInt16sAttribute( NullableInt16sAttributeCallback callback) { readNullableInt16sAttribute(chipClusterPtr, callback); } + public void writeNullableInt16sAttribute(DefaultClusterCallback callback, Integer value) { writeNullableInt16sAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt16sAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableInt16sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt16sAttribute( NullableInt16sAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt16sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32549,17 +31060,15 @@ public void readNullableInt24sAttribute( NullableInt24sAttributeCallback callback) { readNullableInt24sAttribute(chipClusterPtr, callback); } + public void writeNullableInt24sAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt24sAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt24sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt24sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt24sAttribute( NullableInt24sAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt24sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32569,17 +31078,15 @@ public void readNullableInt32sAttribute( NullableInt32sAttributeCallback callback) { readNullableInt32sAttribute(chipClusterPtr, callback); } + public void writeNullableInt32sAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt32sAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt32sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt32sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt32sAttribute( NullableInt32sAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt32sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32589,17 +31096,15 @@ public void readNullableInt40sAttribute( NullableInt40sAttributeCallback callback) { readNullableInt40sAttribute(chipClusterPtr, callback); } + public void writeNullableInt40sAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt40sAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt40sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt40sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt40sAttribute( NullableInt40sAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt40sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32609,17 +31114,15 @@ public void readNullableInt48sAttribute( NullableInt48sAttributeCallback callback) { readNullableInt48sAttribute(chipClusterPtr, callback); } + public void writeNullableInt48sAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt48sAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt48sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt48sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt48sAttribute( NullableInt48sAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt48sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32629,17 +31132,15 @@ public void readNullableInt56sAttribute( NullableInt56sAttributeCallback callback) { readNullableInt56sAttribute(chipClusterPtr, callback); } + public void writeNullableInt56sAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt56sAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt56sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt56sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt56sAttribute( NullableInt56sAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt56sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32649,17 +31150,15 @@ public void readNullableInt64sAttribute( NullableInt64sAttributeCallback callback) { readNullableInt64sAttribute(chipClusterPtr, callback); } + public void writeNullableInt64sAttribute(DefaultClusterCallback callback, Long value) { writeNullableInt64sAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableInt64sAttribute(DefaultClusterCallback callback, Long value, int timedWriteTimeoutMs) { writeNullableInt64sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableInt64sAttribute( NullableInt64sAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableInt64sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32669,17 +31168,15 @@ public void readNullableEnum8Attribute( NullableEnum8AttributeCallback callback) { readNullableEnum8Attribute(chipClusterPtr, callback); } + public void writeNullableEnum8Attribute(DefaultClusterCallback callback, Integer value) { writeNullableEnum8Attribute(chipClusterPtr, callback, value, null); } - public void writeNullableEnum8Attribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableEnum8Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableEnum8Attribute( NullableEnum8AttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableEnum8Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32689,17 +31186,15 @@ public void readNullableEnum16Attribute( NullableEnum16AttributeCallback callback) { readNullableEnum16Attribute(chipClusterPtr, callback); } + public void writeNullableEnum16Attribute(DefaultClusterCallback callback, Integer value) { writeNullableEnum16Attribute(chipClusterPtr, callback, value, null); } - public void writeNullableEnum16Attribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableEnum16Attribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableEnum16Attribute( NullableEnum16AttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableEnum16Attribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32709,17 +31204,15 @@ public void readNullableFloatSingleAttribute( NullableFloatSingleAttributeCallback callback) { readNullableFloatSingleAttribute(chipClusterPtr, callback); } + public void writeNullableFloatSingleAttribute(DefaultClusterCallback callback, Float value) { writeNullableFloatSingleAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableFloatSingleAttribute(DefaultClusterCallback callback, Float value, int timedWriteTimeoutMs) { writeNullableFloatSingleAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableFloatSingleAttribute( NullableFloatSingleAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableFloatSingleAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32729,17 +31222,15 @@ public void readNullableFloatDoubleAttribute( NullableFloatDoubleAttributeCallback callback) { readNullableFloatDoubleAttribute(chipClusterPtr, callback); } + public void writeNullableFloatDoubleAttribute(DefaultClusterCallback callback, Double value) { writeNullableFloatDoubleAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableFloatDoubleAttribute(DefaultClusterCallback callback, Double value, int timedWriteTimeoutMs) { writeNullableFloatDoubleAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableFloatDoubleAttribute( NullableFloatDoubleAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableFloatDoubleAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32749,17 +31240,15 @@ public void readNullableOctetStringAttribute( NullableOctetStringAttributeCallback callback) { readNullableOctetStringAttribute(chipClusterPtr, callback); } + public void writeNullableOctetStringAttribute(DefaultClusterCallback callback, byte[] value) { writeNullableOctetStringAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableOctetStringAttribute(DefaultClusterCallback callback, byte[] value, int timedWriteTimeoutMs) { writeNullableOctetStringAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableOctetStringAttribute( NullableOctetStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableOctetStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32769,17 +31258,15 @@ public void readNullableCharStringAttribute( NullableCharStringAttributeCallback callback) { readNullableCharStringAttribute(chipClusterPtr, callback); } + public void writeNullableCharStringAttribute(DefaultClusterCallback callback, String value) { writeNullableCharStringAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableCharStringAttribute(DefaultClusterCallback callback, String value, int timedWriteTimeoutMs) { writeNullableCharStringAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableCharStringAttribute( NullableCharStringAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableCharStringAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32789,17 +31276,15 @@ public void readNullableEnumAttrAttribute( NullableEnumAttrAttributeCallback callback) { readNullableEnumAttrAttribute(chipClusterPtr, callback); } + public void writeNullableEnumAttrAttribute(DefaultClusterCallback callback, Integer value) { writeNullableEnumAttrAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableEnumAttrAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableEnumAttrAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableEnumAttrAttribute( NullableEnumAttrAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableEnumAttrAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32809,17 +31294,15 @@ public void readNullableStructAttribute( NullableStructAttributeCallback callback) { readNullableStructAttribute(chipClusterPtr, callback); } + public void writeNullableStructAttribute(DefaultClusterCallback callback, ChipStructs.UnitTestingClusterSimpleStruct value) { writeNullableStructAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableStructAttribute(DefaultClusterCallback callback, ChipStructs.UnitTestingClusterSimpleStruct value, int timedWriteTimeoutMs) { writeNullableStructAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableStructAttribute( NullableStructAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableStructAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32829,17 +31312,15 @@ public void readNullableRangeRestrictedInt8uAttribute( NullableRangeRestrictedInt8uAttributeCallback callback) { readNullableRangeRestrictedInt8uAttribute(chipClusterPtr, callback); } + public void writeNullableRangeRestrictedInt8uAttribute(DefaultClusterCallback callback, Integer value) { writeNullableRangeRestrictedInt8uAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableRangeRestrictedInt8uAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableRangeRestrictedInt8uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableRangeRestrictedInt8uAttribute( NullableRangeRestrictedInt8uAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableRangeRestrictedInt8uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32849,17 +31330,15 @@ public void readNullableRangeRestrictedInt8sAttribute( NullableRangeRestrictedInt8sAttributeCallback callback) { readNullableRangeRestrictedInt8sAttribute(chipClusterPtr, callback); } + public void writeNullableRangeRestrictedInt8sAttribute(DefaultClusterCallback callback, Integer value) { writeNullableRangeRestrictedInt8sAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableRangeRestrictedInt8sAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableRangeRestrictedInt8sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableRangeRestrictedInt8sAttribute( NullableRangeRestrictedInt8sAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableRangeRestrictedInt8sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32869,17 +31348,15 @@ public void readNullableRangeRestrictedInt16uAttribute( NullableRangeRestrictedInt16uAttributeCallback callback) { readNullableRangeRestrictedInt16uAttribute(chipClusterPtr, callback); } + public void writeNullableRangeRestrictedInt16uAttribute(DefaultClusterCallback callback, Integer value) { writeNullableRangeRestrictedInt16uAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableRangeRestrictedInt16uAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableRangeRestrictedInt16uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableRangeRestrictedInt16uAttribute( NullableRangeRestrictedInt16uAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableRangeRestrictedInt16uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32889,17 +31366,15 @@ public void readNullableRangeRestrictedInt16sAttribute( NullableRangeRestrictedInt16sAttributeCallback callback) { readNullableRangeRestrictedInt16sAttribute(chipClusterPtr, callback); } + public void writeNullableRangeRestrictedInt16sAttribute(DefaultClusterCallback callback, Integer value) { writeNullableRangeRestrictedInt16sAttribute(chipClusterPtr, callback, value, null); } - public void writeNullableRangeRestrictedInt16sAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeNullableRangeRestrictedInt16sAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeNullableRangeRestrictedInt16sAttribute( NullableRangeRestrictedInt16sAttributeCallback callback, int minInterval, int maxInterval) { subscribeNullableRangeRestrictedInt16sAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32909,17 +31384,15 @@ public void readWriteOnlyInt8uAttribute( IntegerAttributeCallback callback) { readWriteOnlyInt8uAttribute(chipClusterPtr, callback); } + public void writeWriteOnlyInt8uAttribute(DefaultClusterCallback callback, Integer value) { writeWriteOnlyInt8uAttribute(chipClusterPtr, callback, value, null); } - public void writeWriteOnlyInt8uAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) { writeWriteOnlyInt8uAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeWriteOnlyInt8uAttribute( IntegerAttributeCallback callback, int minInterval, int maxInterval) { subscribeWriteOnlyInt8uAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -32985,612 +31458,523 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readBooleanAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void readBooleanAttribute(long chipClusterPtr, BooleanAttributeCallback callback); private native void writeBooleanAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeBooleanAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readBitmap8Attribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeBooleanAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBitmap8Attribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeBitmap8Attribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeBitmap8Attribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBitmap16Attribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeBitmap8Attribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBitmap16Attribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeBitmap16Attribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeBitmap16Attribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readBitmap32Attribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeBitmap16Attribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBitmap32Attribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeBitmap32Attribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeBitmap32Attribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readBitmap64Attribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeBitmap32Attribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readBitmap64Attribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeBitmap64Attribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeBitmap64Attribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt8uAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeBitmap64Attribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt8uAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeInt8uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt8uAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt16uAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeInt8uAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt16uAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeInt16uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt16uAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt24uAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt16uAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt24uAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt24uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt24uAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt32uAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt24uAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt32uAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt32uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt32uAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt40uAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt32uAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt40uAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt40uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt40uAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt48uAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt40uAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt48uAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt48uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt48uAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt56uAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt48uAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt56uAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt56uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt56uAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt64uAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt56uAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt64uAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt64uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt64uAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt8sAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeInt64uAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt8sAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeInt8sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt8sAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt16sAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeInt8sAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt16sAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeInt16sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt16sAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt24sAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt16sAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt24sAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt24sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt24sAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt32sAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt24sAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt32sAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt32sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt32sAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt40sAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt32sAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt40sAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt40sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt40sAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt48sAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt40sAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt48sAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt48sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt48sAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt56sAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt48sAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt56sAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt56sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt56sAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readInt64sAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeInt56sAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readInt64sAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeInt64sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeInt64sAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readEnum8Attribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeInt64sAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEnum8Attribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeEnum8Attribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeEnum8Attribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readEnum16Attribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeEnum8Attribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEnum16Attribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeEnum16Attribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeEnum16Attribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readFloatSingleAttribute(long chipClusterPtr - , FloatAttributeCallback callback); + private native void subscribeEnum16Attribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFloatSingleAttribute(long chipClusterPtr, FloatAttributeCallback callback); private native void writeFloatSingleAttribute(long chipClusterPtr, DefaultClusterCallback callback, Float value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeFloatSingleAttribute(long chipClusterPtr - , FloatAttributeCallback callback, int minInterval, int maxInterval); - private native void readFloatDoubleAttribute(long chipClusterPtr - , DoubleAttributeCallback callback); + private native void subscribeFloatSingleAttribute(long chipClusterPtr, FloatAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFloatDoubleAttribute(long chipClusterPtr, DoubleAttributeCallback callback); private native void writeFloatDoubleAttribute(long chipClusterPtr, DefaultClusterCallback callback, Double value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeFloatDoubleAttribute(long chipClusterPtr - , DoubleAttributeCallback callback, int minInterval, int maxInterval); - private native void readOctetStringAttribute(long chipClusterPtr - , OctetStringAttributeCallback callback); + private native void subscribeFloatDoubleAttribute(long chipClusterPtr, DoubleAttributeCallback callback, int minInterval, int maxInterval); + + private native void readOctetStringAttribute(long chipClusterPtr, OctetStringAttributeCallback callback); private native void writeOctetStringAttribute(long chipClusterPtr, DefaultClusterCallback callback, byte[] value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeOctetStringAttribute(long chipClusterPtr - , OctetStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readListInt8uAttribute(long chipClusterPtr - , ListInt8uAttributeCallback callback); + private native void subscribeOctetStringAttribute(long chipClusterPtr, OctetStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readListInt8uAttribute(long chipClusterPtr, ListInt8uAttributeCallback callback); private native void writeListInt8uAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeListInt8uAttribute(long chipClusterPtr - , ListInt8uAttributeCallback callback, int minInterval, int maxInterval); - private native void readListOctetStringAttribute(long chipClusterPtr - , ListOctetStringAttributeCallback callback); + private native void subscribeListInt8uAttribute(long chipClusterPtr, ListInt8uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readListOctetStringAttribute(long chipClusterPtr, ListOctetStringAttributeCallback callback); private native void writeListOctetStringAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeListOctetStringAttribute(long chipClusterPtr - , ListOctetStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readListStructOctetStringAttribute(long chipClusterPtr - , ListStructOctetStringAttributeCallback callback); + private native void subscribeListOctetStringAttribute(long chipClusterPtr, ListOctetStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readListStructOctetStringAttribute(long chipClusterPtr, ListStructOctetStringAttributeCallback callback); private native void writeListStructOctetStringAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeListStructOctetStringAttribute(long chipClusterPtr - , ListStructOctetStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readLongOctetStringAttribute(long chipClusterPtr - , OctetStringAttributeCallback callback); + private native void subscribeListStructOctetStringAttribute(long chipClusterPtr, ListStructOctetStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLongOctetStringAttribute(long chipClusterPtr, OctetStringAttributeCallback callback); private native void writeLongOctetStringAttribute(long chipClusterPtr, DefaultClusterCallback callback, byte[] value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeLongOctetStringAttribute(long chipClusterPtr - , OctetStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readCharStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void subscribeLongOctetStringAttribute(long chipClusterPtr, OctetStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readCharStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback); private native void writeCharStringAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeCharStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readLongCharStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback); + private native void subscribeCharStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readLongCharStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback); private native void writeLongCharStringAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeLongCharStringAttribute(long chipClusterPtr - , CharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readEpochUsAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeLongCharStringAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEpochUsAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeEpochUsAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeEpochUsAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readEpochSAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeEpochUsAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEpochSAttribute(long chipClusterPtr, LongAttributeCallback callback); private native void writeEpochSAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeEpochSAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readVendorIdAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeEpochSAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readVendorIdAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeVendorIdAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeVendorIdAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readListNullablesAndOptionalsStructAttribute(long chipClusterPtr - , ListNullablesAndOptionalsStructAttributeCallback callback); + private native void subscribeVendorIdAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readListNullablesAndOptionalsStructAttribute(long chipClusterPtr, ListNullablesAndOptionalsStructAttributeCallback callback); private native void writeListNullablesAndOptionalsStructAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeListNullablesAndOptionalsStructAttribute(long chipClusterPtr - , ListNullablesAndOptionalsStructAttributeCallback callback, int minInterval, int maxInterval); - private native void readEnumAttrAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeListNullablesAndOptionalsStructAttribute(long chipClusterPtr, ListNullablesAndOptionalsStructAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEnumAttrAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeEnumAttrAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeEnumAttrAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readStructAttrAttribute(long chipClusterPtr - , StructAttrAttributeCallback callback); + private native void subscribeEnumAttrAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readStructAttrAttribute(long chipClusterPtr, StructAttrAttributeCallback callback); private native void writeStructAttrAttribute(long chipClusterPtr, DefaultClusterCallback callback, ChipStructs.UnitTestingClusterSimpleStruct value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeStructAttrAttribute(long chipClusterPtr - , StructAttrAttributeCallback callback, int minInterval, int maxInterval); - private native void readRangeRestrictedInt8uAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeStructAttrAttribute(long chipClusterPtr, StructAttrAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRangeRestrictedInt8uAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeRangeRestrictedInt8uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeRangeRestrictedInt8uAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRangeRestrictedInt8sAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeRangeRestrictedInt8uAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRangeRestrictedInt8sAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeRangeRestrictedInt8sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeRangeRestrictedInt8sAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRangeRestrictedInt16uAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeRangeRestrictedInt8sAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRangeRestrictedInt16uAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeRangeRestrictedInt16uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeRangeRestrictedInt16uAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readRangeRestrictedInt16sAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeRangeRestrictedInt16uAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readRangeRestrictedInt16sAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeRangeRestrictedInt16sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeRangeRestrictedInt16sAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readListLongOctetStringAttribute(long chipClusterPtr - , ListLongOctetStringAttributeCallback callback); + private native void subscribeRangeRestrictedInt16sAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readListLongOctetStringAttribute(long chipClusterPtr, ListLongOctetStringAttributeCallback callback); private native void writeListLongOctetStringAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeListLongOctetStringAttribute(long chipClusterPtr - , ListLongOctetStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readListFabricScopedAttribute(long chipClusterPtr - , ListFabricScopedAttributeCallback callback, boolean isFabricFiltered); + private native void subscribeListLongOctetStringAttribute(long chipClusterPtr, ListLongOctetStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readListFabricScopedAttribute(long chipClusterPtr, ListFabricScopedAttributeCallback callback, boolean isFabricFiltered); private native void writeListFabricScopedAttribute(long chipClusterPtr, DefaultClusterCallback callback, ArrayList value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeListFabricScopedAttribute(long chipClusterPtr - , ListFabricScopedAttributeCallback callback, int minInterval, int maxInterval); - private native void readTimedWriteBooleanAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void subscribeListFabricScopedAttribute(long chipClusterPtr, ListFabricScopedAttributeCallback callback, int minInterval, int maxInterval); + + private native void readTimedWriteBooleanAttribute(long chipClusterPtr, BooleanAttributeCallback callback); private native void writeTimedWriteBooleanAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeTimedWriteBooleanAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneralErrorBooleanAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void subscribeTimedWriteBooleanAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneralErrorBooleanAttribute(long chipClusterPtr, BooleanAttributeCallback callback); private native void writeGeneralErrorBooleanAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeGeneralErrorBooleanAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterErrorBooleanAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void subscribeGeneralErrorBooleanAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterErrorBooleanAttribute(long chipClusterPtr, BooleanAttributeCallback callback); private native void writeClusterErrorBooleanAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeClusterErrorBooleanAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readUnsupportedAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void subscribeClusterErrorBooleanAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readUnsupportedAttribute(long chipClusterPtr, BooleanAttributeCallback callback); private native void writeUnsupportedAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeUnsupportedAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableBooleanAttribute(long chipClusterPtr - , NullableBooleanAttributeCallback callback); + private native void subscribeUnsupportedAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableBooleanAttribute(long chipClusterPtr, NullableBooleanAttributeCallback callback); private native void writeNullableBooleanAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableBooleanAttribute(long chipClusterPtr - , NullableBooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableBitmap8Attribute(long chipClusterPtr - , NullableBitmap8AttributeCallback callback); + private native void subscribeNullableBooleanAttribute(long chipClusterPtr, NullableBooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableBitmap8Attribute(long chipClusterPtr, NullableBitmap8AttributeCallback callback); private native void writeNullableBitmap8Attribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableBitmap8Attribute(long chipClusterPtr - , NullableBitmap8AttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableBitmap16Attribute(long chipClusterPtr - , NullableBitmap16AttributeCallback callback); + private native void subscribeNullableBitmap8Attribute(long chipClusterPtr, NullableBitmap8AttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableBitmap16Attribute(long chipClusterPtr, NullableBitmap16AttributeCallback callback); private native void writeNullableBitmap16Attribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableBitmap16Attribute(long chipClusterPtr - , NullableBitmap16AttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableBitmap32Attribute(long chipClusterPtr - , NullableBitmap32AttributeCallback callback); + private native void subscribeNullableBitmap16Attribute(long chipClusterPtr, NullableBitmap16AttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableBitmap32Attribute(long chipClusterPtr, NullableBitmap32AttributeCallback callback); private native void writeNullableBitmap32Attribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableBitmap32Attribute(long chipClusterPtr - , NullableBitmap32AttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableBitmap64Attribute(long chipClusterPtr - , NullableBitmap64AttributeCallback callback); + private native void subscribeNullableBitmap32Attribute(long chipClusterPtr, NullableBitmap32AttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableBitmap64Attribute(long chipClusterPtr, NullableBitmap64AttributeCallback callback); private native void writeNullableBitmap64Attribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableBitmap64Attribute(long chipClusterPtr - , NullableBitmap64AttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt8uAttribute(long chipClusterPtr - , NullableInt8uAttributeCallback callback); + private native void subscribeNullableBitmap64Attribute(long chipClusterPtr, NullableBitmap64AttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt8uAttribute(long chipClusterPtr, NullableInt8uAttributeCallback callback); private native void writeNullableInt8uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt8uAttribute(long chipClusterPtr - , NullableInt8uAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt16uAttribute(long chipClusterPtr - , NullableInt16uAttributeCallback callback); + private native void subscribeNullableInt8uAttribute(long chipClusterPtr, NullableInt8uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt16uAttribute(long chipClusterPtr, NullableInt16uAttributeCallback callback); private native void writeNullableInt16uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt16uAttribute(long chipClusterPtr - , NullableInt16uAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt24uAttribute(long chipClusterPtr - , NullableInt24uAttributeCallback callback); + private native void subscribeNullableInt16uAttribute(long chipClusterPtr, NullableInt16uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt24uAttribute(long chipClusterPtr, NullableInt24uAttributeCallback callback); private native void writeNullableInt24uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt24uAttribute(long chipClusterPtr - , NullableInt24uAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt32uAttribute(long chipClusterPtr - , NullableInt32uAttributeCallback callback); + private native void subscribeNullableInt24uAttribute(long chipClusterPtr, NullableInt24uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt32uAttribute(long chipClusterPtr, NullableInt32uAttributeCallback callback); private native void writeNullableInt32uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt32uAttribute(long chipClusterPtr - , NullableInt32uAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt40uAttribute(long chipClusterPtr - , NullableInt40uAttributeCallback callback); + private native void subscribeNullableInt32uAttribute(long chipClusterPtr, NullableInt32uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt40uAttribute(long chipClusterPtr, NullableInt40uAttributeCallback callback); private native void writeNullableInt40uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt40uAttribute(long chipClusterPtr - , NullableInt40uAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt48uAttribute(long chipClusterPtr - , NullableInt48uAttributeCallback callback); + private native void subscribeNullableInt40uAttribute(long chipClusterPtr, NullableInt40uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt48uAttribute(long chipClusterPtr, NullableInt48uAttributeCallback callback); private native void writeNullableInt48uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt48uAttribute(long chipClusterPtr - , NullableInt48uAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt56uAttribute(long chipClusterPtr - , NullableInt56uAttributeCallback callback); + private native void subscribeNullableInt48uAttribute(long chipClusterPtr, NullableInt48uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt56uAttribute(long chipClusterPtr, NullableInt56uAttributeCallback callback); private native void writeNullableInt56uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt56uAttribute(long chipClusterPtr - , NullableInt56uAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt64uAttribute(long chipClusterPtr - , NullableInt64uAttributeCallback callback); + private native void subscribeNullableInt56uAttribute(long chipClusterPtr, NullableInt56uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt64uAttribute(long chipClusterPtr, NullableInt64uAttributeCallback callback); private native void writeNullableInt64uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt64uAttribute(long chipClusterPtr - , NullableInt64uAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt8sAttribute(long chipClusterPtr - , NullableInt8sAttributeCallback callback); + private native void subscribeNullableInt64uAttribute(long chipClusterPtr, NullableInt64uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt8sAttribute(long chipClusterPtr, NullableInt8sAttributeCallback callback); private native void writeNullableInt8sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt8sAttribute(long chipClusterPtr - , NullableInt8sAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt16sAttribute(long chipClusterPtr - , NullableInt16sAttributeCallback callback); + private native void subscribeNullableInt8sAttribute(long chipClusterPtr, NullableInt8sAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt16sAttribute(long chipClusterPtr, NullableInt16sAttributeCallback callback); private native void writeNullableInt16sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt16sAttribute(long chipClusterPtr - , NullableInt16sAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt24sAttribute(long chipClusterPtr - , NullableInt24sAttributeCallback callback); + private native void subscribeNullableInt16sAttribute(long chipClusterPtr, NullableInt16sAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt24sAttribute(long chipClusterPtr, NullableInt24sAttributeCallback callback); private native void writeNullableInt24sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt24sAttribute(long chipClusterPtr - , NullableInt24sAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt32sAttribute(long chipClusterPtr - , NullableInt32sAttributeCallback callback); + private native void subscribeNullableInt24sAttribute(long chipClusterPtr, NullableInt24sAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt32sAttribute(long chipClusterPtr, NullableInt32sAttributeCallback callback); private native void writeNullableInt32sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt32sAttribute(long chipClusterPtr - , NullableInt32sAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt40sAttribute(long chipClusterPtr - , NullableInt40sAttributeCallback callback); + private native void subscribeNullableInt32sAttribute(long chipClusterPtr, NullableInt32sAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt40sAttribute(long chipClusterPtr, NullableInt40sAttributeCallback callback); private native void writeNullableInt40sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt40sAttribute(long chipClusterPtr - , NullableInt40sAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt48sAttribute(long chipClusterPtr - , NullableInt48sAttributeCallback callback); + private native void subscribeNullableInt40sAttribute(long chipClusterPtr, NullableInt40sAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt48sAttribute(long chipClusterPtr, NullableInt48sAttributeCallback callback); private native void writeNullableInt48sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt48sAttribute(long chipClusterPtr - , NullableInt48sAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt56sAttribute(long chipClusterPtr - , NullableInt56sAttributeCallback callback); + private native void subscribeNullableInt48sAttribute(long chipClusterPtr, NullableInt48sAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt56sAttribute(long chipClusterPtr, NullableInt56sAttributeCallback callback); private native void writeNullableInt56sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt56sAttribute(long chipClusterPtr - , NullableInt56sAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableInt64sAttribute(long chipClusterPtr - , NullableInt64sAttributeCallback callback); + private native void subscribeNullableInt56sAttribute(long chipClusterPtr, NullableInt56sAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableInt64sAttribute(long chipClusterPtr, NullableInt64sAttributeCallback callback); private native void writeNullableInt64sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Long value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableInt64sAttribute(long chipClusterPtr - , NullableInt64sAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableEnum8Attribute(long chipClusterPtr - , NullableEnum8AttributeCallback callback); + private native void subscribeNullableInt64sAttribute(long chipClusterPtr, NullableInt64sAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableEnum8Attribute(long chipClusterPtr, NullableEnum8AttributeCallback callback); private native void writeNullableEnum8Attribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableEnum8Attribute(long chipClusterPtr - , NullableEnum8AttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableEnum16Attribute(long chipClusterPtr - , NullableEnum16AttributeCallback callback); + private native void subscribeNullableEnum8Attribute(long chipClusterPtr, NullableEnum8AttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableEnum16Attribute(long chipClusterPtr, NullableEnum16AttributeCallback callback); private native void writeNullableEnum16Attribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableEnum16Attribute(long chipClusterPtr - , NullableEnum16AttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableFloatSingleAttribute(long chipClusterPtr - , NullableFloatSingleAttributeCallback callback); + private native void subscribeNullableEnum16Attribute(long chipClusterPtr, NullableEnum16AttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableFloatSingleAttribute(long chipClusterPtr, NullableFloatSingleAttributeCallback callback); private native void writeNullableFloatSingleAttribute(long chipClusterPtr, DefaultClusterCallback callback, Float value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableFloatSingleAttribute(long chipClusterPtr - , NullableFloatSingleAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableFloatDoubleAttribute(long chipClusterPtr - , NullableFloatDoubleAttributeCallback callback); + private native void subscribeNullableFloatSingleAttribute(long chipClusterPtr, NullableFloatSingleAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableFloatDoubleAttribute(long chipClusterPtr, NullableFloatDoubleAttributeCallback callback); private native void writeNullableFloatDoubleAttribute(long chipClusterPtr, DefaultClusterCallback callback, Double value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableFloatDoubleAttribute(long chipClusterPtr - , NullableFloatDoubleAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableOctetStringAttribute(long chipClusterPtr - , NullableOctetStringAttributeCallback callback); + private native void subscribeNullableFloatDoubleAttribute(long chipClusterPtr, NullableFloatDoubleAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableOctetStringAttribute(long chipClusterPtr, NullableOctetStringAttributeCallback callback); private native void writeNullableOctetStringAttribute(long chipClusterPtr, DefaultClusterCallback callback, byte[] value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableOctetStringAttribute(long chipClusterPtr - , NullableOctetStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableCharStringAttribute(long chipClusterPtr - , NullableCharStringAttributeCallback callback); + private native void subscribeNullableOctetStringAttribute(long chipClusterPtr, NullableOctetStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableCharStringAttribute(long chipClusterPtr, NullableCharStringAttributeCallback callback); private native void writeNullableCharStringAttribute(long chipClusterPtr, DefaultClusterCallback callback, String value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableCharStringAttribute(long chipClusterPtr - , NullableCharStringAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableEnumAttrAttribute(long chipClusterPtr - , NullableEnumAttrAttributeCallback callback); + private native void subscribeNullableCharStringAttribute(long chipClusterPtr, NullableCharStringAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableEnumAttrAttribute(long chipClusterPtr, NullableEnumAttrAttributeCallback callback); private native void writeNullableEnumAttrAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableEnumAttrAttribute(long chipClusterPtr - , NullableEnumAttrAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableStructAttribute(long chipClusterPtr - , NullableStructAttributeCallback callback); + private native void subscribeNullableEnumAttrAttribute(long chipClusterPtr, NullableEnumAttrAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableStructAttribute(long chipClusterPtr, NullableStructAttributeCallback callback); private native void writeNullableStructAttribute(long chipClusterPtr, DefaultClusterCallback callback, ChipStructs.UnitTestingClusterSimpleStruct value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableStructAttribute(long chipClusterPtr - , NullableStructAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableRangeRestrictedInt8uAttribute(long chipClusterPtr - , NullableRangeRestrictedInt8uAttributeCallback callback); + private native void subscribeNullableStructAttribute(long chipClusterPtr, NullableStructAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableRangeRestrictedInt8uAttribute(long chipClusterPtr, NullableRangeRestrictedInt8uAttributeCallback callback); private native void writeNullableRangeRestrictedInt8uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableRangeRestrictedInt8uAttribute(long chipClusterPtr - , NullableRangeRestrictedInt8uAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableRangeRestrictedInt8sAttribute(long chipClusterPtr - , NullableRangeRestrictedInt8sAttributeCallback callback); + private native void subscribeNullableRangeRestrictedInt8uAttribute(long chipClusterPtr, NullableRangeRestrictedInt8uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableRangeRestrictedInt8sAttribute(long chipClusterPtr, NullableRangeRestrictedInt8sAttributeCallback callback); private native void writeNullableRangeRestrictedInt8sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableRangeRestrictedInt8sAttribute(long chipClusterPtr - , NullableRangeRestrictedInt8sAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableRangeRestrictedInt16uAttribute(long chipClusterPtr - , NullableRangeRestrictedInt16uAttributeCallback callback); + private native void subscribeNullableRangeRestrictedInt8sAttribute(long chipClusterPtr, NullableRangeRestrictedInt8sAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableRangeRestrictedInt16uAttribute(long chipClusterPtr, NullableRangeRestrictedInt16uAttributeCallback callback); private native void writeNullableRangeRestrictedInt16uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableRangeRestrictedInt16uAttribute(long chipClusterPtr - , NullableRangeRestrictedInt16uAttributeCallback callback, int minInterval, int maxInterval); - private native void readNullableRangeRestrictedInt16sAttribute(long chipClusterPtr - , NullableRangeRestrictedInt16sAttributeCallback callback); + private native void subscribeNullableRangeRestrictedInt16uAttribute(long chipClusterPtr, NullableRangeRestrictedInt16uAttributeCallback callback, int minInterval, int maxInterval); + + private native void readNullableRangeRestrictedInt16sAttribute(long chipClusterPtr, NullableRangeRestrictedInt16sAttributeCallback callback); private native void writeNullableRangeRestrictedInt16sAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeNullableRangeRestrictedInt16sAttribute(long chipClusterPtr - , NullableRangeRestrictedInt16sAttributeCallback callback, int minInterval, int maxInterval); - private native void readWriteOnlyInt8uAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void subscribeNullableRangeRestrictedInt16sAttribute(long chipClusterPtr, NullableRangeRestrictedInt16sAttributeCallback callback, int minInterval, int maxInterval); + + private native void readWriteOnlyInt8uAttribute(long chipClusterPtr, IntegerAttributeCallback callback); private native void writeWriteOnlyInt8uAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeWriteOnlyInt8uAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeWriteOnlyInt8uAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class FaultInjectionCluster extends BaseChipCluster { public static final long CLUSTER_ID = 4294048774L; @@ -33601,7 +31985,6 @@ public FaultInjectionCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void failAtFault(DefaultClusterCallback callback, Integer type, Long id, Long numCallsToSkip, Long numCallsToFail, Boolean takeMutex) { failAtFault(chipClusterPtr, callback, type, id, numCallsToSkip, numCallsToFail, takeMutex, null); } @@ -33627,16 +32010,19 @@ public interface GeneratedCommandListAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -33703,38 +32089,31 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } + public static class SampleMeiCluster extends BaseChipCluster { public static final long CLUSTER_ID = 4294048800L; @@ -33745,7 +32124,6 @@ public SampleMeiCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); - public void ping(DefaultClusterCallback callback) { ping(chipClusterPtr, callback, null); } @@ -33768,24 +32146,27 @@ public void addArguments(AddArgumentsResponseCallback callback, Integer arg1, In public interface AddArgumentsResponseCallback { void onSuccess(Integer returnValue); - void onError(Exception error); } + public interface GeneratedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AcceptedCommandListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface EventListAttributeCallback { void onSuccess(List value); void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface AttributeListAttributeCallback { void onSuccess(List value); void onError(Exception ex); @@ -33796,17 +32177,15 @@ public void readFlipFlopAttribute( BooleanAttributeCallback callback) { readFlipFlopAttribute(chipClusterPtr, callback); } + public void writeFlipFlopAttribute(DefaultClusterCallback callback, Boolean value) { writeFlipFlopAttribute(chipClusterPtr, callback, value, null); } - public void writeFlipFlopAttribute(DefaultClusterCallback callback, Boolean value, int timedWriteTimeoutMs) { writeFlipFlopAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs); } - - public void subscribeFlipFlopAttribute( BooleanAttributeCallback callback, int minInterval, int maxInterval) { subscribeFlipFlopAttribute(chipClusterPtr, callback, minInterval, maxInterval); @@ -33872,43 +32251,34 @@ public void subscribeClusterRevisionAttribute( subscribeClusterRevisionAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - - private native void readFlipFlopAttribute(long chipClusterPtr - , BooleanAttributeCallback callback); + private native void readFlipFlopAttribute(long chipClusterPtr, BooleanAttributeCallback callback); private native void writeFlipFlopAttribute(long chipClusterPtr, DefaultClusterCallback callback, Boolean value, @Nullable Integer timedWriteTimeoutMs); - private native void subscribeFlipFlopAttribute(long chipClusterPtr - , BooleanAttributeCallback callback, int minInterval, int maxInterval); - private native void readGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback); - - private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr - , GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback); - - private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr - , AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); - private native void readEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback); - - private native void subscribeEventListAttribute(long chipClusterPtr - , EventListAttributeCallback callback, int minInterval, int maxInterval); - private native void readAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback); - - private native void subscribeAttributeListAttribute(long chipClusterPtr - , AttributeListAttributeCallback callback, int minInterval, int maxInterval); - private native void readFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback); - - private native void subscribeFeatureMapAttribute(long chipClusterPtr - , LongAttributeCallback callback, int minInterval, int maxInterval); - private native void readClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback); - - private native void subscribeClusterRevisionAttribute(long chipClusterPtr - , IntegerAttributeCallback callback, int minInterval, int maxInterval); + private native void subscribeFlipFlopAttribute(long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback); + + private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback); + + private native void subscribeAcceptedCommandListAttribute(long chipClusterPtr, AcceptedCommandListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback); + + private native void subscribeEventListAttribute(long chipClusterPtr, EventListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback); + + private native void subscribeAttributeListAttribute(long chipClusterPtr, AttributeListAttributeCallback callback, int minInterval, int maxInterval); + + private native void readFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback); + + private native void subscribeFeatureMapAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval); + + private native void readClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback); + + private native void subscribeClusterRevisionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); } } From f754eabe181b385e0bc6726510d61bec187a8236 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 09:46:02 -0400 Subject: [PATCH 08/44] Bump third_party/pigweed/repo from `9504c03` to `fbb318a` (#29901) Bumps [third_party/pigweed/repo](https://github.com/google/pigweed) from `9504c03` to `fbb318a`. - [Commits](https://github.com/google/pigweed/compare/9504c03ed4b45e81d5c72ee537565b03fb2be062...fbb318aff82edfe8bfcc7312661fe2c9e4db49ff) --- updated-dependencies: - dependency-name: third_party/pigweed/repo dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- third_party/pigweed/repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/pigweed/repo b/third_party/pigweed/repo index 9504c03ed4b45e..fbb318aff82edf 160000 --- a/third_party/pigweed/repo +++ b/third_party/pigweed/repo @@ -1 +1 @@ -Subproject commit 9504c03ed4b45e81d5c72ee537565b03fb2be062 +Subproject commit fbb318aff82edfe8bfcc7312661fe2c9e4db49ff From 6a93b9ef641ea2a2ff7b22e4c917e5ce0d29aed0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 14:09:47 +0000 Subject: [PATCH 09/44] Bump third_party/openthread/repo from `66eaeec` to `837c7fd` (#29900) Bumps [third_party/openthread/repo](https://github.com/openthread/openthread) from `66eaeec` to `837c7fd`. - [Release notes](https://github.com/openthread/openthread/releases) - [Commits](https://github.com/openthread/openthread/compare/66eaeec41a7090454a8825beff237844f5deca90...837c7fd357d3546f96b9b1433d8f1348371b242e) --- updated-dependencies: - dependency-name: third_party/openthread/repo dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- third_party/openthread/repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/openthread/repo b/third_party/openthread/repo index 66eaeec41a7090..837c7fd357d354 160000 --- a/third_party/openthread/repo +++ b/third_party/openthread/repo @@ -1 +1 @@ -Subproject commit 66eaeec41a7090454a8825beff237844f5deca90 +Subproject commit 837c7fd357d3546f96b9b1433d8f1348371b242e From 70e256b931721032c7984e93ce8c9868828a6304 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Mon, 23 Oct 2023 10:19:22 -0400 Subject: [PATCH 10/44] Wait 1.25 instead of 1.05 seconds on test to make CI less flaky (#29910) --- src/app/tests/suites/certification/Test_TC_S_2_3.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/tests/suites/certification/Test_TC_S_2_3.yaml b/src/app/tests/suites/certification/Test_TC_S_2_3.yaml index eb1637fdf563cf..a125b004025505 100644 --- a/src/app/tests/suites/certification/Test_TC_S_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_S_2_3.yaml @@ -589,14 +589,14 @@ tests: - name: "SceneID" value: 0x01 - - label: "Wait 1s" + - label: "Wait 1+ s" PICS: PICS_SDK_CI_ONLY cluster: "DelayCommands" command: "WaitForMs" arguments: values: - name: "ms" - value: 1050 + value: 1250 - label: "TH confirm the DUT reached AC1 (on level control cluster) after 1s" From 12dd39a48c633d76a7a0fe4414312c7a92d68dd8 Mon Sep 17 00:00:00 2001 From: shgutte <102281713+shgutte@users.noreply.github.com> Date: Mon, 23 Oct 2023 19:59:33 +0530 Subject: [PATCH 11/44] [Silabs][WiFi] Added fix for commissioning failing with power cycle on board 917 NCP (#29884) * Added changes for the power cycle issue * Added changes for only 917 NCP and firmware version print * fix for build errors * Removed the changes for dissconnect event * Restyled by whitespace * Restyled by clang-format --------- Co-authored-by: yap Co-authored-by: Restyled.io --- examples/platform/silabs/SiWx917/SiWx917/sl_wifi_if.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/examples/platform/silabs/SiWx917/SiWx917/sl_wifi_if.c b/examples/platform/silabs/SiWx917/SiWx917/sl_wifi_if.c index c9a7670623e684..27b677432b30d5 100644 --- a/examples/platform/silabs/SiWx917/SiWx917/sl_wifi_if.c +++ b/examples/platform/silabs/SiWx917/SiWx917/sl_wifi_if.c @@ -265,14 +265,12 @@ static sl_status_t wfx_rsi_init(void) return status; } #endif - status = sl_wifi_get_mac_address(SL_WIFI_CLIENT_INTERFACE, (sl_mac_address_t *) &wfx_rsi.sta_mac.octet[0]); if (status != SL_STATUS_OK) { SILABS_LOG("sl_wifi_get_mac_address failed: %x", status); return status; } - wfx_rsi.events = xEventGroupCreateStatic(&rsiDriverEventGroup); wfx_rsi.dev_state |= WFX_RSI_ST_DEV_READY; osSemaphoreRelease(sl_rs_ble_init_sem); @@ -400,14 +398,19 @@ static void wfx_rsi_save_ap_info() // translation return; } wfx_rsi.dev_state |= WFX_RSI_ST_SCANSTARTED; - sl_status_t status = SL_STATUS_OK; + sl_status_t status = SL_STATUS_OK; +#ifndef EXP_BOARD // TODO: this changes will be reverted back after the SDK team fix the scan API sl_wifi_scan_configuration_t wifi_scan_configuration = { 0 }; wifi_scan_configuration = default_wifi_scan_configuration; +#endif sl_wifi_ssid_t ssid_arg; ssid_arg.length = strlen(wfx_rsi.sec.ssid); memcpy(ssid_arg.value, (int8_t *) &wfx_rsi.sec.ssid[0], ssid_arg.length); sl_wifi_set_scan_callback(scan_callback_handler, NULL); +#ifndef EXP_BOARD + // TODO: this changes will be reverted back after the SDK team fix the scan API status = sl_wifi_start_scan(SL_WIFI_CLIENT_2_4GHZ_INTERFACE, &ssid_arg, &wifi_scan_configuration); +#endif if (SL_STATUS_IN_PROGRESS == status) { const uint32_t start = osKernelGetTickCount(); @@ -510,6 +513,7 @@ static sl_status_t wfx_rsi_do_join(void) { while (is_wifi_disconnection_event || wfx_rsi.join_retries <= WFX_RSI_CONFIG_MAX_JOIN) { + SILABS_LOG("%s: Wifi connect failed with status: %x", __func__, status); SILABS_LOG("%s: failed. retry: %d", __func__, wfx_rsi.join_retries); wfx_retry_interval_handler(is_wifi_disconnection_event, wfx_rsi.join_retries++); if (is_wifi_disconnection_event || wfx_rsi.join_retries <= WFX_RSI_CONFIG_MAX_JOIN) From 9cb7626043bf23bba91df2f932c02c6e33454eda Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Mon, 23 Oct 2023 10:39:47 -0400 Subject: [PATCH 12/44] Fix chip_logging=false builds. (#29878) Fixes https://github.com/project-chip/connectedhomeip/issues/29877 --- .github/workflows/build.yaml | 10 +++-- .../chip-tool/commands/clusters/JsonParser.h | 2 + src/lib/support/logging/TextOnlyLogging.cpp | 14 ------- src/lib/support/logging/TextOnlyLogging.h | 40 ++++++++++++------- 4 files changed, 35 insertions(+), 31 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5412d2956536dc..902c7afc618545 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -85,18 +85,22 @@ jobs: # - name: Upload Code Coverage # if: ${{ contains('main', env.BUILD_TYPE) }} # run: bash <(curl -s https://codecov.io/bash) - - name: Setup Build Without Detail Logging + - name: Set up Build Without Detail Logging run: scripts/build/gn_gen.sh --args="chip_detail_logging=false" - name: Run Build Without Detail Logging run: scripts/run_in_build_env.sh "ninja -C ./out" - - name: Setup Build Without Progress Logging + - name: Set up Build Without Progress Logging run: scripts/build/gn_gen.sh --args="chip_detail_logging=false chip_progress_logging=false" - name: Run Build Without Progress Logging run: scripts/run_in_build_env.sh "ninja -C ./out" - - name: Setup Build Without Error Logging + - name: Set up Build Without Error Logging run: scripts/build/gn_gen.sh --args="chip_detail_logging=false chip_progress_logging=false chip_error_logging=false" - name: Run Build Without Error Logging run: scripts/run_in_build_env.sh "ninja -C ./out" + - name: Set up Build Without Logging + run: scripts/build/gn_gen.sh --args="chip_logging=false" + - name: Run Build Without Logging + run: scripts/run_in_build_env.sh "ninja -C ./out" - name: Uploading core files uses: actions/upload-artifact@v3 if: ${{ failure() && !env.ACT }} diff --git a/examples/chip-tool/commands/clusters/JsonParser.h b/examples/chip-tool/commands/clusters/JsonParser.h index adb1375bd880d1..9f13c3be8914a7 100644 --- a/examples/chip-tool/commands/clusters/JsonParser.h +++ b/examples/chip-tool/commands/clusters/JsonParser.h @@ -130,6 +130,7 @@ class JsonParser private: static void LogErrorLocation(chip::Optional & errorColumn, const char * json) { +#if CHIP_ERROR_LOGGING if (!errorColumn.HasValue()) { return; @@ -160,5 +161,6 @@ class JsonParser errorMarker += "^"; ChipLogError(chipTool, "%s", errorMarker.c_str()); errorColumn.ClearValue(); +#endif // CHIP_ERROR_LOGGING } }; diff --git a/src/lib/support/logging/TextOnlyLogging.cpp b/src/lib/support/logging/TextOnlyLogging.cpp index 738f4c81bac152..1e573942f85e17 100644 --- a/src/lib/support/logging/TextOnlyLogging.cpp +++ b/src/lib/support/logging/TextOnlyLogging.cpp @@ -221,20 +221,6 @@ void SetLogFilter(uint8_t category) gLogFilter = category; } -#else // CHIP_LOG_FILTERING - -uint8_t GetLogFilter() -{ - return kLogCategory_Max; -} - -void SetLogFilter(uint8_t category) -{ - IgnoreUnusedVariable(category); -} -#endif // CHIP_LOG_FILTERING - -#if CHIP_LOG_FILTERING bool IsCategoryEnabled(uint8_t category) { return (category <= gLogFilter); diff --git a/src/lib/support/logging/TextOnlyLogging.h b/src/lib/support/logging/TextOnlyLogging.h index a59946c2aab4c8..d6b22f7c6c5a6b 100644 --- a/src/lib/support/logging/TextOnlyLogging.h +++ b/src/lib/support/logging/TextOnlyLogging.h @@ -79,16 +79,8 @@ namespace chip { namespace Logging { -// Get the module name associated with a LogModule, or "-" on invalid value. -const char * GetModuleName(LogModule module); - // Log redirection using LogRedirectCallback_t = void (*)(const char * module, uint8_t category, const char * msg, va_list args); -DLL_EXPORT void SetLogRedirectCallback(LogRedirectCallback_t callback); - -// Log filtering (no-op unless CHIP_LOG_FILTERING is enabled) -DLL_EXPORT uint8_t GetLogFilter(); -DLL_EXPORT void SetLogFilter(uint8_t category); #if CHIP_ERROR_LOGGING /** @@ -323,18 +315,34 @@ DLL_EXPORT void SetLogFilter(uint8_t category); #define _CHIP_USE_LOGGING 0 #endif // CHIP_ERROR_LOGGING || CHIP_PROGRESS_LOGGING || CHIP_DETAIL_LOGGING || CHIP_AUTOMATION_LOGGING -#if _CHIP_USE_LOGGING +// Log filtering (no-op unless CHIP_LOG_FILTERING is enabled) +#if _CHIP_USE_LOGGING && CHIP_LOG_FILTERING +DLL_EXPORT uint8_t GetLogFilter(); +DLL_EXPORT void SetLogFilter(uint8_t category); +bool IsCategoryEnabled(uint8_t category); +#else // _CHIP_USE_LOGGING && CHIP_LOG_FILTERING +inline uint8_t GetLogFilter() +{ + return kLogCategory_Max; +} -static constexpr uint16_t kMaxModuleNameLen = 3; +inline void SetLogFilter(uint8_t category) {} -#if CHIP_LOG_FILTERING -bool IsCategoryEnabled(uint8_t category); -#else // CHIP_LOG_FILTERING inline bool IsCategoryEnabled(uint8_t category) { return true; } -#endif // CHIP_LOG_FILTERING +#endif // _CHIP_USE_LOGGING && CHIP_LOG_FILTERING + +#if _CHIP_USE_LOGGING + +// Get the module name associated with a LogModule, or "-" on invalid value. +const char * GetModuleName(LogModule module); + +// Log redirection +DLL_EXPORT void SetLogRedirectCallback(LogRedirectCallback_t callback); + +static constexpr uint16_t kMaxModuleNameLen = 3; /* Internal macros mapping upper case definitions to camel case category constants*/ #define CHIP_LOG_CATEGORY_DETAIL chip::Logging::kLogCategory_Detail @@ -427,6 +435,10 @@ void HandleTokenizedLog(uint32_t levels, pw_tokenizer_Token token, pw_tokenizer_ } while (0) #endif // CHIP_PW_TOKENIZER_LOGGING +#else // _CHIP_USE_LOGGING + +inline void SetLogRedirectCallback(LogRedirectCallback_t callback) {} + #endif // _CHIP_USE_LOGGING } // namespace Logging From 507e06ad091812d81055fce4caded42a2b11b2bb Mon Sep 17 00:00:00 2001 From: Sam Ryan Date: Mon, 23 Oct 2023 10:40:20 -0400 Subject: [PATCH 13/44] Allow redefines of Ameba config options (#29733) --- src/platform/Ameba/CHIPDevicePlatformConfig.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/platform/Ameba/CHIPDevicePlatformConfig.h b/src/platform/Ameba/CHIPDevicePlatformConfig.h index 04d510c8f54c31..647466b5970102 100644 --- a/src/platform/Ameba/CHIPDevicePlatformConfig.h +++ b/src/platform/Ameba/CHIPDevicePlatformConfig.h @@ -32,9 +32,13 @@ #define CHIP_DEVICE_CONFIG_ENABLE_THREAD 1 #endif +#ifndef CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE #define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1 +#endif +#ifndef CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC #define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 0 +#endif // ========== Platform-specific Configuration ========= From 20e7c75f8da8a5cea1c1197c20d9181add1ec07b Mon Sep 17 00:00:00 2001 From: C Freeman Date: Mon, 23 Oct 2023 10:41:22 -0400 Subject: [PATCH 14/44] Update tag test to include root and omit content app (#29731) * Update tag test to include root and omit content app * Restyled by isort * Fix test of the test One line got missed in the commit. --------- Co-authored-by: Restyled.io --- .../TC_DeviceBasicComposition.py | 40 +++++++++++++-- .../TestMatterTestingSupport.py | 51 ++++++++++++++++++- 2 files changed, 84 insertions(+), 7 deletions(-) diff --git a/src/python_testing/TC_DeviceBasicComposition.py b/src/python_testing/TC_DeviceBasicComposition.py index 63a03fa9c3a8d7..b333085fa2eef1 100644 --- a/src/python_testing/TC_DeviceBasicComposition.py +++ b/src/python_testing/TC_DeviceBasicComposition.py @@ -184,10 +184,13 @@ def separate_endpoint_types(endpoint_dict: dict[int, Any]) -> tuple[list[int], l if endpoint_id == 0: continue aggregator_id = 0x000e + content_app_id = 0x0024 device_types = [d.deviceType for d in endpoint[Clusters.Descriptor][Clusters.Descriptor.Attributes.DeviceTypeList]] if aggregator_id in device_types: flat.append(endpoint_id) else: + if content_app_id in device_types: + continue tree.append(endpoint_id) return (flat, tree) @@ -266,6 +269,23 @@ def create_device_type_lists(roots: list[int], endpoint_dict: dict[int, Any]) -> return device_types +def get_direct_children_of_root(endpoint_dict: dict[int, Any]) -> set[int]: + root_children = set(endpoint_dict[0][Clusters.Descriptor][Clusters.Descriptor.Attributes.PartsList]) + direct_children = root_children + for ep in root_children: + ep_children = set(endpoint_dict[ep][Clusters.Descriptor][Clusters.Descriptor.Attributes.PartsList]) + direct_children = direct_children - ep_children + return direct_children + + +def create_device_type_list_for_root(direct_children, endpoint_dict: dict[int, Any]) -> dict[int, set[int]]: + device_types = defaultdict(set) + for ep in direct_children: + for d in endpoint_dict[ep][Clusters.Descriptor][Clusters.Descriptor.Attributes.DeviceTypeList]: + device_types[d.deviceType].add(ep) + return device_types + + def cmp_tag_list(a: Clusters.Descriptor.Structs.SemanticTagStruct, b: Clusters.Descriptor.Structs.SemanticTagStruct): if a.mfgCode != b.mfgCode: return -1 if a.mfgCode < b.mfgCode else 1 @@ -817,18 +837,19 @@ def GetPartValidityProblem(endpoint): self.fail_current_test("power source EndpointList attribute is incorrect") def test_DESC_2_2(self): - self.print_step(1, "Wildcard read of device - already done") + self.print_step(0, "Wildcard read of device - already done") - self.print_step(2, "Identify all endpoints that are roots of a tree-composition") + self.print_step( + 1, "Identify all endpoints that are roots of a tree-composition. Omit any endpoints that include the Content App device type.") _, tree = separate_endpoint_types(self.endpoints) roots = find_tree_roots(tree, self.endpoints) self.print_step( - 3, "For each tree root, go through each of the children and add their endpoint IDs to a list of device types based on the DeviceTypes list") + 1.1, "For each tree root, go through each of the children and add their endpoint IDs to a list of device types based on the DeviceTypes list") device_types = create_device_type_lists(roots, self.endpoints) self.print_step( - 4, "For device types with more than one endpoint listed, ensure each of the listed endpoints has a tag attribute and the tag attributes are not the same") + 1.2, "For device types with more than one endpoint listed, ensure each of the listed endpoints has a tag attribute and the tag attributes are not the same") problems = find_tag_list_problems(roots, device_types, self.endpoints) for ep, problem in problems.items(): @@ -837,7 +858,16 @@ def test_DESC_2_2(self): msg = f'problem on ep {ep}: missing feature = {problem.missing_feature}, missing attribute = {problem.missing_attribute}, duplicates = {problem.duplicates}, same_tags = {problem.same_tag}' self.record_error(self.get_test_name(), location=location, problem=msg, spec_location="Descriptor TagList") - if problems: + self.print_step(2, "Identify all the direct children of the root node endpoint") + root_direct_children = get_direct_children_of_root(self.endpoints) + self.print_step( + 2.1, "Go through each of the direct children of the root node and add their endpoint IDs to a list of device types based on the DeviceTypes list") + device_types = create_device_type_list_for_root(root_direct_children, self.endpoints) + self.print_step( + 2.2, "For device types with more than one endpoint listed, ensure each of the listed endpoints has a tag attribute and the tag attributes are not the same") + root_problems = find_tag_list_problems([0], {0: device_types}, self.endpoints) + + if problems or root_problems: self.fail_current_test("Problems with tags lists") diff --git a/src/python_testing/TestMatterTestingSupport.py b/src/python_testing/TestMatterTestingSupport.py index cf3dfe31d12899..f69182ad6b5350 100644 --- a/src/python_testing/TestMatterTestingSupport.py +++ b/src/python_testing/TestMatterTestingSupport.py @@ -25,8 +25,9 @@ from matter_testing_support import (MatterBaseTest, async_test_body, compare_time, default_matter_test_main, get_wait_seconds_from_set_time, parse_pics, type_matches, utc_time_in_matter_epoch) from mobly import asserts, signals -from TC_DeviceBasicComposition import (TagProblem, create_device_type_lists, find_tag_list_problems, find_tree_roots, - get_all_children, parts_list_cycles, separate_endpoint_types) +from TC_DeviceBasicComposition import (TagProblem, create_device_type_list_for_root, create_device_type_lists, + find_tag_list_problems, find_tree_roots, get_all_children, get_direct_children_of_root, + parts_list_cycles, separate_endpoint_types) def get_raw_type_list(): @@ -538,6 +539,52 @@ def test_tag_list_problems(self): problems = find_tag_list_problems(roots, device_types, simple) asserts.assert_equal(len(problems), 0, "Unexpected problems found in list") + def test_root_node_tag_list_functions(self): + # Example topology - see comment above for the layout. + # There are 4 direct children of root 0 + # node 2, node 6 and node 10 all have device ID 1 + # node 11 is an aggregator + endpoints = self.create_example_topology() + expected = {2, 6, 10, 11} + direct = get_direct_children_of_root(endpoints) + asserts.assert_equal(expected, direct, 'Incorrect list of direct children returned from root') + + # add a new child endpoint that's an aggregator on EP 20 + aggregator_desc = {Clusters.Descriptor.Attributes.FeatureMap: 1, + Clusters.Descriptor.Attributes.PartsList: [], + Clusters.Descriptor.Attributes.DeviceTypeList: [Clusters.Descriptor.Structs.DeviceTypeStruct(0xe)], + } + endpoints[22] = {Clusters.Descriptor: aggregator_desc} + endpoints[0][Clusters.Descriptor][Clusters.Descriptor.Attributes.PartsList].append(22) + expected.add(22) + direct = get_direct_children_of_root(endpoints) + asserts.assert_equal(expected, direct, 'Incorrect list of direct children returned from root') + + device_type_list = create_device_type_list_for_root(direct, endpoints) + asserts.assert_equal(len(device_type_list), 2, 'Incorrect number of device types returned in root device type list') + expected_device_types = {1, 0xe} + asserts.assert_equal(set(device_type_list.keys()), expected_device_types, 'Unexpected device type list returned') + expected_eps_dt1 = {2, 6, 10} + asserts.assert_equal(set(device_type_list[1]), expected_eps_dt1, 'Unexpected endpoint list for DT1') + expected_eps_dte = {11, 22} + asserts.assert_equal(set(device_type_list[0xe]), expected_eps_dte, 'Unexpected endpoint list for DT 0xe') + + problems = find_tag_list_problems(roots=[0], device_types={0: device_type_list}, endpoint_dict=endpoints) + + # NONE of the endpoints currently have tags, so they should ALL be reported as having problems + expected_problems = {2, 6, 10, 11, 22} + asserts.assert_equal(set(problems.keys()), expected_problems, "Unexpected problem list returned for root node") + + # Let's add correct tags to everything and make sure we get no problems reported. + # the various problems are tested individually in the above test case, so the intent is to ensure this also + # works for the root + for ep in expected_problems: + endpoints[ep][Clusters.Descriptor][Clusters.Descriptor.Attributes.TagList] = [ + Clusters.Descriptor.Structs.SemanticTagStruct(namespaceID=ep)] + endpoints[ep][Clusters.Descriptor][Clusters.Descriptor.Attributes.FeatureMap] = 1 + problems = find_tag_list_problems(roots=[0], device_types={0: device_type_list}, endpoint_dict=endpoints) + asserts.assert_equal(len(problems.keys()), 0, 'Unexpected problems found in root endpoint') + if __name__ == "__main__": default_matter_test_main() From 9ddca5fb61cb4822b8f468af530e279912a67a76 Mon Sep 17 00:00:00 2001 From: Sharad Binjola Date: Mon, 9 Oct 2023 15:26:45 -0700 Subject: [PATCH 15/44] Linux tv-casting-app: simplified CastingPlayer.VerifyOrEstablishConnection API --- examples/tv-casting-app/APIs.md | 35 +- .../src/main/jni/cpp/core/CastingApp-JNI.cpp | 18 +- examples/tv-casting-app/linux/BUILD.gn | 2 + .../linux/simple-app-helper.cpp | 177 +++++++++ .../tv-casting-app/linux/simple-app-helper.h | 92 +++++ examples/tv-casting-app/linux/simple-app.cpp | 47 +-- .../tv-casting-app/tv-casting-common/BUILD.gn | 5 + .../tv-casting-common/core/CastingApp.cpp | 6 +- .../tv-casting-common/core/CastingApp.h | 5 + .../tv-casting-common/core/CastingPlayer.cpp | 275 ++++++++++++++ .../tv-casting-common/core/CastingPlayer.h | 201 ++++++---- .../core/CastingPlayerDiscovery.cpp | 21 +- .../support/CastingStore.cpp | 343 ++++++++++++++++++ .../tv-casting-common/support/CastingStore.h | 97 +++++ .../support/ChipDeviceEventHandler.cpp | 189 ++++++++++ .../support/ChipDeviceEventHandler.h | 84 +++++ 16 files changed, 1466 insertions(+), 131 deletions(-) create mode 100644 examples/tv-casting-app/linux/simple-app-helper.cpp create mode 100644 examples/tv-casting-app/linux/simple-app-helper.h create mode 100644 examples/tv-casting-app/tv-casting-common/core/CastingPlayer.cpp create mode 100644 examples/tv-casting-app/tv-casting-common/support/CastingStore.cpp create mode 100644 examples/tv-casting-app/tv-casting-common/support/CastingStore.h create mode 100644 examples/tv-casting-app/tv-casting-common/support/ChipDeviceEventHandler.cpp create mode 100644 examples/tv-casting-app/tv-casting-common/support/ChipDeviceEventHandler.h diff --git a/examples/tv-casting-app/APIs.md b/examples/tv-casting-app/APIs.md index 8a6212540be2f2..d7f41ac5b376c1 100644 --- a/examples/tv-casting-app/APIs.md +++ b/examples/tv-casting-app/APIs.md @@ -405,7 +405,7 @@ func initialize() -> MatterError { ### Discover Casting Players -_{Complete Discovery examples: [Linux](linux/simple-app.cpp)}_ +_{Complete Discovery examples: [Linux](linux/simple-app-helper.cpp)}_ The Casting Client discovers `CastingPlayers` using Matter Commissioner discovery over DNS-SD by listening for `CastingPlayer` events as they are @@ -444,12 +444,14 @@ singleton instance. Then, call `StartDiscovery` by optionally specifying the `kTargetPlayerDeviceType` to filter results by. ```c +const uint64_t kTargetPlayerDeviceType = 35; // 35 represents device type of Matter Video Player +... +... DiscoveryDelegateImpl delegate; CastingPlayerDiscovery::GetInstance()->SetDelegate(&delegate); VerifyOrReturnValue(err == CHIP_NO_ERROR, 0, ChipLogError(AppServer, "CastingPlayerDiscovery::SetDelegate failed %" CHIP_ERROR_FORMAT, err.Format())); -const uint64_t kTargetPlayerDeviceType = 35; // 35 represents device type of Matter Video Player err = CastingPlayerDiscovery::GetInstance()->StartDiscovery(kTargetPlayerDeviceType); VerifyOrReturnValue(err == CHIP_NO_ERROR, 0, ChipLogError(AppServer, "CastingPlayerDiscovery::StartDiscovery failed %" CHIP_ERROR_FORMAT, err.Format())); @@ -459,6 +461,35 @@ chip::DeviceLayer::PlatformMgr().RunEventLoop(); ### Connect to a Casting Player +_{Complete Connection examples: [Linux](linux/simple-app-helper.cpp)}_ + +Each `CastingPlayer` object created during +[Discovery](#discover-casting-players) contains information such as +`deviceName`, `vendorId`, `productId`, etc. which can help the user pick the +right `CastingPlayer`. A Casting Client can attempt to connect to the +`selectedCastingPlayer` using +[Matter User Directed Commissioning (UDC)](https://github.com/CHIP-Specifications/connectedhomeip-spec/blob/master/src/rendezvous/UserDirectedCommissioning.adoc). +The Matter TV Casting library locally caches information required to reconnect +to a `CastingPlayer`, once the Casting client has been commissioned by it. After +that, the Casting client is able to skip the full UDC process by establishing +CASE with the `CastingPlayer` directly. Once connected, the `CastingPlayer` +object will contain the list of available Endpoints on that `CastingPlayer`. + +On Linux, the Casting Client can connect to a `CastingPlayer` by successfully +calling `VerifyOrEstablishConnection` on it. + +```c +void ConnectionHandler(CHIP_ERROR err, matter::casting::core::CastingPlayer * castingPlayer) +{ + ChipLogProgress(AppServer, "ConnectionHandler called with %" CHIP_ERROR_FORMAT, err.Format()); +} + +... +// targetCastingPlayer is a discovered CastingPlayer +targetCastingPlayer->VerifyOrEstablishConnection(ConnectionHandler); +... +``` + ### Select an Endpoint on the Casting Player ## Interacting with a Casting Endpoint diff --git a/examples/tv-casting-app/android/App/app/src/main/jni/cpp/core/CastingApp-JNI.cpp b/examples/tv-casting-app/android/App/app/src/main/jni/cpp/core/CastingApp-JNI.cpp index 984287af8c30fd..90a36bbfec92ca 100644 --- a/examples/tv-casting-app/android/App/app/src/main/jni/cpp/core/CastingApp-JNI.cpp +++ b/examples/tv-casting-app/android/App/app/src/main/jni/cpp/core/CastingApp-JNI.cpp @@ -21,7 +21,10 @@ #include "../JNIDACProvider.h" #include "../support/ErrorConverter-JNI.h" #include "../support/RotatingDeviceIdUniqueIdProvider-JNI.h" -#include "core/CastingApp.h" // from tv-casting-common + +// from tv-casting-common +#include "core/CastingApp.h" +#include "support/ChipDeviceEventHandler.h" #include #include @@ -79,20 +82,25 @@ JNI_METHOD(jobject, finishStartup)(JNIEnv *, jobject) { chip::DeviceLayer::StackLock lock; ChipLogProgress(AppServer, "JNI_METHOD CastingAppJNI.finishStartup called"); - auto & server = chip::Server::GetInstance(); + + CHIP_ERROR err = CHIP_NO_ERROR; + auto & server = chip::Server::GetInstance(); // TODO: Set AppDelegate // &server.GetCommissioningWindowManager().SetAppDelegate(??); // Initialize binding handlers - chip::BindingManager::GetInstance().Init( + err = chip::BindingManager::GetInstance().Init( { &server.GetFabricTable(), server.GetCASESessionManager(), &server.GetPersistentStorage() }); + VerifyOrReturnValue(err == CHIP_NO_ERROR, support::createJMatterError(err), + ChipLogError(AppServer, "Failed to init BindingManager %" CHIP_ERROR_FORMAT, err.Format())); // TODO: Set FabricDelegate // chip::Server::GetInstance().GetFabricTable().AddFabricDelegate(&mPersistenceManager); - // TODO: Add DeviceEvent Handler - // ReturnErrorOnFailure(DeviceLayer::PlatformMgrImpl().AddEventHandler(DeviceEventCallback, 0)); + err = chip::DeviceLayer::PlatformMgrImpl().AddEventHandler(support::ChipDeviceEventHandler::Handle, 0); + VerifyOrReturnValue(err == CHIP_NO_ERROR, support::createJMatterError(err), + ChipLogError(AppServer, "Failed to register ChipDeviceEventHandler %" CHIP_ERROR_FORMAT, err.Format())); return support::createJMatterError(CHIP_NO_ERROR); } diff --git a/examples/tv-casting-app/linux/BUILD.gn b/examples/tv-casting-app/linux/BUILD.gn index 113c6f56219f7d..0e4b9820538412 100644 --- a/examples/tv-casting-app/linux/BUILD.gn +++ b/examples/tv-casting-app/linux/BUILD.gn @@ -27,6 +27,8 @@ executable("chip-tv-casting-app") { if (chip_casting_simplified) { sources = [ "${chip_root}/examples/tv-casting-app/tv-casting-common/include/CHIPProjectAppConfig.h", + "simple-app-helper.cpp", + "simple-app-helper.h", "simple-app.cpp", ] } else { diff --git a/examples/tv-casting-app/linux/simple-app-helper.cpp b/examples/tv-casting-app/linux/simple-app-helper.cpp new file mode 100644 index 00000000000000..dab134dfb7b57c --- /dev/null +++ b/examples/tv-casting-app/linux/simple-app-helper.cpp @@ -0,0 +1,177 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "simple-app-helper.h" + +#include "app/clusters/bindings/BindingManager.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DiscoveryDelegateImpl * DiscoveryDelegateImpl::_discoveryDelegateImpl = nullptr; + +DiscoveryDelegateImpl * DiscoveryDelegateImpl::GetInstance() +{ + if (_discoveryDelegateImpl == nullptr) + { + _discoveryDelegateImpl = new DiscoveryDelegateImpl(); + } + return _discoveryDelegateImpl; +} + +void DiscoveryDelegateImpl::HandleOnAdded(matter::casting::memory::Strong player) +{ + if (commissionersCount == 0) + { + ChipLogProgress(AppServer, "Select discovered Casting Player (start index = 0) to request commissioning"); + + ChipLogProgress(AppServer, "Example: cast request 0"); + } + ChipLogProgress(AppServer, "Discovered CastingPlayer #%d", commissionersCount); + ++commissionersCount; + player->LogDetail(); +} + +void DiscoveryDelegateImpl::HandleOnUpdated(matter::casting::memory::Strong player) +{ + ChipLogProgress(AppServer, "Updated CastingPlayer with ID: %s", player->GetId()); +} + +void ConnectionHandler(CHIP_ERROR err, matter::casting::core::CastingPlayer * castingPlayer) +{ + ChipLogProgress(AppServer, "ConnectionHandler called with %" CHIP_ERROR_FORMAT, err.Format()); +} + +#if defined(ENABLE_CHIP_SHELL) +void RegisterCommands() +{ + static const chip::Shell::shell_command_t sDeviceComand = { &CommandHandler, "cast", + "Casting commands. Usage: cast [command_name]" }; + + // Register the root `device` command with the top-level shell. + chip::Shell::Engine::Root().RegisterCommands(&sDeviceComand, 1); +} + +CHIP_ERROR CommandHandler(int argc, char ** argv) +{ + if (argc == 0 || strcmp(argv[0], "help") == 0) + { + return PrintAllCommands(); + } + if (strcmp(argv[0], "discover") == 0) + { + ChipLogProgress(AppServer, "discover"); + + return matter::casting::core::CastingPlayerDiscovery::GetInstance()->StartDiscovery(kTargetPlayerDeviceType); + } + if (strcmp(argv[0], "stop-discovery") == 0) + { + ChipLogProgress(AppServer, "stop-discovery"); + return matter::casting::core::CastingPlayerDiscovery::GetInstance()->StopDiscovery(); + } + if (strcmp(argv[0], "request") == 0) + { + ChipLogProgress(AppServer, "request"); + if (argc < 2) + { + return PrintAllCommands(); + } + char * eptr; + unsigned long index = static_cast(strtol(argv[1], &eptr, 10)); + std::vector> castingPlayers = + matter::casting::core::CastingPlayerDiscovery::GetInstance()->GetCastingPlayers(); + VerifyOrReturnValue(0 <= index && index < castingPlayers.size(), CHIP_ERROR_INVALID_ARGUMENT, + ChipLogError(AppServer, "Invalid casting player index provided: %lu", index)); + std::shared_ptr targetCastingPlayer = castingPlayers.at(index); + targetCastingPlayer->VerifyOrEstablishConnection(ConnectionHandler); + return CHIP_NO_ERROR; + } + if (strcmp(argv[0], "print-bindings") == 0) + { + PrintBindings(); + return CHIP_NO_ERROR; + } + if (strcmp(argv[0], "print-fabrics") == 0) + { + PrintFabrics(); + return CHIP_NO_ERROR; + } + if (strcmp(argv[0], "delete-fabric") == 0) + { + char * eptr; + chip::FabricIndex fabricIndex = (chip::FabricIndex) strtol(argv[1], &eptr, 10); + chip::Server::GetInstance().GetFabricTable().Delete(fabricIndex); + return CHIP_NO_ERROR; + } + return CHIP_ERROR_INVALID_ARGUMENT; +} + +CHIP_ERROR PrintAllCommands() +{ + chip::Shell::streamer_t * sout = chip::Shell::streamer_get(); + streamer_printf(sout, " help Usage: cast \r\n"); + streamer_printf(sout, " print-bindings Usage: cast print-bindings\r\n"); + streamer_printf(sout, " print-fabrics Usage: cast print-fabrics\r\n"); + streamer_printf( + sout, + " delete-fabric Delete a fabric from the casting client's fabric store. Usage: cast delete-fabric 1\r\n"); + streamer_printf(sout, " discover Discover Casting Players. Usage: cast discover\r\n"); + streamer_printf(sout, " stop-discovery Stop Discovery of Casting Players. Usage: cast stop-discovery\r\n"); + streamer_printf( + sout, " request Request connecting to discovered Casting Player with [index]. Usage: cast request 0\r\n"); + streamer_printf(sout, "\r\n"); + + return CHIP_NO_ERROR; +} + +void PrintBindings() +{ + for (const auto & binding : chip::BindingTable::GetInstance()) + { + ChipLogProgress(AppServer, + "Binding type=%d fab=%d nodeId=0x" ChipLogFormatX64 + " groupId=%d local endpoint=%d remote endpoint=%d cluster=" ChipLogFormatMEI, + binding.type, binding.fabricIndex, ChipLogValueX64(binding.nodeId), binding.groupId, binding.local, + binding.remote, ChipLogValueMEI(binding.clusterId.ValueOr(0))); + } +} + +void PrintFabrics() +{ + // set fabric to be the first in the list + for (const auto & fb : chip::Server::GetInstance().GetFabricTable()) + { + chip::FabricIndex fabricIndex = fb.GetFabricIndex(); + ChipLogError(AppServer, "Next Fabric index=%d", fabricIndex); + if (!fb.IsInitialized()) + { + ChipLogError(AppServer, " -- Not initialized"); + continue; + } + chip::NodeId myNodeId = fb.GetNodeId(); + ChipLogProgress(AppServer, + "---- Current Fabric nodeId=0x" ChipLogFormatX64 " fabricId=0x" ChipLogFormatX64 " fabricIndex=%d", + ChipLogValueX64(myNodeId), ChipLogValueX64(fb.GetFabricId()), fabricIndex); + } +} + +#endif // ENABLE_CHIP_SHELL diff --git a/examples/tv-casting-app/linux/simple-app-helper.h b/examples/tv-casting-app/linux/simple-app-helper.h new file mode 100644 index 00000000000000..d48b082e0faf30 --- /dev/null +++ b/examples/tv-casting-app/linux/simple-app-helper.h @@ -0,0 +1,92 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include "core/CastingPlayer.h" +#include "core/CastingPlayerDiscovery.h" +#include "core/Types.h" + +#include + +/** + * @brief Matter deviceType that the Linux tv-casting-app will discover over Commissionable Node discovery (DNS-SD) + * + * 35 represents device type of Matter Video Player + */ +const uint64_t kTargetPlayerDeviceType = 35; + +/** + * @brief Singleton that reacts to CastingPlayer discovery results + */ +class DiscoveryDelegateImpl : public matter::casting::core::DiscoveryDelegate +{ +private: + DiscoveryDelegateImpl(){}; + static DiscoveryDelegateImpl * _discoveryDelegateImpl; + int commissionersCount = 0; + +public: + static DiscoveryDelegateImpl * GetInstance(); + + /** + * @brief Called when a new CastingPlayer is discovered + * + * @param player the discovered CastingPlayer + */ + void HandleOnAdded(matter::casting::memory::Strong player) override; + + /** + * @brief Called when there are updates to the Attributes of a previously discovered CastingPlayer + * + * @param player the updated CastingPlayer + */ + void HandleOnUpdated(matter::casting::memory::Strong player) override; +}; + +/** + * @brief Linux tv-casting-app's onCompleted handler for CastingPlayer.VerifyOrEstablishConnection API + */ +void ConnectionHandler(CHIP_ERROR err, matter::casting::core::CastingPlayer * castingPlayer); + +#if defined(ENABLE_CHIP_SHELL) +/** + * @brief Register CHIP Shell commands for the Linux tv-casting-app CLI + */ +void RegisterCommands(); + +/** + * @brief Top level handler that parses text entered on the Linux tv-casting-app CLI and invokes the appropriate handler + */ +CHIP_ERROR CommandHandler(int argc, char ** argv); + +/** + * @brief Prints all the commands available on the Linux tv-casting-app CLI + */ +CHIP_ERROR PrintAllCommands(); + +/** + * @brief Implements the "print-bindings" command + */ +void PrintBindings(); + +/** + * @brief Implements the "print-fabrics" command + */ +void PrintFabrics(); +#endif diff --git a/examples/tv-casting-app/linux/simple-app.cpp b/examples/tv-casting-app/linux/simple-app.cpp index cd2f71eb612159..d0a23769ea600b 100644 --- a/examples/tv-casting-app/linux/simple-app.cpp +++ b/examples/tv-casting-app/linux/simple-app.cpp @@ -16,6 +16,8 @@ * limitations under the License. */ +#include "simple-app-helper.h" + #include "core/CastingPlayer.h" #include "core/CastingPlayerDiscovery.h" #include "core/Types.h" @@ -31,6 +33,12 @@ #include #include +#if defined(ENABLE_CHIP_SHELL) +#include // nogncheck +#include +using chip::Shell::Engine; +#endif + using namespace matter::casting::core; using namespace matter::casting::support; @@ -78,33 +86,6 @@ CHIP_ERROR InitCommissionableDataProvider(LinuxCommissionableDataProvider & prov options.payload.discriminator.GetLongValue()); } -/** - * @brief React to discovery results - */ -class DiscoveryDelegateImpl : public DiscoveryDelegate -{ -private: - int commissionersCount = 0; - -public: - void HandleOnAdded(matter::casting::memory::Strong player) override - { - if (commissionersCount == 0) - { - ChipLogProgress(AppServer, "Select discovered CastingPlayer to request commissioning"); - - ChipLogProgress(AppServer, "Example: cast request 0"); - } - ++commissionersCount; - ChipLogProgress(AppServer, "Discovered CastingPlayer #%d", commissionersCount); - player->LogDetail(); - } - void HandleOnUpdated(matter::casting::memory::Strong player) override - { - ChipLogProgress(AppServer, "Updated CastingPlayer with ID: %s", player->GetId()); - } -}; - /** * @brief Provides the unique ID that is used by the SDK to generate the Rotating Device ID. */ @@ -177,14 +158,18 @@ int main(int argc, char * argv[]) VerifyOrReturnValue(err == CHIP_NO_ERROR, 0, ChipLogError(AppServer, "CastingApp::Start failed %" CHIP_ERROR_FORMAT, err.Format())); - DiscoveryDelegateImpl delegate; - CastingPlayerDiscovery::GetInstance()->SetDelegate(&delegate); +#if defined(ENABLE_CHIP_SHELL) + chip::Shell::Engine::Root().Init(); + std::thread shellThread([]() { chip::Shell::Engine::Root().RunMainLoop(); }); + RegisterCommands(); +#endif + + CastingPlayerDiscovery::GetInstance()->SetDelegate(DiscoveryDelegateImpl::GetInstance()); VerifyOrReturnValue(err == CHIP_NO_ERROR, 0, ChipLogError(AppServer, "CastingPlayerDiscovery::SetDelegate failed %" CHIP_ERROR_FORMAT, err.Format())); // Discover CastingPlayers - const uint64_t kTargetPlayerDeviceType = 35; // 35 represents device type of Matter Video Player - err = CastingPlayerDiscovery::GetInstance()->StartDiscovery(kTargetPlayerDeviceType); + err = CastingPlayerDiscovery::GetInstance()->StartDiscovery(kTargetPlayerDeviceType); VerifyOrReturnValue(err == CHIP_NO_ERROR, 0, ChipLogError(AppServer, "CastingPlayerDiscovery::StartDiscovery failed %" CHIP_ERROR_FORMAT, err.Format())); diff --git a/examples/tv-casting-app/tv-casting-common/BUILD.gn b/examples/tv-casting-app/tv-casting-common/BUILD.gn index ece67da9e6cc82..4e87c59f118a99 100644 --- a/examples/tv-casting-app/tv-casting-common/BUILD.gn +++ b/examples/tv-casting-app/tv-casting-common/BUILD.gn @@ -95,11 +95,16 @@ chip_data_model("tv-casting-common") { sources += [ "core/CastingApp.cpp", "core/CastingApp.h", + "core/CastingPlayer.cpp", "core/CastingPlayer.h", "core/CastingPlayerDiscovery.cpp", "core/CastingPlayerDiscovery.h", "core/Types.h", "support/AppParameters.h", + "support/CastingStore.cpp", + "support/CastingStore.h", + "support/ChipDeviceEventHandler.cpp", + "support/ChipDeviceEventHandler.h", "support/DataProvider.h", ] diff --git a/examples/tv-casting-app/tv-casting-common/core/CastingApp.cpp b/examples/tv-casting-app/tv-casting-common/core/CastingApp.cpp index bc495a27fff870..45f0efdc913e47 100644 --- a/examples/tv-casting-app/tv-casting-common/core/CastingApp.cpp +++ b/examples/tv-casting-app/tv-casting-common/core/CastingApp.cpp @@ -18,6 +18,8 @@ #include "CastingApp.h" +#include "support/ChipDeviceEventHandler.h" + #include #include #include @@ -109,8 +111,8 @@ CHIP_ERROR CastingApp::PostStartRegistrations() // TODO: Set FabricDelegate // chip::Server::GetInstance().GetFabricTable().AddFabricDelegate(&mPersistenceManager); - // TODO: Add DeviceEvent Handler - // ReturnErrorOnFailure(DeviceLayer::PlatformMgrImpl().AddEventHandler(DeviceEventCallback, 0)); + // Register DeviceEvent Handler + ReturnErrorOnFailure(chip::DeviceLayer::PlatformMgrImpl().AddEventHandler(ChipDeviceEventHandler::Handle, 0)); mState = CASTING_APP_RUNNING; // CastingApp started successfully, set state to RUNNING return CHIP_NO_ERROR; diff --git a/examples/tv-casting-app/tv-casting-common/core/CastingApp.h b/examples/tv-casting-app/tv-casting-common/core/CastingApp.h index 25312daaa4cecf..84bff301dfb1cf 100644 --- a/examples/tv-casting-app/tv-casting-common/core/CastingApp.h +++ b/examples/tv-casting-app/tv-casting-common/core/CastingApp.h @@ -67,6 +67,11 @@ class CastingApp */ CHIP_ERROR Stop(); + /** + * @return true, if CastingApp is in CASTING_APP_RUNNING state. false otherwise + */ + bool isRunning() { return mState == CASTING_APP_RUNNING; } + private: CastingApp(); static CastingApp * _castingApp; diff --git a/examples/tv-casting-app/tv-casting-common/core/CastingPlayer.cpp b/examples/tv-casting-app/tv-casting-common/core/CastingPlayer.cpp new file mode 100644 index 00000000000000..9cc11a774e1564 --- /dev/null +++ b/examples/tv-casting-app/tv-casting-common/core/CastingPlayer.cpp @@ -0,0 +1,275 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "CastingPlayer.h" +#include "support/CastingStore.h" + +#include + +namespace matter { +namespace casting { +namespace core { + +CastingPlayer * CastingPlayer::mTargetCastingPlayer = nullptr; + +void CastingPlayer::VerifyOrEstablishConnection(ConnectCallback onCompleted, unsigned long long int commissioningWindowTimeoutSec) +{ + ChipLogProgress(AppServer, "CastingPlayer::VerifyOrEstablishConnection called"); + + std::vector::iterator it; + std::vector cachedCastingPlayers = support::CastingStore::GetInstance()->ReadAll(); + + CHIP_ERROR err = CHIP_NO_ERROR; + + // ensure the app was not already in the process of connecting to this CastingPlayer + err = (mConnectionState != CASTING_PLAYER_CONNECTING ? CHIP_NO_ERROR : CHIP_ERROR_INCORRECT_STATE); + VerifyOrExit(mConnectionState != CASTING_PLAYER_CONNECTING, + ChipLogError(AppServer, + "CastingPlayer::VerifyOrEstablishConnection called while already connecting to this CastingPlayer")); + mConnectionState = CASTING_PLAYER_CONNECTING; + mOnCompleted = onCompleted; + mCommissioningWindowTimeoutSec = commissioningWindowTimeoutSec; + mTargetCastingPlayer = this; + + // If this CastingPlayer is the cache of CastingPlayers the app previously connected to (and has nodeId and fabricIndex of), + // simply Find or Re-establish the CASE session and return early + if (cachedCastingPlayers.size() != 0) + { + it = std::find_if(cachedCastingPlayers.begin(), cachedCastingPlayers.end(), + [this](const core::CastingPlayer & castingPlayerParam) { return castingPlayerParam == *this; }); + + if (it != cachedCastingPlayers.end()) + { + unsigned index = (unsigned int) std::distance(cachedCastingPlayers.begin(), it); + *this = cachedCastingPlayers[index]; + + FindOrEstablishSession( + nullptr, + [](void * context, chip::Messaging::ExchangeManager & exchangeMgr, const chip::SessionHandle & sessionHandle) { + ChipLogProgress(AppServer, "CastingPlayer::VerifyOrEstablishConnection Connection to CastingPlayer successful"); + CastingPlayer::GetTargetCastingPlayer()->mConnectionState = CASTING_PLAYER_CONNECTED; + support::CastingStore::GetInstance()->AddOrUpdate(*CastingPlayer::GetTargetCastingPlayer()); + VerifyOrReturn(CastingPlayer::GetTargetCastingPlayer()->mOnCompleted); + CastingPlayer::GetTargetCastingPlayer()->mOnCompleted(CHIP_NO_ERROR, CastingPlayer::GetTargetCastingPlayer()); + }, + [](void * context, const chip::ScopedNodeId & peerId, CHIP_ERROR error) { + ChipLogError(AppServer, "CastingPlayer::VerifyOrEstablishConnection Connection to CastingPlayer failed"); + CastingPlayer::GetTargetCastingPlayer()->mConnectionState = CASTING_PLAYER_NOT_CONNECTED; + support::CastingStore::GetInstance()->Delete(*CastingPlayer::GetTargetCastingPlayer()); + VerifyOrReturn(CastingPlayer::GetTargetCastingPlayer()->mOnCompleted); + CastingPlayer::GetTargetCastingPlayer()->mOnCompleted(error, nullptr); + mTargetCastingPlayer = nullptr; + }); + return; // FindOrEstablishSession called. Return early. + } + } + + // this CastingPlayer is not in the list of cached CastingPlayers previously connected to. This VerifyOrEstablishConnection call + // will require User Directed Commissioning. + if (chip::Server::GetInstance().GetFailSafeContext().IsFailSafeArmed()) + { + ChipLogProgress(AppServer, "CastingPlayer::VerifyOrEstablishConnection Forcing expiry of armed FailSafe timer"); + // ChipDeviceEventHandler will handle the kFailSafeTimerExpired event by Opening the Basic Commissioning Window and Sending + // the User Directed Commissioning Request + chip::Server::GetInstance().GetFailSafeContext().ForceFailSafeTimerExpiry(); + } + else + { + SuccessOrExit(err = chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow( + chip::System::Clock::Seconds16(mCommissioningWindowTimeoutSec))); + +#if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT + SuccessOrExit(err = SendUserDirectedCommissioningRequest()); +#endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT + } + +exit: + if (err != CHIP_NO_ERROR) + { + support::ChipDeviceEventHandler::SetUdcStatus(false); + mConnectionState = CASTING_PLAYER_NOT_CONNECTED; + mCommissioningWindowTimeoutSec = kCommissioningWindowTimeoutSec; + mOnCompleted = nullptr; + mTargetCastingPlayer = nullptr; + ChipLogError(AppServer, "CastingPlayer::VerifyOrEstablishConnection failed with %" CHIP_ERROR_FORMAT, err.Format()); + mOnCompleted(err, nullptr); + } +} + +#if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT +CHIP_ERROR CastingPlayer::SendUserDirectedCommissioningRequest() +{ + chip::Inet::IPAddress * ipAddressToUse = GetIpAddressForUDCRequest(); + VerifyOrReturnValue(ipAddressToUse != nullptr, CHIP_ERROR_INCORRECT_STATE, + ChipLogError(AppServer, "No IP Address found to send UDC request to")); + + ReturnErrorOnFailure(chip::Server::GetInstance().SendUserDirectedCommissioningRequest( + chip::Transport::PeerAddress::UDP(*ipAddressToUse, mAttributes.port, mAttributes.interfaceId))); + + ReturnErrorOnFailure(support::ChipDeviceEventHandler::SetUdcStatus(true)); + + return CHIP_NO_ERROR; +} + +chip::Inet::IPAddress * CastingPlayer::GetIpAddressForUDCRequest() +{ + size_t ipIndexToUse = 0; + for (size_t i = 0; i < mAttributes.numIPs; i++) + { + if (mAttributes.ipAddresses[i].IsIPv4()) + { + ipIndexToUse = i; + ChipLogProgress(AppServer, "Found IPv4 address at index: %lu - prioritizing use of IPv4", + static_cast(ipIndexToUse)); + break; + } + + if (i == (mAttributes.numIPs - 1)) + { + ChipLogProgress(AppServer, "Could not find an IPv4 address, defaulting to the first address in IP list"); + } + } + + return &mAttributes.ipAddresses[ipIndexToUse]; +} +#endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT + +void CastingPlayer::FindOrEstablishSession(void * clientContext, chip::OnDeviceConnected onDeviceConnected, + chip::OnDeviceConnectionFailure onDeviceConnectionFailure) +{ + ChipLogProgress(AppServer, "CastingPlayer.FindOrEstablishSession called on nodeId=0x" ChipLogFormatX64 " fabricIndex=%d", + ChipLogValueX64(mAttributes.nodeId), mAttributes.fabricIndex); + VerifyOrReturn(mAttributes.nodeId != 0 && mAttributes.fabricIndex != 0, + ChipLogError(AppServer, "CastingPlayer.FindOrEstablishSession called on invalid nodeId/fabricIndex")); + + ConnectionContext * connectionContext = + new ConnectionContext(clientContext, this, onDeviceConnected, onDeviceConnectionFailure); + + chip::Server::GetInstance().GetCASESessionManager()->FindOrEstablishSession( + chip::ScopedNodeId(mAttributes.nodeId, mAttributes.fabricIndex), connectionContext->mOnConnectedCallback, + connectionContext->mOnConnectionFailureCallback); +} + +void CastingPlayer::LogDetail() const +{ + if (strlen(mAttributes.id) != 0) + { + ChipLogDetail(AppServer, "\tID: %s", mAttributes.id); + } + if (strlen(mAttributes.deviceName) != 0) + { + ChipLogDetail(AppServer, "\tName: %s", mAttributes.deviceName); + } + if (strlen(mAttributes.hostName) != 0) + { + ChipLogDetail(AppServer, "\tHost Name: %s", mAttributes.hostName); + } + if (strlen(mAttributes.instanceName) != 0) + { + ChipLogDetail(AppServer, "\tInstance Name: %s", mAttributes.instanceName); + } + if (mAttributes.numIPs > 0) + { + ChipLogDetail(AppServer, "\tNumber of IPs: %u", mAttributes.numIPs); + } + char buf[chip::Inet::IPAddress::kMaxStringLength]; + if (strlen(mAttributes.ipAddresses[0].ToString(buf)) != 0) + { + for (unsigned j = 0; j < mAttributes.numIPs; j++) + { + char * ipAddressOut = mAttributes.ipAddresses[j].ToString(buf); + ChipLogDetail(AppServer, "\tIP Address #%d: %s", j + 1, ipAddressOut); + } + } + if (mAttributes.port > 0) + { + ChipLogDetail(AppServer, "\tPort: %u", mAttributes.port); + } + if (mAttributes.productId > 0) + { + ChipLogDetail(AppServer, "\tProduct ID: %u", mAttributes.productId); + } + if (mAttributes.vendorId > 0) + { + ChipLogDetail(AppServer, "\tVendor ID: %u", mAttributes.vendorId); + } + if (mAttributes.deviceType > 0) + { + ChipLogDetail(AppServer, "\tDevice Type: %" PRIu32, mAttributes.deviceType); + } + if (mAttributes.nodeId > 0) + { + ChipLogDetail(AppServer, "\tNode ID: 0x" ChipLogFormatX64, ChipLogValueX64(mAttributes.nodeId)); + } + if (mAttributes.fabricIndex > 0) + { + ChipLogDetail(AppServer, "\tFabric Index: %u", mAttributes.fabricIndex); + } +} + +ConnectionContext::ConnectionContext(void * clientContext, core::CastingPlayer * targetCastingPlayer, + chip::OnDeviceConnected onDeviceConnectedFn, + chip::OnDeviceConnectionFailure onDeviceConnectionFailureFn) +{ + mClientContext = clientContext; + mTargetCastingPlayer = targetCastingPlayer; + mOnDeviceConnectedFn = onDeviceConnectedFn; + mOnDeviceConnectionFailureFn = onDeviceConnectionFailureFn; + + mOnConnectedCallback = new chip::Callback::Callback( + [](void * context, chip::Messaging::ExchangeManager & exchangeMgr, const chip::SessionHandle & sessionHandle) { + ChipLogProgress(AppServer, "Device Connection success callback called"); + ConnectionContext * connectionContext = static_cast(context); + VerifyOrReturn(connectionContext != nullptr && connectionContext->mTargetCastingPlayer != nullptr, + ChipLogError(AppServer, "Invalid ConnectionContext received in DeviceConnection success callback")); + + connectionContext->mTargetCastingPlayer->mConnectionState = core::CASTING_PLAYER_CONNECTED; + connectionContext->mOnDeviceConnectedFn(context, exchangeMgr, sessionHandle); + delete connectionContext; + }, + this); + + mOnConnectionFailureCallback = new chip::Callback::Callback( + [](void * context, const chip::ScopedNodeId & peerId, CHIP_ERROR error) { + ChipLogError(AppServer, "Device Connection failure callback called with %" CHIP_ERROR_FORMAT, error.Format()); + ConnectionContext * connectionContext = static_cast(context); + VerifyOrReturn(connectionContext != nullptr && connectionContext->mTargetCastingPlayer != nullptr, + ChipLogError(AppServer, "Invalid ConnectionContext received in DeviceConnection failure callback")); + connectionContext->mTargetCastingPlayer->mConnectionState = CASTING_PLAYER_NOT_CONNECTED; + connectionContext->mOnDeviceConnectionFailureFn(connectionContext->mClientContext, peerId, error); + delete connectionContext; + }, + this); +} + +ConnectionContext::~ConnectionContext() +{ + if (mOnConnectedCallback != nullptr) + { + delete mOnConnectedCallback; + } + + if (mOnConnectionFailureCallback != nullptr) + { + delete mOnConnectionFailureCallback; + } +} + +}; // namespace core +}; // namespace casting +}; // namespace matter diff --git a/examples/tv-casting-app/tv-casting-common/core/CastingPlayer.h b/examples/tv-casting-app/tv-casting-common/core/CastingPlayer.h index 977642790e60e6..17d722d6dc5210 100644 --- a/examples/tv-casting-app/tv-casting-common/core/CastingPlayer.h +++ b/examples/tv-casting-app/tv-casting-common/core/CastingPlayer.h @@ -19,8 +19,9 @@ #pragma once #include "Types.h" -#include "lib/support/logging/CHIPLogging.h" +#include "support/ChipDeviceEventHandler.h" +#include "lib/support/logging/CHIPLogging.h" #include #include #include @@ -30,47 +31,87 @@ namespace matter { namespace casting { namespace core { -enum ConnectionError -{ - NO_CONNECTION_ERROR = 0, - FAILED_TO_CONNECT = 1 -}; - -using ConnectCallback = std::function; -using DisconnectCallback = std::function; - const int kPortMaxLength = 5; // port is uint16_t // +1 for the : between the hostname and the port. -const int kIdMaxLength = chip::Dnssd::kHostNameMaxLength + kPortMaxLength + 1; +const int kIdMaxLength = chip::Dnssd::kHostNameMaxLength + kPortMaxLength + 1; +const unsigned long long int kCommissioningWindowTimeoutSec = 3 * 60; // 3 minutes class CastingPlayerAttributes { public: - char id[kIdMaxLength + 1] = {}; - char deviceName[chip::Dnssd::kMaxDeviceNameLen + 1] = {}; - char hostName[chip::Dnssd::kHostNameMaxLength + 1] = {}; - char instanceName[chip::Dnssd::kHostNameMaxLength + 1] = {}; + char id[kIdMaxLength + 1] = {}; + char deviceName[chip::Dnssd::kMaxDeviceNameLen + 1] = {}; + char hostName[chip::Dnssd::kHostNameMaxLength + 1] = {}; + char instanceName[chip::Dnssd::Commission::kInstanceNameMaxLength + 1] = {}; unsigned int numIPs; // number of valid IP addresses chip::Inet::IPAddress ipAddresses[chip::Dnssd::CommonResolutionData::kMaxIPAddresses]; + chip::Inet::InterfaceId interfaceId; uint16_t port; uint16_t productId; uint16_t vendorId; uint32_t deviceType; + + chip::NodeId nodeId = 0; + chip::FabricIndex fabricIndex = 0; +}; + +/** + * @brief Represents CastingPlayer ConnectionState. + * + */ +enum ConnectionState +{ + CASTING_PLAYER_NOT_CONNECTED, + CASTING_PLAYER_CONNECTING, + CASTING_PLAYER_CONNECTED, }; +class ConnectionContext; +class CastingPlayer; +using ConnectCallback = std::function; + /** * @brief CastingPlayer represents a Matter commissioner that is able to play media to a physical * output or to a display screen which is part of the device. */ class CastingPlayer : public std::enable_shared_from_this { -private: - // std::vector> endpoints; - bool mConnected = false; - CastingPlayerAttributes mAttributes; - public: CastingPlayer(CastingPlayerAttributes playerAttributes) { mAttributes = playerAttributes; } + + /** + * @brief Get the CastingPlayer object targeted currently (may not be connected) + */ + static CastingPlayer * GetTargetCastingPlayer() { return mTargetCastingPlayer; } + + /** + * @brief Compares based on the Id + */ + bool operator==(const CastingPlayer & other) const + { + int compareResult = strcmp(this->mAttributes.id, other.mAttributes.id); + return (compareResult == 0) ? 1 : 0; + } + + /** + * @return true if this CastingPlayer is connected to the CastingApp + */ + bool IsConnected() const { return mConnectionState == CASTING_PLAYER_CONNECTED; } + + /** + * @brief Verifies that a connection exists with this CastingPlayer, or triggers a new session + * request. If the CastingApp does not have the nodeId and fabricIndex of this CastingPlayer cached on disk, + * this will execute the user directed commissioning process. + * + * @param onCompleted for success - called back with CHIP_NO_ERROR and CastingPlayer *. + * For failure - called back with an error and nullptr. + * @param commissioningWindowTimeoutSec time (in sec) to keep the commissioning window open, if commissioning is required. + * Defaults to kCommissioningWindowTimeoutSec. + */ + void VerifyOrEstablishConnection(ConnectCallback onCompleted, + unsigned long long int commissioningWindowTimeoutSec = kCommissioningWindowTimeoutSec); + void LogDetail() const; + const char * GetId() const { return mAttributes.id; } const char * GetDeviceName() const { return mAttributes.deviceName; } @@ -91,77 +132,77 @@ class CastingPlayer : public std::enable_shared_from_this uint32_t GetDeviceType() const { return mAttributes.deviceType; } - // public: + chip::NodeId GetNodeId() const { return mAttributes.nodeId; } + + chip::FabricIndex GetFabricIndex() const { return mAttributes.fabricIndex; } + + void SetNodeId(chip::NodeId nodeId) { mAttributes.nodeId = nodeId; } + + void SetFabricIndex(chip::FabricIndex fabricIndex) { mAttributes.fabricIndex = fabricIndex; } + // void RegisterEndpoint(const memory::Strong endpoint) { endpoints.push_back(endpoint); } // const std::vector> GetEndpoints() const { return endpoints; } +private: + // std::vector> endpoints; + ConnectionState mConnectionState = CASTING_PLAYER_NOT_CONNECTED; + CastingPlayerAttributes mAttributes; + static CastingPlayer * mTargetCastingPlayer; + unsigned long long int mCommissioningWindowTimeoutSec = kCommissioningWindowTimeoutSec; + ConnectCallback mOnCompleted = {}; + +#if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT /** - * @brief Compares based on the Id + * @brief Sends the user directed commissioning request to this CastingPlayer */ - bool operator==(const CastingPlayer & other) const - { - int compareResult = strcmp(this->mAttributes.id, other.mAttributes.id); - return (compareResult == 0) ? 1 : 0; - } + CHIP_ERROR SendUserDirectedCommissioningRequest(); -public: /** - * @return true if this CastingPlayer is connected to the CastingApp + * @brief Selects an IP Address to send the UDC request to. + * Prioritizes IPV4 addresses over IPV6. + * + * @return chip::Inet::IPAddress* */ - bool IsConnected() const { return mConnected; } + chip::Inet::IPAddress * GetIpAddressForUDCRequest(); +#endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT - void Connect(const long timeout, ConnectCallback onCompleted); - void Disconnect(const long timeout, DisconnectCallback onCompleted); + /** + * @brief Find an existing session for this CastingPlayer, or trigger a new session + * request. + * + * The caller can optionally provide `onDeviceConnected` and `onDeviceConnectionFailure` callback + * objects. If provided, these will be used to inform the caller about + * successful or failed connection establishment. + * + * If the connection is already established, the `onDeviceConnected` callback + * will be immediately called, before FindOrEstablishSession returns. + * + * The `onDeviceConnectionFailure` callback may be called before the FindOrEstablishSession + * call returns, for error cases that are detected synchronously. + */ + void FindOrEstablishSession(void * clientContext, chip::OnDeviceConnected onDeviceConnected, + chip::OnDeviceConnectionFailure onDeviceConnectionFailure); - void LogDetail() const - { - if (strlen(mAttributes.id) != 0) - { - ChipLogDetail(Discovery, "\tID: %s", mAttributes.id); - } - if (strlen(mAttributes.deviceName) != 0) - { - ChipLogDetail(Discovery, "\tName: %s", mAttributes.deviceName); - } - if (strlen(mAttributes.hostName) != 0) - { - ChipLogDetail(Discovery, "\tHost Name: %s", mAttributes.hostName); - } - if (strlen(mAttributes.instanceName) != 0) - { - ChipLogDetail(Discovery, "\tInstance Name: %s", mAttributes.instanceName); - } - if (mAttributes.numIPs > 0) - { - ChipLogDetail(Discovery, "\tNumber of IPs: %u", mAttributes.numIPs); - } - char buf[chip::Inet::IPAddress::kMaxStringLength]; - if (strlen(mAttributes.ipAddresses[0].ToString(buf)) != 0) - { - for (unsigned j = 0; j < mAttributes.numIPs; j++) - { - char * ipAddressOut = mAttributes.ipAddresses[j].ToString(buf); - ChipLogDetail(AppServer, "\tIP Address #%d: %s", j + 1, ipAddressOut); - } - } - if (mAttributes.port > 0) - { - ChipLogDetail(Discovery, "\tPort: %u", mAttributes.port); - } - if (mAttributes.productId > 0) - { - ChipLogDetail(Discovery, "\tProduct ID: %u", mAttributes.productId); - } - if (mAttributes.vendorId > 0) - { - ChipLogDetail(Discovery, "\tVendor ID: %u", mAttributes.vendorId); - } - if (mAttributes.deviceType > 0) - { - ChipLogDetail(Discovery, "\tDevice Type: %" PRIu32, mAttributes.deviceType); - } - } + // ChipDeviceEventHandler handles chip::DeviceLayer::ChipDeviceEvent events and helps the CastingPlayer class commission with + // and connect to a CastingPlayer + friend class support::ChipDeviceEventHandler; + friend class ConnectionContext; +}; + +class ConnectionContext +{ +public: + ConnectionContext(void * clientContext, core::CastingPlayer * targetCastingPlayer, chip::OnDeviceConnected onDeviceConnected, + chip::OnDeviceConnectionFailure onDeviceConnectionFailure); + ~ConnectionContext(); + + void * mClientContext = nullptr; + core::CastingPlayer * mTargetCastingPlayer = nullptr; + chip::OnDeviceConnected mOnDeviceConnectedFn = nullptr; + chip::OnDeviceConnectionFailure mOnDeviceConnectionFailureFn = nullptr; + chip::Callback::Callback * mOnConnectedCallback = nullptr; + chip::Callback::Callback * mOnConnectionFailureCallback = nullptr; }; }; // namespace core diff --git a/examples/tv-casting-app/tv-casting-common/core/CastingPlayerDiscovery.cpp b/examples/tv-casting-app/tv-casting-common/core/CastingPlayerDiscovery.cpp index e391116c0ef1f7..27bbe9bc14204b 100644 --- a/examples/tv-casting-app/tv-casting-common/core/CastingPlayerDiscovery.cpp +++ b/examples/tv-casting-app/tv-casting-common/core/CastingPlayerDiscovery.cpp @@ -79,24 +79,23 @@ void DeviceDiscoveryDelegateImpl::OnDiscoveredDevice(const chip::Dnssd::Discover // convert nodeData to CastingPlayer CastingPlayerAttributes attributes; - strcpy(attributes.id, nodeData.resolutionData.hostName); + snprintf(attributes.id, kIdMaxLength + 1, "%s%u", nodeData.resolutionData.hostName, nodeData.resolutionData.port); - char port[kPortMaxLength + 1] = {}; - snprintf(port, sizeof(port), "%u", nodeData.resolutionData.port); - strcat(attributes.id, port); + chip::Platform::CopyString(attributes.deviceName, chip::Dnssd::kMaxDeviceNameLen + 1, nodeData.commissionData.deviceName); + chip::Platform::CopyString(attributes.hostName, chip::Dnssd::kHostNameMaxLength + 1, nodeData.resolutionData.hostName); + chip::Platform::CopyString(attributes.instanceName, chip::Dnssd::Commission::kInstanceNameMaxLength + 1, + nodeData.commissionData.instanceName); - strcpy(attributes.deviceName, nodeData.commissionData.deviceName); - strcpy(attributes.hostName, nodeData.resolutionData.hostName); - strcpy(attributes.instanceName, nodeData.commissionData.instanceName); attributes.numIPs = (unsigned int) nodeData.resolutionData.numIPs; for (unsigned j = 0; j < attributes.numIPs; j++) { attributes.ipAddresses[j] = nodeData.resolutionData.ipAddress[j]; } - attributes.port = nodeData.resolutionData.port; - attributes.productId = nodeData.commissionData.productId; - attributes.vendorId = nodeData.commissionData.vendorId; - attributes.deviceType = nodeData.commissionData.deviceType; + attributes.interfaceId = nodeData.resolutionData.interfaceId; + attributes.port = nodeData.resolutionData.port; + attributes.productId = nodeData.commissionData.productId; + attributes.vendorId = nodeData.commissionData.vendorId; + attributes.deviceType = nodeData.commissionData.deviceType; memory::Strong player = std::make_shared(attributes); diff --git a/examples/tv-casting-app/tv-casting-common/support/CastingStore.cpp b/examples/tv-casting-app/tv-casting-common/support/CastingStore.cpp new file mode 100644 index 00000000000000..d8cdfca07ccaed --- /dev/null +++ b/examples/tv-casting-app/tv-casting-common/support/CastingStore.cpp @@ -0,0 +1,343 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "CastingStore.h" + +#include +#include + +namespace matter { +namespace casting { +namespace support { + +CastingStore * CastingStore::_CastingStore = nullptr; + +CastingStore::CastingStore() {} + +CastingStore * CastingStore::GetInstance() +{ + if (_CastingStore == nullptr) + { + _CastingStore = new CastingStore(); + } + return _CastingStore; +} + +CHIP_ERROR CastingStore::AddOrUpdate(core::CastingPlayer castingPlayer) +{ + ChipLogProgress(AppServer, "CastingStore::AddOrUpdate"); + + // Read cache of CastingPlayers + std::vector castingPlayers = ReadAll(); + + // search for castingPlayer in CastingStore cache and overwrite it, if found + if (castingPlayers.size() != 0) + { + auto it = std::find_if( + castingPlayers.begin(), castingPlayers.end(), + [castingPlayer](const core::CastingPlayer & castingPlayerParam) { return castingPlayerParam == castingPlayer; }); + + if (it != castingPlayers.end()) + { + unsigned index = (unsigned int) std::distance(castingPlayers.begin(), it); + castingPlayers[index] = castingPlayer; + ChipLogProgress(AppServer, "CastingStore::AddOrUpdate updating CastingPlayer in CastingStore cache"); + return WriteAll(castingPlayers); // return early + } + } + + // add *new* castingPlayer to CastingStore cache + castingPlayers.push_back(castingPlayer); + ChipLogProgress(AppServer, "CastingStore::AddOrUpdate adding new CastingPlayer in CastingStore cache"); + return WriteAll(castingPlayers); +} + +std::vector CastingStore::ReadAll() +{ + ChipLogProgress(AppServer, "CastingStore::ReadAll called"); + CHIP_ERROR err = CHIP_NO_ERROR; + + std::vector castingPlayers; + uint8_t castingStoreData[kCastingStoreDataMaxBytes]; + size_t castingStoreDataSize = 0; + err = chip::DeviceLayer::PersistedStorage::KeyValueStoreMgr().Get(kCastingStoreDataKey, castingStoreData, + kCastingStoreDataMaxBytes, &castingStoreDataSize); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "KeyValueStoreMgr.Get failed %" CHIP_ERROR_FORMAT, err.Format())); + ChipLogProgress(AppServer, "CastingStore::ReadAll Read TLV(CastingStoreData) from KVS store with size: %lu bytes", + static_cast(castingStoreDataSize)); + + chip::TLV::TLVReader reader; + reader.Init(castingStoreData); + + // read the envelope (and version) + err = reader.Next(chip::TLV::kTLVType_Structure, chip::TLV::AnonymousTag()); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.Next failed %" CHIP_ERROR_FORMAT, err.Format())); + + chip::TLV::TLVType outerContainerType = chip::TLV::kTLVType_Structure; + err = reader.EnterContainer(outerContainerType); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.EnterContainer failed %" CHIP_ERROR_FORMAT, err.Format())); + + err = reader.Next(); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.Next failed %" CHIP_ERROR_FORMAT, err.Format())); + chip::TLV::Tag outerContainerTag = reader.GetTag(); + uint8_t outerContainerTagTagNum = static_cast(chip::TLV::TagNumFromTag(outerContainerTag)); + VerifyOrReturnValue(outerContainerTagTagNum == kCastingStoreDataVersionTag, castingPlayers, + ChipLogError(AppServer, "CastingStoreDataVersionTag not found")); + uint32_t version; + err = reader.Get(version); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.Get failed %" CHIP_ERROR_FORMAT, err.Format())); + ChipLogProgress(AppServer, "CastingStore::ReadAll TLV(CastingStoreData) version: %d", version); + + // Entering CastingPlayers container + chip::TLV::TLVType castingPlayersContainerType = chip::TLV::kTLVType_Array; + err = reader.Next(); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.Next failed %" CHIP_ERROR_FORMAT, err.Format())); + err = reader.EnterContainer(castingPlayersContainerType); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.EnterContainer failed %" CHIP_ERROR_FORMAT, err.Format())); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + // Entering CastingPlayer container + chip::TLV::TLVType castingPlayerContainerType = chip::TLV::kTLVType_Structure; + err = reader.EnterContainer(castingPlayerContainerType); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.EnterContainer failed %" CHIP_ERROR_FORMAT, err.Format())); + + core::CastingPlayerAttributes attributes; + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + chip::TLV::Tag castingPlayerContainerTag = reader.GetTag(); + VerifyOrReturnValue(chip::TLV::IsContextTag(castingPlayerContainerTag), std::vector(), + ChipLogError(AppServer, "Unexpected non-context TLV tag")); + + uint8_t castingPlayerContainerTagNum = static_cast(chip::TLV::TagNumFromTag(castingPlayerContainerTag)); + if (castingPlayerContainerTagNum == kCastingPlayerIdTag) + { + err = reader.GetBytes(reinterpret_cast(attributes.id), core::kIdMaxLength + 1); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.GetBytes failed %" CHIP_ERROR_FORMAT, err.Format())); + continue; + } + + if (castingPlayerContainerTagNum == kCastingPlayerNodeIdTag) + { + err = reader.Get(attributes.nodeId); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.Get failed %" CHIP_ERROR_FORMAT, err.Format())); + continue; + } + + if (castingPlayerContainerTagNum == kCastingPlayerFabricIndexTag) + { + err = reader.Get(attributes.fabricIndex); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.Get failed %" CHIP_ERROR_FORMAT, err.Format())); + continue; + } + + if (castingPlayerContainerTagNum == kCastingPlayerVendorIdTag) + { + err = reader.Get(attributes.vendorId); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.Get failed %" CHIP_ERROR_FORMAT, err.Format())); + continue; + } + + if (castingPlayerContainerTagNum == kCastingPlayerProductIdTag) + { + err = reader.Get(attributes.productId); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.Get failed %" CHIP_ERROR_FORMAT, err.Format())); + continue; + } + + if (castingPlayerContainerTagNum == kCastingPlayerDeviceTypeIdTag) + { + err = reader.Get(attributes.deviceType); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.Get failed %" CHIP_ERROR_FORMAT, err.Format())); + continue; + } + + if (castingPlayerContainerTagNum == kCastingPlayerDeviceNameTag) + { + err = reader.GetBytes(reinterpret_cast(attributes.deviceName), chip::Dnssd::kMaxDeviceNameLen + 1); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.GetBytes failed %" CHIP_ERROR_FORMAT, err.Format())); + continue; + } + + if (castingPlayerContainerTagNum == kCastingPlayerHostNameTag) + { + err = reader.GetBytes(reinterpret_cast(attributes.hostName), chip::Dnssd::kHostNameMaxLength + 1); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.GetBytes failed %" CHIP_ERROR_FORMAT, err.Format())); + continue; + } + + if (err == CHIP_END_OF_TLV) + { + // Exiting CastingPlayer container + err = reader.ExitContainer(castingPlayerContainerType); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.ExitContainer failed %" CHIP_ERROR_FORMAT, err.Format())); + core::CastingPlayer castingPlayer(attributes); + castingPlayers.push_back(castingPlayer); + break; + } + } + } + + VerifyOrReturnValue(err == CHIP_END_OF_TLV, std::vector(), + ChipLogError(AppServer, "TLV parsing failed %" CHIP_ERROR_FORMAT, err.Format())); + + err = reader.ExitContainer(castingPlayersContainerType); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.ExitContainer failed %" CHIP_ERROR_FORMAT, err.Format())); + + err = reader.ExitContainer(outerContainerType); + VerifyOrReturnValue(err == CHIP_NO_ERROR, std::vector(), + ChipLogError(AppServer, "TLVReader.ExitContainer failed %" CHIP_ERROR_FORMAT, err.Format())); + + ChipLogProgress(AppServer, "CastingStore::ReadAll CastingPlayers size: %lu", static_cast(castingPlayers.size())); + return castingPlayers; +} + +CHIP_ERROR CastingStore::DeleteAll() +{ + ChipLogProgress(AppServer, "CastingStore::DeleteAll called"); + CHIP_ERROR err = chip::DeviceLayer::PersistedStorage::KeyValueStoreMgr().Delete(kCastingStoreDataKey); + if (err == CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND) // no error, if the key-value pair was not stored + { + ChipLogProgress(AppServer, "CastingStore::DeleteAll ignoring error %" CHIP_ERROR_FORMAT, err.Format()); + return CHIP_NO_ERROR; + } + return err; +} + +CHIP_ERROR CastingStore::Delete(core::CastingPlayer castingPlayer) +{ + ChipLogProgress(AppServer, "CastingStore::Delete"); + + // Read cache of CastingPlayers + std::vector castingPlayers = ReadAll(); + + // search for castingPlayer in CastingStore cache and delete it, if found + if (castingPlayers.size() != 0) + { + auto it = std::find_if( + castingPlayers.begin(), castingPlayers.end(), + [castingPlayer](const core::CastingPlayer & castingPlayerParam) { return castingPlayerParam == castingPlayer; }); + + if (it != castingPlayers.end()) + { + ChipLogProgress(AppServer, "CastingStore::Delete deleting CastingPlayer %s from CastingStore cache", it->GetId()); + castingPlayers.erase(it); + return WriteAll(castingPlayers); + } + } + return CHIP_NO_ERROR; +} + +void CastingStore::OnFabricRemoved(const chip::FabricTable & fabricTable, chip::FabricIndex fabricIndex) +{ + ChipLogProgress(AppServer, "CastingStore::OnFabricRemoved"); + + // Read cache of CastingPlayers + std::vector castingPlayers = ReadAll(); + + // search for castingPlayer in CastingStore cache and delete it, if found + if (castingPlayers.size() != 0) + { + auto it = std::find_if(castingPlayers.begin(), castingPlayers.end(), + [fabricIndex](const core::CastingPlayer & castingPlayerParam) { + return castingPlayerParam.GetFabricIndex() == fabricIndex; + }); + + if (it != castingPlayers.end()) + { + ChipLogProgress(AppServer, "CastingStore::OnFabricRemoved deleting CastingPlayer %s from CastingStore cache", + it->GetId()); + castingPlayers.erase(it); + WriteAll(castingPlayers); + } + } +} + +CHIP_ERROR CastingStore::WriteAll(std::vector castingPlayers) +{ + ChipLogProgress(AppServer, "CastingStore::WriteAll called"); + + chip::TLV::TLVWriter tlvWriter; + uint8_t castingStoreData[kCastingStoreDataMaxBytes]; + tlvWriter.Init(castingStoreData, kCastingStoreDataMaxBytes); + + chip::TLV::TLVType outerContainerType = chip::TLV::kTLVType_Structure; + ReturnErrorOnFailure(tlvWriter.StartContainer(chip::TLV::AnonymousTag(), chip::TLV::kTLVType_Structure, outerContainerType)); + ReturnErrorOnFailure(tlvWriter.Put(chip::TLV::ContextTag(kCastingStoreDataVersionTag), kCurrentCastingStoreDataVersion)); + + chip::TLV::TLVType castingPlayersContainerType = chip::TLV::kTLVType_Array; + // CastingPlayers container starts + ReturnErrorOnFailure(tlvWriter.StartContainer(chip::TLV::ContextTag(kCastingPlayersContainerTag), chip::TLV::kTLVType_Array, + castingPlayersContainerType)); + + for (auto & castingPlayer : castingPlayers) + { + chip::TLV::TLVType castingPlayerContainerType = chip::TLV::kTLVType_Structure; + // CastingPlayer container starts + ReturnErrorOnFailure(tlvWriter.StartContainer(chip::TLV::ContextTag(kCastingPlayerContainerTag), + chip::TLV::kTLVType_Structure, castingPlayerContainerType)); + + ReturnErrorOnFailure(tlvWriter.Put(chip::TLV::ContextTag(kCastingPlayerIdTag), castingPlayer.GetId())); + ReturnErrorOnFailure(tlvWriter.Put(chip::TLV::ContextTag(kCastingPlayerNodeIdTag), castingPlayer.GetNodeId())); + ReturnErrorOnFailure(tlvWriter.Put(chip::TLV::ContextTag(kCastingPlayerFabricIndexTag), castingPlayer.GetFabricIndex())); + ReturnErrorOnFailure(tlvWriter.Put(chip::TLV::ContextTag(kCastingPlayerVendorIdTag), castingPlayer.GetVendorId())); + ReturnErrorOnFailure(tlvWriter.Put(chip::TLV::ContextTag(kCastingPlayerProductIdTag), castingPlayer.GetProductId())); + ReturnErrorOnFailure(tlvWriter.Put(chip::TLV::ContextTag(kCastingPlayerDeviceTypeIdTag), castingPlayer.GetDeviceType())); + ReturnErrorOnFailure(tlvWriter.PutBytes(chip::TLV::ContextTag(kCastingPlayerDeviceNameTag), + (const uint8_t *) castingPlayer.GetDeviceName(), + static_cast(strlen(castingPlayer.GetDeviceName()) + 1))); + ReturnErrorOnFailure(tlvWriter.PutBytes(chip::TLV::ContextTag(kCastingPlayerHostNameTag), + (const uint8_t *) castingPlayer.GetHostName(), + static_cast(strlen(castingPlayer.GetHostName()) + 1))); + // CastingPlayer container ends + ReturnErrorOnFailure(tlvWriter.EndContainer(castingPlayerContainerType)); + } + + // CastingPlayers container ends + ReturnErrorOnFailure(tlvWriter.EndContainer(castingPlayersContainerType)); + ReturnErrorOnFailure(tlvWriter.EndContainer(outerContainerType)); + + ReturnErrorOnFailure(tlvWriter.Finalize()); + ChipLogProgress(AppServer, + "CastingStore::WriteAll TLV(CastingStoreData).LengthWritten: %d bytes, CastingPlayers size: %lu " + "and version: %d", + tlvWriter.GetLengthWritten(), castingPlayers.size(), kCurrentCastingStoreDataVersion); + return chip::DeviceLayer::PersistedStorage::KeyValueStoreMgr().Put(kCastingStoreDataKey, castingStoreData, + tlvWriter.GetLengthWritten()); +} + +}; // namespace support +}; // namespace casting +}; // namespace matter diff --git a/examples/tv-casting-app/tv-casting-common/support/CastingStore.h b/examples/tv-casting-app/tv-casting-common/support/CastingStore.h new file mode 100644 index 00000000000000..3d8ec7f613511b --- /dev/null +++ b/examples/tv-casting-app/tv-casting-common/support/CastingStore.h @@ -0,0 +1,97 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include "core/CastingPlayer.h" + +namespace matter { +namespace casting { +namespace support { + +/** + * @brief CastingStore uses TLV-encoding to cache casting related data on disk, like the list of CastingPlayers that the + * tv-casting-app previously connected to. + */ +class CastingStore : public chip::FabricTable::Delegate +{ +public: + static CastingStore * GetInstance(); + + /** + * @brief If castingPlayer already exists in the cache on disk (compares by castingPlayer.id), this will update the record for + * it in the cache. If castingPlayer is new i.e. not found, this will add it to the cache + */ + CHIP_ERROR AddOrUpdate(core::CastingPlayer castingPlayer); + + /** + * @brief Reads and returns a vector of all CastingPlayers found in the cache + */ + std::vector ReadAll(); + + /** + * @brief If castingPlayer is found in the cache, this will delete it. If it is not found, this method is a no-op + */ + CHIP_ERROR Delete(core::CastingPlayer castingPlayer); + + /** + * @brief Purges the cache of all CastingStore data + */ + CHIP_ERROR DeleteAll(); + + /** + * @brief Implements chip::FabricTable::Delegate.OnFabricRemoved. Searches for and deletes the CastingPlayer(s) that match(es) + * the fabrixIndex argument, if any. If no such CastingPlayer exists, this method is a no-op. + */ + void OnFabricRemoved(const chip::FabricTable & fabricTable, chip::FabricIndex fabricIndex) override; + +private: + CastingStore(); + static CastingStore * _CastingStore; + + /** + * @brief Writes the vector of CastingPlayers to the cache. This method will overwrite any pre-existing cached data. + */ + CHIP_ERROR WriteAll(std::vector castingPlayers); + + enum CastingStoreTLVTag + { + kCastingStoreDataVersionTag = 1, + kCastingPlayersContainerTag, + kCastingPlayerContainerTag, + kCastingPlayerIdTag, + kCastingPlayerNodeIdTag, + kCastingPlayerFabricIndexTag, + kCastingPlayerVendorIdTag, + kCastingPlayerProductIdTag, + kCastingPlayerDeviceTypeIdTag, + kCastingPlayerDeviceNameTag, + kCastingPlayerHostNameTag, + + kContextTagMaxNum = UINT8_MAX + }; + + constexpr static size_t kCastingStoreDataMaxBytes = 1024 * 100; // 100 KBs + constexpr static char * kCastingStoreDataKey = (char *) "com.matter.casting.CastingStore"; + constexpr static uint32_t kCurrentCastingStoreDataVersion = 1; + constexpr static uint32_t kSupportedCastingStoreDataVersions[1] = { 1 }; +}; + +}; // namespace support +}; // namespace casting +}; // namespace matter diff --git a/examples/tv-casting-app/tv-casting-common/support/ChipDeviceEventHandler.cpp b/examples/tv-casting-app/tv-casting-common/support/ChipDeviceEventHandler.cpp new file mode 100644 index 00000000000000..704e4ef7295874 --- /dev/null +++ b/examples/tv-casting-app/tv-casting-common/support/ChipDeviceEventHandler.cpp @@ -0,0 +1,189 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "ChipDeviceEventHandler.h" + +#include "core/CastingPlayer.h" +#include "core/Types.h" +#include "support/CastingStore.h" + +#include "app/clusters/bindings/BindingManager.h" + +namespace matter { +namespace casting { +namespace support { + +using namespace matter::casting::core; + +bool ChipDeviceEventHandler::sUdcInProgress = false; + +void ChipDeviceEventHandler::Handle(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg) +{ + ChipLogProgress(AppServer, "ChipDeviceEventHandler::Handle called"); + + bool runPostCommissioning = false; + chip::NodeId targetNodeId = 0; + chip::FabricIndex targetFabricIndex = 0; + + if (event->Type == chip::DeviceLayer::DeviceEventType::kFailSafeTimerExpired && + CastingPlayer::GetTargetCastingPlayer()->mConnectionState == CASTING_PLAYER_CONNECTING) + { + HandleFailSafeTimerExpired(); + } + else if (event->Type == chip::DeviceLayer::DeviceEventType::kBindingsChangedViaCluster && + CastingPlayer::GetTargetCastingPlayer() != nullptr) + { + HandleBindingsChangedViaCluster(event, arg, runPostCommissioning, targetNodeId, targetFabricIndex); + } + else if (event->Type == chip::DeviceLayer::DeviceEventType::kCommissioningComplete) + { + HandleCommissioningComplete(event, arg, runPostCommissioning, targetNodeId, targetFabricIndex); + } + + if (runPostCommissioning) + { + sUdcInProgress = false; + CastingPlayer::GetTargetCastingPlayer()->SetNodeId(targetNodeId); + CastingPlayer::GetTargetCastingPlayer()->SetFabricIndex(targetFabricIndex); + + CastingPlayer::GetTargetCastingPlayer()->FindOrEstablishSession( + nullptr, + [](void * context, chip::Messaging::ExchangeManager & exchangeMgr, const chip::SessionHandle & sessionHandle) { + ChipLogProgress(AppServer, "ChipDeviceEventHandler::Handle: Connection to CastingPlayer successful"); + CastingPlayer::GetTargetCastingPlayer()->mConnectionState = CASTING_PLAYER_CONNECTED; + support::CastingStore::GetInstance()->AddOrUpdate(*CastingPlayer::GetTargetCastingPlayer()); + VerifyOrReturn(CastingPlayer::GetTargetCastingPlayer()->mOnCompleted); + CastingPlayer::GetTargetCastingPlayer()->mOnCompleted(CHIP_NO_ERROR, CastingPlayer::GetTargetCastingPlayer()); + }, + [](void * context, const chip::ScopedNodeId & peerId, CHIP_ERROR error) { + ChipLogError(AppServer, "ChipDeviceEventHandler::Handle: Connection to CastingPlayer failed"); + CastingPlayer::GetTargetCastingPlayer()->mConnectionState = CASTING_PLAYER_NOT_CONNECTED; + support::CastingStore::GetInstance()->Delete(*CastingPlayer::GetTargetCastingPlayer()); + VerifyOrReturn(CastingPlayer::GetTargetCastingPlayer()->mOnCompleted); + CastingPlayer::GetTargetCastingPlayer()->mOnCompleted(error, nullptr); + CastingPlayer::mTargetCastingPlayer = nullptr; + }); + } +} + +void ChipDeviceEventHandler::HandleFailSafeTimerExpired() +{ + ChipLogProgress(AppServer, "ChipDeviceEventHandler::HandleFailSafeTimerExpired called"); + chip::DeviceLayer::SystemLayer().StartTimer( + chip::System::Clock::Milliseconds32(1), + [](chip::System::Layer * aSystemLayer, void * aAppState) { + ChipLogProgress(AppServer, "ChipDeviceEventHandler::Handle running OpenBasicCommissioningWindow"); + CHIP_ERROR err = chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow( + chip::System::Clock::Seconds16(CastingPlayer::GetTargetCastingPlayer()->mCommissioningWindowTimeoutSec)); + if (err != CHIP_NO_ERROR) + { + ChipLogError(AppServer, "ChipDeviceEventHandler::Handle Failed to OpenBasicCommissioningWindow %" CHIP_ERROR_FORMAT, + err.Format()); + CastingPlayer::GetTargetCastingPlayer()->mOnCompleted(err, nullptr); + return; + } + +#if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT + err = CastingPlayer::GetTargetCastingPlayer()->SendUserDirectedCommissioningRequest(); + if (err != CHIP_NO_ERROR) + { + ChipLogError(AppServer, + "ChipDeviceEventHandler::Handle Failed to SendUserDirectedCommissioningRequest %" CHIP_ERROR_FORMAT, + err.Format()); + CastingPlayer::GetTargetCastingPlayer()->mOnCompleted(err, nullptr); + return; + } +#endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT + }, + nullptr); +} + +void ChipDeviceEventHandler::HandleBindingsChangedViaCluster(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg, + bool & runPostCommissioning, chip::NodeId & targetNodeId, + chip::FabricIndex & targetFabricIndex) +{ + ChipLogProgress(AppServer, "ChipDeviceEventHandler::HandleBindingsChangedViaCluster called"); + + if (CastingPlayer::GetTargetCastingPlayer()->IsConnected()) + { + // re-use existing nodeId and fabricIndex + ChipLogProgress(AppServer, "ChipDeviceEventHandler::HandleBindingsChangedViaCluster already connected to video player"); + runPostCommissioning = true; + targetNodeId = CastingPlayer::GetTargetCastingPlayer()->GetNodeId(); + targetFabricIndex = CastingPlayer::GetTargetCastingPlayer()->GetFabricIndex(); + } + // handle the "re-commissioning" use case i.e. we received a kBindingsChangedViaCluster event when UDC was in progress (i.e. no + // kCommissioningComplete received) + else if (sUdcInProgress) + { + ChipLogProgress(AppServer, + "ChipDeviceEventHandler::HandleBindingsChangedViaCluster UDC is in progress while handling " + "kBindingsChangedViaCluster with " + "fabricIndex: %d", + event->BindingsChanged.fabricIndex); + sUdcInProgress = false; + + // find targetNodeId from binding table by matching the binding's fabricIndex with the accessing fabricIndex + // received in BindingsChanged event + for (const auto & binding : chip::BindingTable::GetInstance()) + { + ChipLogProgress(AppServer, + "ChipDeviceEventHandler::HandleBindingsChangedViaCluster Read cached binding type=%d fabrixIndex=%d " + "nodeId=0x" ChipLogFormatX64 + " groupId=%d local endpoint=%d remote endpoint=%d cluster=" ChipLogFormatMEI, + binding.type, binding.fabricIndex, ChipLogValueX64(binding.nodeId), binding.groupId, binding.local, + binding.remote, ChipLogValueMEI(binding.clusterId.ValueOr(0))); + if (binding.type == EMBER_UNICAST_BINDING && event->BindingsChanged.fabricIndex == binding.fabricIndex) + { + ChipLogProgress(AppServer, + "ChipDeviceEventHandler::HandleBindingsChangedViaCluster Matched accessingFabricIndex with " + "nodeId=0x" ChipLogFormatX64, + ChipLogValueX64(binding.nodeId)); + targetNodeId = binding.nodeId; + targetFabricIndex = binding.fabricIndex; + runPostCommissioning = true; + break; + } + } + + if (targetNodeId == 0 && runPostCommissioning == false) + { + ChipLogError(AppServer, + "ChipDeviceEventHandler::HandleBindingsChangedViaCluster accessingFabricIndex: %d did not match bindings", + event->BindingsChanged.fabricIndex); + CastingPlayer::GetTargetCastingPlayer()->mOnCompleted(CHIP_ERROR_INCORRECT_STATE, + CastingPlayer::GetTargetCastingPlayer()); + return; + } + } +} + +void ChipDeviceEventHandler::HandleCommissioningComplete(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg, + bool & runPostCommissioning, chip::NodeId & targetNodeId, + chip::FabricIndex & targetFabricIndex) +{ + ChipLogProgress(AppServer, "ChipDeviceEventHandler::HandleCommissioningComplete called"); + sUdcInProgress = false; + targetNodeId = event->CommissioningComplete.nodeId; + targetFabricIndex = event->CommissioningComplete.fabricIndex; + runPostCommissioning = true; +} + +}; // namespace support +}; // namespace casting +}; // namespace matter diff --git a/examples/tv-casting-app/tv-casting-common/support/ChipDeviceEventHandler.h b/examples/tv-casting-app/tv-casting-common/support/ChipDeviceEventHandler.h new file mode 100644 index 00000000000000..69142603ce40f0 --- /dev/null +++ b/examples/tv-casting-app/tv-casting-common/support/ChipDeviceEventHandler.h @@ -0,0 +1,84 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +namespace matter { +namespace casting { +namespace support { + +/** + * @brief Handles chip::DeviceLayer::ChipDeviceEvent events (such as kFailSafeTimerExpired, kBindingsChangedViaCluster, + * kCommissioningComplete) sent by the Matter DeviceLayer. + * ChipDeviceEventHandlerhelps the CastingPlayer class commission with and connect to a CastingPlayer + */ +class ChipDeviceEventHandler +{ +public: + /** + * @brief Top level handler to handle chip::DeviceLayer::ChipDeviceEvent. Delegates to HandleBindingsChangedViaCluster and other + * handlers + */ + static void Handle(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg); + + /** + * @brief Sets internal ChipDeviceEventHandler state to indicate that User Directed Commissioning (UDC) is in progress. + * If UDC was already in progress when this method was called, it will return a CHIP_ERROR_INCORRECT_STATE without changing the + * internal state. + */ + static CHIP_ERROR SetUdcStatus(bool udcInProgress) + { + if (sUdcInProgress == udcInProgress) + { + ChipLogError(AppServer, "UDC in progress state is already %d", sUdcInProgress); + return CHIP_ERROR_INCORRECT_STATE; + } + sUdcInProgress = udcInProgress; + return CHIP_NO_ERROR; + } + +private: + /** + * @brief if kFailSafeTimerExpired is received and a request to connect to a CastingPlayer is pending, open a basic + * commissioning window and send the user directed commissioning request to the target CastingPlayer + */ + static void HandleFailSafeTimerExpired(); + + /** + * @brief Handles cases where the tv-casting-app is being "re-commissioned" from a CastingPlayer that it was previously + * commissioned by. + */ + static void HandleBindingsChangedViaCluster(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg, + bool & runPostCommissioning, chip::NodeId & targetPeerNodeId, + chip::FabricIndex & targetFabricIndex); + + /** + * @brief Handles kCommissioningComplete event which is received when commissioning completes + */ + static void HandleCommissioningComplete(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg, + bool & runPostCommissioning, chip::NodeId & targetPeerNodeId, + chip::FabricIndex & targetFabricIndex); + + static bool sUdcInProgress; +}; + +}; // namespace support +}; // namespace casting +}; // namespace matter From c34e076eaa3d3d279271252c7928f287ca478bc6 Mon Sep 17 00:00:00 2001 From: Sharad Binjola Date: Tue, 17 Oct 2023 10:52:02 -0700 Subject: [PATCH 16/44] Right sizing MACAddress buffers --- .../jni/com/chip/casting/NsdResolveListener.java | 2 +- .../App/app/src/main/jni/cpp/ConversionUtils.cpp | 8 ++++---- .../include/TargetVideoPlayerInfo.h | 8 ++++---- .../tv-casting-common/src/PersistenceManager.cpp | 12 ++++++------ 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/examples/tv-casting-app/android/App/app/src/main/jni/com/chip/casting/NsdResolveListener.java b/examples/tv-casting-app/android/App/app/src/main/jni/com/chip/casting/NsdResolveListener.java index 253dbee0968874..638425675dc99b 100644 --- a/examples/tv-casting-app/android/App/app/src/main/jni/com/chip/casting/NsdResolveListener.java +++ b/examples/tv-casting-app/android/App/app/src/main/jni/com/chip/casting/NsdResolveListener.java @@ -143,13 +143,13 @@ private boolean isPassingDeviceTypeFilter(DiscoveredNodeData discoveredNodeData) private void addCommissioningInfo(DiscoveredNodeData discoveredNodeData) { if (preCommissionedVideoPlayers != null) { + long currentUnixTimeMS = System.currentTimeMillis(); for (VideoPlayer videoPlayer : preCommissionedVideoPlayers) { if (videoPlayer.isSameAs(discoveredNodeData)) { Log.d( TAG, "Matching Video Player with the following information found for DiscoveredNodeData" + videoPlayer); - long currentUnixTimeMS = System.currentTimeMillis(); Log.d(TAG, "Updating discovery timestamp for VideoPlayer to " + currentUnixTimeMS); videoPlayer.setLastDiscoveredMs(currentUnixTimeMS); discoveredNodeData.setConnectableVideoPlayer(videoPlayer); diff --git a/examples/tv-casting-app/android/App/app/src/main/jni/cpp/ConversionUtils.cpp b/examples/tv-casting-app/android/App/app/src/main/jni/cpp/ConversionUtils.cpp index f78c27c4b31383..dfcb2d8f44f69f 100644 --- a/examples/tv-casting-app/android/App/app/src/main/jni/cpp/ConversionUtils.cpp +++ b/examples/tv-casting-app/android/App/app/src/main/jni/cpp/ConversionUtils.cpp @@ -183,7 +183,7 @@ CHIP_ERROR convertJVideoPlayerToTargetVideoPlayerInfo(jobject videoPlayer, Targe if (MACAddress != nullptr) { - chip::CharSpan MACAddressSpan(MACAddress, strlen(MACAddress) - 1); + chip::CharSpan MACAddressSpan(MACAddress, 2 * 2 * chip::DeviceLayer::ConfigurationManager::kPrimaryMACAddressLength); outTargetVideoPlayerInfo.SetMACAddress(MACAddressSpan); } @@ -257,9 +257,9 @@ CHIP_ERROR convertTargetVideoPlayerInfoToJVideoPlayer(TargetVideoPlayerInfo * ta jstring MACAddress = nullptr; if (targetVideoPlayerInfo->GetMACAddress() != nullptr && targetVideoPlayerInfo->GetMACAddress()->data() != nullptr) { - char MACAddressWithNil[2 * chip::DeviceLayer::ConfigurationManager::kMaxMACAddressLength + 1]; - strncpy(MACAddressWithNil, targetVideoPlayerInfo->GetMACAddress()->data(), - targetVideoPlayerInfo->GetMACAddress()->size()); + char MACAddressWithNil[2 * chip::DeviceLayer::ConfigurationManager::kPrimaryMACAddressLength + 1]; + memcpy(MACAddressWithNil, targetVideoPlayerInfo->GetMACAddress()->data(), + targetVideoPlayerInfo->GetMACAddress()->size()); MACAddressWithNil[targetVideoPlayerInfo->GetMACAddress()->size()] = '\0'; MACAddress = env->NewStringUTF(MACAddressWithNil); } diff --git a/examples/tv-casting-app/tv-casting-common/include/TargetVideoPlayerInfo.h b/examples/tv-casting-app/tv-casting-common/include/TargetVideoPlayerInfo.h index b2086368467513..8c00cf61da4031 100644 --- a/examples/tv-casting-app/tv-casting-common/include/TargetVideoPlayerInfo.h +++ b/examples/tv-casting-app/tv-casting-common/include/TargetVideoPlayerInfo.h @@ -95,8 +95,8 @@ class TargetVideoPlayerInfo bool IsAsleep() { return mIsAsleep; } void SetMACAddress(chip::CharSpan MACAddress) { - memcpy(mMACAddressBuf, MACAddress.data(), MACAddress.size()); - mMACAddress = chip::CharSpan(mMACAddressBuf, MACAddress.size()); + memcpy(mMACAddressBuf, MACAddress.data(), sizeof(mMACAddressBuf)); + mMACAddress = chip::CharSpan(mMACAddressBuf, sizeof(mMACAddressBuf)); } chip::System::Clock::Timestamp GetLastDiscovered() { return mLastDiscovered; } void SetLastDiscovered(chip::System::Clock::Timestamp lastDiscovered) { mLastDiscovered = lastDiscovered; } @@ -106,7 +106,7 @@ class TargetVideoPlayerInfo // it was recently discoverable if its mLastDiscovered.count is within // CHIP_DEVICE_CONFIG_STR_CACHE_LAST_DISCOVERED_HOURS of current time chip::System::Clock::Timestamp currentUnixTimeMS = chip::System::Clock::kZero; - chip::System::SystemClock().GetClock_RealTimeMS(currentUnixTimeMS); + VerifyOrReturnValue(chip::System::SystemClock().GetClock_RealTimeMS(currentUnixTimeMS) == CHIP_NO_ERROR, true); ChipLogProgress(AppServer, "WasRecentlyDiscoverable currentUnixTimeMS: %lu mLastDiscovered: %lu", static_cast(currentUnixTimeMS.count()), static_cast(mLastDiscovered.count())); return mLastDiscovered.count() > @@ -211,7 +211,7 @@ class TargetVideoPlayerInfo char mInstanceName[chip::Dnssd::Commission::kInstanceNameMaxLength + 1]; uint16_t mPort; chip::CharSpan mMACAddress; - char mMACAddressBuf[2 * chip::DeviceLayer::ConfigurationManager::kMaxMACAddressLength]; + char mMACAddressBuf[2 * chip::DeviceLayer::ConfigurationManager::kPrimaryMACAddressLength]; chip::System::Clock::Timestamp mLastDiscovered; bool mIsAsleep = false; bool mInitialized = false; diff --git a/examples/tv-casting-app/tv-casting-common/src/PersistenceManager.cpp b/examples/tv-casting-app/tv-casting-common/src/PersistenceManager.cpp index 32b6eae3714597..8d2db13d95b292 100644 --- a/examples/tv-casting-app/tv-casting-common/src/PersistenceManager.cpp +++ b/examples/tv-casting-app/tv-casting-common/src/PersistenceManager.cpp @@ -267,11 +267,11 @@ CHIP_ERROR PersistenceManager::ReadAllVideoPlayers(TargetVideoPlayerInfo outVide char hostName[chip::Dnssd::kHostNameMaxLength + 1] = {}; size_t numIPs = 0; Inet::IPAddress ipAddress[chip::Dnssd::CommonResolutionData::kMaxIPAddresses]; - uint64_t lastDiscoveredMs = 0; - char MACAddressBuf[2 * chip::DeviceLayer::ConfigurationManager::kMaxMACAddressLength] = {}; - uint32_t MACAddressLength = 0; - char instanceName[chip::Dnssd::Commission::kInstanceNameMaxLength + 1] = {}; - uint16_t port = 0; + uint64_t lastDiscoveredMs = 0; + char MACAddressBuf[2 * chip::DeviceLayer::ConfigurationManager::kPrimaryMACAddressLength] = {}; + uint32_t MACAddressLength = 0; + char instanceName[chip::Dnssd::Commission::kInstanceNameMaxLength + 1] = {}; + uint16_t port = 0; CHIP_ERROR err; while ((err = reader.Next()) == CHIP_NO_ERROR) @@ -349,7 +349,7 @@ CHIP_ERROR PersistenceManager::ReadAllVideoPlayers(TargetVideoPlayerInfo outVide { MACAddressLength = reader.GetLength(); ReturnErrorOnFailure(reader.GetBytes(reinterpret_cast(MACAddressBuf), - 2 * chip::DeviceLayer::ConfigurationManager::kMaxMACAddressLength)); + 2 * chip::DeviceLayer::ConfigurationManager::kPrimaryMACAddressLength)); continue; } From 2a7c214ba1341b0c358cefe2189f2a4c90ac7339 Mon Sep 17 00:00:00 2001 From: Alex Tsitsiura Date: Mon, 23 Oct 2023 17:44:06 +0300 Subject: [PATCH 17/44] Update builds to docker version 22 (#29887) * [Telink] Use -p for activate to install requirements.telink.txt * Update builds to docker version 22 * [Telink] try to use new variable for path --------- Co-authored-by: Andrei Litvin --- .github/workflows/bloat_check.yaml | 2 +- .github/workflows/build.yaml | 10 +++++----- .github/workflows/chef.yaml | 8 ++++---- .github/workflows/cirque.yaml | 2 +- .github/workflows/doxygen.yaml | 2 +- .github/workflows/examples-ameba.yaml | 2 +- .github/workflows/examples-asr.yaml | 2 +- .github/workflows/examples-bouffalolab.yaml | 2 +- .github/workflows/examples-cc13x2x7_26x2x7.yaml | 2 +- .github/workflows/examples-cc32xx.yaml | 2 +- .github/workflows/examples-efr32.yaml | 2 +- .github/workflows/examples-esp32.yaml | 4 ++-- .github/workflows/examples-infineon.yaml | 2 +- .github/workflows/examples-k32w.yaml | 2 +- .github/workflows/examples-linux-arm.yaml | 2 +- .github/workflows/examples-linux-imx.yaml | 2 +- .github/workflows/examples-linux-standalone.yaml | 2 +- .github/workflows/examples-mbed.yaml | 2 +- .github/workflows/examples-mw320.yaml | 2 +- .github/workflows/examples-nrfconnect.yaml | 2 +- .github/workflows/examples-openiotsdk.yaml | 2 +- .github/workflows/examples-qpg.yaml | 2 +- .github/workflows/examples-stm32.yaml | 3 +-- .github/workflows/examples-telink.yaml | 2 +- .github/workflows/examples-tizen.yaml | 2 +- .github/workflows/full-android.yaml | 2 +- .github/workflows/fuzzing-build.yaml | 2 +- .github/workflows/java-tests.yaml | 2 +- .github/workflows/lint.yml | 2 +- .github/workflows/minimal-build.yaml | 2 +- .github/workflows/qemu.yaml | 4 ++-- .github/workflows/release_artifacts.yaml | 4 ++-- .github/workflows/smoketest-android.yaml | 2 +- .github/workflows/tests.yaml | 4 ++-- .github/workflows/unit_integration_test.yaml | 2 +- .github/workflows/zap_regeneration.yaml | 2 +- .github/workflows/zap_templates.yaml | 2 +- examples/air-quality-sensor-app/telink/README.md | 2 +- examples/all-clusters-app/ameba/README.md | 4 ++-- examples/all-clusters-app/telink/Readme.md | 2 +- examples/all-clusters-minimal-app/ameba/README.md | 4 ++-- examples/all-clusters-minimal-app/telink/Readme.md | 2 +- examples/bridge-app/telink/README.md | 2 +- examples/chef/chef.py | 10 +++++++++- examples/contact-sensor-app/telink/README.md | 2 +- examples/light-switch-app/ameba/README.md | 4 ++-- examples/light-switch-app/telink/README.md | 2 +- examples/lighting-app/ameba/README.md | 4 ++-- examples/lighting-app/telink/README.md | 2 +- examples/lock-app/telink/README.md | 2 +- examples/ota-requestor-app/ameba/README.md | 4 ++-- examples/ota-requestor-app/telink/Readme.md | 2 +- examples/pigweed-app/ameba/README.md | 4 ++-- examples/pump-app/telink/README.md | 2 +- examples/pump-controller-app/telink/README.md | 2 +- examples/resource-monitoring-app/telink/README.md | 2 +- examples/shell/telink/README.md | 2 +- examples/smoke-co-alarm-app/telink/README.md | 2 +- .../temperature-measurement-app/telink/README.md | 2 +- examples/thermostat/telink/Readme.md | 2 +- examples/window-app/telink/README.md | 2 +- integrations/cloudbuild/build-all.yaml | 6 +++--- integrations/cloudbuild/chef.yaml | 6 +++--- integrations/cloudbuild/smoke-test.yaml | 14 +++++++------- src/test_driver/tizen/README.md | 4 ++-- 65 files changed, 101 insertions(+), 94 deletions(-) diff --git a/.github/workflows/bloat_check.yaml b/.github/workflows/bloat_check.yaml index e6f02432b16793..2a1dee179aa3e0 100644 --- a/.github/workflows/bloat_check.yaml +++ b/.github/workflows/bloat_check.yaml @@ -33,7 +33,7 @@ jobs: runs-on: ubuntu-latest container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 steps: - name: Checkout diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 902c7afc618545..588ded31e8cbf9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -40,7 +40,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/log_output:/tmp/test_logs" options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 @@ -135,7 +135,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/log_output:/tmp/test_logs" options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 @@ -283,7 +283,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/log_output:/tmp/test_logs" options: --sysctl "net.ipv6.conf.all.disable_ipv6=0 @@ -343,7 +343,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/log_output:/tmp/test_logs" options: --sysctl "net.ipv6.conf.all.disable_ipv6=0 @@ -451,7 +451,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/log_output:/tmp/test_logs" options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 diff --git a/.github/workflows/chef.yaml b/.github/workflows/chef.yaml index 6767d78ea46cf3..2b5b34478b677f 100644 --- a/.github/workflows/chef.yaml +++ b/.github/workflows/chef.yaml @@ -33,7 +33,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 options: --user root steps: @@ -54,7 +54,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-esp32:21 + image: ghcr.io/project-chip/chip-build-esp32:22 options: --user root steps: @@ -75,7 +75,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-nrf-platform:21 + image: ghcr.io/project-chip/chip-build-nrf-platform:22 options: --user root steps: @@ -96,7 +96,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-telink:21 + image: ghcr.io/project-chip/chip-build-telink:22 options: --user root steps: diff --git a/.github/workflows/cirque.yaml b/.github/workflows/cirque.yaml index 25f6484d4bf2ad..c19e1dd911755c 100644 --- a/.github/workflows/cirque.yaml +++ b/.github/workflows/cirque.yaml @@ -40,7 +40,7 @@ jobs: # need to run with privilege, which isn't supported by job.XXX.contaner # https://github.com/actions/container-action/issues/2 # container: - # image: ghcr.io/project-chip/chip-build-cirque:21 + # image: ghcr.io/project-chip/chip-build-cirque:22 # volumes: # - "/tmp:/tmp" # - "/dev/pts:/dev/pts" diff --git a/.github/workflows/doxygen.yaml b/.github/workflows/doxygen.yaml index efc82b13c13f9f..4e4e2abf319891 100644 --- a/.github/workflows/doxygen.yaml +++ b/.github/workflows/doxygen.yaml @@ -81,7 +81,7 @@ jobs: runs-on: ubuntu-latest container: - image: ghcr.io/project-chip/chip-build-doxygen:21 + image: ghcr.io/project-chip/chip-build-doxygen:22 if: github.actor != 'restyled-io[bot]' diff --git a/.github/workflows/examples-ameba.yaml b/.github/workflows/examples-ameba.yaml index 2e8e9465d90dca..42afb3ee37b1e7 100644 --- a/.github/workflows/examples-ameba.yaml +++ b/.github/workflows/examples-ameba.yaml @@ -36,7 +36,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-ameba:21 + image: ghcr.io/project-chip/chip-build-ameba:22 options: --user root steps: diff --git a/.github/workflows/examples-asr.yaml b/.github/workflows/examples-asr.yaml index 2257c9ed54a62a..7bb7e790595f10 100644 --- a/.github/workflows/examples-asr.yaml +++ b/.github/workflows/examples-asr.yaml @@ -34,7 +34,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-asr:21 + image: ghcr.io/project-chip/chip-build-asr:22 options: --user root steps: diff --git a/.github/workflows/examples-bouffalolab.yaml b/.github/workflows/examples-bouffalolab.yaml index 6564a304ee0fe8..53a43c267251c6 100644 --- a/.github/workflows/examples-bouffalolab.yaml +++ b/.github/workflows/examples-bouffalolab.yaml @@ -35,7 +35,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-bouffalolab:21 + image: ghcr.io/project-chip/chip-build-bouffalolab:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: diff --git a/.github/workflows/examples-cc13x2x7_26x2x7.yaml b/.github/workflows/examples-cc13x2x7_26x2x7.yaml index e7548e6f5413d5..4229f9800f2df8 100644 --- a/.github/workflows/examples-cc13x2x7_26x2x7.yaml +++ b/.github/workflows/examples-cc13x2x7_26x2x7.yaml @@ -36,7 +36,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-ti:21 + image: ghcr.io/project-chip/chip-build-ti:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: diff --git a/.github/workflows/examples-cc32xx.yaml b/.github/workflows/examples-cc32xx.yaml index 1d0d65c30110fb..6c8d0362c38fff 100644 --- a/.github/workflows/examples-cc32xx.yaml +++ b/.github/workflows/examples-cc32xx.yaml @@ -37,7 +37,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-ti:21 + image: ghcr.io/project-chip/chip-build-ti:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: diff --git a/.github/workflows/examples-efr32.yaml b/.github/workflows/examples-efr32.yaml index ee7159475b14d1..899ac288dc1c70 100644 --- a/.github/workflows/examples-efr32.yaml +++ b/.github/workflows/examples-efr32.yaml @@ -38,7 +38,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-efr32:21 + image: ghcr.io/project-chip/chip-build-efr32:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: diff --git a/.github/workflows/examples-esp32.yaml b/.github/workflows/examples-esp32.yaml index 8fbf75f9ebea37..f1b8ff3b6f20a7 100644 --- a/.github/workflows/examples-esp32.yaml +++ b/.github/workflows/examples-esp32.yaml @@ -34,7 +34,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-esp32:21 + image: ghcr.io/project-chip/chip-build-esp32:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" @@ -130,7 +130,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-esp32:21 + image: ghcr.io/project-chip/chip-build-esp32:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" diff --git a/.github/workflows/examples-infineon.yaml b/.github/workflows/examples-infineon.yaml index b7f5e201291522..7fc006fe8f6698 100644 --- a/.github/workflows/examples-infineon.yaml +++ b/.github/workflows/examples-infineon.yaml @@ -35,7 +35,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-infineon:21 + image: ghcr.io/project-chip/chip-build-infineon:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: diff --git a/.github/workflows/examples-k32w.yaml b/.github/workflows/examples-k32w.yaml index df88c5a9dabaac..541106d618e2d5 100644 --- a/.github/workflows/examples-k32w.yaml +++ b/.github/workflows/examples-k32w.yaml @@ -37,7 +37,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-k32w:21 + image: ghcr.io/project-chip/chip-build-k32w:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: diff --git a/.github/workflows/examples-linux-arm.yaml b/.github/workflows/examples-linux-arm.yaml index 44fdc7eac2b25d..4645b4e897d3ff 100644 --- a/.github/workflows/examples-linux-arm.yaml +++ b/.github/workflows/examples-linux-arm.yaml @@ -34,7 +34,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-crosscompile:21 + image: ghcr.io/project-chip/chip-build-crosscompile:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" diff --git a/.github/workflows/examples-linux-imx.yaml b/.github/workflows/examples-linux-imx.yaml index 4508d39da3f438..e34148a8ff0a91 100644 --- a/.github/workflows/examples-linux-imx.yaml +++ b/.github/workflows/examples-linux-imx.yaml @@ -34,7 +34,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-imx:21 + image: ghcr.io/project-chip/chip-build-imx:22 steps: - name: Checkout diff --git a/.github/workflows/examples-linux-standalone.yaml b/.github/workflows/examples-linux-standalone.yaml index d6740787696105..0c8f6c4cb1ee0f 100644 --- a/.github/workflows/examples-linux-standalone.yaml +++ b/.github/workflows/examples-linux-standalone.yaml @@ -34,7 +34,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" diff --git a/.github/workflows/examples-mbed.yaml b/.github/workflows/examples-mbed.yaml index cfd022219b3cf4..a73d825ee444e8 100644 --- a/.github/workflows/examples-mbed.yaml +++ b/.github/workflows/examples-mbed.yaml @@ -40,7 +40,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-mbed-os:21 + image: ghcr.io/project-chip/chip-build-mbed-os:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" diff --git a/.github/workflows/examples-mw320.yaml b/.github/workflows/examples-mw320.yaml index a879dc16e34e50..b5658efdcdf687 100644 --- a/.github/workflows/examples-mw320.yaml +++ b/.github/workflows/examples-mw320.yaml @@ -37,7 +37,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: diff --git a/.github/workflows/examples-nrfconnect.yaml b/.github/workflows/examples-nrfconnect.yaml index 5d05fb34f286ad..b1cf4cd87279f3 100644 --- a/.github/workflows/examples-nrfconnect.yaml +++ b/.github/workflows/examples-nrfconnect.yaml @@ -37,7 +37,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-nrf-platform:21 + image: ghcr.io/project-chip/chip-build-nrf-platform:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" diff --git a/.github/workflows/examples-openiotsdk.yaml b/.github/workflows/examples-openiotsdk.yaml index 4fd20ce854f31b..de63249ee89d6a 100644 --- a/.github/workflows/examples-openiotsdk.yaml +++ b/.github/workflows/examples-openiotsdk.yaml @@ -38,7 +38,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-openiotsdk:21 + image: ghcr.io/project-chip/chip-build-openiotsdk:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" options: --privileged diff --git a/.github/workflows/examples-qpg.yaml b/.github/workflows/examples-qpg.yaml index 2fcb50ae6a339f..3590b33a7c6829 100644 --- a/.github/workflows/examples-qpg.yaml +++ b/.github/workflows/examples-qpg.yaml @@ -37,7 +37,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: diff --git a/.github/workflows/examples-stm32.yaml b/.github/workflows/examples-stm32.yaml index 5c8189cbe01711..dce5de01d786d9 100644 --- a/.github/workflows/examples-stm32.yaml +++ b/.github/workflows/examples-stm32.yaml @@ -38,7 +38,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: @@ -68,4 +68,3 @@ jobs: if: ${{ !env.ACT }} with: platform-name: stm32 - diff --git a/.github/workflows/examples-telink.yaml b/.github/workflows/examples-telink.yaml index f3e5cfb59e2d88..225ddf16fd190b 100644 --- a/.github/workflows/examples-telink.yaml +++ b/.github/workflows/examples-telink.yaml @@ -36,7 +36,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-telink:21 + image: ghcr.io/project-chip/chip-build-telink:22 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" diff --git a/.github/workflows/examples-tizen.yaml b/.github/workflows/examples-tizen.yaml index 1e375b1ff0ea91..6099113b021e38 100644 --- a/.github/workflows/examples-tizen.yaml +++ b/.github/workflows/examples-tizen.yaml @@ -34,7 +34,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-tizen:21 + image: ghcr.io/project-chip/chip-build-tizen:22 options: --user root volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" diff --git a/.github/workflows/full-android.yaml b/.github/workflows/full-android.yaml index 319cce82a3c217..a227bdd6e16d08 100644 --- a/.github/workflows/full-android.yaml +++ b/.github/workflows/full-android.yaml @@ -36,7 +36,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-android:21 + image: ghcr.io/project-chip/chip-build-android:22 volumes: - "/tmp/log_output:/tmp/test_logs" diff --git a/.github/workflows/fuzzing-build.yaml b/.github/workflows/fuzzing-build.yaml index 42d8134470ba2b..21ae6619fe0e73 100644 --- a/.github/workflows/fuzzing-build.yaml +++ b/.github/workflows/fuzzing-build.yaml @@ -33,7 +33,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/log_output:/tmp/test_logs" diff --git a/.github/workflows/java-tests.yaml b/.github/workflows/java-tests.yaml index f4711ca5bfb9ff..fe27fe9cdd4eb1 100644 --- a/.github/workflows/java-tests.yaml +++ b/.github/workflows/java-tests.yaml @@ -40,7 +40,7 @@ jobs: runs-on: ubuntu-latest container: - image: ghcr.io/project-chip/chip-build-java:21 + image: ghcr.io/project-chip/chip-build-java:22 options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 941598cc6d7b65..b70ac09cb8ad5b 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -29,7 +29,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 steps: - name: Checkout diff --git a/.github/workflows/minimal-build.yaml b/.github/workflows/minimal-build.yaml index a6c95979f200fe..269692c1461410 100644 --- a/.github/workflows/minimal-build.yaml +++ b/.github/workflows/minimal-build.yaml @@ -31,7 +31,7 @@ jobs: runs-on: ubuntu-latest container: - image: ghcr.io/project-chip/chip-build-minimal:21 + image: ghcr.io/project-chip/chip-build-minimal:22 steps: - name: Checkout diff --git a/.github/workflows/qemu.yaml b/.github/workflows/qemu.yaml index b16d073224d0af..ac677a83d61468 100644 --- a/.github/workflows/qemu.yaml +++ b/.github/workflows/qemu.yaml @@ -38,7 +38,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-esp32-qemu:21 + image: ghcr.io/project-chip/chip-build-esp32-qemu:22 volumes: - "/tmp/log_output:/tmp/test_logs" @@ -76,7 +76,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-tizen-qemu:21 + image: ghcr.io/project-chip/chip-build-tizen-qemu:22 volumes: - "/tmp/log_output:/tmp/test_logs" diff --git a/.github/workflows/release_artifacts.yaml b/.github/workflows/release_artifacts.yaml index f0c816125f6190..9baca19da32835 100644 --- a/.github/workflows/release_artifacts.yaml +++ b/.github/workflows/release_artifacts.yaml @@ -32,7 +32,7 @@ jobs: runs-on: ubuntu-latest container: - image: ghcr.io/project-chip/chip-build-esp32:21 + image: ghcr.io/project-chip/chip-build-esp32:22 steps: - name: Checkout @@ -68,7 +68,7 @@ jobs: runs-on: ubuntu-latest container: - image: ghcr.io/project-chip/chip-build-efr32:21 + image: ghcr.io/project-chip/chip-build-efr32:22 steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/smoketest-android.yaml b/.github/workflows/smoketest-android.yaml index 6b493cbb990627..ee0fe3400830ab 100644 --- a/.github/workflows/smoketest-android.yaml +++ b/.github/workflows/smoketest-android.yaml @@ -37,7 +37,7 @@ jobs: if: github.actor != 'restyled-io[bot]' container: - image: ghcr.io/project-chip/chip-build-android:21 + image: ghcr.io/project-chip/chip-build-android:22 volumes: - "/tmp/log_output:/tmp/test_logs" diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 1a2eedcb59c3a0..97897e8086c941 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -47,7 +47,7 @@ jobs: runs-on: ubuntu-latest container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" @@ -402,7 +402,7 @@ jobs: runs-on: ubuntu-latest container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0" diff --git a/.github/workflows/unit_integration_test.yaml b/.github/workflows/unit_integration_test.yaml index 9ae5f2df18b295..9a365cb09c2438 100644 --- a/.github/workflows/unit_integration_test.yaml +++ b/.github/workflows/unit_integration_test.yaml @@ -37,7 +37,7 @@ jobs: runs-on: ubuntu-latest container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 volumes: - "/tmp/log_output:/tmp/test_logs" options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" diff --git a/.github/workflows/zap_regeneration.yaml b/.github/workflows/zap_regeneration.yaml index 5e50d26365b2d0..8ccd058de07b87 100644 --- a/.github/workflows/zap_regeneration.yaml +++ b/.github/workflows/zap_regeneration.yaml @@ -30,7 +30,7 @@ jobs: runs-on: ubuntu-20.04 container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 defaults: run: shell: sh diff --git a/.github/workflows/zap_templates.yaml b/.github/workflows/zap_templates.yaml index e84a8f6bc3e076..a83069e9468d28 100644 --- a/.github/workflows/zap_templates.yaml +++ b/.github/workflows/zap_templates.yaml @@ -32,7 +32,7 @@ jobs: runs-on: ubuntu-20.04 container: - image: ghcr.io/project-chip/chip-build:21 + image: ghcr.io/project-chip/chip-build:22 defaults: run: shell: sh diff --git a/examples/air-quality-sensor-app/telink/README.md b/examples/air-quality-sensor-app/telink/README.md index eecc7e8bbdbaa6..f91c701c00c527 100644 --- a/examples/air-quality-sensor-app/telink/README.md +++ b/examples/air-quality-sensor-app/telink/README.md @@ -21,7 +21,7 @@ You can use this example as a reference for creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/all-clusters-app/ameba/README.md b/examples/all-clusters-app/ameba/README.md index a6c1684b997e50..ab7f1a5726765f 100644 --- a/examples/all-clusters-app/ameba/README.md +++ b/examples/all-clusters-app/ameba/README.md @@ -27,11 +27,11 @@ The CHIP demo application is supported on - Pull docker image: - $ docker pull ghcr.io/project-chip/chip-build-ameba:21 + $ docker pull ghcr.io/project-chip/chip-build-ameba:22 - Run docker container: - $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:21 + $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:22 - Setup build environment: diff --git a/examples/all-clusters-app/telink/Readme.md b/examples/all-clusters-app/telink/Readme.md index a8881b7fdeb024..b8f5b95d828893 100644 --- a/examples/all-clusters-app/telink/Readme.md +++ b/examples/all-clusters-app/telink/Readme.md @@ -23,7 +23,7 @@ creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/all-clusters-minimal-app/ameba/README.md b/examples/all-clusters-minimal-app/ameba/README.md index cf21a5a9cff37f..86c2a0f222f3a1 100644 --- a/examples/all-clusters-minimal-app/ameba/README.md +++ b/examples/all-clusters-minimal-app/ameba/README.md @@ -27,13 +27,13 @@ The CHIP demo application is supported on - Pull docker image: ``` - $ docker pull ghcr.io/project-chip/chip-build-ameba:21 + $ docker pull ghcr.io/project-chip/chip-build-ameba:22 ``` - Run docker container: ``` - $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:21 + $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:22 ``` - Setup build environment: diff --git a/examples/all-clusters-minimal-app/telink/Readme.md b/examples/all-clusters-minimal-app/telink/Readme.md index 53c750b806baf7..601fc52ba40fef 100644 --- a/examples/all-clusters-minimal-app/telink/Readme.md +++ b/examples/all-clusters-minimal-app/telink/Readme.md @@ -23,7 +23,7 @@ for creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/bridge-app/telink/README.md b/examples/bridge-app/telink/README.md index fd3d70c21e9b84..34e99505c11f4b 100644 --- a/examples/bridge-app/telink/README.md +++ b/examples/bridge-app/telink/README.md @@ -100,7 +100,7 @@ defined: 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/chef/chef.py b/examples/chef/chef.py index 841eed2001cf6b..184df5e5c10428 100755 --- a/examples/chef/chef.py +++ b/examples/chef/chef.py @@ -89,7 +89,9 @@ def load_config() -> None: config["ameba"]["MATTER_SDK"] = None config["ameba"]["MODEL"] = 'D' config["ameba"]["TTY"] = None - config["telink"]["ZEPHYR_BASE"] = os.environ.get('ZEPHYR_BASE') + config["telink"]["ZEPHYR_BASE"] = os.environ.get('TELINK_ZEPHYR_BASE') + config["telink"]["ZEPHYR_SDK_INSTALL_DIR"] = os.environ.get( + 'TELINK_ZEPHYR_SDK_DIR') config["telink"]["TTY"] = None flush_print(yaml.dump(config)) @@ -542,7 +544,13 @@ def main() -> int: flush_print( 'Path for Telink SDK was not found. Make sure Telink_SDK is set on your config.yaml file') exit(1) + if config['telink']['ZEPHYR_SDK_INSTALL_DIR'] is None: + flush_print( + 'Path for Telink toolchain was not found. Make sure Telink toolchain is set on your config.yaml file') + exit(1) shell.run_cmd("export ZEPHYR_TOOLCHAIN_VARIANT=zephyr") + shell.run_cmd( + f"export ZEPHYR_SDK_INSTALL_DIR={config['telink']['ZEPHYR_SDK_INSTALL_DIR']}") shell.run_cmd( f"export ZEPHYR_BASE={config['telink']['ZEPHYR_BASE']}") shell.run_cmd( diff --git a/examples/contact-sensor-app/telink/README.md b/examples/contact-sensor-app/telink/README.md index cef7f3364dd7dd..370ffbdee63a7f 100755 --- a/examples/contact-sensor-app/telink/README.md +++ b/examples/contact-sensor-app/telink/README.md @@ -21,7 +21,7 @@ You can use this example as a reference for creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/light-switch-app/ameba/README.md b/examples/light-switch-app/ameba/README.md index 67ed7c829c50f1..835b11ea444c59 100644 --- a/examples/light-switch-app/ameba/README.md +++ b/examples/light-switch-app/ameba/README.md @@ -26,11 +26,11 @@ The CHIP demo application is supported on - Pull docker image: - $ docker pull ghcr.io/project-chip/chip-build-ameba:21 + $ docker pull ghcr.io/project-chip/chip-build-ameba:22 - Run docker container: - $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:21 + $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:22 - Setup build environment: diff --git a/examples/light-switch-app/telink/README.md b/examples/light-switch-app/telink/README.md index 6dc9970c5c732e..562be75144d584 100755 --- a/examples/light-switch-app/telink/README.md +++ b/examples/light-switch-app/telink/README.md @@ -26,7 +26,7 @@ creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/lighting-app/ameba/README.md b/examples/lighting-app/ameba/README.md index e81705889be1a9..012ac3b89be5da 100644 --- a/examples/lighting-app/ameba/README.md +++ b/examples/lighting-app/ameba/README.md @@ -23,11 +23,11 @@ The CHIP demo application is supported on - Pull docker image: - $ docker pull ghcr.io/project-chip/chip-build-ameba:21 + $ docker pull ghcr.io/project-chip/chip-build-ameba:22 - Run docker container: - $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:21 + $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:22 - Setup build environment: diff --git a/examples/lighting-app/telink/README.md b/examples/lighting-app/telink/README.md index 666af084b2a8bf..278dfad530a1b0 100644 --- a/examples/lighting-app/telink/README.md +++ b/examples/lighting-app/telink/README.md @@ -24,7 +24,7 @@ a reference for creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/lock-app/telink/README.md b/examples/lock-app/telink/README.md index 2d8e0349d571a1..4d20388ce4277a 100755 --- a/examples/lock-app/telink/README.md +++ b/examples/lock-app/telink/README.md @@ -24,7 +24,7 @@ a reference for creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/ota-requestor-app/ameba/README.md b/examples/ota-requestor-app/ameba/README.md index c30a1fb435df59..2ce04fc328ceed 100644 --- a/examples/ota-requestor-app/ameba/README.md +++ b/examples/ota-requestor-app/ameba/README.md @@ -6,11 +6,11 @@ A prototype application that demonstrates OTA Requestor capabilities. - Pull docker image: - $ docker pull ghcr.io/project-chip/chip-build-ameba:21 + $ docker pull ghcr.io/project-chip/chip-build-ameba:22 - Run docker container: - $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:21 + $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:22 - Setup build environment: diff --git a/examples/ota-requestor-app/telink/Readme.md b/examples/ota-requestor-app/telink/Readme.md index 867f498f9df917..bf58651ce0253a 100755 --- a/examples/ota-requestor-app/telink/Readme.md +++ b/examples/ota-requestor-app/telink/Readme.md @@ -17,7 +17,7 @@ 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/pigweed-app/ameba/README.md b/examples/pigweed-app/ameba/README.md index 361ab87509d2bb..d294295bc5f0e5 100644 --- a/examples/pigweed-app/ameba/README.md +++ b/examples/pigweed-app/ameba/README.md @@ -31,11 +31,11 @@ following features are available: - Pull docker image: - $ docker pull ghcr.io/project-chip/chip-build-ameba:21 + $ docker pull ghcr.io/project-chip/chip-build-ameba:22 - Run docker container: - $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:21 + $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:22 - Setup build environment: diff --git a/examples/pump-app/telink/README.md b/examples/pump-app/telink/README.md index a5a656c68adeea..4d67799bfd28f5 100755 --- a/examples/pump-app/telink/README.md +++ b/examples/pump-app/telink/README.md @@ -25,7 +25,7 @@ reference for creating your own pump application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/pump-controller-app/telink/README.md b/examples/pump-controller-app/telink/README.md index 14153386de3b5e..6e3fa7ef3b0b88 100755 --- a/examples/pump-controller-app/telink/README.md +++ b/examples/pump-controller-app/telink/README.md @@ -26,7 +26,7 @@ your own pump application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/resource-monitoring-app/telink/README.md b/examples/resource-monitoring-app/telink/README.md index 3b6645171511e0..e418ad345911d1 100644 --- a/examples/resource-monitoring-app/telink/README.md +++ b/examples/resource-monitoring-app/telink/README.md @@ -21,7 +21,7 @@ You can use this example as a reference for creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/shell/telink/README.md b/examples/shell/telink/README.md index 2ff00f0046473f..744a0498a8f7d4 100755 --- a/examples/shell/telink/README.md +++ b/examples/shell/telink/README.md @@ -21,7 +21,7 @@ You can use this example as a reference for creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/smoke-co-alarm-app/telink/README.md b/examples/smoke-co-alarm-app/telink/README.md index f36ecb97d5925e..71fc7afd668a23 100755 --- a/examples/smoke-co-alarm-app/telink/README.md +++ b/examples/smoke-co-alarm-app/telink/README.md @@ -21,7 +21,7 @@ You can use this example as a reference for creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/temperature-measurement-app/telink/README.md b/examples/temperature-measurement-app/telink/README.md index fda373eedf2ca9..77558a8968472a 100644 --- a/examples/temperature-measurement-app/telink/README.md +++ b/examples/temperature-measurement-app/telink/README.md @@ -25,7 +25,7 @@ creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/thermostat/telink/Readme.md b/examples/thermostat/telink/Readme.md index b73e5866b03173..ca93b6b1fb2fd3 100755 --- a/examples/thermostat/telink/Readme.md +++ b/examples/thermostat/telink/Readme.md @@ -21,7 +21,7 @@ You can use this example as a reference for creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/examples/window-app/telink/README.md b/examples/window-app/telink/README.md index 372dbcf8dba809..28dcc9aadd0ef6 100644 --- a/examples/window-app/telink/README.md +++ b/examples/window-app/telink/README.md @@ -24,7 +24,7 @@ for creating your own application. 2. Activate the build environment: ```bash - $ source ./scripts/activate.sh + $ source ./scripts/activate.sh -p all,telink ``` 3. In the example dir run (replace __ with your board name, for diff --git a/integrations/cloudbuild/build-all.yaml b/integrations/cloudbuild/build-all.yaml index 808c882ef7ac1f..f2c73a5eb2cd17 100644 --- a/integrations/cloudbuild/build-all.yaml +++ b/integrations/cloudbuild/build-all.yaml @@ -6,7 +6,7 @@ steps: - "--init" - "--recursive" id: Submodules - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" env: - PW_ENVIRONMENT_ROOT=/pwenv args: @@ -21,7 +21,7 @@ steps: path: /pwenv timeout: 900s - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" env: - PW_ENVIRONMENT_ROOT=/pwenv args: @@ -85,7 +85,7 @@ steps: --target k32w-shell build --create-archives /workspace/artifacts/ - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" env: - PW_ENVIRONMENT_ROOT=/pwenv args: diff --git a/integrations/cloudbuild/chef.yaml b/integrations/cloudbuild/chef.yaml index 488d05c19f4097..d0989a173705c7 100644 --- a/integrations/cloudbuild/chef.yaml +++ b/integrations/cloudbuild/chef.yaml @@ -1,5 +1,5 @@ steps: - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" env: - PW_ENVIRONMENT_ROOT=/pwenv args: @@ -12,7 +12,7 @@ steps: path: /pwenv timeout: 2700s - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" env: - PW_ENVIRONMENT_ROOT=/pwenv args: @@ -27,7 +27,7 @@ steps: - name: pwenv path: /pwenv - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" env: - PW_ENVIRONMENT_ROOT=/pwenv args: diff --git a/integrations/cloudbuild/smoke-test.yaml b/integrations/cloudbuild/smoke-test.yaml index 8db671765d7b83..ef5e12328b7181 100644 --- a/integrations/cloudbuild/smoke-test.yaml +++ b/integrations/cloudbuild/smoke-test.yaml @@ -1,5 +1,5 @@ steps: - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" entrypoint: "bash" args: - "-c" @@ -7,7 +7,7 @@ steps: git config --global --add safe.directory "*" git submodule update --init --recursive id: Submodules - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" env: - PW_ENVIRONMENT_ROOT=/pwenv args: @@ -22,7 +22,7 @@ steps: path: /pwenv timeout: 900s - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" id: ESP32 env: - PW_ENVIRONMENT_ROOT=/pwenv @@ -43,7 +43,7 @@ steps: volumes: - name: pwenv path: /pwenv - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" id: NRFConnect env: - PW_ENVIRONMENT_ROOT=/pwenv @@ -64,7 +64,7 @@ steps: - name: pwenv path: /pwenv - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" id: EFR32 env: - PW_ENVIRONMENT_ROOT=/pwenv @@ -86,7 +86,7 @@ steps: - name: pwenv path: /pwenv - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" id: Linux env: - PW_ENVIRONMENT_ROOT=/pwenv @@ -139,7 +139,7 @@ steps: - name: pwenv path: /pwenv - - name: "ghcr.io/project-chip/chip-build-vscode:21" + - name: "ghcr.io/project-chip/chip-build-vscode:22" id: Android env: - PW_ENVIRONMENT_ROOT=/pwenv diff --git a/src/test_driver/tizen/README.md b/src/test_driver/tizen/README.md index e4e3800c8c7239..d1fc7e78447c1c 100644 --- a/src/test_driver/tizen/README.md +++ b/src/test_driver/tizen/README.md @@ -12,7 +12,7 @@ image from hub.docker.com or build it locally using the provided Dockerfile in ```sh # Pull the image from hub.docker.com -docker pull ghcr.io/project-chip/chip-build-tizen-qemu:21 +docker pull ghcr.io/project-chip/chip-build-tizen-qemu:22 ``` ## Building and Running Tests on QEMU @@ -21,7 +21,7 @@ All steps described below should be done inside the docker container. ```sh docker run -it --rm --name chip-tizen-qemu \ - ghcr.io/project-chip/chip-build-tizen-qemu:21 /bin/bash + ghcr.io/project-chip/chip-build-tizen-qemu:22 /bin/bash ``` ### Clone the connectedhomeip repository From d66a58465ab5a8112ec5a685f62daaeadc3e6cf0 Mon Sep 17 00:00:00 2001 From: manjunath-grl <102359958+manjunath-grl@users.noreply.github.com> Date: Mon, 23 Oct 2023 20:43:09 +0530 Subject: [PATCH 18/44] Modified tests (#29883) TC-CADMIN-1.4 TC-CADMIN-1.6 TC-CADMIN-1.10 TC-CADMIN-1.16 TC-CADMIN-1.21 TC-CADMIN-1.22 TC-CADMIN-1.23 TC-CADMIN-1.24 --- .../certification/Test_TC_CADMIN_1_10.yaml | 42 ++++----- .../certification/Test_TC_CADMIN_1_16.yaml | 73 ++++++++-------- .../certification/Test_TC_CADMIN_1_21.yaml | 15 ++++ .../certification/Test_TC_CADMIN_1_22.yaml | 15 ++++ .../certification/Test_TC_CADMIN_1_23.yaml | 15 ++++ .../certification/Test_TC_CADMIN_1_24.yaml | 15 ++++ .../certification/Test_TC_CADMIN_1_4.yaml | 86 ++++++++++++------- .../certification/Test_TC_CADMIN_1_6.yaml | 58 ++++++------- 8 files changed, 202 insertions(+), 117 deletions(-) diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_10.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_10.yaml index d2811820c14299..1b8aef66aa4404 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_10.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_10.yaml @@ -42,6 +42,9 @@ config: incorrectSetupCodePayload: type: char_string defaultValue: "MT:-24J0AFN00I.0648G00" + PIXIT.CADMIN.CwDuration: + type: int16u + defaultValue: 180 tests: - label: "Precondition: Reset Devices to factory defaults" @@ -63,6 +66,17 @@ tests: value: "y" - label: "Step 1: TH_CR1 starts a commissioning process with DUT_CE" + cluster: "CommissionerCommands" + command: "PairWithCode" + PICS: CADMIN.S + arguments: + values: + - name: "nodeId" + value: nodeId + - name: "payload" + value: correctPayload + + - label: "Step 1a: TH_CR1 commissioned with DUT_CE" cluster: "DelayCommands" command: "WaitForCommissionee" PICS: CADMIN.S @@ -79,9 +93,10 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 900 + value: PIXIT.CADMIN.CwDuration - label: "Step 2a: Waiting after opening commissioning window" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -89,27 +104,14 @@ tests: - name: "ms" value: waitAfterCommissioning - #Check for DNS-SD advertisement CM is not possible in YAML - label: "Step 3: Verify that the DNS-SD advertisement shows CM=1" - verification: | - On TH_CR1 send the below command - - ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matterc._udp - + eth0 IPv6 2664ED6939FC373C _matterc._udp local - = eth0 IPv6 2664ED6939FC373C _matterc._udp local - hostname = [E45F010F27530000.local] - address = [fe80::e65f:1ff:fe0f:2753] - port = [5540] - txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: + PICS: CADMIN.S.C01.Rsp + cluster: "DiscoveryCommands" + command: "FindCommissionable" + response: values: - - name: "message" - value: "enter 'y' after success" - - name: "expectedValue" - value: "y" + - name: "commissioningMode" + value: 1 #As per issue https://github.com/CHIP-Specifications/chip-test-scripts/issues/495 adding --discover-once flag - label: diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_16.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_16.yaml index 71469309ace758..1fb1a118bbc453 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_16.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_16.yaml @@ -35,6 +35,9 @@ config: payload: type: char_string defaultValue: "MT:-24J0AFN00KA0648G00" + PIXIT.CADMIN.CwDuration: + type: int16u + defaultValue: 180 tests: - label: "Precondition: Reset Devices to factory defaults" @@ -56,6 +59,18 @@ tests: value: "y" - label: "Step 1: TH_CR1 starts a commissioning process with DUT_CE" + identity: "alpha" + cluster: "CommissionerCommands" + command: "PairWithCode" + PICS: CADMIN.S + arguments: + values: + - name: "nodeId" + value: nodeId + - name: "payload" + value: payload + + - label: "Step 1: TH_CR1 commissioned with DUT_CE" identity: "alpha" cluster: "DelayCommands" command: "WaitForCommissionee" @@ -74,9 +89,10 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 180 + value: PIXIT.CADMIN.CwDuration - label: "Step 2a: Waiting after opening commissioning window" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -115,9 +131,10 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 180 + value: PIXIT.CADMIN.CwDuration - label: "Step 4a: Waiting after opening commissioning window" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -200,29 +217,16 @@ tests: response: error: FAILURE - #Issue https://github.com/project-chip/connectedhomeip/issues/21999 - label: "Step 8b: TH_CR2 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE" - PICS: BINFO.S.A0005 && PICS_USER_PROMPT - verification: | - Using TH_CR2 read attribute - - Verify read command fail as expected since the DUT_CE is no longer on the network on TH_CR2 (chip-tool) log - - ./chip-tool basicinformation read node-label 2 0 --commissioner-name beta - - [1678876803.495007][714337:714339] CHIP:SC: Received error (protocol code 1) during pairing process: ../../third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1727: CHIP Error 0x000000C9: No shared trusted root - [1678876803.495018][714337:714339] CHIP:IN: SecureSession[0x7f2764026220]: Released - Type:2 LSID:16528 - [1678876803.495040][714337:714339] CHIP:-: ../../third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1727: CHIP Error 0x000000C9: No shared trusted root at ../../commands/clusters/ModelCommand.cpp:62 - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + PICS: BINFO.S.A0005 + identity: "beta" + command: "readAttribute" + cluster: "Basic Information" + attribute: "NodeLabel" + response: + error: FAILURE - label: "Step 9: TH_CR1 reads the list of Fabrics on DUT_CE" identity: "alpha" @@ -232,13 +236,13 @@ tests: attribute: "Fabrics" fabricFiltered: false response: - value: - [ - { Label: "", FabricIndex: 1, NodeID: nodeId }, - { Label: "", FabricIndex: 3, NodeID: nodeId3 }, - ] constraints: type: list + contains: + [ + { Label: "", FabricIndex: 1, NodeID: nodeId }, + { Label: "", FabricIndex: 3, NodeID: nodeId3 }, + ] - label: "Step 11: TH_CR1 opens a commissioning window on DUT_CE using BCM" identity: "alpha" @@ -249,9 +253,10 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 180 + value: PIXIT.CADMIN.CwDuration - label: "Step 11a: Waiting after opening commissioning window" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -299,14 +304,14 @@ tests: attribute: "Fabrics" fabricFiltered: false response: - value: - [ - { Label: "", FabricIndex: 1, NodeID: nodeId }, - { Label: "", FabricIndex: 4, NodeID: nodeId2 }, - { Label: "", FabricIndex: 3, NodeID: nodeId3 }, - ] constraints: type: list + contains: + [ + { Label: "", FabricIndex: 1, NodeID: nodeId }, + { Label: "", FabricIndex: 4, NodeID: nodeId2 }, + { Label: "", FabricIndex: 3, NodeID: nodeId3 }, + ] - label: "Step 13a: Remove TH2 FabricIndex" PICS: OPCREDS.S.C0a.Rsp && CADMIN.S diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_21.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_21.yaml index cd1141ce8813de..f6e7332a9d1f91 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_21.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_21.yaml @@ -24,6 +24,9 @@ config: nodeId: 0x12344321 timeout: 950 endpoint: 0 + payload: + type: char_string + defaultValue: "MT:-24J0AFN00KA0648G00" tests: - label: "Precondition: Reset Devices to factory defaults" @@ -45,6 +48,17 @@ tests: value: "y" - label: "Step 1: TH_CR1 starts a commissioning process with DUT_CE" + cluster: "CommissionerCommands" + command: "PairWithCode" + PICS: CADMIN.S + arguments: + values: + - name: "nodeId" + value: nodeId + - name: "payload" + value: payload + + - label: "Step 1: TH_CR1 commissioned with DUT_CE" cluster: "DelayCommands" command: "WaitForCommissionee" PICS: CADMIN.S @@ -66,6 +80,7 @@ tests: value: 900 - label: "Step 3: Wait 901 seconds for commissioning Window to be closed" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_22.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_22.yaml index ff0061e4bfd838..4b94b6518a7529 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_22.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_22.yaml @@ -23,6 +23,9 @@ config: nodeId: 0x12344321 timeout: 950 endpoint: 0 + payload: + type: char_string + defaultValue: "MT:-24J0AFN00KA0648G00" discriminator: type: int16u defaultValue: 3840 @@ -50,6 +53,17 @@ tests: value: "y" - label: "Step 1: TH_CR1 starts a commissioning process with DUT_CE" + cluster: "CommissionerCommands" + command: "PairWithCode" + PICS: CADMIN.S + arguments: + values: + - name: "nodeId" + value: nodeId + - name: "payload" + value: payload + + - label: "Step 1: TH_CR1 commissioned with DUT_CE" cluster: "DelayCommands" command: "WaitForCommissionee" PICS: CADMIN.S.C00.Rsp @@ -110,6 +124,7 @@ tests: value: "SPAKE2P Key Salt" - label: "Step 3: Wait for commissioning Window to 901 seconds" + PICS: CADMIN.S.C00.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_23.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_23.yaml index c383ff77a46ad9..9aab51aa3876d2 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_23.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_23.yaml @@ -24,6 +24,9 @@ config: nodeId: 0x12344321 timeout: 200 endpoint: 0 + payload: + type: char_string + defaultValue: "MT:-24J0AFN00KA0648G00" tests: - label: "Precondition: Reset Devices to factory defaults" @@ -45,6 +48,17 @@ tests: value: "y" - label: "Step 1: TH_CR1 starts a commissioning process with DUT_CE" + cluster: "CommissionerCommands" + command: "PairWithCode" + PICS: CADMIN.S + arguments: + values: + - name: "nodeId" + value: nodeId + - name: "payload" + value: payload + + - label: "Step 1: TH_CR1 commissioned with DUT_CE" cluster: "DelayCommands" command: "WaitForCommissionee" PICS: CADMIN.S.C01.Rsp @@ -67,6 +81,7 @@ tests: - label: "Step 3: Wait for 181 seconds for commissioning Window to be closed" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_24.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_24.yaml index 00f27d31146b6e..8e201988cc87db 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_24.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_24.yaml @@ -23,6 +23,9 @@ config: nodeId: 0x12344321 timeout: 200 endpoint: 0 + payload: + type: char_string + defaultValue: "MT:-24J0AFN00KA0648G00" discriminator: type: int16u defaultValue: 3840 @@ -50,6 +53,17 @@ tests: value: "y" - label: "Step 1: TH_CR1 starts a commissioning process with DUT_CE" + cluster: "CommissionerCommands" + command: "PairWithCode" + PICS: CADMIN.S + arguments: + values: + - name: "nodeId" + value: nodeId + - name: "payload" + value: payload + + - label: "Step 1: TH_CR1 commissioned with DUT_CE" cluster: "DelayCommands" command: "WaitForCommissionee" PICS: CADMIN.S.C00.Rsp @@ -110,6 +124,7 @@ tests: value: "SPAKE2P Key Salt" - label: "Step 3: Wait for commissioning Window to 181 seconds" + PICS: CADMIN.S.C00.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml index 01822cf566e147..59b45e1ff87618 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml @@ -31,6 +31,9 @@ config: waitAfterCommissioning: type: int16u defaultValue: 5000 + PIXIT.CADMIN.CwDuration: + type: int16u + defaultValue: 180 tests: - label: "Precondition: Reset Devices to factory defaults" @@ -52,6 +55,17 @@ tests: value: "y" - label: "Step 1a: TH_CR1 starts a commissioning process with DUT_CE" + cluster: "CommissionerCommands" + command: "PairWithCode" + PICS: CADMIN.S + arguments: + values: + - name: "nodeId" + value: nodeId + - name: "payload" + value: payload + + - label: "Step 1a: TH_CR1 commissioned with DUT_CE" cluster: "DelayCommands" command: "WaitForCommissionee" PICS: CADMIN.S @@ -77,9 +91,10 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 180 + value: PIXIT.CADMIN.CwDuration - label: "Step 2a: Waiting after opening commissioning window" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -87,27 +102,14 @@ tests: - name: "ms" value: waitAfterCommissioning - #Check for DNS-SD advertisement CM is not possible in YAML - label: "Step 2b: Verify that the DNS-SD advertisement shows CM=1" - verification: | - On TH_CR1 send the below command - - avahi-browse -rt _matterc._udp - + eth0 IPv6 B2822245F1F43570 _matterc._udp local - = eth0 IPv6 B2822245F1F43570 _matterc._udp local - hostname = [E45F010F27530000.local] - address = [fe80::e65f:1ff:fe0f:2753] - port = [5540] - txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: + PICS: CADMIN.S.C01.Rsp + cluster: "DiscoveryCommands" + command: "FindCommissionable" + response: values: - - name: "message" - value: "enter 'y' after success" - - name: "expectedValue" - value: "y" + - name: "commissioningMode" + value: 1 - label: "Step 2c: TH_CR1 writes the Basic Information Clusters NodeLabel @@ -202,13 +204,21 @@ tests: attribute: "Fabrics" fabricFiltered: false response: - value: - [ - { Label: "", FabricIndex: TH1FabricIndex, NodeID: nodeId }, - { Label: "", FabricIndex: TH2FabricIndex, NodeID: nodeId2 }, - ] constraints: type: list + contains: + [ + { + Label: "", + FabricIndex: TH1FabricIndex, + NodeID: nodeId, + }, + { + Label: "", + FabricIndex: TH2FabricIndex, + NodeID: nodeId2, + }, + ] - label: "Step 6: TH_CR2 reads the list of Fabrics on DUT_CE" identity: "beta" @@ -218,13 +228,21 @@ tests: PICS: OPCREDS.S.A0001 fabricFiltered: false response: - value: - [ - { Label: "", FabricIndex: TH1FabricIndex, NodeID: nodeId }, - { Label: "", FabricIndex: TH2FabricIndex, NodeID: nodeId2 }, - ] constraints: type: list + contains: + [ + { + Label: "", + FabricIndex: TH1FabricIndex, + NodeID: nodeId, + }, + { + Label: "", + FabricIndex: TH2FabricIndex, + NodeID: nodeId2, + }, + ] - label: "Step 7a: TH_CR1 writes the Basic Information Clusters NodeLabel @@ -283,15 +301,16 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 180 + value: PIXIT.CADMIN.CwDuration - label: "Step 10: Wait for the commissioning window in step 13 to timeout" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: values: - name: "ms" - value: 180000 + value: PIXIT.CADMIN.CwDuration * 1000 - label: "Step 11: TH_CR2 reads the window status to verify the DUT_CE window @@ -312,9 +331,10 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 180 + value: PIXIT.CADMIN.CwDuration - label: "Step 12b: Waiting after opening commissioning window" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml index ae3582acf90fb2..5b1e3340a78821 100644 --- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml +++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml @@ -39,6 +39,9 @@ config: payload: type: char_string defaultValue: "MT:-24J0AFN00KA0648G00" # This value needs to be generated automatically + PIXIT.CADMIN.CwDuration: + type: int16u + defaultValue: 180 tests: - label: "Precondition: Reset Devices to factory defaults" @@ -60,6 +63,17 @@ tests: value: "y" - label: "Step 1: TH_CR1 starts a commissioning process with DUT_CE" + cluster: "CommissionerCommands" + command: "PairWithCode" + PICS: CADMIN.S + arguments: + values: + - name: "nodeId" + value: nodeId + - name: "payload" + value: payload + + - label: "Step 1a: TH_CR1 commissioned with DUT_CE" cluster: "DelayCommands" command: "WaitForCommissionee" PICS: CADMIN.S @@ -77,43 +91,25 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 180 + value: PIXIT.CADMIN.CwDuration - #Check for DNS-SD advertisement CM is not possible in YAML - label: "Step 3: Verify that the DNS-SD advertisement shows CM=1" - verification: | - On TH_CR1 send the below command - - avahi-browse -rt _matterc._udp - + eth0 IPv6 05EB1D3652D2F544 _matterc._udp local - + eth0 IPv6 7869CD25CBF12D42 _matterc._udp local - = eth0 IPv6 7869CD25CBF12D42 _matterc._udp local - hostname = [E45F010F27530000.local] - address = [fe80::e65f:1ff:fe0f:2753] - port = [5540] - txt = ["PI=" "PH=33" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] - = eth0 IPv6 05EB1D3652D2F544 _matterc._udp local - hostname = [E45F010F27530000.local] - address = [fe80::e65f:1ff:fe0f:2753] - port = [5540] - txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"] - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: + PICS: CADMIN.S.C01.Rsp + cluster: "DiscoveryCommands" + command: "FindCommissionable" + response: values: - - name: "message" - value: "enter 'y' after success" - - name: "expectedValue" - value: "y" + - name: "commissioningMode" + value: 1 - label: "Wait for PIXIT.CADMIN.CwDuration + 10" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: values: - name: "ms" - value: 190000 + value: ( PIXIT.CADMIN.CwDuration + 10 ) * 1000 - label: "Step 4: TH_CR2 starts a commissioning process with DUT_CE" identity: "beta" @@ -137,9 +133,10 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 180 + value: PIXIT.CADMIN.CwDuration - label: "Waiting after opening commissioning window" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -203,9 +200,10 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 180 + value: PIXIT.CADMIN.CwDuration - label: "Waiting after opening commissioning window" + PICS: CADMIN.S.C01.Rsp cluster: "DelayCommands" command: "WaitForMs" arguments: @@ -222,7 +220,7 @@ tests: arguments: values: - name: "CommissioningTimeout" - value: 180 + value: PIXIT.CADMIN.CwDuration response: error: FAILURE clusterError: 2 From 6c410c24cbe3889234e287b489689fb9ccf570ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 15:15:45 +0000 Subject: [PATCH 19/44] Bump third_party/libwebsockets/repo from `18fdb0d` to `a1cbc02` (#29906) Bumps [third_party/libwebsockets/repo](https://github.com/warmcat/libwebsockets) from `18fdb0d` to `a1cbc02`. - [Commits](https://github.com/warmcat/libwebsockets/compare/18fdb0d6ecfd7ec8090ed7164fd6e4895a89e12b...a1cbc02aeb28303a22781f3a37730fefbf2d6fce) --- updated-dependencies: - dependency-name: third_party/libwebsockets/repo dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- third_party/libwebsockets/repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/libwebsockets/repo b/third_party/libwebsockets/repo index 18fdb0d6ecfd7e..a1cbc02aeb2830 160000 --- a/third_party/libwebsockets/repo +++ b/third_party/libwebsockets/repo @@ -1 +1 @@ -Subproject commit 18fdb0d6ecfd7ec8090ed7164fd6e4895a89e12b +Subproject commit a1cbc02aeb28303a22781f3a37730fefbf2d6fce From 75e04d0409614e09835ee7880339871268719df6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 15:30:01 +0000 Subject: [PATCH 20/44] Bump third_party/ot-br-posix/repo from `636e53d` to `69ce2a5` (#29904) Bumps [third_party/ot-br-posix/repo](https://github.com/openthread/ot-br-posix) from `636e53d` to `69ce2a5`. - [Release notes](https://github.com/openthread/ot-br-posix/releases) - [Commits](https://github.com/openthread/ot-br-posix/compare/636e53dbbe091c2be38672924852182746cf5be6...69ce2a57f59142d705f29757721653e0b32610db) --- updated-dependencies: - dependency-name: third_party/ot-br-posix/repo dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- third_party/ot-br-posix/repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/ot-br-posix/repo b/third_party/ot-br-posix/repo index 636e53dbbe091c..69ce2a57f59142 160000 --- a/third_party/ot-br-posix/repo +++ b/third_party/ot-br-posix/repo @@ -1 +1 @@ -Subproject commit 636e53dbbe091c2be38672924852182746cf5be6 +Subproject commit 69ce2a57f59142d705f29757721653e0b32610db From a1bcee79b157386ac19eee85178240b88df38619 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 15:38:35 +0000 Subject: [PATCH 21/44] Bump third_party/nanopb/repo from `a4bbd6a` to `9766c45` (#29902) Bumps [third_party/nanopb/repo](https://github.com/nanopb/nanopb) from `a4bbd6a` to `9766c45`. - [Commits](https://github.com/nanopb/nanopb/compare/a4bbd6a2ebff89d4e723e396ce27eef433a4f23c...9766c4589f61b76807a0a394040c15a2d23ef24c) --- updated-dependencies: - dependency-name: third_party/nanopb/repo dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- third_party/nanopb/repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/nanopb/repo b/third_party/nanopb/repo index a4bbd6a2ebff89..9766c4589f61b7 160000 --- a/third_party/nanopb/repo +++ b/third_party/nanopb/repo @@ -1 +1 @@ -Subproject commit a4bbd6a2ebff89d4e723e396ce27eef433a4f23c +Subproject commit 9766c4589f61b76807a0a394040c15a2d23ef24c From 07310c7bd230352cb989d9ff8bcd3381bbb04ce9 Mon Sep 17 00:00:00 2001 From: C Freeman Date: Mon, 23 Oct 2023 11:42:57 -0400 Subject: [PATCH 22/44] Commissioning test vectors: Fix spelling error (#29913) This triggers the spell checker when I generate the test plans. --- .../test_case_vector.json | 2 +- .../test_case_vector.json | 2 +- src/tools/chip-cert/gen_com_dut_test_vectors.py | 2 +- src/tools/chip-cert/gen_op_cert_test_vectors.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/credentials/development/commissioner_dut/struct_dac_ext_key_usage_dig_sig_wrong/test_case_vector.json b/credentials/development/commissioner_dut/struct_dac_ext_key_usage_dig_sig_wrong/test_case_vector.json index 212a0ac5f3935d..9fe2a05cdd2a71 100644 --- a/credentials/development/commissioner_dut/struct_dac_ext_key_usage_dig_sig_wrong/test_case_vector.json +++ b/credentials/development/commissioner_dut/struct_dac_ext_key_usage_dig_sig_wrong/test_case_vector.json @@ -1,5 +1,5 @@ { - "description": "DAC Test Vector: Certificate Key Usage extension diginalSignature field is wrong (not present for DAC and present for PAI, which is OK as optional)", + "description": "DAC Test Vector: Certificate Key Usage extension digitalSignature field is wrong (not present for DAC and present for PAI, which is OK as optional)", "is_success_case": "false", "dac_cert": "308201cd30820174a0030201020208611516cb5e8ce57b300a06082a8648ce3d04030230303118301606035504030c0f4d617474657220546573742050414931143012060a2b0601040182a27c02010c04464646313020170d3232303932333030303030305a180f39393939313233313233353935395a30463118301606035504030c0f4d617474657220546573742044414331143012060a2b0601040182a27c02010c044646463131143012060a2b0601040182a27c02020c04383030303059301306072a8648ce3d020106082a8648ce3d0301070342000445b50fdfe1cc48523ea80ea86773611d507fd6d7df96b97a00e65118e908b2e8de80de34522efa043671c42648b8d1ad5d4d497f2b68bb275a7d5ef5cc977439a360305e300c0603551d130101ff04023000300e0603551d0f0101ff040403020520301d0603551d0e04160414f3bc17e68fbb09ff2a77f7f06499b32b91d74d01301f0603551d23041830168014a66e9305a0a0bdfe507e29ae9e2e0fa9ed61c920300a06082a8648ce3d040302034700304402205352aed11ca8a49ab9fd1221cde5ef90a993f78af55480afce070ee92888069802202e40e6757b97f9a55aa6a7b2048b20a3537a27876b111e0eb2b321724d92ecfc", "pai_cert": "308201bd30820164a00302010202085ced6956be8aa63b300a06082a8648ce3d04030230303118301606035504030c0f4d617474657220546573742050414131143012060a2b0601040182a27c02010c04464646313020170d3232303932333030303030305a180f39393939313233313233353935395a30303118301606035504030c0f4d617474657220546573742050414931143012060a2b0601040182a27c02010c04464646313059301306072a8648ce3d020106082a8648ce3d03010703420004cf18213b48c9bf7301785414ccde69bd6ac7212ccae0f41fd4d67b3b658d36f60a60978ab7522b3899c815fe374795e7a994d6d11ebfc2403210599fb778e97da366306430120603551d130101ff040830060101ff020100300e0603551d0f0101ff040403020106301d0603551d0e04160414a66e9305a0a0bdfe507e29ae9e2e0fa9ed61c920301f0603551d230418301680146afd22771f511fecbf1641976710dcdc31a1717e300a06082a8648ce3d040302034700304402205ce2d4931c0f16df3ee2d7b7c0566e103aff4d5a975c139ca926a781da50a3f002205e56862b0376d06f4379519b19e3731f21aa287292816baffe1570031aa50656", diff --git a/credentials/development/commissioner_dut/struct_pai_ext_key_usage_dig_sig_wrong/test_case_vector.json b/credentials/development/commissioner_dut/struct_pai_ext_key_usage_dig_sig_wrong/test_case_vector.json index e922c6bdd8adb3..d24649ef06d780 100644 --- a/credentials/development/commissioner_dut/struct_pai_ext_key_usage_dig_sig_wrong/test_case_vector.json +++ b/credentials/development/commissioner_dut/struct_pai_ext_key_usage_dig_sig_wrong/test_case_vector.json @@ -1,5 +1,5 @@ { - "description": "PAI Test Vector: Certificate Key Usage extension diginalSignature field is wrong (not present for DAC and present for PAI, which is OK as optional)", + "description": "PAI Test Vector: Certificate Key Usage extension digitalSignature field is wrong (not present for DAC and present for PAI, which is OK as optional)", "is_success_case": "true", "dac_cert": "308201ce30820174a0030201020208568288cb4b319ee2300a06082a8648ce3d04030230303118301606035504030c0f4d617474657220546573742050414931143012060a2b0601040182a27c02010c04464646313020170d3232303932333030303030305a180f39393939313233313233353935395a30463118301606035504030c0f4d617474657220546573742044414331143012060a2b0601040182a27c02010c044646463131143012060a2b0601040182a27c02020c04383030303059301306072a8648ce3d020106082a8648ce3d0301070342000491d6c7888cf88fe930493409a59e9bffcb7da6dfe8a24fef4366368171c407d4ab2cadc2a4d3aedf78f86034b510644795e8d60503f3393024102ef1bb3445d6a360305e300c0603551d130101ff04023000300e0603551d0f0101ff040403020780301d0603551d0e04160414ce4916a3fb7cca300ed9b27bcfa6c52b32ace0ee301f0603551d230418301680146501d5f9b760746c421ffa03f40ee1233d87bad3300a06082a8648ce3d04030203480030450220273649bfb1b74c74a583f18b43dc0e998c8187b0862d4d8b7ecd4a38d76db1a90221009f8f26312ef21f1525ab3b1872c2601acb73543b97aba395111c4604b388d1a4", "pai_cert": "308201bf30820164a00302010202085067032f9c6011dc300a06082a8648ce3d04030230303118301606035504030c0f4d617474657220546573742050414131143012060a2b0601040182a27c02010c04464646313020170d3232303932333030303030305a180f39393939313233313233353935395a30303118301606035504030c0f4d617474657220546573742050414931143012060a2b0601040182a27c02010c04464646313059301306072a8648ce3d020106082a8648ce3d0301070342000407e035085865ff28c03934454eaa22dc1c4f36c0844f1d7c7ffaaeacfba0e777efa63547f59a4384448841476d9955f943372f43aa7d498c128dac0b3ac5b362a366306430120603551d130101ff040830060101ff020100300e0603551d0f0101ff040403020186301d0603551d0e041604146501d5f9b760746c421ffa03f40ee1233d87bad3301f0603551d230418301680146afd22771f511fecbf1641976710dcdc31a1717e300a06082a8648ce3d0403020349003046022100c4cc07bb7c45d705406ff6d3b7ee858cec34822d97ded78593387bd708a0f219022100b5a010d2b5695dcee2ce4f4f3fe7fb0765671b4c29a556fc773575002c5c4235", diff --git a/src/tools/chip-cert/gen_com_dut_test_vectors.py b/src/tools/chip-cert/gen_com_dut_test_vectors.py index 4223bc002b4f70..599021b4b5ae14 100755 --- a/src/tools/chip-cert/gen_com_dut_test_vectors.py +++ b/src/tools/chip-cert/gen_com_dut_test_vectors.py @@ -166,7 +166,7 @@ class CertType(Enum): "is_success_case": 'false', }, { - "description": "Certificate Key Usage extension diginalSignature field is wrong " + "description": "Certificate Key Usage extension digitalSignature field is wrong " "(not present for DAC and present for PAI, which is OK as optional)", "test_folder": 'ext_key_usage_dig_sig_wrong', "error_flag": 'ext-key-usage-dig-sig', diff --git a/src/tools/chip-cert/gen_op_cert_test_vectors.py b/src/tools/chip-cert/gen_op_cert_test_vectors.py index 4f1e2d39565b7d..f68640fa6cd71c 100755 --- a/src/tools/chip-cert/gen_op_cert_test_vectors.py +++ b/src/tools/chip-cert/gen_op_cert_test_vectors.py @@ -376,7 +376,7 @@ class CertFormat(Enum): "is_get_cert_type_expected_to_fail": False, }, { - "description": "Certificate Key Usage extension diginalSignature field is wrong " + "description": "Certificate Key Usage extension digitalSignature field is wrong " "(not present for NOC and present for ICAC/RCAC)", "test_name": 'Ext-KeyUsage-DigSig-Wrong', "error_flag": 'ext-key-usage-dig-sig', From 52e4a6435f74b20fb1bf355cc67587c3a3853488 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Mon, 23 Oct 2023 11:47:24 -0400 Subject: [PATCH 23/44] Fix android build: add cast for formatting (#29916) --- .../tv-casting-app/tv-casting-common/support/CastingStore.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/tv-casting-app/tv-casting-common/support/CastingStore.cpp b/examples/tv-casting-app/tv-casting-common/support/CastingStore.cpp index d8cdfca07ccaed..1bfd75a93a47ca 100644 --- a/examples/tv-casting-app/tv-casting-common/support/CastingStore.cpp +++ b/examples/tv-casting-app/tv-casting-common/support/CastingStore.cpp @@ -333,7 +333,8 @@ CHIP_ERROR CastingStore::WriteAll(std::vector castingPlayer ChipLogProgress(AppServer, "CastingStore::WriteAll TLV(CastingStoreData).LengthWritten: %d bytes, CastingPlayers size: %lu " "and version: %d", - tlvWriter.GetLengthWritten(), castingPlayers.size(), kCurrentCastingStoreDataVersion); + tlvWriter.GetLengthWritten(), static_cast(castingPlayers.size()), + kCurrentCastingStoreDataVersion); return chip::DeviceLayer::PersistedStorage::KeyValueStoreMgr().Put(kCastingStoreDataKey, castingStoreData, tlvWriter.GetLengthWritten()); } From ef8d85f374e78d9b0e787f9d68547019ab6f2db3 Mon Sep 17 00:00:00 2001 From: Arkadiusz Bokowy Date: Mon, 23 Oct 2023 19:36:34 +0200 Subject: [PATCH 24/44] Initialize CHIP stack before running app tests (#29092) * Initialize CHIP stack before running app tests * Patch add_entropy_source() to make it idempotent * Do not add entropy source more than once --- src/app/tests/AppTestContext.cpp | 2 ++ src/crypto/CHIPCryptoPAL.h | 7 +++++++ src/platform/Zephyr/PlatformManagerImpl.cpp | 11 ++++++++--- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/app/tests/AppTestContext.cpp b/src/app/tests/AppTestContext.cpp index ac81702d513aed..ffde9dd26021d4 100644 --- a/src/app/tests/AppTestContext.cpp +++ b/src/app/tests/AppTestContext.cpp @@ -41,6 +41,7 @@ namespace Test { CHIP_ERROR AppContext::Init() { ReturnErrorOnFailure(Super::Init()); + ReturnErrorOnFailure(chip::DeviceLayer::PlatformMgr().InitChipStack()); ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->Init(&GetExchangeManager(), &GetFabricTable(), app::reporting::GetDefaultReportScheduler())); @@ -57,6 +58,7 @@ void AppContext::Shutdown() Access::ResetAccessControlToDefault(); chip::app::InteractionModelEngine::GetInstance()->Shutdown(); + chip::DeviceLayer::PlatformMgr().Shutdown(); Super::Shutdown(); } diff --git a/src/crypto/CHIPCryptoPAL.h b/src/crypto/CHIPCryptoPAL.h index 6f6bc6edf1984c..60c88b5e399d49 100644 --- a/src/crypto/CHIPCryptoPAL.h +++ b/src/crypto/CHIPCryptoPAL.h @@ -967,6 +967,13 @@ CHIP_ERROR DRBG_get_bytes(uint8_t * out_buffer, size_t out_length); typedef int (*entropy_source)(void * data, uint8_t * output, size_t len, size_t * olen); /** @brief A function to add entropy sources to crypto library + * + * This function can be called multiple times to add multiple entropy sources. However, + * once the entropy source is added, it cannot be removed. Please make sure that the + * entropy source is valid for the lifetime of the application. Also, make sure that the + * same entropy source is not added multiple times, e.g.: by calling this function + * in class constructor or initialization function. + * * @param fn_source Function pointer to the entropy source * @param p_source Data that should be provided when fn_source is called * @param threshold Minimum required from source before entropy is released diff --git a/src/platform/Zephyr/PlatformManagerImpl.cpp b/src/platform/Zephyr/PlatformManagerImpl.cpp index 3b97a5c4a346e1..59f3a0df45314b 100644 --- a/src/platform/Zephyr/PlatformManagerImpl.cpp +++ b/src/platform/Zephyr/PlatformManagerImpl.cpp @@ -46,6 +46,7 @@ PlatformManagerImpl PlatformManagerImpl::sInstance{ sChipThreadStack }; static k_timer sOperationalHoursSavingTimer; #if !defined(CONFIG_NORDIC_SECURITY_BACKEND) && !defined(CONFIG_MBEDTLS_ZEPHYR_ENTROPY) +static bool sChipStackEntropySourceAdded = false; static int app_entropy_source(void * data, unsigned char * output, size_t len, size_t * olen) { const struct device * entropy = DEVICE_DT_GET(DT_CHOSEN(zephyr_entropy)); @@ -118,9 +119,13 @@ CHIP_ERROR PlatformManagerImpl::_InitChipStack(void) SuccessOrExit(err); #if !defined(CONFIG_NORDIC_SECURITY_BACKEND) && !defined(CONFIG_MBEDTLS_ZEPHYR_ENTROPY) - // Add entropy source based on Zephyr entropy driver - err = chip::Crypto::add_entropy_source(app_entropy_source, NULL, kThreshold); - SuccessOrExit(err); + if (!sChipStackEntropySourceAdded) + { + // Add entropy source based on Zephyr entropy driver + err = chip::Crypto::add_entropy_source(app_entropy_source, NULL, kThreshold); + SuccessOrExit(err); + sChipStackEntropySourceAdded = true; + } #endif // !defined(CONFIG_NORDIC_SECURITY_BACKEND) && !defined(CONFIG_MBEDTLS_ZEPHYR_ENTROPY) // Call _InitChipStack() on the generic implementation base class to finish the initialization process. From be604ddd225c8934db518f3d431ccb37a62c0937 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Mon, 23 Oct 2023 13:37:30 -0400 Subject: [PATCH 25/44] Add Swift versions of a few more MTRDevice tests. (#29914) --- .../CHIPTests/MTRSwiftDeviceTests.swift | 153 +++++++++++++++++- 1 file changed, 149 insertions(+), 4 deletions(-) diff --git a/src/darwin/Framework/CHIPTests/MTRSwiftDeviceTests.swift b/src/darwin/Framework/CHIPTests/MTRSwiftDeviceTests.swift index 5d963fb51176fd..b800588e55cd03 100644 --- a/src/darwin/Framework/CHIPTests/MTRSwiftDeviceTests.swift +++ b/src/darwin/Framework/CHIPTests/MTRSwiftDeviceTests.swift @@ -7,8 +7,8 @@ struct DeviceConstants { static let testVendorID = 0xFFF1 static let onboardingPayload = "MT:-24J0AFN00KA0648G00" static let deviceID = 0x12344321 - static let timeoutInSeconds : UInt16 = 3 - static let pairingTimeoutInSeconds : UInt16 = 10 + static let timeoutInSeconds : Double = 3 + static let pairingTimeoutInSeconds : Double = 10 } var sConnectedDevice: MTRBaseDevice? = nil @@ -191,7 +191,7 @@ class MTRSwiftDeviceTests : XCTestCase { XCTFail("Could not start setting up PASE session: \(error)") return } - wait(for: [expectation], timeout: TimeInterval(DeviceConstants.pairingTimeoutInSeconds)) + wait(for: [expectation], timeout: DeviceConstants.pairingTimeoutInSeconds) } static func shutdownStack() @@ -396,12 +396,157 @@ class MTRSwiftDeviceTests : XCTestCase { XCTAssertEqual(eventReportsReceived, 0); } + func test018_SubscriptionErrorWhenNotResubscribing() + { + let device = sConnectedDevice! + let queue = DispatchQueue.main + + let firstSubscribeExpectation = expectation(description: "First subscription complete") + let errorExpectation = expectation(description: "First subscription errored out") + + // Subscribe + let params = MTRSubscribeParams(minInterval: 1, maxInterval: 10) + params.shouldResubscribeAutomatically = false + params.shouldReplaceExistingSubscriptions = true // Not strictly needed, but checking that doing this does not + // affect this subscription erroring out correctly. + var subscriptionEstablished = false + device.subscribeToAttributes(withEndpointID: 1, + clusterID: 6, + attributeID: 0, + params: params, + queue: queue, + reportHandler: { values, error in + if (subscriptionEstablished) { + // We should only get an error here. + XCTAssertNil(values) + XCTAssertNotNil(error) + errorExpectation.fulfill() + } else { + XCTAssertNotNil(values) + XCTAssertNil(error) + } + }, + subscriptionEstablished: { + NSLog("subscribe attribute: OnOff established") + XCTAssertFalse(subscriptionEstablished) + subscriptionEstablished = true + firstSubscribeExpectation.fulfill() + }) + + // Wait till establishment + wait(for: [ firstSubscribeExpectation ], timeout: DeviceConstants.timeoutInSeconds) + + // Create second subscription which will cancel the first subscription. We + // can use a non-existent path here to cut down on the work that gets done. + params.shouldReplaceExistingSubscriptions = true + + device.subscribeToAttributes(withEndpointID: 10000, + clusterID: 6, + attributeID: 0, + params: params, + queue: queue, + reportHandler: { _, _ in + }) + wait(for: [ errorExpectation ], timeout: 60) + } + + func test019_MTRDeviceMultipleCommands() async + { + let device = MTRDevice(nodeID: DeviceConstants.deviceID as NSNumber, controller:sController!) + let queue = DispatchQueue.main + + let opcredsCluster = MTRClusterOperationalCredentials(device: device, endpointID: 0, queue: queue)! + let onOffCluster = MTRClusterOnOff(device: device, endpointID: 1, queue: queue)! + let badOnOffCluster = MTRClusterOnOff(device: device, endpointID: 0, queue: queue)! + + // Ensure our existing fabric label is not "Test". This uses a "base" + // cluster to ensure read-through to the other side. + let baseOpCredsCluster = MTRBaseClusterOperationalCredentials(device: sConnectedDevice!, endpointID: 0, queue: queue)! + var fabricList = try! await baseOpCredsCluster.readAttributeFabrics(with: nil) + XCTAssertEqual(fabricList.count, 1) + var entry = fabricList[0] as! MTROperationalCredentialsClusterFabricDescriptorStruct + XCTAssertNotEqual(entry.label, "Test") + + let currentFabricIndex = try! await baseOpCredsCluster.readAttributeCurrentFabricIndex() + + // NOTE: The command invocations do not use "await", because we actually want + // to do them all sort of in parallel, or at least queue them all on the MTRDevice + // before we get a chance to finish the first one. + let onExpectation = expectation(description: "On command executed") + onOffCluster.on(withExpectedValues: nil, expectedValueInterval: nil) { error in + XCTAssertNil(error) + onExpectation.fulfill() + } + + let offFailedExpectation = expectation(description: "Off command failed") + badOnOffCluster.off(withExpectedValues: nil, expectedValueInterval: nil) { error in + XCTAssertNotNil(error) + offFailedExpectation.fulfill() + } + + let updateLabelExpectation = expectation(description: "Fabric label updated") + let params = MTROperationalCredentialsClusterUpdateFabricLabelParams() + params.label = "Test" + opcredsCluster.updateFabricLabel(with: params, expectedValues: nil, expectedValueInterval: nil) { data, error in + XCTAssertNil(error) + XCTAssertNotNil(data) + XCTAssertEqual(data?.statusCode, 0) + XCTAssertEqual(data?.fabricIndex, currentFabricIndex) + updateLabelExpectation.fulfill() + } + + let offExpectation = expectation(description: "Off command executed") + // Send this one via MTRDevice, to test that codepath + device.invokeCommand(withEndpointID: 1, + clusterID: NSNumber(value: MTRClusterIDType.onOffID.rawValue), + commandID: NSNumber(value: MTRCommandIDType.clusterOnOffCommandOffID.rawValue), + commandFields: nil, + expectedValues: nil, + expectedValueInterval: nil, + queue: queue) { data, error in + XCTAssertNil(error) + offExpectation.fulfill() + } + + let onFailedExpectation = expectation(description: "On command failed") + badOnOffCluster.on(withExpectedValues: nil, expectedValueInterval: nil) { error in + XCTAssertNotNil(error) + onFailedExpectation.fulfill() + } + + let updateLabelFailedExpectation = expectation(description: "Fabric label update failed") + params.label = "12345678901234567890123445678901234567890" // Too long + opcredsCluster.updateFabricLabel(with: params, + expectedValues: nil, + expectedValueInterval: nil) { data, error in + XCTAssertNotNil(error) + XCTAssertNil(data) + updateLabelFailedExpectation.fulfill() + } + + wait(for: [ onExpectation, + offFailedExpectation, + updateLabelExpectation, + offExpectation, + onFailedExpectation, + updateLabelFailedExpectation ], + timeout: 60, + enforceOrder: true) + + // Now make sure our fabric label got updated. + fabricList = try! await baseOpCredsCluster.readAttributeFabrics(with: nil) + XCTAssertNotNil(fabricList) + XCTAssertEqual(fabricList.count, 1) + entry = fabricList[0] as! MTROperationalCredentialsClusterFabricDescriptorStruct + XCTAssertEqual(entry.label, "Test") + } + // Note: test027_AttestationChallenge is not implementable in Swift so far, // because the attestationChallenge property is internal-only func test999_TearDown() { - ResetCommissionee(sConnectedDevice, DispatchQueue.main, self, DeviceConstants.timeoutInSeconds) + ResetCommissionee(sConnectedDevice, DispatchQueue.main, self, UInt16(DeviceConstants.timeoutInSeconds)) type(of: self).shutdownStack() } } From 21eb5de8f48686b68d118f37120b3f92fdc960bb Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Mon, 23 Oct 2023 15:09:02 -0400 Subject: [PATCH 26/44] Fix python type checks (#29917) * Fix mypy type complaint * Also fix wrong include * Restyle --- .../data_model_xml/handlers/handlers.py | 16 +++++++++------- .../matter_idl/test_data_model_xml.py | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py index 955c5e4c06020d..30326f0910303d 100644 --- a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py +++ b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py @@ -13,9 +13,10 @@ # limitations under the License. import logging +from typing import Optional -from matter_idl.matter_idl_types import (Attribute, AttributeQuality, Bitmap, Cluster, ClusterSide, CommandQuality, ConstantEntry, - DataType, Enum, Field, FieldQuality, Idl, Struct, StructTag) +from matter_idl.matter_idl_types import (Attribute, AttributeQuality, Bitmap, Cluster, ClusterSide, Command, CommandQuality, + ConstantEntry, DataType, Enum, Field, FieldQuality, Idl, Struct, StructTag) from .base import BaseHandler, HandledDepth from .context import Context @@ -350,6 +351,7 @@ class CommandHandler(BaseHandler): def __init__(self, context: Context, cluster: Cluster, attrs): super().__init__(context, handled=HandledDepth.SINGLE_TAG) self._cluster = cluster + self._command: Optional[Command] = None # Command information layout: # "response": @@ -388,7 +390,6 @@ def __init__(self, context: Context, cluster: Cluster, attrs): tag=StructTag.REQUEST, ) else: - self._command = None self._struct = Struct( name=NormalizeName(attrs["name"]), fields=[], @@ -422,11 +423,12 @@ def GetNextProcessor(self, name: str, attrs): LOGGER.warn( f"Ignoring invoke privilege for {self._struct.name}") - if "timed" in attrs and attrs["timed"] != "false": - self._command.qualities |= CommandQuality.TIMED_INVOKE + if self._command: + if "timed" in attrs and attrs["timed"] != "false": + self._command.qualities |= CommandQuality.TIMED_INVOKE - if "fabricScoped" in attrs and attrs["fabricScoped"] != "false": - self._command.qualities |= CommandQuality.FABRIC_SCOPED + if "fabricScoped" in attrs and attrs["fabricScoped"] != "false": + self._command.qualities |= CommandQuality.FABRIC_SCOPED return BaseHandler(self.context, handled=HandledDepth.SINGLE_TAG) elif name == "field": diff --git a/scripts/py_matter_idl/matter_idl/test_data_model_xml.py b/scripts/py_matter_idl/matter_idl/test_data_model_xml.py index b53a6e3c38fd43..24148e70da328a 100755 --- a/scripts/py_matter_idl/matter_idl/test_data_model_xml.py +++ b/scripts/py_matter_idl/matter_idl/test_data_model_xml.py @@ -27,8 +27,8 @@ os.path.join(os.path.dirname(__file__), '..'))) from matter_idl.data_model_xml import ParseSource, ParseXmls +from matter_idl.matter_idl_parser import CreateParser from matter_idl.matter_idl_types import Idl -from matter_idl_parser import CreateParser def XmlToIdl(what: Union[str, List[str]]) -> Idl: From d996ef13dae9227808adfcdad80b354ca49e5fe2 Mon Sep 17 00:00:00 2001 From: C Freeman Date: Mon, 23 Oct 2023 15:36:52 -0400 Subject: [PATCH 27/44] Commissioning time sync: copy parameters to autocommissioner (#29908) * Commissioning time sync: copy parameters to autocommissioner * Restyled by clang-format * use a min function rather than being crazy --------- Co-authored-by: Restyled.io --- src/controller/AutoCommissioner.cpp | 31 +++++++++++++++++++++++++- src/controller/AutoCommissioner.h | 11 +++++++++ src/controller/CommissioningDelegate.h | 2 ++ 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/controller/AutoCommissioner.cpp b/src/controller/AutoCommissioner.cpp index 72470edec40edc..85367d4532ccc7 100644 --- a/src/controller/AutoCommissioner.cpp +++ b/src/controller/AutoCommissioner.cpp @@ -85,7 +85,9 @@ CHIP_ERROR AutoCommissioner::SetCommissioningParameters(const CommissioningParam IsUnsafeSpan(params.GetIcac(), mParams.GetIcac()) || IsUnsafeSpan(params.GetIpk(), mParams.GetIpk()) || IsUnsafeSpan(params.GetAttestationElements(), mParams.GetAttestationElements()) || IsUnsafeSpan(params.GetAttestationSignature(), mParams.GetAttestationSignature()) || - IsUnsafeSpan(params.GetPAI(), mParams.GetPAI()) || IsUnsafeSpan(params.GetDAC(), mParams.GetDAC())); + IsUnsafeSpan(params.GetPAI(), mParams.GetPAI()) || IsUnsafeSpan(params.GetDAC(), mParams.GetDAC()) || + IsUnsafeSpan(params.GetTimeZone(), mParams.GetTimeZone()) || + IsUnsafeSpan(params.GetDSTOffsets(), mParams.GetDSTOffsets())); mParams = params; @@ -174,6 +176,33 @@ CHIP_ERROR AutoCommissioner::SetCommissioningParameters(const CommissioningParam } mParams.SetCSRNonce(ByteSpan(mCSRNonce, sizeof(mCSRNonce))); + if (params.GetDSTOffsets().HasValue()) + { + ChipLogProgress(Controller, "Setting DST offsets from parameters"); + size_t size = std::min(params.GetDSTOffsets().Value().size(), kMaxSupportedDstStructs); + for (size_t i = 0; i < size; ++i) + { + mDstOffsetsBuf[i] = params.GetDSTOffsets().Value()[i]; + } + auto list = app::DataModel::List(mDstOffsetsBuf, size); + mParams.SetDSTOffsets(list); + } + if (params.GetTimeZone().HasValue()) + { + ChipLogProgress(Controller, "Setting Time Zone from parameters"); + size_t size = std::min(params.GetTimeZone().Value().size(), kMaxSupportedTimeZones); + for (size_t i = 0; i < size; ++i) + { + mTimeZoneBuf[i] = params.GetTimeZone().Value()[i]; + if (mTimeZoneBuf[i].name.HasValue()) + { + auto span = MutableCharSpan(mTimeZoneNames[i], kMaxTimeZoneNameLen); + CopyCharSpanToMutableCharSpan(mTimeZoneBuf[i].name.Value(), span); + mTimeZoneBuf[i].name.SetValue(span); + } + } + } + return CHIP_NO_ERROR; } diff --git a/src/controller/AutoCommissioner.h b/src/controller/AutoCommissioner.h index 66dafeef6851cb..4bf6217ee4c019 100644 --- a/src/controller/AutoCommissioner.h +++ b/src/controller/AutoCommissioner.h @@ -102,6 +102,17 @@ class AutoCommissioner : public CommissioningDelegate uint8_t mThreadOperationalDataset[CommissioningParameters::kMaxThreadDatasetLen]; char mCountryCode[CommissioningParameters::kMaxCountryCodeLen]; + // Time zone is statically allocated because it is max 2 and not trivially destructible + static constexpr size_t kMaxSupportedTimeZones = 2; + app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::Type mTimeZoneBuf[kMaxSupportedTimeZones]; + static constexpr size_t kMaxTimeZoneNameLen = 64; + char mTimeZoneNames[kMaxTimeZoneNameLen][kMaxSupportedTimeZones]; + + // DSTOffsetStructs are similarly not trivially destructible. They don't have a defined size, but we're + // going to do static allocation of the buffers anyway until we replace chip::Optional with std::optional. + static constexpr size_t kMaxSupportedDstStructs = 10; + app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::Type mDstOffsetsBuf[kMaxSupportedDstStructs]; + bool mNeedsNetworkSetup = false; ReadCommissioningInfo mDeviceCommissioningInfo; bool mNeedsDST = false; diff --git a/src/controller/CommissioningDelegate.h b/src/controller/CommissioningDelegate.h index 47ca12166ec8bf..3ccfd87084dab2 100644 --- a/src/controller/CommissioningDelegate.h +++ b/src/controller/CommissioningDelegate.h @@ -511,6 +511,8 @@ class CommissioningParameters mAttestationSignature.ClearValue(); mPAI.ClearValue(); mDAC.ClearValue(); + mTimeZone.ClearValue(); + mDSTOffsets.ClearValue(); } private: From 947b6e2d3581085d7ef6c88dea5471096984f32f Mon Sep 17 00:00:00 2001 From: C Freeman Date: Mon, 23 Oct 2023 16:05:08 -0400 Subject: [PATCH 28/44] TC-CC-5.4: Remove read steps (#29897) * TC-CC-5.4: Rmove read steps As discussed at the MM, most clients don't use individual reads to verify attributes. The reads in the test do not test any real client behaviour and are not requird in the spec. * zap * Restyled by whitespace --------- Co-authored-by: Restyled.io --- .../Test_TC_CC_5_4_Simulated.yaml | 82 ------------ .../app1/zap-generated/test/Commands.h | 118 +++--------------- .../app2/zap-generated/test/Commands.h | 118 +++--------------- 3 files changed, 36 insertions(+), 282 deletions(-) diff --git a/src/app/tests/suites/certification/Test_TC_CC_5_4_Simulated.yaml b/src/app/tests/suites/certification/Test_TC_CC_5_4_Simulated.yaml index dcae56a5d9c56e..3e5b2202221188 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_5_4_Simulated.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_5_4_Simulated.yaml @@ -39,16 +39,6 @@ tests: PICS: CC.C.C07.Tx && CC.C.F03 wait: "MoveToColor" - - label: "DUT reads CurrentX attribute from TH(potentially multiple times)" - PICS: CC.C.C07.Tx && CC.C.A0003 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentX" - - - label: "DUT reads CurrentY attribute from TH(potentially multiple times)" - PICS: CC.C.C07.Tx && CC.C.A0004 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentY" - - label: "Wait for ConfigTransitionTime" cluster: "DelayCommands" command: "WaitForMs" @@ -57,30 +47,10 @@ tests: - name: "ms" value: ConfigTransitionTime - - label: "DUT reads CurrentX attribute from TH(potentially multiple times)" - PICS: CC.C.C07.Tx && CC.C.A0003 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentX" - - - label: "DUT reads CurrentY attribute from TH(potentially multiple times)" - PICS: CC.C.C07.Tx && CC.C.A0004 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentY" - - label: "DUT sends MoveColor command to TH" PICS: CC.C.C08.Tx && CC.C.F03 wait: "MoveColor" - - label: "DUT reads CurrentX attribute from TH(potentially multiple times)" - PICS: CC.C.C08.Tx && CC.C.A0003 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentX" - - - label: "DUT reads CurrentY attribute from TH(potentially multiple times)" - PICS: CC.C.C08.Tx && CC.C.A0004 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentY" - - label: "Wait for ConfigTransitionTime" cluster: "DelayCommands" command: "WaitForMs" @@ -89,30 +59,10 @@ tests: - name: "ms" value: ConfigTransitionTime - - label: "DUT reads CurrentX attribute from TH(potentially multiple times)" - PICS: CC.C.C08.Tx && CC.C.A0003 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentX" - - - label: "DUT reads CurrentY attribute from TH(potentially multiple times)" - PICS: CC.C.C08.Tx && CC.C.A0004 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentY" - - label: "DUT sends StepColor command to TH" PICS: CC.C.C09.Tx wait: "StepColor" - - label: "DUT reads CurrentX attribute from TH(potentially multiple times)" - PICS: CC.C.C09.Tx && CC.C.A0003 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentX" - - - label: "DUT reads CurrentY attribute from TH(potentially multiple times)" - PICS: CC.C.C09.Tx && CC.C.A0004 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentY" - - label: "Wait for ConfigTransitionTime" cluster: "DelayCommands" command: "WaitForMs" @@ -121,30 +71,10 @@ tests: - name: "ms" value: ConfigTransitionTime - - label: "DUT reads CurrentX attribute from TH(potentially multiple times)" - PICS: CC.C.C09.Tx && CC.C.A0003 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentX" - - - label: "DUT reads CurrentY attribute from TH(potentially multiple times)" - PICS: CC.C.C09.Tx && CC.C.A0004 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentY" - - label: "DUT sends StopMoveStep command to TH" PICS: CC.C.C47.Tx wait: "StopMoveStep" - - label: "DUT reads CurrentX attribute from TH(potentially multiple times)" - PICS: CC.C.C47.Tx && CC.C.A0003 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentX" - - - label: "DUT reads CurrentY attribute from TH(potentially multiple times)" - PICS: CC.C.C47.Tx && CC.C.A0004 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentY" - - label: "Wait for ConfigTransitionTime" cluster: "DelayCommands" command: "WaitForMs" @@ -152,15 +82,3 @@ tests: values: - name: "ms" value: ConfigTransitionTime - - - label: "DUT reads CurrentX attribute from TH(potentially multiple times)" - PICS: CC.C.C47.Tx && CC.C.A0003 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentX" - - - label: - "DUT reads CurrentY attribute from ConfiguredTime: type: int16u - defaultValue: 30000TH(potentially multiple times)" - PICS: CC.C.C47.Tx && CC.C.A0004 && CC.C.F03 - wait: "readAttribute" - attribute: "CurrentY" diff --git a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h index ac254a6f41f108..09f959a75058dc 100644 --- a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h +++ b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h @@ -815,7 +815,7 @@ class Test_TC_CC_4_5_SimulatedSuite : public TestCommand class Test_TC_CC_5_4_SimulatedSuite : public TestCommand { public: - Test_TC_CC_5_4_SimulatedSuite() : TestCommand("Test_TC_CC_5_4_Simulated", 25) + Test_TC_CC_5_4_SimulatedSuite() : TestCommand("Test_TC_CC_5_4_Simulated", 9) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -845,19 +845,19 @@ class Test_TC_CC_5_4_SimulatedSuite : public TestCommand switch (mTestIndex - 1) { - case 4: + case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 10: + case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 16: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 22: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -886,130 +886,48 @@ class Test_TC_CC_5_4_SimulatedSuite : public TestCommand return WaitCommand(GetEndpoint(1), ColorControl::Id, ColorControl::Commands::MoveToColor::Id); } case 2: { - LogStep(2, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C07.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 3: { - LogStep(3, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C07.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 4: { - LogStep(4, "Wait for ConfigTransitionTime"); + LogStep(2, "Wait for ConfigTransitionTime"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = mConfigTransitionTime.HasValue() ? mConfigTransitionTime.Value() : 3000UL; return WaitForMs(kIdentityAlpha, value); } - case 5: { - LogStep(5, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C07.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 6: { - LogStep(6, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C07.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 7: { - LogStep(7, "DUT sends MoveColor command to TH"); + case 3: { + LogStep(3, "DUT sends MoveColor command to TH"); VerifyOrDo(!ShouldSkip("CC.C.C08.Tx && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return WaitCommand(GetEndpoint(1), ColorControl::Id, ColorControl::Commands::MoveColor::Id); } - case 8: { - LogStep(8, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C08.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 9: { - LogStep(9, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C08.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 10: { - LogStep(10, "Wait for ConfigTransitionTime"); + case 4: { + LogStep(4, "Wait for ConfigTransitionTime"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = mConfigTransitionTime.HasValue() ? mConfigTransitionTime.Value() : 3000UL; return WaitForMs(kIdentityAlpha, value); } - case 11: { - LogStep(11, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C08.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 12: { - LogStep(12, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C08.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 13: { - LogStep(13, "DUT sends StepColor command to TH"); + case 5: { + LogStep(5, "DUT sends StepColor command to TH"); VerifyOrDo(!ShouldSkip("CC.C.C09.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return WaitCommand(GetEndpoint(1), ColorControl::Id, ColorControl::Commands::StepColor::Id); } - case 14: { - LogStep(14, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C09.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 15: { - LogStep(15, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C09.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 16: { - LogStep(16, "Wait for ConfigTransitionTime"); + case 6: { + LogStep(6, "Wait for ConfigTransitionTime"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = mConfigTransitionTime.HasValue() ? mConfigTransitionTime.Value() : 3000UL; return WaitForMs(kIdentityAlpha, value); } - case 17: { - LogStep(17, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C09.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 18: { - LogStep(18, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C09.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 19: { - LogStep(19, "DUT sends StopMoveStep command to TH"); + case 7: { + LogStep(7, "DUT sends StopMoveStep command to TH"); VerifyOrDo(!ShouldSkip("CC.C.C47.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return WaitCommand(GetEndpoint(1), ColorControl::Id, ColorControl::Commands::StopMoveStep::Id); } - case 20: { - LogStep(20, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C47.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 21: { - LogStep(21, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C47.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 22: { - LogStep(22, "Wait for ConfigTransitionTime"); + case 8: { + LogStep(8, "Wait for ConfigTransitionTime"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = mConfigTransitionTime.HasValue() ? mConfigTransitionTime.Value() : 3000UL; return WaitForMs(kIdentityAlpha, value); } - case 23: { - LogStep(23, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C47.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 24: { - LogStep( - 24, - "DUT reads CurrentY attribute from ConfiguredTime: type: int16u defaultValue: 30000TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C47.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } } return CHIP_NO_ERROR; } diff --git a/zzz_generated/placeholder/app2/zap-generated/test/Commands.h b/zzz_generated/placeholder/app2/zap-generated/test/Commands.h index ac254a6f41f108..09f959a75058dc 100644 --- a/zzz_generated/placeholder/app2/zap-generated/test/Commands.h +++ b/zzz_generated/placeholder/app2/zap-generated/test/Commands.h @@ -815,7 +815,7 @@ class Test_TC_CC_4_5_SimulatedSuite : public TestCommand class Test_TC_CC_5_4_SimulatedSuite : public TestCommand { public: - Test_TC_CC_5_4_SimulatedSuite() : TestCommand("Test_TC_CC_5_4_Simulated", 25) + Test_TC_CC_5_4_SimulatedSuite() : TestCommand("Test_TC_CC_5_4_Simulated", 9) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -845,19 +845,19 @@ class Test_TC_CC_5_4_SimulatedSuite : public TestCommand switch (mTestIndex - 1) { - case 4: + case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 10: + case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 16: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 22: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -886,130 +886,48 @@ class Test_TC_CC_5_4_SimulatedSuite : public TestCommand return WaitCommand(GetEndpoint(1), ColorControl::Id, ColorControl::Commands::MoveToColor::Id); } case 2: { - LogStep(2, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C07.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 3: { - LogStep(3, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C07.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 4: { - LogStep(4, "Wait for ConfigTransitionTime"); + LogStep(2, "Wait for ConfigTransitionTime"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = mConfigTransitionTime.HasValue() ? mConfigTransitionTime.Value() : 3000UL; return WaitForMs(kIdentityAlpha, value); } - case 5: { - LogStep(5, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C07.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 6: { - LogStep(6, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C07.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 7: { - LogStep(7, "DUT sends MoveColor command to TH"); + case 3: { + LogStep(3, "DUT sends MoveColor command to TH"); VerifyOrDo(!ShouldSkip("CC.C.C08.Tx && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return WaitCommand(GetEndpoint(1), ColorControl::Id, ColorControl::Commands::MoveColor::Id); } - case 8: { - LogStep(8, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C08.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 9: { - LogStep(9, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C08.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 10: { - LogStep(10, "Wait for ConfigTransitionTime"); + case 4: { + LogStep(4, "Wait for ConfigTransitionTime"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = mConfigTransitionTime.HasValue() ? mConfigTransitionTime.Value() : 3000UL; return WaitForMs(kIdentityAlpha, value); } - case 11: { - LogStep(11, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C08.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 12: { - LogStep(12, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C08.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 13: { - LogStep(13, "DUT sends StepColor command to TH"); + case 5: { + LogStep(5, "DUT sends StepColor command to TH"); VerifyOrDo(!ShouldSkip("CC.C.C09.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return WaitCommand(GetEndpoint(1), ColorControl::Id, ColorControl::Commands::StepColor::Id); } - case 14: { - LogStep(14, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C09.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 15: { - LogStep(15, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C09.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 16: { - LogStep(16, "Wait for ConfigTransitionTime"); + case 6: { + LogStep(6, "Wait for ConfigTransitionTime"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = mConfigTransitionTime.HasValue() ? mConfigTransitionTime.Value() : 3000UL; return WaitForMs(kIdentityAlpha, value); } - case 17: { - LogStep(17, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C09.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 18: { - LogStep(18, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C09.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 19: { - LogStep(19, "DUT sends StopMoveStep command to TH"); + case 7: { + LogStep(7, "DUT sends StopMoveStep command to TH"); VerifyOrDo(!ShouldSkip("CC.C.C47.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return WaitCommand(GetEndpoint(1), ColorControl::Id, ColorControl::Commands::StopMoveStep::Id); } - case 20: { - LogStep(20, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C47.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 21: { - LogStep(21, "DUT reads CurrentY attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C47.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } - case 22: { - LogStep(22, "Wait for ConfigTransitionTime"); + case 8: { + LogStep(8, "Wait for ConfigTransitionTime"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = mConfigTransitionTime.HasValue() ? mConfigTransitionTime.Value() : 3000UL; return WaitForMs(kIdentityAlpha, value); } - case 23: { - LogStep(23, "DUT reads CurrentX attribute from TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C47.Tx && CC.C.A0003 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentX::Id); - } - case 24: { - LogStep( - 24, - "DUT reads CurrentY attribute from ConfiguredTime: type: int16u defaultValue: 30000TH(potentially multiple times)"); - VerifyOrDo(!ShouldSkip("CC.C.C47.Tx && CC.C.A0004 && CC.C.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return WaitAttribute(GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::CurrentY::Id); - } } return CHIP_NO_ERROR; } From 661f7c374ef29bb1ecb128b07647dc979dc74fd5 Mon Sep 17 00:00:00 2001 From: Hussein Elsherbini <36723549+HusseinElsherbini@users.noreply.github.com> Date: Mon, 23 Oct 2023 17:15:47 -0400 Subject: [PATCH 29/44] Add bootloader to silabs artifacts (#29918) * Modified gn_silabs_example shell script to add bootloader to generated binary * Restyled by shellharden * Restyled by shfmt --------- Co-authored-by: Restyled.io --- scripts/examples/gn_silabs_example.sh | 49 ++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/scripts/examples/gn_silabs_example.sh b/scripts/examples/gn_silabs_example.sh index 484788eb4baf28..174985b376d117 100755 --- a/scripts/examples/gn_silabs_example.sh +++ b/scripts/examples/gn_silabs_example.sh @@ -36,7 +36,7 @@ USE_GIT_SHA_FOR_VERSION=true USE_SLC=false GN_PATH=gn GN_PATH_PROVIDED=false - +USE_BOOTLOADER=false DOTFILE=".gn" SILABS_THREAD_TARGET=\""../silabs:ot-efr32-cert"\" @@ -138,6 +138,9 @@ if [ "$#" == "0" ]; then Generate files with SLC for current board and options Requires an SLC-CLI installation or running in Docker. --slc_reuse_files Use generated files without running slc again. + --bootloader + Add bootloader to the generated image. + " elif [ "$#" -lt "2" ]; then @@ -218,6 +221,10 @@ else optArgs+="is_debug=false disable_lcd=true chip_build_libshell=false enable_openthread_cli=false use_external_flash=false chip_logging=false silabs_log_enabled=false " shift ;; + --bootloader) + USE_BOOTLOADER=true + shift + ;; --docker) optArgs+="efr32_sdk_root=\"$GSDK_ROOT\" " USE_DOCKER=true @@ -327,4 +334,44 @@ else #print stats arm-none-eabi-size -A "$BUILD_DIR"/*.out + # add bootloader to generated image + if [ "$USE_BOOTLOADER" == true ]; then + + binName="" + InternalBootloaderBoards=("BRD4337A" "BRD2704A" "BRD2703A" "BRD4319A") + bootloaderPath="" + commanderPath="" + # find the matter root folder + if [ -z "$MATTER_ROOT" ]; then + MATTER_ROOT="$CHIP_ROOT" + fi + + # set commander path + if [ -z "$COMMANDER_PATH" ]; then + commanderPath="commander" + else + commanderPath="$COMMANDER_PATH" + fi + + # search bootloader directory for the respective bootloaders for the input board + bootloaderFiles=("$(find "$MATTER_ROOT/third_party/silabs/matter_support/matter/efr32/bootloader_binaries/" -maxdepth 1 -name "*$SILABS_BOARD*" | tr '\n' ' ')") + + if [ "${#bootloaderFiles[@]}" -gt 1 ]; then + for i in "${!bootloaderFiles[@]}"; do + # if a variant of the bootloader that uses external flash exists, use that one. + if [[ "${bootloaderFiles[$i]}" =~ .*"spiflash".* ]]; then + bootloaderPath="${bootloaderFiles[$i]}" + break + fi + done + elif [ "${#bootloaderFiles[@]}" -eq 0 ]; then + echo "A bootloader for the $SILABS_BOARD currently doesn't exist!" + else + bootloaderPath="${bootloaderFiles[0]}" + fi + echo "$bootloaderPath" + binName="$(find "$BUILD_DIR" -type f -name "*.s37")" + echo "$binName" + "$commanderPath" convert "$binName" "$bootloaderPath" -o "$binName" + fi fi From 1dd996358370bd27e237f192c76a25e07eaf4009 Mon Sep 17 00:00:00 2001 From: C Freeman Date: Mon, 23 Oct 2023 18:27:37 -0400 Subject: [PATCH 30/44] TC-DA-1.4/8 generation script: use standard order (#29920) listdir doesn't use any particular ordering apparently, so this comes out in a different order every time, which is very annoying. Change to use sorted. I'm going to update the test plans to use the new ordering so it doesn't keep changing and so we can match it with the runner script. --- credentials/development/gen_commissioner_dut_test_plan_table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/credentials/development/gen_commissioner_dut_test_plan_table.py b/credentials/development/gen_commissioner_dut_test_plan_table.py index d8887a2f86f331..fb3ca49087e0b7 100755 --- a/credentials/development/gen_commissioner_dut_test_plan_table.py +++ b/credentials/development/gen_commissioner_dut_test_plan_table.py @@ -79,7 +79,7 @@ def main(): success_cases = [] failure_cases = [] - for p in os.listdir(cert_path): + for p in sorted(os.listdir(cert_path)): if p in skip_cases: continue path = str(os.path.join(cert_path, p, 'test_case_vector.json')) From 3bad359e0c6a3c26e317651162918ff86f3b146a Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Mon, 23 Oct 2023 19:31:22 -0400 Subject: [PATCH 31/44] Add a way to trigger lock/unlock in linux lock-app by writing JSON to the FIFO. (#29919) Adds support for lock/unlock, with or without PIN. PIN can specified as either hex or ASCII digits. --- .../linux/src/LockAppCommandDelegate.cpp | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/examples/lock-app/linux/src/LockAppCommandDelegate.cpp b/examples/lock-app/linux/src/LockAppCommandDelegate.cpp index 92602a70c022c2..356888b992fde2 100644 --- a/examples/lock-app/linux/src/LockAppCommandDelegate.cpp +++ b/examples/lock-app/linux/src/LockAppCommandDelegate.cpp @@ -17,6 +17,7 @@ */ #include "LockAppCommandDelegate.h" +#include #include #include @@ -36,6 +37,10 @@ class LockAppCommandHandler {} private: + // aCommand should be "lock" or "unlock". + static CHIP_ERROR ExtractPINFromParams(const char * aCommand, const Json::Value & aParams, Optional & aPIN, + chip::Platform::ScopedMemoryBuffer & aPINBuffer); + std::string mCommandName; Json::Value mCommandParameters; }; @@ -84,6 +89,7 @@ void LockAppCommandHandler::HandleCommand(intptr_t context) const auto & params = self->mCommandParameters; // Determine the endpoint ID from the parameters JSON. If it is missing, use the default endpoint defined in the // door-lock-server.h + CHIP_ERROR err = CHIP_NO_ERROR; chip::EndpointId endpointId = DOOR_LOCK_SERVER_ENDPOINT; if (params.isMember("EndpointId")) { @@ -131,15 +137,103 @@ void LockAppCommandHandler::HandleCommand(intptr_t context) alarmCode)); LockManager::Instance().SendLockAlarm(endpointId, static_cast(alarmCode)); } + else if (self->mCommandName == "Lock") + { + + VerifyOrExit(params["OperationSource"].isUInt(), + ChipLogError(NotSpecified, "Lock App: Unable to execute command to lock: invalid type for OperationSource")); + + auto operationSource = params["OperationSource"].asUInt(); + + Optional pin; + chip::Platform::ScopedMemoryBuffer pinBuffer; + SuccessOrExit(err = ExtractPINFromParams("lock", params, pin, pinBuffer)); + + OperationErrorEnum error = OperationErrorEnum::kUnspecified; + LockManager::Instance().Lock(endpointId, NullNullable, NullNullable, pin, error, OperationSourceEnum(operationSource)); + VerifyOrExit(error == OperationErrorEnum::kUnspecified, + ChipLogError(NotSpecified, "Lock App: Lock error received: %u", to_underlying(error))); + } + else if (self->mCommandName == "Unlock") + { + VerifyOrExit(params["OperationSource"].isUInt(), + ChipLogError(NotSpecified, "Lock App: Unable to execute command to unlock: invalid type for OperationSource")); + + auto operationSource = params["OperationSource"].asUInt(); + + Optional pin; + chip::Platform::ScopedMemoryBuffer pinBuffer; + SuccessOrExit(err = ExtractPINFromParams("unlock", params, pin, pinBuffer)); + + OperationErrorEnum error = OperationErrorEnum::kUnspecified; + LockManager::Instance().Unlock(endpointId, NullNullable, NullNullable, pin, error, OperationSourceEnum(operationSource)); + VerifyOrExit(error == OperationErrorEnum::kUnspecified, + ChipLogError(NotSpecified, "Lock App: Unlock error received: %u", to_underlying(error))); + } else { ChipLogError(NotSpecified, "Lock App: Unable to execute command \"%s\": command not supported", self->mCommandName.c_str()); } exit: + if (err != CHIP_NO_ERROR) + { + ChipLogError(NotSpecified, "Lock App: Failed executing command \"%s\": %" CHIP_ERROR_FORMAT, self->mCommandName.c_str(), + err.Format()); + } chip::Platform::Delete(self); } +CHIP_ERROR LockAppCommandHandler::ExtractPINFromParams(const char * aCommand, const Json::Value & aParams, + Optional & aPIN, + chip::Platform::ScopedMemoryBuffer & aPINBuffer) +{ + if (aParams.isMember("PINAsHex")) + { + // Hex-encoded PIN bytes. So a PIN consisting of the numbers 123 gets encoded as the string "313233" + VerifyOrReturnError( + aParams["PINAsHex"].isString(), CHIP_ERROR_INVALID_ARGUMENT, + ChipLogError(NotSpecified, "Lock App: Unable to execute command to %s: invalid type for PIN", aCommand)); + + auto pinAsHex = aParams["PINAsHex"].asString(); + size_t size = pinAsHex.length(); + VerifyOrReturnError(size % 2 == 0, CHIP_ERROR_INVALID_STRING_LENGTH); + + size_t bufferSize = size / 2; + + VerifyOrReturnError(aPINBuffer.Calloc(bufferSize), CHIP_ERROR_NO_MEMORY); + size_t octetCount = chip::Encoding::HexToBytes(pinAsHex.c_str(), size, aPINBuffer.Get(), bufferSize); + VerifyOrReturnError( + octetCount != 0 || size == 0, CHIP_ERROR_INVALID_ARGUMENT, + ChipLogError(NotSpecified, "Lock app: Unable to execute command to %s: invalid hex value for PIN", aCommand)); + + aPIN.Emplace(aPINBuffer.Get(), octetCount); + ChipLogProgress(NotSpecified, "Lock App: Received command to %s with hex PIN: %s", aCommand, pinAsHex.c_str()); + } + else if (aParams.isMember("PINAsString")) + { + // ASCII-encoded PIN bytes. So a PIN consisting of the numbers 123 gets encoded as the string "123" + VerifyOrReturnError( + aParams["PINAsString"].isString(), CHIP_ERROR_INVALID_ARGUMENT, + ChipLogError(NotSpecified, "Lock App: Unable to execute command to %s: invalid type for PIN", aCommand)); + + auto pinAsString = aParams["PINAsString"].asString(); + size_t bufferSize = pinAsString.length(); + + VerifyOrReturnError(aPINBuffer.Calloc(bufferSize), CHIP_ERROR_NO_MEMORY); + memcpy(aPINBuffer.Get(), pinAsString.c_str(), bufferSize); + aPIN.Emplace(aPINBuffer.Get(), bufferSize); + + ChipLogProgress(NotSpecified, "Lock App: Received command to %s with string PIN: %s", aCommand, pinAsString.c_str()); + } + else + { + aPIN.ClearValue(); + } + + return CHIP_NO_ERROR; +} + void LockAppCommandDelegate::OnEventCommandReceived(const char * json) { auto handler = LockAppCommandHandler::FromJSON(json); From 0e67c82fedd160a7440f3ac74541b619672c462b Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Mon, 23 Oct 2023 21:18:26 -0400 Subject: [PATCH 32/44] Run zap_convert_all.py. (#29922) We have some .zap files that were added using the old format, and we did not update .zap files when apiMaturity was added. --- .../air-quality-sensor-app.zap | 3 +- .../all-clusters-common/all-clusters-app.zap | 21 +- .../all-clusters-minimal-app.zap | 17 +- .../bridge-app/bridge-common/bridge-app.zap | 3 +- ...noip_rootnode_dimmablelight_bCwGYSDpoe.zap | 3 +- ...r_humiditysensor_thermostat_56de3d5f45.zap | 1 + .../chef/devices/rootnode_fan_7N2TobIlOX.zap | 1 + ...rootnode_heatingcoolingunit_ncdGai1E5a.zap | 1 + ...otnode_roboticvacuumcleaner_1807ff0c49.zap | 3 +- ...rootnode_roomairconditioner_9cf3607804.zap | 1 + .../rootnode_thermostat_bm3fb8dhYi.zap | 1 + examples/chef/devices/template.zap | 1 + .../light-switch-common/light-switch-app.zap | 1 + .../lighting-common/lighting-app.zap | 3 +- .../silabs/data_model/lighting-thread-app.zap | 3 +- .../silabs/data_model/lighting-wifi-app.zap | 3 +- .../placeholder/linux/apps/app1/config.zap | 1 + .../placeholder/linux/apps/app2/config.zap | 1 + .../resource-monitoring-app.zap | 1 + examples/rvc-app/rvc-common/rvc-app.zap | 3 +- .../nxp/zap/thermostat_matter_thread.zap | 16109 +++------------ .../nxp/zap/thermostat_matter_wifi.zap | 16181 ++-------------- .../thermostat-common/thermostat.zap | 5 +- .../virtual-device-app.zap | 3 +- .../zap/tests/inputs/all-clusters-app.zap | 7 +- .../data_model/controller-clusters.zap | 6 +- 26 files changed, 4170 insertions(+), 28213 deletions(-) diff --git a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.zap b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.zap index f56a6027e9d092..7c7cffd2dc133c 100644 --- a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.zap +++ b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.zap @@ -5845,6 +5845,5 @@ "endpointId": 1, "networkId": 0 } - ], - "log": [] + ] } \ No newline at end of file diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap index a1f092db8b44c5..18b556b1f0cfbe 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap @@ -17,12 +17,6 @@ } ], "package": [ - { - "pathRelativity": "relativeToZap", - "path": "../../../src/app/zap-templates/app-templates.json", - "type": "gen-templates-json", - "version": "chip-v1" - }, { "pathRelativity": "relativeToZap", "path": "../../../src/app/zap-templates/zcl/zcl-with-test-extensions.json", @@ -30,6 +24,12 @@ "category": "matter", "version": 1, "description": "Matter SDK ZCL data with some extensions" + }, + { + "pathRelativity": "relativeToZap", + "path": "../../../src/app/zap-templates/app-templates.json", + "type": "gen-templates-json", + "version": "chip-v1" } ], "endpointTypes": [ @@ -6136,6 +6136,7 @@ "define": "FAULT_INJECTION_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "internal", "commands": [ { "name": "FailAtFault", @@ -6641,6 +6642,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", @@ -13698,6 +13700,7 @@ "define": "FAN_CONTROL_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "Step", @@ -15060,6 +15063,7 @@ "define": "BALLAST_CONFIGURATION_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "PhysicalMinLevel", @@ -18982,6 +18986,7 @@ "define": "UNIT_TESTING_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "internal", "commands": [ { "name": "Test", @@ -20943,6 +20948,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", @@ -22465,6 +22471,5 @@ "endpointId": 65534, "networkId": 0 } - ], - "log": [] + ] } \ No newline at end of file diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap index 5bcfc9393e1dce..486b0f4e53b5d6 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap @@ -17,12 +17,6 @@ } ], "package": [ - { - "pathRelativity": "relativeToZap", - "path": "../../../src/app/zap-templates/app-templates.json", - "type": "gen-templates-json", - "version": "chip-v1" - }, { "pathRelativity": "relativeToZap", "path": "../../../src/app/zap-templates/zcl/zcl.json", @@ -30,6 +24,12 @@ "category": "matter", "version": 1, "description": "Matter SDK ZCL data" + }, + { + "pathRelativity": "relativeToZap", + "path": "../../../src/app/zap-templates/app-templates.json", + "type": "gen-templates-json", + "version": "chip-v1" } ], "endpointTypes": [ @@ -4493,6 +4493,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", @@ -6950,6 +6951,7 @@ "define": "FAN_CONTROL_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "FanMode", @@ -7252,6 +7254,7 @@ "define": "BALLAST_CONFIGURATION_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "PhysicalMinLevel", @@ -8844,6 +8847,7 @@ "define": "UNIT_TESTING_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "internal", "commands": [ { "name": "Test", @@ -10789,6 +10793,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", diff --git a/examples/bridge-app/bridge-common/bridge-app.zap b/examples/bridge-app/bridge-common/bridge-app.zap index 71b280d3d01f5d..d8b6aeaca7e77d 100644 --- a/examples/bridge-app/bridge-common/bridge-app.zap +++ b/examples/bridge-app/bridge-common/bridge-app.zap @@ -5705,6 +5705,5 @@ "endpointId": 2, "networkId": 0 } - ], - "log": [] + ] } \ No newline at end of file diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.zap b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.zap index d9ed7dffffae80..caf961082c8e9d 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.zap +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.zap @@ -4779,6 +4779,5 @@ "endpointId": 1, "networkId": 0 } - ], - "log": [] + ] } \ No newline at end of file diff --git a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.zap b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.zap index eb7fa565cc981a..c3e4c0d11135c4 100644 --- a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.zap +++ b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.zap @@ -2776,6 +2776,7 @@ "define": "FAN_CONTROL_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "FanMode", diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.zap b/examples/chef/devices/rootnode_fan_7N2TobIlOX.zap index a3a44938d440bc..cb6dbbfa55b795 100644 --- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.zap +++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.zap @@ -2949,6 +2949,7 @@ "define": "FAN_CONTROL_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "FanMode", diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.zap b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.zap index bc22535b084253..9be273434c3272 100644 --- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.zap +++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.zap @@ -3377,6 +3377,7 @@ "define": "FAN_CONTROL_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "FanMode", diff --git a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap index 8fcc3da959cdc0..6189b501edc472 100644 --- a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap +++ b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap @@ -3035,6 +3035,5 @@ "endpointId": 1, "networkId": 0 } - ], - "log": [] + ] } \ No newline at end of file diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.zap b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.zap index 11fde93ff66874..5f84a3f9f18457 100644 --- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.zap +++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.zap @@ -2812,6 +2812,7 @@ "define": "FAN_CONTROL_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "FanMode", diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.zap b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.zap index fa3cecef5e5301..ee23f8b5524f29 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.zap +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.zap @@ -3499,6 +3499,7 @@ "define": "FAN_CONTROL_CLUSTER", "side": "client", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "FeatureMap", diff --git a/examples/chef/devices/template.zap b/examples/chef/devices/template.zap index 4f8c011c1e12b8..90275e70c09a18 100644 --- a/examples/chef/devices/template.zap +++ b/examples/chef/devices/template.zap @@ -2234,6 +2234,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.zap b/examples/light-switch-app/light-switch-common/light-switch-app.zap index 073f9a677e102e..76a34839c46ecb 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.zap +++ b/examples/light-switch-app/light-switch-common/light-switch-app.zap @@ -4839,6 +4839,7 @@ "define": "SCENES_CLUSTER", "side": "client", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", diff --git a/examples/lighting-app/lighting-common/lighting-app.zap b/examples/lighting-app/lighting-common/lighting-app.zap index 4b4c4df423b066..93f5cd2eb9cc08 100644 --- a/examples/lighting-app/lighting-common/lighting-app.zap +++ b/examples/lighting-app/lighting-common/lighting-app.zap @@ -4384,6 +4384,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", @@ -5976,4 +5977,4 @@ "networkId": 0 } ] -} +} \ No newline at end of file diff --git a/examples/lighting-app/silabs/data_model/lighting-thread-app.zap b/examples/lighting-app/silabs/data_model/lighting-thread-app.zap index 8e09be48c62b22..1425494ce80b80 100644 --- a/examples/lighting-app/silabs/data_model/lighting-thread-app.zap +++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.zap @@ -3900,6 +3900,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", @@ -5916,4 +5917,4 @@ "networkId": 0 } ] -} +} \ No newline at end of file diff --git a/examples/lighting-app/silabs/data_model/lighting-wifi-app.zap b/examples/lighting-app/silabs/data_model/lighting-wifi-app.zap index 411aadbeac28a3..e4f32d952c9286 100644 --- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.zap +++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.zap @@ -3100,6 +3100,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", @@ -5092,4 +5093,4 @@ "networkId": 0 } ] -} +} \ No newline at end of file diff --git a/examples/placeholder/linux/apps/app1/config.zap b/examples/placeholder/linux/apps/app1/config.zap index 79f0e04b8cebb7..79277d9a1f7720 100644 --- a/examples/placeholder/linux/apps/app1/config.zap +++ b/examples/placeholder/linux/apps/app1/config.zap @@ -11785,6 +11785,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", diff --git a/examples/placeholder/linux/apps/app2/config.zap b/examples/placeholder/linux/apps/app2/config.zap index d005d0b309e2f6..bd7cd1500906e9 100644 --- a/examples/placeholder/linux/apps/app2/config.zap +++ b/examples/placeholder/linux/apps/app2/config.zap @@ -11867,6 +11867,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", diff --git a/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.zap b/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.zap index 8c7e341e96e664..0cbb34e9a15882 100644 --- a/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.zap +++ b/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.zap @@ -5157,6 +5157,7 @@ "define": "FAN_CONTROL_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "FanMode", diff --git a/examples/rvc-app/rvc-common/rvc-app.zap b/examples/rvc-app/rvc-common/rvc-app.zap index 79dfa8bd75c3db..c3a38c0e3d1708 100644 --- a/examples/rvc-app/rvc-common/rvc-app.zap +++ b/examples/rvc-app/rvc-common/rvc-app.zap @@ -2783,6 +2783,5 @@ "endpointId": 1, "networkId": 0 } - ], - "log": [] + ] } \ No newline at end of file diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.zap b/examples/thermostat/nxp/zap/thermostat_matter_thread.zap index 3b1033c6a4d4f8..5a182daade2b19 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_thread.zap +++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.zap @@ -1,5 +1,6 @@ { - "featureLevel": 98, + "fileFormat": 2, + "featureLevel": 99, "creator": "zap", "keyValuePairs": [ { @@ -64,44 +65,18 @@ "code": 3, "mfgCode": null, "define": "IDENTIFY_CLUSTER", - "side": "client", - "enabled": 0, + "side": "server", + "enabled": 1, "commands": [ { "name": "Identify", "code": 0, "mfgCode": null, "source": "client", - "incoming": 1, - "outgoing": 1 + "isIncoming": 1, + "isEnabled": 1 } ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Identify", - "code": 3, - "mfgCode": null, - "define": "IDENTIFY_CLUSTER", - "side": "server", - "enabled": 1, "attributes": [ { "name": "IdentifyTime", @@ -170,74 +145,104 @@ ] }, { - "name": "Groups", - "code": 4, + "name": "Descriptor", + "code": 29, "mfgCode": null, - "define": "GROUPS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ + "define": "DESCRIPTOR_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ { - "name": "AddGroup", + "name": "DeviceTypeList", "code": 0, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "ViewGroup", + "name": "ServerList", "code": 1, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "GetGroupMembership", + "name": "ClientList", "code": 2, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "RemoveGroup", + "name": "PartsList", "code": 3, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "RemoveAllGroups", - "code": 4, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, - { - "name": "AddGroupIfIdentifying", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "4", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -246,296 +251,240 @@ ] }, { - "name": "Groups", - "code": 4, + "name": "Access Control", + "code": 31, "mfgCode": null, - "define": "GROUPS_CLUSTER", + "define": "ACCESS_CONTROL_CLUSTER", "side": "server", - "enabled": 0, - "commands": [ + "enabled": 1, + "attributes": [ { - "name": "AddGroupResponse", + "name": "ACL", "code": 0, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "ViewGroupResponse", + "name": "Extension", "code": 1, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "GetGroupMembershipResponse", + "name": "SubjectsPerAccessControlEntry", "code": 2, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "RemoveGroupResponse", + "name": "TargetsPerAccessControlEntry", "code": 3, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "NameSupport", - "code": 0, - "mfgCode": null, "side": "server", - "type": "NameSupportBitmap", + "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "3", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "AccessControlEntriesPerFabric", + "code": 4, "mfgCode": null, "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "4", + "defaultValue": "3", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Scenes", - "code": 5, - "mfgCode": null, - "define": "SCENES_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "AddScene", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 }, { - "name": "ViewScene", - "code": 1, + "name": "AttributeList", + "code": 65531, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "RemoveScene", - "code": 2, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, - { - "name": "RemoveAllScenes", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StoreScene", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RecallScene", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetSceneMembership", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "4", + "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 } - ] - }, - { - "name": "Scenes", - "code": 5, - "mfgCode": null, - "define": "SCENES_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ + ], + "events": [ { - "name": "AddSceneResponse", + "name": "AccessControlEntryChanged", "code": 0, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "side": "server", + "included": 1 }, { - "name": "ViewSceneResponse", + "name": "AccessControlExtensionChanged", "code": 1, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveSceneResponse", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveAllScenesResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StoreSceneResponse", - "code": 4, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetSceneMembershipResponse", - "code": 6, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "side": "server", + "included": 1 } - ], + ] + }, + { + "name": "Basic Information", + "code": 40, + "mfgCode": null, + "define": "BASIC_INFORMATION_CLUSTER", + "side": "server", + "enabled": 1, "attributes": [ { - "name": "SceneCount", + "name": "DataModelRevision", "code": 0, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "int16u", "included": 1, "storageOption": "External", - "singleton": 0, + "singleton": 1, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "10", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "CurrentScene", + "name": "VendorName", "code": 1, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "CurrentGroup", + "name": "VendorID", "code": 2, "mfgCode": null, "side": "server", - "type": "group_id", + "type": "vendor_id", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "0x0000", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "SceneValid", + "name": "ProductName", "code": 3, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "NameSupport", + "name": "ProductID", "code": 4, "mfgCode": null, "side": "server", - "type": "bitmap8", + "type": "int16u", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, "defaultValue": "", "reportable": 1, @@ -544,326 +493,222 @@ "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "NodeLabel", + "code": 5, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "NVM", + "singleton": 1, "bounded": 0, - "defaultValue": "4", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "On/Off", - "code": 6, - "mfgCode": null, - "define": "ON_OFF_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Off", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 }, { - "name": "On", - "code": 1, + "name": "Location", + "code": 6, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "XX", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "Toggle", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, + "name": "HardwareVersion", + "code": 7, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "4", + "defaultValue": "0", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "On/Off", - "code": 6, - "mfgCode": null, - "define": "ON_OFF_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "OnOff", - "code": 0, + "name": "HardwareVersionString", + "code": 8, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "SoftwareVersion", + "code": 9, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int32u", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "4", + "defaultValue": "0", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Level Control", - "code": 8, - "mfgCode": null, - "define": "LEVEL_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "MoveToLevel", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 }, { - "name": "Move", - "code": 1, + "name": "SoftwareVersionString", + "code": 10, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "Step", - "code": 2, + "name": "ManufacturingDate", + "code": 11, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "Stop", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToLevelWithOnOff", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveWithOnOff", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepWithOnOff", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "20210614123456ZZ", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "StopWithOnOff", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, + "name": "PartNumber", + "code": 12, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "5", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Level Control", - "code": 8, - "mfgCode": null, - "define": "LEVEL_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "CurrentLevel", - "code": 0, + "name": "ProductURL", + "code": 13, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "long_char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "ProductLabel", + "code": 14, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "5", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Descriptor", - "code": 29, - "mfgCode": null, - "define": "DESCRIPTOR_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "SerialNumber", + "code": 15, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Descriptor", - "code": 29, - "mfgCode": null, - "define": "DESCRIPTOR_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ + }, { - "name": "DeviceTypeList", - "code": 0, + "name": "LocalConfigDisabled", + "code": 16, "mfgCode": null, "side": "server", - "type": "array", + "type": "boolean", "included": 1, - "storageOption": "External", - "singleton": 0, + "storageOption": "NVM", + "singleton": 1, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ServerList", - "code": 1, + "name": "Reachable", + "code": 17, "mfgCode": null, "side": "server", - "type": "array", + "type": "boolean", "included": 1, - "storageOption": "External", - "singleton": 0, + "storageOption": "RAM", + "singleton": 1, "bounded": 0, - "defaultValue": "", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClientList", - "code": 2, + "name": "UniqueID", + "code": 18, "mfgCode": null, "side": "server", - "type": "array", + "type": "char_string", "included": 1, "storageOption": "External", - "singleton": 0, + "singleton": 1, "bounded": 0, "defaultValue": "", "reportable": 1, @@ -872,19 +717,19 @@ "reportableChange": 0 }, { - "name": "PartsList", - "code": 3, + "name": "CapabilityMinima", + "code": 19, "mfgCode": null, "side": "server", - "type": "array", + "type": "CapabilityMinimaStruct", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { @@ -910,8 +755,8 @@ "side": "server", "type": "int16u", "included": 1, - "storageOption": "External", - "singleton": 0, + "storageOption": "RAM", + "singleton": 1, "bounded": 0, "defaultValue": "1", "reportable": 1, @@ -919,15 +764,80 @@ "maxInterval": 65344, "reportableChange": 0 } + ], + "events": [ + { + "name": "StartUp", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "ShutDown", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "Leave", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1 + } ] }, { - "name": "Binding", - "code": 30, + "name": "OTA Software Update Provider", + "code": 41, "mfgCode": null, - "define": "BINDING_CLUSTER", + "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", "side": "client", - "enabled": 0, + "enabled": 1, + "commands": [ + { + "name": "QueryImage", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "QueryImageResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "ApplyUpdateRequest", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "ApplyUpdateResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "NotifyUpdateApplied", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + } + ], "attributes": [ { "name": "ClusterRevision", @@ -948,15 +858,25 @@ ] }, { - "name": "Binding", - "code": 30, + "name": "OTA Software Update Requestor", + "code": 42, "mfgCode": null, - "define": "BINDING_CLUSTER", + "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, + "commands": [ + { + "name": "AnnounceOTAProvider", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], "attributes": [ { - "name": "Binding", + "name": "DefaultOTAProviders", "code": 0, "mfgCode": null, "side": "server", @@ -965,31 +885,79 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "UpdatePossible", + "code": 1, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "boolean", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "1", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "UpdateState", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "UpdateStateEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "UpdateStateProgress", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", "type": "int16u", @@ -999,46 +967,38 @@ "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 } ] }, { - "name": "Access Control", - "code": 31, - "mfgCode": null, - "define": "ACCESS_CONTROL_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "Access Control", - "code": 31, + "name": "Localization Configuration", + "code": 43, "mfgCode": null, - "define": "ACCESS_CONTROL_CLUSTER", + "define": "LOCALIZATION_CONFIGURATION_CLUSTER", "side": "server", "enabled": 1, "attributes": [ { - "name": "ACL", + "name": "ActiveLocale", "code": 0, "mfgCode": null, "side": "server", - "type": "array", + "type": "char_string", "included": 1, - "storageOption": "External", + "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "en-US", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "Extension", + "name": "SupportedLocales", "code": 1, "mfgCode": null, "side": "server", @@ -1054,56 +1014,82 @@ "reportableChange": 0 }, { - "name": "SubjectsPerAccessControlEntry", - "code": 2, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap32", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "4", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "TargetsPerAccessControlEntry", - "code": 3, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", "type": "int16u", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "3", + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Time Format Localization", + "code": 44, + "mfgCode": null, + "define": "TIME_FORMAT_LOCALIZATION_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "HourFormat", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "HourFormatEnum", + "included": 1, + "storageOption": "NVM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "AccessControlEntriesPerFabric", - "code": 4, + "name": "ActiveCalendarType", + "code": 1, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "CalendarTypeEnum", "included": 1, - "storageOption": "External", + "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "3", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "AttributeList", - "code": 65531, + "name": "SupportedCalendarTypes", + "code": 2, "mfgCode": null, "side": "server", "type": "array", @@ -1149,83 +1135,149 @@ "maxInterval": 65534, "reportableChange": 0 } - ], - "events": [ + ] + }, + { + "name": "Unit Localization", + "code": 45, + "mfgCode": null, + "define": "UNIT_LOCALIZATION_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ { - "name": "AccessControlEntryChanged", + "name": "TemperatureUnit", "code": 0, "mfgCode": null, "side": "server", - "included": 1 + "type": "TempUnitEnum", + "included": 1, + "storageOption": "NVM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "AccessControlExtensionChanged", - "code": 1, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "included": 1 - } - ] - }, - { - "name": "Basic Information", - "code": 40, - "mfgCode": null, - "define": "BASIC_INFORMATION_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", - "singleton": 1, + "singleton": 0, "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 } ] }, { - "name": "Basic Information", - "code": 40, + "name": "General Commissioning", + "code": 48, "mfgCode": null, - "define": "BASIC_INFORMATION_CLUSTER", + "define": "GENERAL_COMMISSIONING_CLUSTER", "side": "server", "enabled": 1, + "commands": [ + { + "name": "ArmFailSafe", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "ArmFailSafeResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "SetRegulatoryConfig", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "SetRegulatoryConfigResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "CommissioningComplete", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "CommissioningCompleteResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + } + ], "attributes": [ { - "name": "DataModelRevision", + "name": "Breadcrumb", "code": 0, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int64u", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, - "defaultValue": "10", + "defaultValue": "0x0000000000000000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "VendorName", + "name": "BasicCommissioningInfo", "code": 1, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "BasicCommissioningInfo", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, @@ -1234,270 +1286,358 @@ "reportableChange": 0 }, { - "name": "VendorID", + "name": "RegulatoryConfig", "code": 2, "mfgCode": null, "side": "server", - "type": "vendor_id", + "type": "RegulatoryLocationTypeEnum", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ProductName", + "name": "LocationCapability", "code": 3, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "RegulatoryLocationTypeEnum", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ProductID", + "name": "SupportsConcurrentConnection", "code": 4, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "boolean", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "NodeLabel", - "code": 5, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "bitmap32", "included": 1, - "storageOption": "NVM", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "Location", - "code": 6, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int16u", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, - "defaultValue": "XX", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 + } + ] + }, + { + "name": "Network Commissioning", + "code": 49, + "mfgCode": null, + "define": "NETWORK_COMMISSIONING_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "ScanNetworks", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "HardwareVersion", + "name": "ScanNetworksResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "AddOrUpdateWiFiNetwork", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "AddOrUpdateThreadNetwork", + "code": 3, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "RemoveNetwork", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "NetworkConfigResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "ConnectNetwork", + "code": 6, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "ConnectNetworkResponse", "code": 7, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "HardwareVersionString", + "name": "ReorderNetwork", "code": 8, "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], + "attributes": [ + { + "name": "MaxNetworks", + "code": 0, + "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int8u", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "SoftwareVersion", - "code": 9, + "name": "Networks", + "code": 1, "mfgCode": null, "side": "server", - "type": "int32u", + "type": "array", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "SoftwareVersionString", - "code": 10, + "name": "ScanMaxTimeSeconds", + "code": 2, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int8u", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ManufacturingDate", - "code": 11, + "name": "ConnectMaxTimeSeconds", + "code": 3, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int8u", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, - "defaultValue": "20210614123456ZZ", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "PartNumber", - "code": 12, + "name": "InterfaceEnabled", + "code": 4, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "boolean", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ProductURL", - "code": 13, + "name": "LastNetworkingStatus", + "code": 5, "mfgCode": null, "side": "server", - "type": "long_char_string", + "type": "NetworkCommissioningStatusEnum", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ProductLabel", - "code": 14, + "name": "LastNetworkID", + "code": 6, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "octet_string", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "SerialNumber", - "code": 15, + "name": "LastConnectErrorValue", + "code": 7, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int32s", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "LocalConfigDisabled", - "code": 16, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "bitmap32", "included": 1, - "storageOption": "NVM", - "singleton": 1, - "bounded": 0, - "defaultValue": "0", + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "Reachable", - "code": 17, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "int16u", "included": 1, "storageOption": "RAM", - "singleton": 1, + "singleton": 0, "bounded": 0, "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - }, + } + ] + }, + { + "name": "General Diagnostics", + "code": 51, + "mfgCode": null, + "define": "GENERAL_DIAGNOSTICS_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ { - "name": "UniqueID", - "code": 18, + "name": "TestEventTrigger", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], + "attributes": [ + { + "name": "NetworkInterfaces", + "code": 0, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "array", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, @@ -1506,156 +1646,133 @@ "reportableChange": 0 }, { - "name": "CapabilityMinima", - "code": 19, + "name": "RebootCount", + "code": 1, "mfgCode": null, "side": "server", - "type": "CapabilityMinimaStruct", + "type": "int16u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "UpTime", + "code": 2, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int64u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0000000000000000", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "TotalOperationalHours", + "code": 3, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int32u", "included": 1, - "storageOption": "RAM", - "singleton": 1, + "storageOption": "External", + "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x00000000", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ], - "events": [ + }, { - "name": "StartUp", - "code": 0, + "name": "BootReason", + "code": 4, "mfgCode": null, "side": "server", - "included": 1 + "type": "BootReasonEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "ShutDown", - "code": 1, + "name": "ActiveHardwareFaults", + "code": 5, "mfgCode": null, "side": "server", - "included": 1 + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "Leave", - "code": 2, + "name": "ActiveRadioFaults", + "code": 6, "mfgCode": null, "side": "server", - "included": 1 - } - ] - }, - { - "name": "OTA Software Update Provider", - "code": 41, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", - "side": "client", - "enabled": 1, - "commands": [ - { - "name": "QueryImage", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "ApplyUpdateRequest", - "code": 2, + "name": "ActiveNetworkFaults", + "code": 7, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "NotifyUpdateApplied", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, + "name": "TestEventTriggersEnabled", + "code": 8, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "boolean", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "false", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Provider", - "code": 41, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "QueryImageResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 }, - { - "name": "ApplyUpdateResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ { "name": "FeatureMap", "code": 65532, @@ -1688,1196 +1805,1033 @@ "maxInterval": 65344, "reportableChange": 0 } + ], + "events": [ + { + "name": "BootReason", + "code": 3, + "mfgCode": null, + "side": "server", + "included": 1 + } ] }, { - "name": "OTA Software Update Requestor", - "code": 42, + "name": "Thread Network Diagnostics", + "code": 53, "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", - "side": "client", - "enabled": 0, + "define": "THREAD_NETWORK_DIAGNOSTICS_CLUSTER", + "side": "server", + "enabled": 1, "commands": [ { - "name": "AnnounceOTAProvider", + "name": "ResetCounts", "code": 0, "mfgCode": null, "source": "client", - "incoming": 1, - "outgoing": 0 + "isIncoming": 1, + "isEnabled": 1 } ], "attributes": [ { - "name": "FeatureMap", - "code": 65532, + "name": "Channel", + "code": 0, "mfgCode": null, - "side": "client", - "type": "bitmap32", + "side": "server", + "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "RoutingRole", + "code": 1, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "RoutingRoleEnum", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Requestor", - "code": 42, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ + }, { - "name": "DefaultOTAProviders", - "code": 0, + "name": "NetworkName", + "code": 2, "mfgCode": null, "side": "server", - "type": "array", + "type": "char_string", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "0", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "UpdatePossible", - "code": 1, + "name": "PanId", + "code": 3, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "UpdateState", - "code": 2, + "name": "ExtendedPanId", + "code": 4, "mfgCode": null, "side": "server", - "type": "OTAUpdateStateEnum", + "type": "int64u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0000000000000000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "UpdateStateProgress", - "code": 3, + "name": "MeshLocalPrefix", + "code": 5, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "octet_string", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "GeneratedCommandList", - "code": 65528, + "name": "OverrunCount", + "code": 6, "mfgCode": null, "side": "server", - "type": "array", - "included": 0, + "type": "int64u", + "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000000000000000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "AcceptedCommandList", - "code": 65529, + "name": "NeighborTable", + "code": 7, "mfgCode": null, "side": "server", "type": "array", - "included": 0, + "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "AttributeList", - "code": 65531, + "name": "RouteTable", + "code": 8, "mfgCode": null, "side": "server", "type": "array", - "included": 0, + "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "PartitionId", + "code": 9, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "Weighting", + "code": 10, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int8u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Localization Configuration", - "code": 43, - "mfgCode": null, - "define": "LOCALIZATION_CONFIGURATION_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "Localization Configuration", - "code": 43, - "mfgCode": null, - "define": "LOCALIZATION_CONFIGURATION_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ + }, { - "name": "ActiveLocale", - "code": 0, + "name": "DataVersion", + "code": 11, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int8u", "included": 1, - "storageOption": "NVM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "en-US", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "SupportedLocales", - "code": 1, + "name": "StableDataVersion", + "code": 12, "mfgCode": null, "side": "server", - "type": "array", + "type": "int8u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "LeaderRouterId", + "code": 13, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int8u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "DetachedRoleCount", + "code": 14, "mfgCode": null, "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Time Format Localization", - "code": 44, - "mfgCode": null, - "define": "TIME_FORMAT_LOCALIZATION_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "Time Format Localization", - "code": 44, - "mfgCode": null, - "define": "TIME_FORMAT_LOCALIZATION_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ + }, { - "name": "HourFormat", - "code": 0, + "name": "ChildRoleCount", + "code": 15, "mfgCode": null, "side": "server", - "type": "HourFormatEnum", + "type": "int16u", "included": 1, - "storageOption": "NVM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ActiveCalendarType", - "code": 1, + "name": "RouterRoleCount", + "code": 16, "mfgCode": null, "side": "server", - "type": "CalendarTypeEnum", + "type": "int16u", "included": 1, - "storageOption": "NVM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "SupportedCalendarTypes", - "code": 2, + "name": "LeaderRoleCount", + "code": 17, "mfgCode": null, "side": "server", - "type": "array", + "type": "int16u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "AttachAttemptCount", + "code": 18, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "PartitionIdChangeCount", + "code": 19, "mfgCode": null, "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Unit Localization", - "code": 45, - "mfgCode": null, - "define": "UNIT_LOCALIZATION_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "Unit Localization", - "code": 45, - "mfgCode": null, - "define": "UNIT_LOCALIZATION_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ + }, { - "name": "TemperatureUnit", - "code": 0, + "name": "BetterPartitionAttachAttemptCount", + "code": 20, "mfgCode": null, "side": "server", - "type": "TempUnitEnum", + "type": "int16u", "included": 1, - "storageOption": "NVM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "ParentChangeCount", + "code": 21, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0x1", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "TxTotalCount", + "code": 22, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Power Source", - "code": 47, - "mfgCode": null, - "define": "POWER_SOURCE_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ + }, { - "name": "FeatureMap", - "code": 65532, + "name": "TxUnicastCount", + "code": 23, "mfgCode": null, - "side": "client", - "type": "bitmap32", + "side": "server", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "TxBroadcastCount", + "code": 24, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Power Source", - "code": 47, - "mfgCode": null, - "define": "POWER_SOURCE_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "Status", - "code": 0, + "name": "TxAckRequestedCount", + "code": 25, "mfgCode": null, "side": "server", - "type": "PowerSourceStatusEnum", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "Order", - "code": 1, + "name": "TxAckedCount", + "code": 26, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "Description", - "code": 2, + "name": "TxNoAckRequestedCount", + "code": 27, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "WiredAssessedInputVoltage", - "code": 3, + "name": "TxDataCount", + "code": 28, "mfgCode": null, "side": "server", "type": "int32u", - "included": 0, - "storageOption": "RAM", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "WiredAssessedInputFrequency", - "code": 4, + "name": "TxDataPollCount", + "code": 29, "mfgCode": null, "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "WiredCurrentType", - "code": 5, + "name": "TxBeaconCount", + "code": 30, "mfgCode": null, "side": "server", - "type": "WiredCurrentTypeEnum", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "WiredAssessedCurrent", - "code": 6, + "name": "TxBeaconRequestCount", + "code": 31, "mfgCode": null, "side": "server", "type": "int32u", - "included": 0, - "storageOption": "RAM", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "WiredNominalVoltage", - "code": 7, + "name": "TxOtherCount", + "code": 32, "mfgCode": null, "side": "server", "type": "int32u", - "included": 0, - "storageOption": "RAM", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "WiredMaximumCurrent", - "code": 8, + "name": "TxRetryCount", + "code": 33, "mfgCode": null, "side": "server", "type": "int32u", - "included": 0, - "storageOption": "RAM", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "WiredPresent", - "code": 9, + "name": "TxDirectMaxRetryExpiryCount", + "code": 34, "mfgCode": null, "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ActiveWiredFaults", - "code": 10, + "name": "TxIndirectMaxRetryExpiryCount", + "code": 35, "mfgCode": null, "side": "server", - "type": "array", - "included": 0, + "type": "int32u", + "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatVoltage", - "code": 11, + "name": "TxErrCcaCount", + "code": 36, "mfgCode": null, "side": "server", "type": "int32u", - "included": 0, - "storageOption": "RAM", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatPercentRemaining", - "code": 12, + "name": "TxErrAbortCount", + "code": 37, "mfgCode": null, "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatTimeRemaining", - "code": 13, + "name": "TxErrBusyChannelCount", + "code": 38, "mfgCode": null, "side": "server", "type": "int32u", - "included": 0, - "storageOption": "RAM", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatChargeLevel", - "code": 14, + "name": "RxTotalCount", + "code": 39, "mfgCode": null, "side": "server", - "type": "BatChargeLevelEnum", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatReplacementNeeded", - "code": 15, + "name": "RxUnicastCount", + "code": 40, "mfgCode": null, "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatReplaceability", - "code": 16, + "name": "RxBroadcastCount", + "code": 41, "mfgCode": null, "side": "server", - "type": "BatReplaceabilityEnum", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatPresent", - "code": 17, + "name": "RxDataCount", + "code": 42, "mfgCode": null, "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ActiveBatFaults", - "code": 18, + "name": "RxDataPollCount", + "code": 43, "mfgCode": null, "side": "server", - "type": "array", - "included": 0, + "type": "int32u", + "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatReplacementDescription", - "code": 19, + "name": "RxBeaconCount", + "code": 44, "mfgCode": null, "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatCommonDesignation", - "code": 20, + "name": "RxBeaconRequestCount", + "code": 45, "mfgCode": null, "side": "server", - "type": "BatCommonDesignationEnum", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatANSIDesignation", - "code": 21, + "name": "RxOtherCount", + "code": 46, "mfgCode": null, "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatIECDesignation", - "code": 22, + "name": "RxAddressFilteredCount", + "code": 47, "mfgCode": null, "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatApprovedChemistry", - "code": 23, + "name": "RxDestAddrFilteredCount", + "code": 48, "mfgCode": null, "side": "server", - "type": "BatApprovedChemistryEnum", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatCapacity", - "code": 24, + "name": "RxDuplicatedCount", + "code": 49, "mfgCode": null, "side": "server", "type": "int32u", - "included": 0, - "storageOption": "RAM", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatQuantity", - "code": 25, + "name": "RxErrNoFrameCount", + "code": 50, "mfgCode": null, "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatChargeState", - "code": 26, + "name": "RxErrUnknownNeighborCount", + "code": 51, "mfgCode": null, "side": "server", - "type": "BatChargeStateEnum", - "included": 0, - "storageOption": "RAM", + "type": "int32u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatTimeToFullCharge", - "code": 27, + "name": "RxErrInvalidSrcAddrCount", + "code": 52, "mfgCode": null, "side": "server", "type": "int32u", - "included": 0, - "storageOption": "RAM", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BatFunctionalWhileCharging", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatChargingCurrent", - "code": 29, + "name": "RxErrSecCount", + "code": 53, "mfgCode": null, "side": "server", "type": "int32u", - "included": 0, - "storageOption": "RAM", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ActiveBatChargeFaults", - "code": 30, + "name": "RxErrFcsCount", + "code": 54, "mfgCode": null, "side": "server", - "type": "array", - "included": 0, + "type": "int32u", + "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "GeneratedCommandList", - "code": 65528, + "name": "RxErrOtherCount", + "code": 55, "mfgCode": null, "side": "server", - "type": "array", + "type": "int32u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "AcceptedCommandList", - "code": 65529, + "name": "ActiveTimestamp", + "code": 56, "mfgCode": null, "side": "server", - "type": "array", + "type": "int64u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000000000000000", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "AttributeList", - "code": 65531, + "name": "PendingTimestamp", + "code": 57, "mfgCode": null, "side": "server", - "type": "array", + "type": "int64u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000000000000000", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "Delay", + "code": 58, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0000", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "SecurityPolicy", + "code": 59, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "SecurityPolicy", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "General Commissioning", - "code": 48, - "mfgCode": null, - "define": "GENERAL_COMMISSIONING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ArmFailSafe", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 }, { - "name": "SetRegulatoryConfig", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "CommissioningComplete", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, + "name": "ChannelPage0Mask", + "code": 60, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "octet_string", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x0000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "General Commissioning", - "code": 48, - "mfgCode": null, - "define": "GENERAL_COMMISSIONING_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "ArmFailSafeResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetRegulatoryConfigResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 }, { - "name": "CommissioningCompleteResponse", - "code": 5, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "Breadcrumb", - "code": 0, + "name": "OperationalDatasetComponents", + "code": 61, "mfgCode": null, "side": "server", - "type": "int64u", + "type": "OperationalDatasetComponents", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0x0000000000000000", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "BasicCommissioningInfo", - "code": 1, + "name": "ActiveNetworkFaultsList", + "code": 62, "mfgCode": null, "side": "server", - "type": "BasicCommissioningInfo", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, @@ -2889,48 +2843,48 @@ "reportableChange": 0 }, { - "name": "RegulatoryConfig", - "code": 2, + "name": "GeneratedCommandList", + "code": 65528, "mfgCode": null, "side": "server", - "type": "RegulatoryLocationTypeEnum", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "LocationCapability", - "code": 3, + "name": "AcceptedCommandList", + "code": 65529, "mfgCode": null, "side": "server", - "type": "RegulatoryLocationTypeEnum", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "SupportsConcurrentConnection", - "code": 4, + "name": "AttributeList", + "code": 65531, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2946,7 +2900,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x000F", "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2971,187 +2925,235 @@ ] }, { - "name": "Network Commissioning", - "code": 49, + "name": "Administrator Commissioning", + "code": 60, "mfgCode": null, - "define": "NETWORK_COMMISSIONING_CLUSTER", - "side": "client", - "enabled": 0, + "define": "ADMINISTRATOR_COMMISSIONING_CLUSTER", + "side": "server", + "enabled": 1, "commands": [ { - "name": "ScanNetworks", + "name": "OpenCommissioningWindow", "code": 0, "mfgCode": null, "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "AddOrUpdateWiFiNetwork", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "AddOrUpdateThreadNetwork", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "RemoveNetwork", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "ConnectNetwork", - "code": 6, + "name": "OpenBasicCommissioningWindow", + "code": 1, "mfgCode": null, "source": "client", - "incoming": 1, - "outgoing": 0 + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "ReorderNetwork", - "code": 8, + "name": "RevokeCommissioning", + "code": 2, "mfgCode": null, "source": "client", - "incoming": 1, - "outgoing": 0 + "isIncoming": 1, + "isEnabled": 1 } ], "attributes": [ { - "name": "ClusterRevision", - "code": 65533, + "name": "WindowStatus", + "code": 0, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "CommissioningWindowStatusEnum", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Network Commissioning", - "code": 49, - "mfgCode": null, - "define": "NETWORK_COMMISSIONING_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "ScanNetworksResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "NetworkConfigResponse", - "code": 5, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 }, { - "name": "ConnectNetworkResponse", - "code": 7, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "MaxNetworks", - "code": 0, + "name": "AdminFabricIndex", + "code": 1, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "fabric_idx", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "1", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "Networks", - "code": 1, + "name": "AdminVendorId", + "code": 2, "mfgCode": null, "side": "server", - "type": "array", + "type": "int16u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ScanMaxTimeSeconds", - "code": 2, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ConnectMaxTimeSeconds", - "code": 3, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "int16u", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "1", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 + } + ] + }, + { + "name": "Operational Credentials", + "code": 62, + "mfgCode": null, + "define": "OPERATIONAL_CREDENTIALS_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "AttestationRequest", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "InterfaceEnabled", + "name": "AttestationResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "CertificateChainRequest", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "CertificateChainResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "CSRRequest", "code": 4, "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "CSRResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "AddNOC", + "code": 6, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "UpdateNOC", + "code": 7, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "NOCResponse", + "code": 8, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "UpdateFabricLabel", + "code": 9, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "RemoveFabric", + "code": 10, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "AddTrustedRootCertificate", + "code": 11, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], + "attributes": [ + { + "name": "NOCs", + "code": 0, + "mfgCode": null, "side": "server", - "type": "boolean", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -3161,110 +3163,90 @@ "reportableChange": 0 }, { - "name": "LastNetworkingStatus", - "code": 5, + "name": "Fabrics", + "code": 1, "mfgCode": null, "side": "server", - "type": "NetworkCommissioningStatusEnum", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "LastNetworkID", - "code": 6, + "name": "SupportedFabrics", + "code": 2, "mfgCode": null, "side": "server", - "type": "octet_string", + "type": "int8u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "LastConnectErrorValue", - "code": 7, + "name": "CommissionedFabrics", + "code": 3, "mfgCode": null, "side": "server", - "type": "int32s", + "type": "int8u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "TrustedRootCertificates", + "code": 4, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "2", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "CurrentFabricIndex", + "code": 5, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int8u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Diagnostic Logs", - "code": 50, - "mfgCode": null, - "define": "DIAGNOSTIC_LOGS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "RetrieveLogsRequest", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ + }, { "name": "FeatureMap", "code": 65532, "mfgCode": null, - "side": "client", + "side": "server", "type": "bitmap32", "included": 1, "storageOption": "RAM", @@ -3280,7 +3262,7 @@ "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", @@ -3288,41 +3270,73 @@ "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 } ] }, { - "name": "Diagnostic Logs", - "code": 50, + "name": "Group Key Management", + "code": 63, "mfgCode": null, - "define": "DIAGNOSTIC_LOGS_CLUSTER", + "define": "GROUP_KEY_MANAGEMENT_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, "commands": [ { - "name": "RetrieveLogsRequest", + "name": "KeySetWrite", "code": 0, "mfgCode": null, "source": "client", - "incoming": 1, - "outgoing": 0 + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "RetrieveLogsResponse", + "name": "KeySetRead", "code": 1, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, { - "name": "GeneratedCommandList", - "code": 65528, + "name": "KeySetReadResponse", + "code": 2, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "KeySetRemove", + "code": 3, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "KeySetReadAllIndices", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "KeySetReadAllIndicesResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + } + ], + "attributes": [ + { + "name": "GroupKeyMap", + "code": 0, "mfgCode": null, "side": "server", "type": "array", @@ -3332,13 +3346,13 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "AcceptedCommandList", - "code": 65529, + "name": "GroupTable", + "code": 1, "mfgCode": null, "side": "server", "type": "array", @@ -3348,16 +3362,16 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "EventList", - "code": 65530, + "name": "MaxGroupsPerFabric", + "code": 2, "mfgCode": null, "side": "server", - "type": "array", + "type": "int16u", "included": 1, "storageOption": "External", "singleton": 0, @@ -3369,11 +3383,11 @@ "reportableChange": 0 }, { - "name": "AttributeList", - "code": 65531, + "name": "MaxGroupKeysPerFabric", + "code": 3, "mfgCode": null, "side": "server", - "type": "array", + "type": "int16u", "included": 1, "storageOption": "External", "singleton": 0, @@ -3391,7 +3405,7 @@ "side": "server", "type": "bitmap32", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "0", @@ -3407,24 +3421,63 @@ "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 } ] - }, + } + ] + }, + { + "id": 2, + "name": "MA-thermostat", + "deviceTypeRef": { + "code": 769, + "profileId": 259, + "label": "MA-thermostat", + "name": "MA-thermostat" + }, + "deviceTypes": [ { - "name": "General Diagnostics", - "code": 51, + "code": 769, + "profileId": 259, + "label": "MA-thermostat", + "name": "MA-thermostat" + } + ], + "deviceVersions": [ + 1 + ], + "deviceIdentifiers": [ + 769 + ], + "deviceTypeName": "MA-thermostat", + "deviceTypeCode": 769, + "deviceTypeProfileId": 259, + "clusters": [ + { + "name": "Identify", + "code": 3, "mfgCode": null, - "define": "GENERAL_DIAGNOSTICS_CLUSTER", + "define": "IDENTIFY_CLUSTER", "side": "client", - "enabled": 0, + "enabled": 1, + "commands": [ + { + "name": "Identify", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + } + ], "attributes": [ { "name": "ClusterRevision", @@ -3436,7 +3489,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "4", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -3445,318 +3498,456 @@ ] }, { - "name": "General Diagnostics", - "code": 51, + "name": "Identify", + "code": 3, "mfgCode": null, - "define": "GENERAL_DIAGNOSTICS_CLUSTER", + "define": "IDENTIFY_CLUSTER", "side": "server", "enabled": 1, "commands": [ { - "name": "TestEventTrigger", + "name": "Identify", "code": 0, "mfgCode": null, "source": "client", - "incoming": 1, - "outgoing": 0 + "isIncoming": 1, + "isEnabled": 1 } ], "attributes": [ { - "name": "NetworkInterfaces", + "name": "IdentifyTime", "code": 0, "mfgCode": null, "side": "server", - "type": "array", + "type": "int16u", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "RebootCount", + "name": "IdentifyType", "code": 1, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "IdentifyTypeEnum", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x0000", + "defaultValue": "0x0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "UpTime", - "code": 2, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int64u", + "type": "bitmap32", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x0000000000000000", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "TotalOperationalHours", - "code": 3, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", - "type": "int32u", + "type": "int16u", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x00000000", + "defaultValue": "4", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 + } + ] + }, + { + "name": "Groups", + "code": 4, + "mfgCode": null, + "define": "GROUPS_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "AddGroup", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "BootReason", + "name": "AddGroupResponse", + "code": 0, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "ViewGroup", + "code": 1, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "ViewGroupResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "GetGroupMembership", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "GetGroupMembershipResponse", + "code": 2, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "RemoveGroup", + "code": 3, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "RemoveGroupResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "RemoveAllGroups", "code": 4, "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "AddGroupIfIdentifying", + "code": 5, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], + "attributes": [ + { + "name": "NameSupport", + "code": 0, + "mfgCode": null, "side": "server", - "type": "BootReasonEnum", + "type": "NameSupportBitmap", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ActiveHardwareFaults", - "code": 5, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "array", + "type": "bitmap32", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ActiveRadioFaults", - "code": 6, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", - "type": "array", + "type": "int16u", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "4", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 + } + ] + }, + { + "name": "Scenes", + "code": 5, + "mfgCode": null, + "define": "SCENES_CLUSTER", + "side": "server", + "enabled": 1, + "apiMaturity": "provisional", + "commands": [ + { + "name": "AddScene", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "ActiveNetworkFaults", - "code": 7, + "name": "AddSceneResponse", + "code": 0, "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "TestEventTriggersEnabled", - "code": 8, + "name": "ViewScene", + "code": 1, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "ViewSceneResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "RemoveScene", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "RemoveSceneResponse", + "code": 2, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "RemoveAllScenes", + "code": 3, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "RemoveAllScenesResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "StoreScene", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "StoreSceneResponse", + "code": 4, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "RecallScene", + "code": 5, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "GetSceneMembership", + "code": 6, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "GetSceneMembershipResponse", + "code": 6, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + } + ], + "attributes": [ + { + "name": "SceneCount", + "code": 0, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "int8u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "false", + "defaultValue": "0x00", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "CurrentScene", + "code": 1, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int8u", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x00", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "CurrentGroup", + "code": 2, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "group_id", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x0000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ], - "events": [ + }, { - "name": "BootReason", + "name": "SceneValid", "code": 3, "mfgCode": null, "side": "server", - "included": 1 - } - ] - }, - { - "name": "Software Diagnostics", - "code": 52, - "mfgCode": null, - "define": "SOFTWARE_DIAGNOSTICS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ResetWatermarks", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", + "type": "boolean", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x00", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Software Diagnostics", - "code": 52, - "mfgCode": null, - "define": "SOFTWARE_DIAGNOSTICS_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "ThreadMetrics", - "code": 0, + "name": "NameSupport", + "code": 4, "mfgCode": null, "side": "server", - "type": "array", + "type": "bitmap8", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "CurrentHeapFree", - "code": 1, + "name": "SceneTableSize", + "code": 6, "mfgCode": null, "side": "server", - "type": "int64u", + "type": "int16u", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x0000000000000000", + "defaultValue": "", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "CurrentHeapUsed", - "code": 2, + "name": "RemainingCapacity", + "code": 7, "mfgCode": null, "side": "server", - "type": "int64u", + "type": "int8u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0x0000000000000000", + "defaultValue": "", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "CurrentHeapHighWatermark", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, { "name": "FeatureMap", "code": 65532, @@ -3767,7 +3958,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -3783,7 +3974,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "4", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -3792,37 +3983,19 @@ ] }, { - "name": "Thread Network Diagnostics", - "code": 53, - "mfgCode": null, - "define": "THREAD_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ResetCounts", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ] - }, - { - "name": "Thread Network Diagnostics", - "code": 53, + "name": "Descriptor", + "code": 29, "mfgCode": null, - "define": "THREAD_NETWORK_DIAGNOSTICS_CLUSTER", + "define": "DESCRIPTOR_CLUSTER", "side": "server", "enabled": 1, "attributes": [ { - "name": "Channel", + "name": "DeviceTypeList", "code": 0, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, @@ -3834,11 +4007,11 @@ "reportableChange": 0 }, { - "name": "RoutingRole", + "name": "ServerList", "code": 1, "mfgCode": null, "side": "server", - "type": "RoutingRoleEnum", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, @@ -3850,59 +4023,27 @@ "reportableChange": 0 }, { - "name": "NetworkName", + "name": "ClientList", "code": 2, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "PanId", + "name": "PartsList", "code": 3, "mfgCode": null, "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ExtendedPanId", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MeshLocalPrefix", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "octet_string", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, @@ -3914,40 +4055,50 @@ "reportableChange": 0 }, { - "name": "OverrunCount", - "code": 6, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int64u", + "type": "bitmap32", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x0000000000000000", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "NeighborTable", - "code": 7, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", - "type": "array", + "type": "int16u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - }, + } + ] + }, + { + "name": "Binding", + "code": 30, + "mfgCode": null, + "define": "BINDING_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ { - "name": "RouteTable", - "code": 8, + "name": "Binding", + "code": 0, "mfgCode": null, "side": "server", "type": "array", @@ -3957,11724 +4108,95 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartitionId", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "Weighting", - "code": 10, + "name": "GeneratedCommandList", + "code": 65528, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "DataVersion", - "code": 11, + "name": "AcceptedCommandList", + "code": 65529, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "StableDataVersion", - "code": 12, + "name": "EventList", + "code": 65530, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "LeaderRouterId", - "code": 13, + "name": "AttributeList", + "code": 65531, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "array", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DetachedRoleCount", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ChildRoleCount", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RouterRoleCount", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LeaderRoleCount", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AttachAttemptCount", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartitionIdChangeCount", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "BetterPartitionAttachAttemptCount", - "code": 20, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap32", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x0000", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ParentChangeCount", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxTotalCount", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxUnicastCount", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxBroadcastCount", - "code": 24, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxAckRequestedCount", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxAckedCount", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxNoAckRequestedCount", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxDataCount", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxDataPollCount", - "code": 29, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxBeaconCount", - "code": 30, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxBeaconRequestCount", - "code": 31, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxOtherCount", - "code": 32, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxRetryCount", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxDirectMaxRetryExpiryCount", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxIndirectMaxRetryExpiryCount", - "code": 35, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxErrCcaCount", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxErrAbortCount", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxErrBusyChannelCount", - "code": 38, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxTotalCount", - "code": 39, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxUnicastCount", - "code": 40, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxBroadcastCount", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxDataCount", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxDataPollCount", - "code": 43, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxBeaconCount", - "code": 44, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxBeaconRequestCount", - "code": 45, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxOtherCount", - "code": 46, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxAddressFilteredCount", - "code": 47, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxDestAddrFilteredCount", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxDuplicatedCount", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrNoFrameCount", - "code": 50, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrUnknownNeighborCount", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrInvalidSrcAddrCount", - "code": 52, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrSecCount", - "code": 53, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrFcsCount", - "code": 54, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrOtherCount", - "code": 55, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ActiveTimestamp", - "code": 56, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "PendingTimestamp", - "code": 57, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Delay", - "code": 58, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "SecurityPolicy", - "code": 59, - "mfgCode": null, - "side": "server", - "type": "SecurityPolicy", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ChannelPage0Mask", - "code": 60, - "mfgCode": null, - "side": "server", - "type": "octet_string", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OperationalDatasetComponents", - "code": 61, - "mfgCode": null, - "side": "server", - "type": "OperationalDatasetComponents", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ActiveNetworkFaultsList", - "code": 62, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x000F", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "WiFi Network Diagnostics", - "code": 54, - "mfgCode": null, - "define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "WiFi Network Diagnostics", - "code": 54, - "mfgCode": null, - "define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "BSSID", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "octet_string", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SecurityType", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "SecurityTypeEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WiFiVersion", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "WiFiVersionEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ChannelNumber", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RSSI", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int8s", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "BeaconLostCount", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "BeaconRxCount", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PacketMulticastRxCount", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PacketMulticastTxCount", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PacketUnicastRxCount", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PacketUnicastTxCount", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentMaxRate", - "code": 11, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OverrunCount", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Ethernet Network Diagnostics", - "code": 55, - "mfgCode": null, - "define": "ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ResetCounts", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Ethernet Network Diagnostics", - "code": 55, - "mfgCode": null, - "define": "ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "PHYRate", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "PHYRateEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FullDuplex", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "PacketRxCount", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PacketTxCount", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxErrCount", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CollisionCount", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OverrunCount", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CarrierDetect", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "TimeSinceReset", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Switch", - "code": 59, - "mfgCode": null, - "define": "SWITCH_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Switch", - "code": 59, - "mfgCode": null, - "define": "SWITCH_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "NumberOfPositions", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPosition", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MultiPressMax", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Administrator Commissioning", - "code": 60, - "mfgCode": null, - "define": "ADMINISTRATOR_COMMISSIONING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "OpenCommissioningWindow", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "OpenBasicCommissioningWindow", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RevokeCommissioning", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Administrator Commissioning", - "code": 60, - "mfgCode": null, - "define": "ADMINISTRATOR_COMMISSIONING_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "WindowStatus", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "CommissioningWindowStatusEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AdminFabricIndex", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "fabric_idx", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AdminVendorId", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Operational Credentials", - "code": 62, - "mfgCode": null, - "define": "OPERATIONAL_CREDENTIALS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "AttestationRequest", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "CertificateChainRequest", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "CSRRequest", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "AddNOC", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "UpdateNOC", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "UpdateFabricLabel", - "code": 9, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveFabric", - "code": 10, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "AddTrustedRootCertificate", - "code": 11, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Operational Credentials", - "code": 62, - "mfgCode": null, - "define": "OPERATIONAL_CREDENTIALS_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "AttestationResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "CertificateChainResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "CSRResponse", - "code": 5, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "NOCResponse", - "code": 8, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "NOCs", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Fabrics", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SupportedFabrics", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CommissionedFabrics", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TrustedRootCertificates", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentFabricIndex", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Group Key Management", - "code": 63, - "mfgCode": null, - "define": "GROUP_KEY_MANAGEMENT_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "KeySetWrite", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "KeySetRead", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "KeySetRemove", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "KeySetReadAllIndices", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Group Key Management", - "code": 63, - "mfgCode": null, - "define": "GROUP_KEY_MANAGEMENT_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "KeySetReadResponse", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "KeySetReadAllIndicesResponse", - "code": 5, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "GroupKeyMap", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "GroupTable", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxGroupsPerFabric", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MaxGroupKeysPerFabric", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Fixed Label", - "code": 64, - "mfgCode": null, - "define": "FIXED_LABEL_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "Fixed Label", - "code": 64, - "mfgCode": null, - "define": "FIXED_LABEL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "LabelList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "User Label", - "code": 65, - "mfgCode": null, - "define": "USER_LABEL_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "User Label", - "code": 65, - "mfgCode": null, - "define": "USER_LABEL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "LabelList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Door Lock", - "code": 257, - "mfgCode": null, - "define": "DOOR_LOCK_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "LockDoor", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "UnlockDoor", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "UnlockWithTimeout", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetWeekDaySchedule", - "code": 11, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetWeekDaySchedule", - "code": 12, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearWeekDaySchedule", - "code": 13, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetYearDaySchedule", - "code": 14, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetYearDaySchedule", - "code": 15, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearYearDaySchedule", - "code": 16, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetHolidaySchedule", - "code": 17, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetHolidaySchedule", - "code": 18, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearHolidaySchedule", - "code": 19, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Door Lock", - "code": 257, - "mfgCode": null, - "define": "DOOR_LOCK_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "LockState", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "DlLockState", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LockType", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "DlLockType", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ActuatorEnabled", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DoorState", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "DoorStateEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Language", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LEDSettings", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AutoRelockTime", - "code": 35, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoundVolume", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OperatingMode", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "OperatingModeEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DefaultConfigurationRegister", - "code": 39, - "mfgCode": null, - "side": "server", - "type": "DlDefaultConfigurationRegister", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableLocalProgramming", - "code": 40, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableOneTouchLocking", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableInsideStatusLED", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnablePrivacyModeButton", - "code": 43, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WrongCodeEntryLimit", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "UserCodeTemporaryDisableTime", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SendPINOverTheAir", - "code": 50, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RequirePINforRemoteOperation", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Barrier Control", - "code": 259, - "mfgCode": null, - "define": "BARRIER_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "BarrierControlGoToPercent", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "BarrierControlStop", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Barrier Control", - "code": 259, - "mfgCode": null, - "define": "BARRIER_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "barrier moving state", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier safety status", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "bitmap16", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier capabilities", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier position", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Color Control", - "code": 768, - "mfgCode": null, - "define": "COLOR_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "MoveToHue", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveHue", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepHue", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToSaturation", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveSaturation", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepSaturation", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToHueAndSaturation", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToColor", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveColor", - "code": 8, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepColor", - "code": 9, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToColorTemperature", - "code": 10, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StopMoveStep", - "code": 71, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveColorTemperature", - "code": 75, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepColorTemperature", - "code": 76, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Color Control", - "code": 768, - "mfgCode": null, - "define": "COLOR_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "CurrentHue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentSaturation", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RemainingTime", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentX", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x616B", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentY", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x607D", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DriftCompensation", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CompensationText", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorTemperatureMireds", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00FA", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorMode", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Options", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NumberOfPrimaries", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1X", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1Y", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1Intensity", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2X", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2Y", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2Intensity", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3X", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3Y", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3Intensity", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4X", - "code": 32, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4Y", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4Intensity", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5X", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5Y", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5Intensity", - "code": 38, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6X", - "code": 40, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6Y", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6Intensity", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WhitePointX", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WhitePointY", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRX", - "code": 50, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRY", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRIntensity", - "code": 52, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGX", - "code": 54, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGY", - "code": 55, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGIntensity", - "code": 56, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBX", - "code": 58, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBY", - "code": 59, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBIntensity", - "code": 60, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnhancedCurrentHue", - "code": 16384, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnhancedColorMode", - "code": 16385, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorLoopActive", - "code": 16386, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorLoopDirection", - "code": 16387, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorLoopTime", - "code": 16388, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0019", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorCapabilities", - "code": 16394, - "mfgCode": null, - "side": "server", - "type": "bitmap16", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorTempPhysicalMinMireds", - "code": 16395, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorTempPhysicalMaxMireds", - "code": 16396, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFEFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CoupleColorTempToLevelMinMireds", - "code": 16397, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "StartUpColorTemperatureMireds", - "code": 16400, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Temperature Measurement", - "code": 1026, - "mfgCode": null, - "define": "TEMPERATURE_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Temperature Measurement", - "code": 1026, - "mfgCode": null, - "define": "TEMPERATURE_MEASUREMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MeasuredValue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinMeasuredValue", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxMeasuredValue", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Tolerance", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Relative Humidity Measurement", - "code": 1029, - "mfgCode": null, - "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Relative Humidity Measurement", - "code": 1029, - "mfgCode": null, - "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MeasuredValue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinMeasuredValue", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxMeasuredValue", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Tolerance", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Unit Testing", - "code": 4294048773, - "mfgCode": null, - "define": "UNIT_TESTING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Test", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "TestNotHandled", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "TestSpecific", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Unit Testing", - "code": 4294048773, - "mfgCode": null, - "define": "UNIT_TESTING_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "TestSpecificResponse", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "boolean", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "false", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "bitmap8", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "Bitmap8MaskMap", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "bitmap16", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "Bitmap16MaskMap", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "bitmap32", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "Bitmap32MaskMap", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "bitmap64", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "Bitmap64MaskMap", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int8u", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int16u", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int32u", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int64u", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int8s", - "code": 13, - "mfgCode": null, - "side": "server", - "type": "int8s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int16s", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int32s", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int32s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int64s", - "code": 20, - "mfgCode": null, - "side": "server", - "type": "int64s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "enum8", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "enum16", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "enum16", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "octet_string", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "octet_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "list_int8u", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "list_octet_string", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "list_struct_octet_string", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - } - ] - }, - { - "id": 2, - "name": "MA-thermostat", - "deviceTypeRef": { - "code": 769, - "profileId": 259, - "label": "MA-thermostat", - "name": "MA-thermostat" - }, - "deviceTypes": [ - { - "code": 769, - "profileId": 259, - "label": "MA-thermostat", - "name": "MA-thermostat" - } - ], - "deviceVersions": [ - 1 - ], - "deviceIdentifiers": [ - 769 - ], - "deviceTypeName": "MA-thermostat", - "deviceTypeCode": 769, - "deviceTypeProfileId": 259, - "clusters": [ - { - "name": "Identify", - "code": 3, - "mfgCode": null, - "define": "IDENTIFY_CLUSTER", - "side": "client", - "enabled": 1, - "commands": [ - { - "name": "Identify", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Identify", - "code": 3, - "mfgCode": null, - "define": "IDENTIFY_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "IdentifyTime", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "IdentifyType", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "IdentifyTypeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Groups", - "code": 4, - "mfgCode": null, - "define": "GROUPS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "AddGroup", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ViewGroup", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetGroupMembership", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveGroup", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveAllGroups", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "AddGroupIfIdentifying", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Groups", - "code": 4, - "mfgCode": null, - "define": "GROUPS_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "AddGroupResponse", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ViewGroupResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetGroupMembershipResponse", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveGroupResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "NameSupport", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "NameSupportBitmap", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Scenes", - "code": 5, - "mfgCode": null, - "define": "SCENES_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "AddScene", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ViewScene", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveScene", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveAllScenes", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StoreScene", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RecallScene", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetSceneMembership", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Scenes", - "code": 5, - "mfgCode": null, - "define": "SCENES_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "AddSceneResponse", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ViewSceneResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveSceneResponse", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveAllScenesResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StoreSceneResponse", - "code": 4, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetSceneMembershipResponse", - "code": 6, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "SceneCount", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentScene", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentGroup", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "group_id", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SceneValid", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NameSupport", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SceneTableSize", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "RemainingCapacity", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "On/Off", - "code": 6, - "mfgCode": null, - "define": "ON_OFF_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Off", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "On", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "Toggle", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "On/Off", - "code": 6, - "mfgCode": null, - "define": "ON_OFF_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "OnOff", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "GlobalSceneControl", - "code": 16384, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OnTime", - "code": 16385, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OffWaitTime", - "code": 16386, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "StartUpOnOff", - "code": 16387, - "mfgCode": null, - "side": "server", - "type": "StartUpOnOffEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Level Control", - "code": 8, - "mfgCode": null, - "define": "LEVEL_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "MoveToLevel", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "Move", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "Step", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "Stop", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToLevelWithOnOff", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveWithOnOff", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepWithOnOff", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StopWithOnOff", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Level Control", - "code": 8, - "mfgCode": null, - "define": "LEVEL_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "CurrentLevel", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RemainingTime", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MinLevel", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MaxLevel", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFE", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "CurrentFrequency", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MinFrequency", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MaxFrequency", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Options", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "LevelControlOptions", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OnOffTransitionTime", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OnLevel", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFE", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OnTransitionTime", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OffTransitionTime", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "DefaultMoveRate", - "code": 20, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "StartUpCurrentLevel", - "code": 16384, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "255", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Binary Input (Basic)", - "code": 15, - "mfgCode": null, - "define": "BINARY_INPUT_BASIC_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Binary Input (Basic)", - "code": 15, - "mfgCode": null, - "define": "BINARY_INPUT_BASIC_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "out of service", - "code": 81, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "present value", - "code": 85, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "status flags", - "code": 111, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Descriptor", - "code": 29, - "mfgCode": null, - "define": "DESCRIPTOR_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Descriptor", - "code": 29, - "mfgCode": null, - "define": "DESCRIPTOR_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "DeviceTypeList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ServerList", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClientList", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartsList", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Binding", - "code": 30, - "mfgCode": null, - "define": "BINDING_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Binding", - "code": 30, - "mfgCode": null, - "define": "BINDING_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "Binding", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Basic Information", - "code": 40, - "mfgCode": null, - "define": "BASIC_INFORMATION_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Basic Information", - "code": 40, - "mfgCode": null, - "define": "BASIC_INFORMATION_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "DataModelRevision", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "10", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "VendorName", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "VendorID", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "vendor_id", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductName", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductID", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NodeLabel", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "NVM", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Location", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "XX", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersion", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersionString", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersion", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersionString", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ManufacturingDate", - "code": 11, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "20210614123456ZZ", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartNumber", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductURL", - "code": 13, - "mfgCode": null, - "side": "server", - "type": "long_char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductLabel", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SerialNumber", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LocalConfigDisabled", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "NVM", - "singleton": 1, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Reachable", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "UniqueID", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CapabilityMinima", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "CapabilityMinimaStruct", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Provider", - "code": 41, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "QueryImage", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ApplyUpdateRequest", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Provider", - "code": 41, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "ApplyUpdateResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Requestor", - "code": 42, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Requestor", - "code": 42, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Power Source", - "code": 47, - "mfgCode": null, - "define": "POWER_SOURCE_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "client", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Power Source", - "code": 47, - "mfgCode": null, - "define": "POWER_SOURCE_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "Status", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "PowerSourceStatusEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Order", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Description", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredAssessedInputVoltage", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredAssessedInputFrequency", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredCurrentType", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "WiredCurrentTypeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredAssessedCurrent", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredNominalVoltage", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredMaximumCurrent", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredPresent", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveWiredFaults", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 0, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatVoltage", - "code": 11, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatPercentRemaining", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatTimeRemaining", - "code": 13, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatChargeLevel", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "BatChargeLevelEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatReplacementNeeded", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatReplaceability", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "BatReplaceabilityEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatPresent", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveBatFaults", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 0, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatReplacementDescription", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatCommonDesignation", - "code": 20, - "mfgCode": null, - "side": "server", - "type": "BatCommonDesignationEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatANSIDesignation", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatIECDesignation", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatApprovedChemistry", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "BatApprovedChemistryEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatCapacity", - "code": 24, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatQuantity", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatChargeState", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "BatChargeStateEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatTimeToFullCharge", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatFunctionalWhileCharging", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatChargingCurrent", - "code": 29, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveBatChargeFaults", - "code": 30, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 0, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EndpointList", - "code": 31, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "General Commissioning", - "code": 48, - "mfgCode": null, - "define": "GENERAL_COMMISSIONING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ArmFailSafe", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetRegulatoryConfig", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "General Commissioning", - "code": 48, - "mfgCode": null, - "define": "GENERAL_COMMISSIONING_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "ArmFailSafeResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetRegulatoryConfigResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "Breadcrumb", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "o", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "BasicCommissioningInfo", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "BasicCommissioningInfo", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SupportsConcurrentConnection", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Network Commissioning", - "code": 49, - "mfgCode": null, - "define": "NETWORK_COMMISSIONING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ScanNetworks", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "AddOrUpdateWiFiNetwork", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "RemoveNetwork", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "ConnectNetwork", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "ReorderNetwork", - "code": 8, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Network Commissioning", - "code": 49, - "mfgCode": null, - "define": "NETWORK_COMMISSIONING_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "ScanNetworksResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "NetworkConfigResponse", - "code": 5, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ConnectNetworkResponse", - "code": 7, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Switch", - "code": 59, - "mfgCode": null, - "define": "SWITCH_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Switch", - "code": 59, - "mfgCode": null, - "define": "SWITCH_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "NumberOfPositions", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPosition", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MultiPressMax", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Group Key Management", - "code": 63, - "mfgCode": null, - "define": "GROUP_KEY_MANAGEMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Group Key Management", - "code": 63, - "mfgCode": null, - "define": "GROUP_KEY_MANAGEMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "GroupKeyMap", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "GroupTable", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Fixed Label", - "code": 64, - "mfgCode": null, - "define": "FIXED_LABEL_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Fixed Label", - "code": 64, - "mfgCode": null, - "define": "FIXED_LABEL_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "LabelList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "User Label", - "code": 65, - "mfgCode": null, - "define": "USER_LABEL_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "client", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "User Label", - "code": 65, - "mfgCode": null, - "define": "USER_LABEL_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "LabelList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Door Lock", - "code": 257, - "mfgCode": null, - "define": "DOOR_LOCK_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "LockDoor", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "UnlockDoor", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "UnlockWithTimeout", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetWeekDaySchedule", - "code": 11, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetWeekDaySchedule", - "code": 12, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearWeekDaySchedule", - "code": 13, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetYearDaySchedule", - "code": 14, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetYearDaySchedule", - "code": 15, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearYearDaySchedule", - "code": 16, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetHolidaySchedule", - "code": 17, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetHolidaySchedule", - "code": 18, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearHolidaySchedule", - "code": 19, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Door Lock", - "code": 257, - "mfgCode": null, - "define": "DOOR_LOCK_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "LockState", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "DlLockState", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LockType", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "DlLockType", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ActuatorEnabled", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DoorState", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "DoorStateEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Language", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LEDSettings", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AutoRelockTime", - "code": 35, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoundVolume", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OperatingMode", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "OperatingModeEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DefaultConfigurationRegister", - "code": 39, - "mfgCode": null, - "side": "server", - "type": "DlDefaultConfigurationRegister", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableLocalProgramming", - "code": 40, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableOneTouchLocking", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableInsideStatusLED", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnablePrivacyModeButton", - "code": 43, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WrongCodeEntryLimit", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "UserCodeTemporaryDisableTime", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SendPINOverTheAir", - "code": 50, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RequirePINforRemoteOperation", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Window Covering", - "code": 258, - "mfgCode": null, - "define": "WINDOW_COVERING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "UpOrOpen", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "DownOrClose", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "StopMotion", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "GoToLiftValue", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "GoToLiftPercentage", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "GoToTiltValue", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "GoToTiltPercentage", - "code": 8, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Window Covering", - "code": 258, - "mfgCode": null, - "define": "WINDOW_COVERING_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "Type", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "Type", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPositionLift", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPositionTilt", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ConfigStatus", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "ConfigStatus", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x03", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPositionLiftPercentage", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "Percent", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 100, - "reportableChange": 0 - }, - { - "name": "CurrentPositionTiltPercentage", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "Percent", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 100, - "reportableChange": 0 - }, - { - "name": "OperationalStatus", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "OperationalStatus", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 127, - "reportableChange": 0 - }, - { - "name": "TargetPositionLiftPercent100ths", - "code": 11, - "mfgCode": null, - "side": "server", - "type": "Percent100ths", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 10000, - "reportableChange": 0 - }, - { - "name": "TargetPositionTiltPercent100ths", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "Percent100ths", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFFFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 10000, - "reportableChange": 0 - }, - { - "name": "EndProductType", - "code": 13, - "mfgCode": null, - "side": "server", - "type": "EndProductType", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPositionLiftPercent100ths", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "Percent100ths", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 10000, - "reportableChange": 0 - }, - { - "name": "CurrentPositionTiltPercent100ths", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "Percent100ths", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 10000, - "reportableChange": 0 - }, - { - "name": "InstalledOpenLimitLift", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "InstalledClosedLimitLift", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFFFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "InstalledOpenLimitTilt", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "InstalledClosedLimitTilt", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFFFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Mode", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "Mode", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 15, - "reportableChange": 0 - }, - { - "name": "SafetyStatus", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "SafetyStatus", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Barrier Control", - "code": 259, - "mfgCode": null, - "define": "BARRIER_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "BarrierControlGoToPercent", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "BarrierControlStop", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Barrier Control", - "code": 259, - "mfgCode": null, - "define": "BARRIER_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "barrier moving state", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier safety status", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "bitmap16", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier capabilities", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier position", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Pump Configuration and Control", - "code": 512, - "mfgCode": null, - "define": "PUMP_CONFIGURATION_AND_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Pump Configuration and Control", - "code": 512, - "mfgCode": null, - "define": "PUMP_CONFIGURATION_AND_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MaxPressure", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxSpeed", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxFlow", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PumpStatus", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "PumpStatusBitmap", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EffectiveOperationMode", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "OperationModeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EffectiveControlMode", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "ControlModeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Capacity", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OperationMode", - "code": 32, - "mfgCode": null, - "side": "server", - "type": "OperationModeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Thermostat", - "code": 513, - "mfgCode": null, - "define": "THERMOSTAT_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "SetpointRaiseLower", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetWeeklySchedule", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "GetWeeklySchedule", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ClearWeeklySchedule", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Thermostat", - "code": 513, - "mfgCode": null, - "define": "THERMOSTAT_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "GetWeeklyScheduleResponse", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "LocalTemperature", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AbsMinHeatSetpointLimit", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "700", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AbsMaxHeatSetpointLimit", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AbsMinCoolSetpointLimit", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1600", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AbsMaxCoolSetpointLimit", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3200", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PICoolingDemand", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PIHeatingDemand", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HVACSystemTypeConfiguration", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OccupiedCoolingSetpoint", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "NVM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0A28", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OccupiedHeatingSetpoint", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "NVM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x07D0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinHeatSetpointLimit", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "700", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxHeatSetpointLimit", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinCoolSetpointLimit", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1600", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxCoolSetpointLimit", - "code": 24, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3200", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinSetpointDeadBand", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int8s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x19", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ControlSequenceOfOperation", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "ThermostatControlSequence", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x04", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SystemMode", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "NVM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "StartOfWeek", - "code": 32, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NumberOfWeeklyTransitions", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "7", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NumberOfDailyTransitions", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Thermostat User Interface Configuration", - "code": 516, - "mfgCode": null, - "define": "THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "client", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Thermostat User Interface Configuration", - "code": 516, - "mfgCode": null, - "define": "THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "TemperatureDisplayMode", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "KeypadLockout", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ScheduleProgrammingVisibility", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Color Control", - "code": 768, - "mfgCode": null, - "define": "COLOR_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "MoveToHue", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveHue", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepHue", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToSaturation", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveSaturation", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepSaturation", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToHueAndSaturation", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToColor", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveColor", - "code": 8, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepColor", - "code": 9, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToColorTemperature", - "code": 10, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StopMoveStep", - "code": 71, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveColorTemperature", - "code": 75, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepColorTemperature", - "code": 76, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Color Control", - "code": 768, - "mfgCode": null, - "define": "COLOR_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "CurrentHue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentSaturation", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RemainingTime", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentX", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x616B", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentY", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x607D", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DriftCompensation", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CompensationText", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorTemperatureMireds", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00FA", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorMode", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Options", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NumberOfPrimaries", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1X", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1Y", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1Intensity", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2X", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2Y", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2Intensity", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3X", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3Y", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3Intensity", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4X", - "code": 32, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4Y", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4Intensity", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5X", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5Y", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5Intensity", - "code": 38, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6X", - "code": 40, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6Y", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6Intensity", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WhitePointX", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WhitePointY", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRX", - "code": 50, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRY", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRIntensity", - "code": 52, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGX", - "code": 54, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGY", - "code": 55, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGIntensity", - "code": 56, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBX", - "code": 58, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBY", - "code": 59, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBIntensity", - "code": 60, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnhancedCurrentHue", - "code": 16384, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnhancedColorMode", - "code": 16385, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorLoopActive", - "code": 16386, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorLoopDirection", - "code": 16387, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorLoopTime", - "code": 16388, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0019", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorCapabilities", - "code": 16394, - "mfgCode": null, - "side": "server", - "type": "bitmap16", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorTempPhysicalMinMireds", - "code": 16395, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorTempPhysicalMaxMireds", - "code": 16396, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFEFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CoupleColorTempToLevelMinMireds", - "code": 16397, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "StartUpColorTemperatureMireds", - "code": 16400, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Temperature Measurement", - "code": 1026, - "mfgCode": null, - "define": "TEMPERATURE_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Temperature Measurement", - "code": 1026, - "mfgCode": null, - "define": "TEMPERATURE_MEASUREMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MeasuredValue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinMeasuredValue", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxMeasuredValue", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Tolerance", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Pressure Measurement", - "code": 1027, - "mfgCode": null, - "define": "PRESSURE_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Pressure Measurement", - "code": 1027, - "mfgCode": null, - "define": "PRESSURE_MEASUREMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MeasuredValue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinMeasuredValue", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxMeasuredValue", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Tolerance", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ScaledValue", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ScaledTolerance", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Flow Measurement", - "code": 1028, - "mfgCode": null, - "define": "FLOW_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Flow Measurement", - "code": 1028, - "mfgCode": null, - "define": "FLOW_MEASUREMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MeasuredValue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinMeasuredValue", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxMeasuredValue", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Relative Humidity Measurement", - "code": 1029, - "mfgCode": null, - "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Relative Humidity Measurement", - "code": 1029, - "mfgCode": null, - "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MeasuredValue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinMeasuredValue", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxMeasuredValue", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Tolerance", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Wake on LAN", - "code": 1283, - "mfgCode": null, - "define": "WAKE_ON_LAN_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Wake on LAN", - "code": 1283, - "mfgCode": null, - "define": "WAKE_ON_LAN_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MACAddress", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Channel", - "code": 1284, - "mfgCode": null, - "define": "CHANNEL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ChangeChannel", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ChangeChannelByNumber", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Channel", - "code": 1284, - "mfgCode": null, - "define": "CHANNEL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "ChannelList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Lineup", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "LineupInfoStruct", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentChannel", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "ChannelInfoStruct", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Target Navigator", - "code": 1285, - "mfgCode": null, - "define": "TARGET_NAVIGATOR_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "NavigateTarget", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Target Navigator", - "code": 1285, - "mfgCode": null, - "define": "TARGET_NAVIGATOR_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "TargetList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Media Playback", - "code": 1286, - "mfgCode": null, - "define": "MEDIA_PLAYBACK_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Play", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Pause", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Stop", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "StartOver", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Previous", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Next", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Rewind", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "FastForward", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "SkipForward", - "code": 8, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "SkipBackward", - "code": 9, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Media Playback", - "code": 1286, - "mfgCode": null, - "define": "MEDIA_PLAYBACK_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Media Input", - "code": 1287, - "mfgCode": null, - "define": "MEDIA_INPUT_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "SelectInput", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ShowInputStatus", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "HideInputStatus", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "RenameInput", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Media Input", - "code": 1287, - "mfgCode": null, - "define": "MEDIA_INPUT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "InputList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Low Power", - "code": 1288, - "mfgCode": null, - "define": "LOW_POWER_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Sleep", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Low Power", - "code": 1288, - "mfgCode": null, - "define": "LOW_POWER_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Keypad Input", - "code": 1289, - "mfgCode": null, - "define": "KEYPAD_INPUT_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "SendKey", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Keypad Input", - "code": 1289, - "mfgCode": null, - "define": "KEYPAD_INPUT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Content Launcher", - "code": 1290, - "mfgCode": null, - "define": "CONTENT_LAUNCHER_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "LaunchContent", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, - { - "name": "LaunchURL", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", @@ -15689,118 +4211,80 @@ ] }, { - "name": "Content Launcher", - "code": 1290, + "name": "Power Source", + "code": 47, "mfgCode": null, - "define": "CONTENT_LAUNCHER_CLUSTER", + "define": "POWER_SOURCE_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, "attributes": [ { - "name": "AcceptHeader", + "name": "Status", "code": 0, "mfgCode": null, "side": "server", - "type": "array", + "type": "PowerSourceStatusEnum", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "SupportedStreamingProtocols", + "name": "Order", "code": 1, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int8u", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "Description", + "code": 2, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "char_string", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Audio Output", - "code": 1291, - "mfgCode": null, - "define": "AUDIO_OUTPUT_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "SelectOutput", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 }, { - "name": "RenameOutput", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, + "name": "WiredCurrentType", + "code": 5, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "WiredCurrentTypeEnum", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Audio Output", - "code": 1291, - "mfgCode": null, - "define": "AUDIO_OUTPUT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "OutputList", - "code": 0, + "name": "EndpointList", + "code": 31, "mfgCode": null, "side": "server", "type": "array", @@ -15810,75 +4294,45 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "GeneratedCommandList", + "code": 65528, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Application Launcher", - "code": 1292, - "mfgCode": null, - "define": "APPLICATION_LAUNCHER_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "LaunchApp", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "AcceptedCommandList", + "code": 65529, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Application Launcher", - "code": 1292, - "mfgCode": null, - "define": "APPLICATION_LAUNCHER_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "CatalogList", - "code": 0, + "name": "AttributeList", + "code": 65531, "mfgCode": null, "side": "server", "type": "array", @@ -15888,41 +4342,31 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Application Basic", - "code": 1293, - "mfgCode": null, - "define": "APPLICATION_BASIC_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ + }, { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", @@ -15930,28 +4374,28 @@ "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 } ] }, { - "name": "Application Basic", - "code": 1293, + "name": "Fixed Label", + "code": 64, "mfgCode": null, - "define": "APPLICATION_BASIC_CLUSTER", + "define": "FIXED_LABEL_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, "attributes": [ { - "name": "VendorName", + "name": "LabelList", "code": 0, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -15961,40 +4405,40 @@ "reportableChange": 0 }, { - "name": "VendorID", - "code": 1, + "name": "EventList", + "code": 65530, "mfgCode": null, "side": "server", - "type": "vendor_id", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ApplicationName", - "code": 2, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ProductID", - "code": 3, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", "type": "int16u", @@ -16002,155 +4446,123 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 + } + ] + }, + { + "name": "User Label", + "code": 65, + "mfgCode": null, + "define": "USER_LABEL_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "LabelList", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "Status", - "code": 5, + "name": "GeneratedCommandList", + "code": 65528, "mfgCode": null, "side": "server", - "type": "ApplicationStatusEnum", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ApplicationVersion", - "code": 6, + "name": "AcceptedCommandList", + "code": 65529, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "EventList", + "code": 65530, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Account Login", - "code": 1294, - "mfgCode": null, - "define": "ACCOUNT_LOGIN_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "GetSetupPIN", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "AttributeList", + "code": 65531, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Account Login", - "code": 1294, - "mfgCode": null, - "define": "ACCOUNT_LOGIN_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Unit Testing", - "code": 4294048773, - "mfgCode": null, - "define": "UNIT_TESTING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Test", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 }, - { - "name": "TestNotHandled", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", @@ -16158,193 +4570,177 @@ "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 } ] }, { - "name": "Unit Testing", - "code": 4294048773, + "name": "Thermostat", + "code": 513, "mfgCode": null, - "define": "UNIT_TESTING_CLUSTER", + "define": "THERMOSTAT_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, "commands": [ { - "name": "TestSpecificResponse", + "name": "SetpointRaiseLower", "code": 0, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 } ], "attributes": [ { - "name": "boolean", + "name": "LocalTemperature", "code": 0, "mfgCode": null, "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "false", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "bitmap8", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "Bitmap8MaskMap", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "bitmap16", - "code": 2, + "name": "AbsMinHeatSetpointLimit", + "code": 3, "mfgCode": null, "side": "server", - "type": "Bitmap16MaskMap", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "700", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "bitmap32", - "code": 3, + "name": "AbsMaxHeatSetpointLimit", + "code": 4, "mfgCode": null, "side": "server", - "type": "Bitmap32MaskMap", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "3000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "bitmap64", - "code": 4, + "name": "AbsMinCoolSetpointLimit", + "code": 5, "mfgCode": null, "side": "server", - "type": "Bitmap64MaskMap", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "1600", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int8u", - "code": 5, + "name": "AbsMaxCoolSetpointLimit", + "code": 6, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "3200", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int16u", - "code": 6, + "name": "HVACSystemTypeConfiguration", + "code": 9, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap8", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "int32u", - "code": 8, + "name": "OccupiedCoolingSetpoint", + "code": 17, "mfgCode": null, "side": "server", - "type": "int32u", + "type": "int16s", "included": 1, - "storageOption": "RAM", + "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0A28", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int64u", - "code": 12, + "name": "OccupiedHeatingSetpoint", + "code": 18, "mfgCode": null, "side": "server", - "type": "int64u", + "type": "int16s", "included": 1, - "storageOption": "RAM", + "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x07D0", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int8s", - "code": 13, + "name": "MinHeatSetpointLimit", + "code": 21, "mfgCode": null, "side": "server", - "type": "int8s", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "700", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int16s", - "code": 14, + "name": "MaxHeatSetpointLimit", + "code": 22, "mfgCode": null, "side": "server", "type": "int16s", @@ -16352,95 +4748,95 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "3000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int32s", - "code": 16, + "name": "MinCoolSetpointLimit", + "code": 23, "mfgCode": null, "side": "server", - "type": "int32s", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "1600", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int64s", - "code": 20, + "name": "MaxCoolSetpointLimit", + "code": 24, "mfgCode": null, "side": "server", - "type": "int64s", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "3200", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "enum8", - "code": 21, + "name": "MinSetpointDeadBand", + "code": 25, "mfgCode": null, "side": "server", - "type": "enum8", + "type": "int8s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x19", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "enum16", - "code": 22, + "name": "ControlSequenceOfOperation", + "code": 27, "mfgCode": null, "side": "server", - "type": "enum16", + "type": "ThermostatControlSequence", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x04", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "octet_string", - "code": 25, + "name": "SystemMode", + "code": 28, "mfgCode": null, "side": "server", - "type": "octet_string", + "type": "enum8", "included": 1, - "storageOption": "RAM", + "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x01", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "list_int8u", - "code": 26, + "name": "GeneratedCommandList", + "code": 65528, "mfgCode": null, "side": "server", "type": "array", @@ -16450,13 +4846,13 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "list_octet_string", - "code": 27, + "name": "AcceptedCommandList", + "code": 65529, "mfgCode": null, "side": "server", "type": "array", @@ -16466,13 +4862,13 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "list_struct_octet_string", - "code": 28, + "name": "AttributeList", + "code": 65531, "mfgCode": null, "side": "server", "type": "array", @@ -16482,21 +4878,21 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "long_octet_string", - "code": 29, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "long_octet_string", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x3", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -16512,7 +4908,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "5", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -16538,6 +4934,5 @@ "endpointId": 1, "networkId": 0 } - ], - "log": [] + ] } \ No newline at end of file diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.zap b/examples/thermostat/nxp/zap/thermostat_matter_wifi.zap index d81b09af1f6534..2bbedb4a04e8c9 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.zap +++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.zap @@ -1,5 +1,6 @@ { - "featureLevel": 98, + "fileFormat": 2, + "featureLevel": 99, "creator": "zap", "keyValuePairs": [ { @@ -64,44 +65,18 @@ "code": 3, "mfgCode": null, "define": "IDENTIFY_CLUSTER", - "side": "client", - "enabled": 0, + "side": "server", + "enabled": 1, "commands": [ { "name": "Identify", "code": 0, "mfgCode": null, "source": "client", - "incoming": 1, - "outgoing": 1 + "isIncoming": 1, + "isEnabled": 1 } ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Identify", - "code": 3, - "mfgCode": null, - "define": "IDENTIFY_CLUSTER", - "side": "server", - "enabled": 1, "attributes": [ { "name": "IdentifyTime", @@ -170,74 +145,104 @@ ] }, { - "name": "Groups", - "code": 4, + "name": "Descriptor", + "code": 29, "mfgCode": null, - "define": "GROUPS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ + "define": "DESCRIPTOR_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ { - "name": "AddGroup", + "name": "DeviceTypeList", "code": 0, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "ViewGroup", + "name": "ServerList", "code": 1, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "GetGroupMembership", + "name": "ClientList", "code": 2, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "RemoveGroup", + "name": "PartsList", "code": 3, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "RemoveAllGroups", - "code": 4, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, - { - "name": "AddGroupIfIdentifying", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "4", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -246,296 +251,240 @@ ] }, { - "name": "Groups", - "code": 4, + "name": "Access Control", + "code": 31, "mfgCode": null, - "define": "GROUPS_CLUSTER", + "define": "ACCESS_CONTROL_CLUSTER", "side": "server", - "enabled": 0, - "commands": [ + "enabled": 1, + "attributes": [ { - "name": "AddGroupResponse", + "name": "ACL", "code": 0, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "ViewGroupResponse", + "name": "Extension", "code": 1, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "GetGroupMembershipResponse", + "name": "SubjectsPerAccessControlEntry", "code": 2, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "RemoveGroupResponse", + "name": "TargetsPerAccessControlEntry", "code": 3, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "NameSupport", - "code": 0, - "mfgCode": null, "side": "server", - "type": "NameSupportBitmap", + "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "3", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "AccessControlEntriesPerFabric", + "code": 4, "mfgCode": null, "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "4", + "defaultValue": "3", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Scenes", - "code": 5, - "mfgCode": null, - "define": "SCENES_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "AddScene", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 }, { - "name": "ViewScene", - "code": 1, + "name": "AttributeList", + "code": 65531, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "RemoveScene", - "code": 2, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, - { - "name": "RemoveAllScenes", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StoreScene", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RecallScene", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetSceneMembership", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "4", + "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 } - ] - }, - { - "name": "Scenes", - "code": 5, - "mfgCode": null, - "define": "SCENES_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ + ], + "events": [ { - "name": "AddSceneResponse", + "name": "AccessControlEntryChanged", "code": 0, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "side": "server", + "included": 1 }, { - "name": "ViewSceneResponse", + "name": "AccessControlExtensionChanged", "code": 1, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveSceneResponse", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveAllScenesResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StoreSceneResponse", - "code": 4, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetSceneMembershipResponse", - "code": 6, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "side": "server", + "included": 1 } - ], + ] + }, + { + "name": "Basic Information", + "code": 40, + "mfgCode": null, + "define": "BASIC_INFORMATION_CLUSTER", + "side": "server", + "enabled": 1, "attributes": [ { - "name": "SceneCount", + "name": "DataModelRevision", "code": 0, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "int16u", "included": 1, "storageOption": "External", - "singleton": 0, + "singleton": 1, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "10", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "CurrentScene", + "name": "VendorName", "code": 1, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "CurrentGroup", + "name": "VendorID", "code": 2, "mfgCode": null, "side": "server", - "type": "group_id", + "type": "vendor_id", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "0x0000", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "SceneValid", + "name": "ProductName", "code": 3, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "NameSupport", + "name": "ProductID", "code": 4, "mfgCode": null, "side": "server", - "type": "bitmap8", + "type": "int16u", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, "defaultValue": "", "reportable": 1, @@ -544,326 +493,222 @@ "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "NodeLabel", + "code": 5, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "NVM", + "singleton": 1, "bounded": 0, - "defaultValue": "4", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "On/Off", - "code": 6, - "mfgCode": null, - "define": "ON_OFF_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Off", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 }, { - "name": "On", - "code": 1, + "name": "Location", + "code": 6, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "XX", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "Toggle", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, + "name": "HardwareVersion", + "code": 7, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "4", + "defaultValue": "0", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "On/Off", - "code": 6, - "mfgCode": null, - "define": "ON_OFF_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "OnOff", - "code": 0, + "name": "HardwareVersionString", + "code": 8, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "SoftwareVersion", + "code": 9, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int32u", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "4", + "defaultValue": "0", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Level Control", - "code": 8, - "mfgCode": null, - "define": "LEVEL_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "MoveToLevel", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 }, { - "name": "Move", - "code": 1, + "name": "SoftwareVersionString", + "code": 10, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "Step", - "code": 2, + "name": "ManufacturingDate", + "code": 11, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "Stop", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToLevelWithOnOff", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveWithOnOff", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepWithOnOff", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "20210614123456ZZ", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "StopWithOnOff", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, + "name": "PartNumber", + "code": 12, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "5", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Level Control", - "code": 8, - "mfgCode": null, - "define": "LEVEL_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "CurrentLevel", - "code": 0, + "name": "ProductURL", + "code": 13, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "long_char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "ProductLabel", + "code": 14, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "5", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Descriptor", - "code": 29, - "mfgCode": null, - "define": "DESCRIPTOR_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "SerialNumber", + "code": 15, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "char_string", "included": 1, - "storageOption": "RAM", - "singleton": 0, + "storageOption": "External", + "singleton": 1, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Descriptor", - "code": 29, - "mfgCode": null, - "define": "DESCRIPTOR_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ + }, { - "name": "DeviceTypeList", - "code": 0, + "name": "LocalConfigDisabled", + "code": 16, "mfgCode": null, "side": "server", - "type": "array", + "type": "boolean", "included": 1, - "storageOption": "External", - "singleton": 0, + "storageOption": "NVM", + "singleton": 1, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ServerList", - "code": 1, + "name": "Reachable", + "code": 17, "mfgCode": null, "side": "server", - "type": "array", + "type": "boolean", "included": 1, - "storageOption": "External", - "singleton": 0, + "storageOption": "RAM", + "singleton": 1, "bounded": 0, - "defaultValue": "", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClientList", - "code": 2, + "name": "UniqueID", + "code": 18, "mfgCode": null, "side": "server", - "type": "array", + "type": "char_string", "included": 1, "storageOption": "External", - "singleton": 0, + "singleton": 1, "bounded": 0, "defaultValue": "", "reportable": 1, @@ -872,19 +717,19 @@ "reportableChange": 0 }, { - "name": "PartsList", - "code": 3, + "name": "CapabilityMinima", + "code": 19, "mfgCode": null, "side": "server", - "type": "array", + "type": "CapabilityMinimaStruct", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { @@ -910,8 +755,8 @@ "side": "server", "type": "int16u", "included": 1, - "storageOption": "External", - "singleton": 0, + "storageOption": "RAM", + "singleton": 1, "bounded": 0, "defaultValue": "1", "reportable": 1, @@ -919,15 +764,80 @@ "maxInterval": 65344, "reportableChange": 0 } + ], + "events": [ + { + "name": "StartUp", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "ShutDown", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "Leave", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1 + } ] }, { - "name": "Binding", - "code": 30, + "name": "OTA Software Update Provider", + "code": 41, "mfgCode": null, - "define": "BINDING_CLUSTER", + "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", "side": "client", - "enabled": 0, + "enabled": 1, + "commands": [ + { + "name": "QueryImage", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "QueryImageResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "ApplyUpdateRequest", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "ApplyUpdateResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "NotifyUpdateApplied", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + } + ], "attributes": [ { "name": "ClusterRevision", @@ -948,15 +858,25 @@ ] }, { - "name": "Binding", - "code": 30, + "name": "OTA Software Update Requestor", + "code": 42, "mfgCode": null, - "define": "BINDING_CLUSTER", + "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, + "commands": [ + { + "name": "AnnounceOTAProvider", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], "attributes": [ { - "name": "Binding", + "name": "DefaultOTAProviders", "code": 0, "mfgCode": null, "side": "server", @@ -965,31 +885,79 @@ "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "UpdatePossible", + "code": 1, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "boolean", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "1", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "UpdateState", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "UpdateStateEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "UpdateStateProgress", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", "type": "int16u", @@ -999,46 +967,38 @@ "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 } ] }, { - "name": "Access Control", - "code": 31, - "mfgCode": null, - "define": "ACCESS_CONTROL_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "Access Control", - "code": 31, + "name": "Localization Configuration", + "code": 43, "mfgCode": null, - "define": "ACCESS_CONTROL_CLUSTER", + "define": "LOCALIZATION_CONFIGURATION_CLUSTER", "side": "server", "enabled": 1, "attributes": [ { - "name": "ACL", + "name": "ActiveLocale", "code": 0, "mfgCode": null, "side": "server", - "type": "array", + "type": "char_string", "included": 1, - "storageOption": "External", + "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "en-US", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "Extension", + "name": "SupportedLocales", "code": 1, "mfgCode": null, "side": "server", @@ -1054,56 +1014,82 @@ "reportableChange": 0 }, { - "name": "SubjectsPerAccessControlEntry", - "code": 2, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap32", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "4", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "TargetsPerAccessControlEntry", - "code": 3, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", "type": "int16u", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "3", + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Time Format Localization", + "code": 44, + "mfgCode": null, + "define": "TIME_FORMAT_LOCALIZATION_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "HourFormat", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "HourFormatEnum", + "included": 1, + "storageOption": "NVM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "AccessControlEntriesPerFabric", - "code": 4, + "name": "ActiveCalendarType", + "code": 1, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "CalendarTypeEnum", "included": 1, - "storageOption": "External", + "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "3", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "AttributeList", - "code": 65531, + "name": "SupportedCalendarTypes", + "code": 2, "mfgCode": null, "side": "server", "type": "array", @@ -1149,83 +1135,149 @@ "maxInterval": 65534, "reportableChange": 0 } - ], - "events": [ + ] + }, + { + "name": "Unit Localization", + "code": 45, + "mfgCode": null, + "define": "UNIT_LOCALIZATION_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ { - "name": "AccessControlEntryChanged", + "name": "TemperatureUnit", "code": 0, "mfgCode": null, "side": "server", - "included": 1 + "type": "TempUnitEnum", + "included": 1, + "storageOption": "NVM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "AccessControlExtensionChanged", - "code": 1, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "included": 1 - } - ] - }, - { - "name": "Basic Information", - "code": 40, - "mfgCode": null, - "define": "BASIC_INFORMATION_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", - "singleton": 1, + "singleton": 0, "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 } ] }, { - "name": "Basic Information", - "code": 40, + "name": "General Commissioning", + "code": 48, "mfgCode": null, - "define": "BASIC_INFORMATION_CLUSTER", + "define": "GENERAL_COMMISSIONING_CLUSTER", "side": "server", "enabled": 1, + "commands": [ + { + "name": "ArmFailSafe", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "ArmFailSafeResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "SetRegulatoryConfig", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "SetRegulatoryConfigResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "CommissioningComplete", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "CommissioningCompleteResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + } + ], "attributes": [ { - "name": "DataModelRevision", + "name": "Breadcrumb", "code": 0, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int64u", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, - "defaultValue": "10", + "defaultValue": "0x0000000000000000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "VendorName", + "name": "BasicCommissioningInfo", "code": 1, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "BasicCommissioningInfo", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, @@ -1234,270 +1286,358 @@ "reportableChange": 0 }, { - "name": "VendorID", + "name": "RegulatoryConfig", "code": 2, "mfgCode": null, "side": "server", - "type": "vendor_id", + "type": "RegulatoryLocationTypeEnum", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ProductName", + "name": "LocationCapability", "code": 3, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "RegulatoryLocationTypeEnum", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ProductID", + "name": "SupportsConcurrentConnection", "code": 4, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "boolean", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "NodeLabel", - "code": 5, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "bitmap32", "included": 1, - "storageOption": "NVM", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "Location", - "code": 6, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int16u", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, - "defaultValue": "XX", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 + } + ] + }, + { + "name": "Network Commissioning", + "code": 49, + "mfgCode": null, + "define": "NETWORK_COMMISSIONING_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "ScanNetworks", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "HardwareVersion", + "name": "ScanNetworksResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "AddOrUpdateWiFiNetwork", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "AddOrUpdateThreadNetwork", + "code": 3, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "RemoveNetwork", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "NetworkConfigResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "ConnectNetwork", + "code": 6, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "ConnectNetworkResponse", "code": 7, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "HardwareVersionString", + "name": "ReorderNetwork", "code": 8, "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], + "attributes": [ + { + "name": "MaxNetworks", + "code": 0, + "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int8u", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "SoftwareVersion", - "code": 9, + "name": "Networks", + "code": 1, "mfgCode": null, "side": "server", - "type": "int32u", + "type": "array", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "SoftwareVersionString", - "code": 10, + "name": "ScanMaxTimeSeconds", + "code": 2, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int8u", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ManufacturingDate", - "code": 11, + "name": "ConnectMaxTimeSeconds", + "code": 3, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int8u", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, - "defaultValue": "20210614123456ZZ", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "PartNumber", - "code": 12, + "name": "InterfaceEnabled", + "code": 4, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "boolean", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ProductURL", - "code": 13, + "name": "LastNetworkingStatus", + "code": 5, "mfgCode": null, "side": "server", - "type": "long_char_string", + "type": "NetworkCommissioningStatusEnum", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ProductLabel", - "code": 14, + "name": "LastNetworkID", + "code": 6, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "octet_string", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "SerialNumber", - "code": 15, + "name": "LastConnectErrorValue", + "code": 7, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int32s", "included": 1, - "storageOption": "External", - "singleton": 1, + "storageOption": "RAM", + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "LocalConfigDisabled", - "code": 16, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "bitmap32", "included": 1, - "storageOption": "NVM", - "singleton": 1, - "bounded": 0, - "defaultValue": "0", + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "Reachable", - "code": 17, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "int16u", "included": 1, "storageOption": "RAM", - "singleton": 1, + "singleton": 0, "bounded": 0, "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - }, + } + ] + }, + { + "name": "General Diagnostics", + "code": 51, + "mfgCode": null, + "define": "GENERAL_DIAGNOSTICS_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ { - "name": "UniqueID", - "code": 18, + "name": "TestEventTrigger", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], + "attributes": [ + { + "name": "NetworkInterfaces", + "code": 0, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "array", "included": 1, "storageOption": "External", - "singleton": 1, + "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, @@ -1506,156 +1646,133 @@ "reportableChange": 0 }, { - "name": "CapabilityMinima", - "code": 19, + "name": "RebootCount", + "code": 1, "mfgCode": null, "side": "server", - "type": "CapabilityMinimaStruct", + "type": "int16u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "UpTime", + "code": 2, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int64u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0000000000000000", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "TotalOperationalHours", + "code": 3, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int32u", "included": 1, - "storageOption": "RAM", - "singleton": 1, + "storageOption": "External", + "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x00000000", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ], - "events": [ + }, { - "name": "StartUp", - "code": 0, + "name": "BootReason", + "code": 4, "mfgCode": null, "side": "server", - "included": 1 + "type": "BootReasonEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "ShutDown", - "code": 1, + "name": "ActiveHardwareFaults", + "code": 5, "mfgCode": null, "side": "server", - "included": 1 + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "Leave", - "code": 2, + "name": "ActiveRadioFaults", + "code": 6, "mfgCode": null, "side": "server", - "included": 1 - } - ] - }, - { - "name": "OTA Software Update Provider", - "code": 41, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", - "side": "client", - "enabled": 1, - "commands": [ - { - "name": "QueryImage", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "ApplyUpdateRequest", - "code": 2, + "name": "ActiveNetworkFaults", + "code": 7, "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "NotifyUpdateApplied", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, + "name": "TestEventTriggersEnabled", + "code": 8, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "boolean", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "false", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Provider", - "code": 41, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "QueryImageResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 }, - { - "name": "ApplyUpdateResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ { "name": "FeatureMap", "code": 65532, @@ -1688,257 +1805,228 @@ "maxInterval": 65344, "reportableChange": 0 } + ], + "events": [ + { + "name": "BootReason", + "code": 3, + "mfgCode": null, + "side": "server", + "included": 1 + } ] }, { - "name": "OTA Software Update Requestor", - "code": 42, + "name": "WiFi Network Diagnostics", + "code": 54, "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "AnnounceOTAProvider", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ], + "define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER", + "side": "server", + "enabled": 1, "attributes": [ { - "name": "FeatureMap", - "code": 65532, + "name": "BSSID", + "code": 0, "mfgCode": null, - "side": "client", - "type": "bitmap32", + "side": "server", + "type": "octet_string", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", + "name": "SecurityType", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "SecurityTypeEnum", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Requestor", - "code": 42, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ + }, { - "name": "DefaultOTAProviders", - "code": 0, + "name": "WiFiVersion", + "code": 2, "mfgCode": null, "side": "server", - "type": "array", + "type": "WiFiVersionEnum", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "UpdatePossible", - "code": 1, + "name": "ChannelNumber", + "code": 3, "mfgCode": null, "side": "server", - "type": "boolean", + "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x0000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "UpdateState", - "code": 2, + "name": "RSSI", + "code": 4, "mfgCode": null, "side": "server", - "type": "OTAUpdateStateEnum", + "type": "int8s", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x00", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "UpdateStateProgress", - "code": 3, + "name": "BeaconLostCount", + "code": 5, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x00000000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "GeneratedCommandList", - "code": 65528, + "name": "BeaconRxCount", + "code": 6, "mfgCode": null, "side": "server", - "type": "array", - "included": 0, + "type": "int32u", + "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x00000000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "AcceptedCommandList", - "code": 65529, + "name": "PacketMulticastRxCount", + "code": 7, "mfgCode": null, "side": "server", - "type": "array", - "included": 0, + "type": "int32u", + "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x00000000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "AttributeList", - "code": 65531, + "name": "PacketMulticastTxCount", + "code": 8, "mfgCode": null, "side": "server", - "type": "array", - "included": 0, + "type": "int32u", + "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x00000000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "FeatureMap", - "code": 65532, + "name": "PacketUnicastRxCount", + "code": 9, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x00000000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "PacketUnicastTxCount", + "code": 10, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int32u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x00000000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Localization Configuration", - "code": 43, - "mfgCode": null, - "define": "LOCALIZATION_CONFIGURATION_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "Localization Configuration", - "code": 43, - "mfgCode": null, - "define": "LOCALIZATION_CONFIGURATION_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ + }, { - "name": "ActiveLocale", - "code": 0, + "name": "CurrentMaxRate", + "code": 11, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "int64u", "included": 1, - "storageOption": "NVM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "en-US", + "defaultValue": "0x0000000000000000", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 }, { - "name": "SupportedLocales", - "code": 1, + "name": "OverrunCount", + "code": 12, "mfgCode": null, "side": "server", - "type": "array", + "type": "int64u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000000000000000", "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -1972,36 +2060,54 @@ "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 } ] }, { - "name": "Time Format Localization", - "code": 44, - "mfgCode": null, - "define": "TIME_FORMAT_LOCALIZATION_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "Time Format Localization", - "code": 44, + "name": "Administrator Commissioning", + "code": 60, "mfgCode": null, - "define": "TIME_FORMAT_LOCALIZATION_CLUSTER", + "define": "ADMINISTRATOR_COMMISSIONING_CLUSTER", "side": "server", "enabled": 1, + "commands": [ + { + "name": "OpenCommissioningWindow", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "OpenBasicCommissioningWindow", + "code": 1, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "RevokeCommissioning", + "code": 2, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], "attributes": [ { - "name": "HourFormat", + "name": "WindowStatus", "code": 0, "mfgCode": null, "side": "server", - "type": "HourFormatEnum", + "type": "CommissioningWindowStatusEnum", "included": 1, - "storageOption": "NVM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "0", @@ -2011,32 +2117,32 @@ "reportableChange": 0 }, { - "name": "ActiveCalendarType", + "name": "AdminFabricIndex", "code": 1, "mfgCode": null, "side": "server", - "type": "CalendarTypeEnum", + "type": "fabric_idx", "included": 1, - "storageOption": "NVM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "1", "reportable": 1, "minInterval": 1, "maxInterval": 65534, "reportableChange": 0 }, { - "name": "SupportedCalendarTypes", + "name": "AdminVendorId", "code": 2, "mfgCode": null, "side": "server", - "type": "array", + "type": "int16u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -2070,12434 +2176,190 @@ "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, + "minInterval": 0, + "maxInterval": 65344, "reportableChange": 0 } ] }, { - "name": "Unit Localization", - "code": 45, + "name": "Operational Credentials", + "code": 62, "mfgCode": null, - "define": "UNIT_LOCALIZATION_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "Unit Localization", - "code": 45, - "mfgCode": null, - "define": "UNIT_LOCALIZATION_CLUSTER", + "define": "OPERATIONAL_CREDENTIALS_CLUSTER", "side": "server", "enabled": 1, - "attributes": [ - { - "name": "TemperatureUnit", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "TempUnitEnum", - "included": 1, - "storageOption": "NVM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Power Source", - "code": 47, - "mfgCode": null, - "define": "POWER_SOURCE_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "client", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Power Source", - "code": 47, - "mfgCode": null, - "define": "POWER_SOURCE_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + "commands": [ { - "name": "Status", + "name": "AttestationRequest", "code": 0, "mfgCode": null, - "side": "server", - "type": "PowerSourceStatusEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "Order", + "name": "AttestationResponse", "code": 1, "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "Description", + "name": "CertificateChainRequest", "code": 2, "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "WiredAssessedInputVoltage", + "name": "CertificateChainResponse", "code": 3, "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "WiredAssessedInputFrequency", + "name": "CSRRequest", "code": 4, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "WiredCurrentType", + "name": "CSRResponse", "code": 5, "mfgCode": null, - "side": "server", - "type": "WiredCurrentTypeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "WiredAssessedCurrent", + "name": "AddNOC", "code": 6, "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredNominalVoltage", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredMaximumCurrent", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredPresent", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveWiredFaults", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 0, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatVoltage", - "code": 11, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatPercentRemaining", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatTimeRemaining", - "code": 13, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatChargeLevel", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "BatChargeLevelEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatReplacementNeeded", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatReplaceability", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "BatReplaceabilityEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatPresent", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveBatFaults", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 0, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatReplacementDescription", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatCommonDesignation", - "code": 20, - "mfgCode": null, - "side": "server", - "type": "BatCommonDesignationEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatANSIDesignation", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatIECDesignation", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatApprovedChemistry", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "BatApprovedChemistryEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatCapacity", - "code": 24, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatQuantity", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatChargeState", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "BatChargeStateEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatTimeToFullCharge", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatFunctionalWhileCharging", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatChargingCurrent", - "code": 29, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveBatChargeFaults", - "code": 30, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 0, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "General Commissioning", - "code": 48, - "mfgCode": null, - "define": "GENERAL_COMMISSIONING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ArmFailSafe", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetRegulatoryConfig", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "CommissioningComplete", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "General Commissioning", - "code": 48, - "mfgCode": null, - "define": "GENERAL_COMMISSIONING_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "ArmFailSafeResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetRegulatoryConfigResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "CommissioningCompleteResponse", - "code": 5, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "Breadcrumb", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "BasicCommissioningInfo", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "BasicCommissioningInfo", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RegulatoryConfig", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "RegulatoryLocationTypeEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "LocationCapability", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "RegulatoryLocationTypeEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "SupportsConcurrentConnection", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Network Commissioning", - "code": 49, - "mfgCode": null, - "define": "NETWORK_COMMISSIONING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ScanNetworks", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "AddOrUpdateWiFiNetwork", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "AddOrUpdateThreadNetwork", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "RemoveNetwork", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "ConnectNetwork", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "ReorderNetwork", - "code": 8, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Network Commissioning", - "code": 49, - "mfgCode": null, - "define": "NETWORK_COMMISSIONING_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "ScanNetworksResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "NetworkConfigResponse", - "code": 5, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ConnectNetworkResponse", - "code": 7, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "MaxNetworks", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Networks", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ScanMaxTimeSeconds", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ConnectMaxTimeSeconds", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "InterfaceEnabled", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "LastNetworkingStatus", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "NetworkCommissioningStatusEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "LastNetworkID", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "octet_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "LastConnectErrorValue", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int32s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Diagnostic Logs", - "code": 50, - "mfgCode": null, - "define": "DIAGNOSTIC_LOGS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "RetrieveLogsRequest", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "client", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Diagnostic Logs", - "code": 50, - "mfgCode": null, - "define": "DIAGNOSTIC_LOGS_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "RetrieveLogsRequest", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "RetrieveLogsResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "General Diagnostics", - "code": 51, - "mfgCode": null, - "define": "GENERAL_DIAGNOSTICS_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "General Diagnostics", - "code": 51, - "mfgCode": null, - "define": "GENERAL_DIAGNOSTICS_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "TestEventTrigger", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "NetworkInterfaces", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RebootCount", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "UpTime", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "TotalOperationalHours", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BootReason", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "BootReasonEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveHardwareFaults", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveRadioFaults", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveNetworkFaults", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "TestEventTriggersEnabled", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "false", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ], - "events": [ - { - "name": "BootReason", - "code": 3, - "mfgCode": null, - "side": "server", - "included": 1 - } - ] - }, - { - "name": "Software Diagnostics", - "code": 52, - "mfgCode": null, - "define": "SOFTWARE_DIAGNOSTICS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ResetWatermarks", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Software Diagnostics", - "code": 52, - "mfgCode": null, - "define": "SOFTWARE_DIAGNOSTICS_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "ThreadMetrics", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "CurrentHeapFree", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "CurrentHeapUsed", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "CurrentHeapHighWatermark", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Thread Network Diagnostics", - "code": 53, - "mfgCode": null, - "define": "THREAD_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ResetCounts", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ] - }, - { - "name": "Thread Network Diagnostics", - "code": 53, - "mfgCode": null, - "define": "THREAD_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "Channel", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RoutingRole", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "RoutingRoleEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NetworkName", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PanId", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ExtendedPanId", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MeshLocalPrefix", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "octet_string", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OverrunCount", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NeighborTable", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RouteTable", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartitionId", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Weighting", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DataVersion", - "code": 11, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "StableDataVersion", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LeaderRouterId", - "code": 13, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DetachedRoleCount", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ChildRoleCount", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RouterRoleCount", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LeaderRoleCount", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AttachAttemptCount", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartitionIdChangeCount", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "BetterPartitionAttachAttemptCount", - "code": 20, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ParentChangeCount", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxTotalCount", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxUnicastCount", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxBroadcastCount", - "code": 24, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxAckRequestedCount", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxAckedCount", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxNoAckRequestedCount", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxDataCount", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxDataPollCount", - "code": 29, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxBeaconCount", - "code": 30, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxBeaconRequestCount", - "code": 31, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxOtherCount", - "code": 32, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxRetryCount", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxDirectMaxRetryExpiryCount", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxIndirectMaxRetryExpiryCount", - "code": 35, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxErrCcaCount", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxErrAbortCount", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxErrBusyChannelCount", - "code": 38, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxTotalCount", - "code": 39, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxUnicastCount", - "code": 40, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxBroadcastCount", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxDataCount", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxDataPollCount", - "code": 43, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxBeaconCount", - "code": 44, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxBeaconRequestCount", - "code": 45, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxOtherCount", - "code": 46, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxAddressFilteredCount", - "code": 47, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxDestAddrFilteredCount", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxDuplicatedCount", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrNoFrameCount", - "code": 50, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrUnknownNeighborCount", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrInvalidSrcAddrCount", - "code": 52, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrSecCount", - "code": 53, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrFcsCount", - "code": 54, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RxErrOtherCount", - "code": 55, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ActiveTimestamp", - "code": 56, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "PendingTimestamp", - "code": 57, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Delay", - "code": 58, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "SecurityPolicy", - "code": 59, - "mfgCode": null, - "side": "server", - "type": "SecurityPolicy", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ChannelPage0Mask", - "code": 60, - "mfgCode": null, - "side": "server", - "type": "octet_string", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OperationalDatasetComponents", - "code": 61, - "mfgCode": null, - "side": "server", - "type": "OperationalDatasetComponents", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ActiveNetworkFaultsList", - "code": 62, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x000F", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "WiFi Network Diagnostics", - "code": 54, - "mfgCode": null, - "define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "WiFi Network Diagnostics", - "code": 54, - "mfgCode": null, - "define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "BSSID", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "octet_string", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SecurityType", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "SecurityTypeEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WiFiVersion", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "WiFiVersionEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ChannelNumber", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RSSI", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int8s", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "BeaconLostCount", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "BeaconRxCount", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PacketMulticastRxCount", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PacketMulticastTxCount", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PacketUnicastRxCount", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PacketUnicastTxCount", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentMaxRate", - "code": 11, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OverrunCount", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Ethernet Network Diagnostics", - "code": 55, - "mfgCode": null, - "define": "ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ResetCounts", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Ethernet Network Diagnostics", - "code": 55, - "mfgCode": null, - "define": "ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "PHYRate", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "PHYRateEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FullDuplex", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "PacketRxCount", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PacketTxCount", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TxErrCount", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CollisionCount", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OverrunCount", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CarrierDetect", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "TimeSinceReset", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000000000000000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Switch", - "code": 59, - "mfgCode": null, - "define": "SWITCH_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Switch", - "code": 59, - "mfgCode": null, - "define": "SWITCH_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "NumberOfPositions", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPosition", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MultiPressMax", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Administrator Commissioning", - "code": 60, - "mfgCode": null, - "define": "ADMINISTRATOR_COMMISSIONING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "OpenCommissioningWindow", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "OpenBasicCommissioningWindow", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RevokeCommissioning", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Administrator Commissioning", - "code": 60, - "mfgCode": null, - "define": "ADMINISTRATOR_COMMISSIONING_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "WindowStatus", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "CommissioningWindowStatusEnum", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AdminFabricIndex", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "fabric_idx", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AdminVendorId", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Operational Credentials", - "code": 62, - "mfgCode": null, - "define": "OPERATIONAL_CREDENTIALS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "AttestationRequest", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "CertificateChainRequest", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "CSRRequest", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "AddNOC", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "UpdateNOC", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "UpdateFabricLabel", - "code": 9, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveFabric", - "code": 10, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "AddTrustedRootCertificate", - "code": 11, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Operational Credentials", - "code": 62, - "mfgCode": null, - "define": "OPERATIONAL_CREDENTIALS_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "AttestationResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "CertificateChainResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "CSRResponse", - "code": 5, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "NOCResponse", - "code": 8, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "NOCs", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Fabrics", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SupportedFabrics", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CommissionedFabrics", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "TrustedRootCertificates", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentFabricIndex", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Group Key Management", - "code": 63, - "mfgCode": null, - "define": "GROUP_KEY_MANAGEMENT_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "KeySetWrite", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "KeySetRead", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "KeySetRemove", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "KeySetReadAllIndices", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Group Key Management", - "code": 63, - "mfgCode": null, - "define": "GROUP_KEY_MANAGEMENT_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "KeySetReadResponse", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "KeySetReadAllIndicesResponse", - "code": 5, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "GroupKeyMap", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "GroupTable", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxGroupsPerFabric", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MaxGroupKeysPerFabric", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Fixed Label", - "code": 64, - "mfgCode": null, - "define": "FIXED_LABEL_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "Fixed Label", - "code": 64, - "mfgCode": null, - "define": "FIXED_LABEL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "LabelList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "User Label", - "code": 65, - "mfgCode": null, - "define": "USER_LABEL_CLUSTER", - "side": "client", - "enabled": 0 - }, - { - "name": "User Label", - "code": 65, - "mfgCode": null, - "define": "USER_LABEL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "LabelList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Door Lock", - "code": 257, - "mfgCode": null, - "define": "DOOR_LOCK_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "LockDoor", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "UnlockDoor", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "UnlockWithTimeout", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetWeekDaySchedule", - "code": 11, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetWeekDaySchedule", - "code": 12, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearWeekDaySchedule", - "code": 13, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetYearDaySchedule", - "code": 14, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetYearDaySchedule", - "code": 15, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearYearDaySchedule", - "code": 16, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetHolidaySchedule", - "code": 17, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetHolidaySchedule", - "code": 18, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearHolidaySchedule", - "code": 19, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Door Lock", - "code": 257, - "mfgCode": null, - "define": "DOOR_LOCK_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "LockState", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "DlLockState", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LockType", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "DlLockType", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ActuatorEnabled", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DoorState", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "DoorStateEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Language", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LEDSettings", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AutoRelockTime", - "code": 35, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoundVolume", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OperatingMode", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "OperatingModeEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DefaultConfigurationRegister", - "code": 39, - "mfgCode": null, - "side": "server", - "type": "DlDefaultConfigurationRegister", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableLocalProgramming", - "code": 40, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableOneTouchLocking", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableInsideStatusLED", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnablePrivacyModeButton", - "code": 43, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WrongCodeEntryLimit", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "UserCodeTemporaryDisableTime", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SendPINOverTheAir", - "code": 50, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RequirePINforRemoteOperation", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Barrier Control", - "code": 259, - "mfgCode": null, - "define": "BARRIER_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "BarrierControlGoToPercent", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "BarrierControlStop", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Barrier Control", - "code": 259, - "mfgCode": null, - "define": "BARRIER_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "barrier moving state", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier safety status", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "bitmap16", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier capabilities", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier position", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Color Control", - "code": 768, - "mfgCode": null, - "define": "COLOR_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "MoveToHue", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveHue", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepHue", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToSaturation", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveSaturation", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepSaturation", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToHueAndSaturation", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToColor", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveColor", - "code": 8, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepColor", - "code": 9, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToColorTemperature", - "code": 10, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StopMoveStep", - "code": 71, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveColorTemperature", - "code": 75, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepColorTemperature", - "code": 76, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Color Control", - "code": 768, - "mfgCode": null, - "define": "COLOR_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "CurrentHue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentSaturation", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RemainingTime", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentX", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x616B", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentY", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x607D", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DriftCompensation", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CompensationText", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorTemperatureMireds", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00FA", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorMode", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Options", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NumberOfPrimaries", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1X", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1Y", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1Intensity", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2X", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2Y", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2Intensity", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3X", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3Y", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3Intensity", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4X", - "code": 32, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4Y", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4Intensity", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5X", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5Y", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5Intensity", - "code": 38, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6X", - "code": 40, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6Y", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6Intensity", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WhitePointX", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WhitePointY", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRX", - "code": 50, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRY", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRIntensity", - "code": 52, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGX", - "code": 54, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGY", - "code": 55, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGIntensity", - "code": 56, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBX", - "code": 58, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBY", - "code": 59, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBIntensity", - "code": 60, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnhancedCurrentHue", - "code": 16384, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnhancedColorMode", - "code": 16385, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorLoopActive", - "code": 16386, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorLoopDirection", - "code": 16387, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorLoopTime", - "code": 16388, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0019", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorCapabilities", - "code": 16394, - "mfgCode": null, - "side": "server", - "type": "bitmap16", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorTempPhysicalMinMireds", - "code": 16395, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorTempPhysicalMaxMireds", - "code": 16396, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFEFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CoupleColorTempToLevelMinMireds", - "code": 16397, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "StartUpColorTemperatureMireds", - "code": 16400, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Temperature Measurement", - "code": 1026, - "mfgCode": null, - "define": "TEMPERATURE_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Temperature Measurement", - "code": 1026, - "mfgCode": null, - "define": "TEMPERATURE_MEASUREMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MeasuredValue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinMeasuredValue", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxMeasuredValue", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Tolerance", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Relative Humidity Measurement", - "code": 1029, - "mfgCode": null, - "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Relative Humidity Measurement", - "code": 1029, - "mfgCode": null, - "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MeasuredValue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinMeasuredValue", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxMeasuredValue", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Tolerance", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Unit Testing", - "code": 4294048773, - "mfgCode": null, - "define": "UNIT_TESTING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Test", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "TestNotHandled", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "TestSpecific", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Unit Testing", - "code": 4294048773, - "mfgCode": null, - "define": "UNIT_TESTING_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "TestSpecificResponse", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "boolean", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "false", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "bitmap8", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "Bitmap8MaskMap", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "bitmap16", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "Bitmap16MaskMap", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "bitmap32", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "Bitmap32MaskMap", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "bitmap64", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "Bitmap64MaskMap", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int8u", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int16u", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int32u", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int64u", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int8s", - "code": 13, - "mfgCode": null, - "side": "server", - "type": "int8s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int16s", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int32s", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int32s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "int64s", - "code": 20, - "mfgCode": null, - "side": "server", - "type": "int64s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "enum8", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "enum16", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "enum16", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "octet_string", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "octet_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "list_int8u", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "list_octet_string", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "list_struct_octet_string", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - } - ] - }, - { - "id": 2, - "name": "MA-thermostat", - "deviceTypeRef": { - "code": 769, - "profileId": 259, - "label": "MA-thermostat", - "name": "MA-thermostat" - }, - "deviceTypes": [ - { - "code": 769, - "profileId": 259, - "label": "MA-thermostat", - "name": "MA-thermostat" - } - ], - "deviceVersions": [ - 1 - ], - "deviceIdentifiers": [ - 769 - ], - "deviceTypeName": "MA-thermostat", - "deviceTypeCode": 769, - "deviceTypeProfileId": 259, - "clusters": [ - { - "name": "Identify", - "code": 3, - "mfgCode": null, - "define": "IDENTIFY_CLUSTER", - "side": "client", - "enabled": 1, - "commands": [ - { - "name": "Identify", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Identify", - "code": 3, - "mfgCode": null, - "define": "IDENTIFY_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "IdentifyTime", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "IdentifyType", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "IdentifyTypeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Groups", - "code": 4, - "mfgCode": null, - "define": "GROUPS_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "AddGroup", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ViewGroup", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetGroupMembership", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveGroup", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveAllGroups", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "AddGroupIfIdentifying", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Groups", - "code": 4, - "mfgCode": null, - "define": "GROUPS_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "AddGroupResponse", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ViewGroupResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetGroupMembershipResponse", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveGroupResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "NameSupport", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "NameSupportBitmap", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Scenes", - "code": 5, - "mfgCode": null, - "define": "SCENES_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "AddScene", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ViewScene", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveScene", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveAllScenes", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StoreScene", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RecallScene", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetSceneMembership", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Scenes", - "code": 5, - "mfgCode": null, - "define": "SCENES_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "AddSceneResponse", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ViewSceneResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveSceneResponse", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "RemoveAllScenesResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StoreSceneResponse", - "code": 4, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetSceneMembershipResponse", - "code": 6, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "SceneCount", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentScene", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentGroup", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "group_id", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SceneValid", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NameSupport", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SceneTableSize", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "RemainingCapacity", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "On/Off", - "code": 6, - "mfgCode": null, - "define": "ON_OFF_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Off", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "On", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "Toggle", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "On/Off", - "code": 6, - "mfgCode": null, - "define": "ON_OFF_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "OnOff", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "GlobalSceneControl", - "code": 16384, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OnTime", - "code": 16385, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OffWaitTime", - "code": 16386, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "StartUpOnOff", - "code": 16387, - "mfgCode": null, - "side": "server", - "type": "StartUpOnOffEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Level Control", - "code": 8, - "mfgCode": null, - "define": "LEVEL_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "MoveToLevel", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "Move", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "Step", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "Stop", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToLevelWithOnOff", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveWithOnOff", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepWithOnOff", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StopWithOnOff", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Level Control", - "code": 8, - "mfgCode": null, - "define": "LEVEL_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "CurrentLevel", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RemainingTime", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MinLevel", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MaxLevel", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFE", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "CurrentFrequency", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MinFrequency", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MaxFrequency", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Options", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "LevelControlOptions", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OnOffTransitionTime", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OnLevel", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFE", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OnTransitionTime", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OffTransitionTime", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "DefaultMoveRate", - "code": 20, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "StartUpCurrentLevel", - "code": 16384, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "255", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Binary Input (Basic)", - "code": 15, - "mfgCode": null, - "define": "BINARY_INPUT_BASIC_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Binary Input (Basic)", - "code": 15, - "mfgCode": null, - "define": "BINARY_INPUT_BASIC_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "out of service", - "code": 81, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "present value", - "code": 85, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "status flags", - "code": 111, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Descriptor", - "code": 29, - "mfgCode": null, - "define": "DESCRIPTOR_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Descriptor", - "code": 29, - "mfgCode": null, - "define": "DESCRIPTOR_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "DeviceTypeList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ServerList", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClientList", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartsList", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Binding", - "code": 30, - "mfgCode": null, - "define": "BINDING_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Binding", - "code": 30, - "mfgCode": null, - "define": "BINDING_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "Binding", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Basic Information", - "code": 40, - "mfgCode": null, - "define": "BASIC_INFORMATION_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Basic Information", - "code": 40, - "mfgCode": null, - "define": "BASIC_INFORMATION_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "DataModelRevision", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "10", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "VendorName", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "VendorID", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "vendor_id", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductName", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductID", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NodeLabel", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "NVM", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Location", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "XX", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersion", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersionString", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersion", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersionString", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ManufacturingDate", - "code": 11, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "20210614123456ZZ", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartNumber", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductURL", - "code": 13, - "mfgCode": null, - "side": "server", - "type": "long_char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductLabel", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SerialNumber", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LocalConfigDisabled", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "NVM", - "singleton": 1, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Reachable", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "UniqueID", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CapabilityMinima", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "CapabilityMinimaStruct", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Provider", - "code": 41, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "QueryImage", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ApplyUpdateRequest", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Provider", - "code": 41, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "ApplyUpdateResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Requestor", - "code": 42, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "OTA Software Update Requestor", - "code": 42, - "mfgCode": null, - "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Power Source", - "code": 47, - "mfgCode": null, - "define": "POWER_SOURCE_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "client", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Power Source", - "code": 47, - "mfgCode": null, - "define": "POWER_SOURCE_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "Status", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "PowerSourceStatusEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Order", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Description", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredAssessedInputVoltage", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredAssessedInputFrequency", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredCurrentType", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "WiredCurrentTypeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredAssessedCurrent", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredNominalVoltage", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredMaximumCurrent", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "WiredPresent", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveWiredFaults", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 0, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatVoltage", - "code": 11, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatPercentRemaining", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatTimeRemaining", - "code": 13, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatChargeLevel", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "BatChargeLevelEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatReplacementNeeded", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatReplaceability", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "BatReplaceabilityEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatPresent", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveBatFaults", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 0, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatReplacementDescription", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatCommonDesignation", - "code": 20, - "mfgCode": null, - "side": "server", - "type": "BatCommonDesignationEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatANSIDesignation", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatIECDesignation", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatApprovedChemistry", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "BatApprovedChemistryEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatCapacity", - "code": 24, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatQuantity", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatChargeState", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "BatChargeStateEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatTimeToFullCharge", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatFunctionalWhileCharging", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "BatChargingCurrent", - "code": 29, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ActiveBatChargeFaults", - "code": 30, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 0, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EndpointList", - "code": 31, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "General Commissioning", - "code": 48, - "mfgCode": null, - "define": "GENERAL_COMMISSIONING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ArmFailSafe", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetRegulatoryConfig", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "General Commissioning", - "code": 48, - "mfgCode": null, - "define": "GENERAL_COMMISSIONING_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "ArmFailSafeResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetRegulatoryConfigResponse", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "Breadcrumb", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int64u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "o", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "BasicCommissioningInfo", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "BasicCommissioningInfo", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SupportsConcurrentConnection", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Network Commissioning", - "code": 49, - "mfgCode": null, - "define": "NETWORK_COMMISSIONING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "ScanNetworks", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "AddOrUpdateWiFiNetwork", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "RemoveNetwork", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "ConnectNetwork", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - }, - { - "name": "ReorderNetwork", - "code": 8, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Network Commissioning", - "code": 49, - "mfgCode": null, - "define": "NETWORK_COMMISSIONING_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "ScanNetworksResponse", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "NetworkConfigResponse", - "code": 5, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ConnectNetworkResponse", - "code": 7, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Switch", - "code": 59, - "mfgCode": null, - "define": "SWITCH_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Switch", - "code": 59, - "mfgCode": null, - "define": "SWITCH_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "NumberOfPositions", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPosition", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MultiPressMax", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Group Key Management", - "code": 63, - "mfgCode": null, - "define": "GROUP_KEY_MANAGEMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Group Key Management", - "code": 63, - "mfgCode": null, - "define": "GROUP_KEY_MANAGEMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "GroupKeyMap", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "GroupTable", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Fixed Label", - "code": 64, - "mfgCode": null, - "define": "FIXED_LABEL_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Fixed Label", - "code": 64, - "mfgCode": null, - "define": "FIXED_LABEL_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "LabelList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "User Label", - "code": 65, - "mfgCode": null, - "define": "USER_LABEL_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "client", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "User Label", - "code": 65, - "mfgCode": null, - "define": "USER_LABEL_CLUSTER", - "side": "server", - "enabled": 1, - "attributes": [ - { - "name": "LabelList", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EventList", - "code": 65530, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Door Lock", - "code": 257, - "mfgCode": null, - "define": "DOOR_LOCK_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "LockDoor", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "UnlockDoor", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "UnlockWithTimeout", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetWeekDaySchedule", - "code": 11, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetWeekDaySchedule", - "code": 12, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearWeekDaySchedule", - "code": 13, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetYearDaySchedule", - "code": 14, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetYearDaySchedule", - "code": 15, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearYearDaySchedule", - "code": 16, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetHolidaySchedule", - "code": 17, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "GetHolidaySchedule", - "code": 18, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "ClearHolidaySchedule", - "code": 19, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Door Lock", - "code": 257, - "mfgCode": null, - "define": "DOOR_LOCK_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "LockState", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "DlLockState", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LockType", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "DlLockType", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ActuatorEnabled", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DoorState", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "DoorStateEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Language", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LEDSettings", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AutoRelockTime", - "code": 35, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoundVolume", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OperatingMode", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "OperatingModeEnum", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DefaultConfigurationRegister", - "code": 39, - "mfgCode": null, - "side": "server", - "type": "DlDefaultConfigurationRegister", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableLocalProgramming", - "code": 40, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableOneTouchLocking", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableInsideStatusLED", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnablePrivacyModeButton", - "code": 43, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WrongCodeEntryLimit", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "UserCodeTemporaryDisableTime", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SendPINOverTheAir", - "code": 50, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RequirePINforRemoteOperation", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Window Covering", - "code": 258, - "mfgCode": null, - "define": "WINDOW_COVERING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "UpOrOpen", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "DownOrClose", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "StopMotion", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "GoToLiftValue", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "GoToLiftPercentage", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "GoToTiltValue", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "GoToTiltPercentage", - "code": 8, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Window Covering", - "code": 258, - "mfgCode": null, - "define": "WINDOW_COVERING_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "Type", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "Type", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPositionLift", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPositionTilt", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ConfigStatus", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "ConfigStatus", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x03", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPositionLiftPercentage", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "Percent", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 100, - "reportableChange": 0 - }, - { - "name": "CurrentPositionTiltPercentage", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "Percent", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 100, - "reportableChange": 0 - }, - { - "name": "OperationalStatus", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "OperationalStatus", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 127, - "reportableChange": 0 - }, - { - "name": "TargetPositionLiftPercent100ths", - "code": 11, - "mfgCode": null, - "side": "server", - "type": "Percent100ths", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 10000, - "reportableChange": 0 - }, - { - "name": "TargetPositionTiltPercent100ths", - "code": 12, - "mfgCode": null, - "side": "server", - "type": "Percent100ths", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFFFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 10000, - "reportableChange": 0 - }, - { - "name": "EndProductType", - "code": 13, - "mfgCode": null, - "side": "server", - "type": "EndProductType", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentPositionLiftPercent100ths", - "code": 14, - "mfgCode": null, - "side": "server", - "type": "Percent100ths", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 10000, - "reportableChange": 0 - }, - { - "name": "CurrentPositionTiltPercent100ths", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "Percent100ths", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 10000, - "reportableChange": 0 - }, - { - "name": "InstalledOpenLimitLift", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "InstalledClosedLimitLift", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFFFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "InstalledOpenLimitTilt", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "InstalledClosedLimitTilt", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFFFF", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Mode", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "Mode", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 15, - "reportableChange": 0 - }, - { - "name": "SafetyStatus", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "SafetyStatus", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Barrier Control", - "code": 259, - "mfgCode": null, - "define": "BARRIER_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "BarrierControlGoToPercent", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "BarrierControlStop", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Barrier Control", - "code": 259, - "mfgCode": null, - "define": "BARRIER_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "barrier moving state", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier safety status", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "bitmap16", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier capabilities", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "barrier position", - "code": 10, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Pump Configuration and Control", - "code": 512, - "mfgCode": null, - "define": "PUMP_CONFIGURATION_AND_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Pump Configuration and Control", - "code": 512, - "mfgCode": null, - "define": "PUMP_CONFIGURATION_AND_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "MaxPressure", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxSpeed", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxFlow", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PumpStatus", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "PumpStatusBitmap", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EffectiveOperationMode", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "OperationModeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EffectiveControlMode", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "ControlModeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Capacity", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OperationMode", - "code": 32, - "mfgCode": null, - "side": "server", - "type": "OperationModeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Thermostat", - "code": 513, - "mfgCode": null, - "define": "THERMOSTAT_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "SetpointRaiseLower", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "SetWeeklySchedule", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "GetWeeklySchedule", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ClearWeeklySchedule", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Thermostat", - "code": 513, - "mfgCode": null, - "define": "THERMOSTAT_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "GetWeeklyScheduleResponse", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 0 - } - ], - "attributes": [ - { - "name": "LocalTemperature", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AbsMinHeatSetpointLimit", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "700", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AbsMaxHeatSetpointLimit", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AbsMinCoolSetpointLimit", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1600", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AbsMaxCoolSetpointLimit", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3200", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PICoolingDemand", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PIHeatingDemand", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HVACSystemTypeConfiguration", - "code": 9, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OccupiedCoolingSetpoint", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "NVM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0A28", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OccupiedHeatingSetpoint", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "NVM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x07D0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinHeatSetpointLimit", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "700", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxHeatSetpointLimit", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinCoolSetpointLimit", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1600", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MaxCoolSetpointLimit", - "code": 24, - "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3200", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinSetpointDeadBand", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int8s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x19", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ControlSequenceOfOperation", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "ThermostatControlSequence", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x04", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SystemMode", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "NVM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "StartOfWeek", - "code": 32, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NumberOfWeeklyTransitions", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "7", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NumberOfDailyTransitions", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Thermostat User Interface Configuration", - "code": 516, - "mfgCode": null, - "define": "THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "client", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Thermostat User Interface Configuration", - "code": 516, - "mfgCode": null, - "define": "THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "TemperatureDisplayMode", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "KeypadLockout", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ScheduleProgrammingVisibility", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "GeneratedCommandList", - "code": 65528, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AcceptedCommandList", - "code": 65529, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "type": "array", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - } - ] - }, - { - "name": "Color Control", - "code": 768, - "mfgCode": null, - "define": "COLOR_CONTROL_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "MoveToHue", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveHue", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepHue", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToSaturation", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveSaturation", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepSaturation", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToHueAndSaturation", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToColor", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveColor", - "code": 8, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepColor", - "code": 9, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveToColorTemperature", - "code": 10, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StopMoveStep", - "code": 71, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "MoveColorTemperature", - "code": 75, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - }, - { - "name": "StepColorTemperature", - "code": 76, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Color Control", - "code": 768, - "mfgCode": null, - "define": "COLOR_CONTROL_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ - { - "name": "CurrentHue", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentSaturation", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RemainingTime", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentX", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x616B", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CurrentY", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x607D", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DriftCompensation", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "CompensationText", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorTemperatureMireds", - "code": 7, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00FA", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorMode", - "code": 8, - "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Options", - "code": 15, - "mfgCode": null, - "side": "server", - "type": "bitmap8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NumberOfPrimaries", - "code": 16, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1X", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1Y", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary1Intensity", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2X", - "code": 21, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2Y", - "code": 22, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary2Intensity", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3X", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3Y", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary3Intensity", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4X", - "code": 32, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4Y", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary4Intensity", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5X", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5Y", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary5Intensity", - "code": 38, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6X", - "code": 40, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6Y", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Primary6Intensity", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WhitePointX", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WhitePointY", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRX", - "code": 50, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRY", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointRIntensity", - "code": 52, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGX", - "code": 54, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGY", - "code": 55, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointGIntensity", - "code": 56, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBX", - "code": 58, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBY", - "code": 59, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ColorPointBIntensity", - "code": 60, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "EnhancedCurrentHue", - "code": 16384, + "name": "UpdateNOC", + "code": 7, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "EnhancedColorMode", - "code": 16385, + "name": "NOCResponse", + "code": 8, "mfgCode": null, - "side": "server", - "type": "enum8", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x01", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "ColorLoopActive", - "code": 16386, + "name": "UpdateFabricLabel", + "code": 9, "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "ColorLoopDirection", - "code": 16387, + "name": "RemoveFabric", + "code": 10, "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "ColorLoopTime", - "code": 16388, + "name": "AddTrustedRootCertificate", + "code": 11, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], + "attributes": [ + { + "name": "NOCs", + "code": 0, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0x0019", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ColorCapabilities", - "code": 16394, + "name": "Fabrics", + "code": 1, "mfgCode": null, "side": "server", - "type": "bitmap16", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0x0000", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ColorTempPhysicalMinMireds", - "code": 16395, + "name": "SupportedFabrics", + "code": 2, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int8u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0x0000", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ColorTempPhysicalMaxMireds", - "code": 16396, + "name": "CommissionedFabrics", + "code": 3, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int8u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0xFEFF", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "CoupleColorTempToLevelMinMireds", - "code": 16397, + "name": "TrustedRootCertificates", + "code": 4, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -14507,58 +2369,48 @@ "reportableChange": 0 }, { - "name": "StartUpColorTemperatureMireds", - "code": 16400, + "name": "CurrentFabricIndex", + "code": 5, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "int8u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "5", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Temperature Measurement", - "code": 1026, - "mfgCode": null, - "define": "TEMPERATURE_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ + }, { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "4", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -14567,153 +2419,71 @@ ] }, { - "name": "Temperature Measurement", - "code": 1026, + "name": "Group Key Management", + "code": 63, "mfgCode": null, - "define": "TEMPERATURE_MEASUREMENT_CLUSTER", + "define": "GROUP_KEY_MANAGEMENT_CLUSTER", "side": "server", - "enabled": 0, - "attributes": [ + "enabled": 1, + "commands": [ { - "name": "MeasuredValue", + "name": "KeySetWrite", "code": 0, "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "MinMeasuredValue", + "name": "KeySetRead", "code": 1, "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "MaxMeasuredValue", + "name": "KeySetReadResponse", "code": 2, "mfgCode": null, - "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x8000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "Tolerance", + "name": "KeySetRemove", "code": 3, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "KeySetReadAllIndices", + "code": 4, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "4", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Pressure Measurement", - "code": 1027, - "mfgCode": null, - "define": "PRESSURE_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "KeySetReadAllIndicesResponse", + "code": 5, "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 } - ] - }, - { - "name": "Pressure Measurement", - "code": 1027, - "mfgCode": null, - "define": "PRESSURE_MEASUREMENT_CLUSTER", - "side": "server", - "enabled": 0, + ], "attributes": [ { - "name": "MeasuredValue", + "name": "GroupKeyMap", "code": 0, "mfgCode": null, "side": "server", - "type": "int16s", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x0000", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "MinMeasuredValue", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "int16s", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -14723,13 +2493,13 @@ "reportableChange": 0 }, { - "name": "MaxMeasuredValue", - "code": 2, + "name": "GroupTable", + "code": 1, "mfgCode": null, "side": "server", - "type": "int16s", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -14739,51 +2509,51 @@ "reportableChange": 0 }, { - "name": "Tolerance", - "code": 3, + "name": "MaxGroupsPerFabric", + "code": 2, "mfgCode": null, "side": "server", "type": "int16u", - "included": 0, - "storageOption": "RAM", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ScaledValue", - "code": 16, + "name": "MaxGroupKeysPerFabric", + "code": 3, "mfgCode": null, "side": "server", - "type": "int16s", - "included": 0, - "storageOption": "RAM", + "type": "int16u", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "0x0000", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ScaledTolerance", - "code": 19, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", + "type": "bitmap32", + "included": 1, + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { @@ -14793,24 +2563,63 @@ "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "3", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 } ] - }, + } + ] + }, + { + "id": 2, + "name": "MA-thermostat", + "deviceTypeRef": { + "code": 769, + "profileId": 259, + "label": "MA-thermostat", + "name": "MA-thermostat" + }, + "deviceTypes": [ + { + "code": 769, + "profileId": 259, + "label": "MA-thermostat", + "name": "MA-thermostat" + } + ], + "deviceVersions": [ + 1 + ], + "deviceIdentifiers": [ + 769 + ], + "deviceTypeName": "MA-thermostat", + "deviceTypeCode": 769, + "deviceTypeProfileId": 259, + "clusters": [ { - "name": "Flow Measurement", - "code": 1028, + "name": "Identify", + "code": 3, "mfgCode": null, - "define": "FLOW_MEASUREMENT_CLUSTER", + "define": "IDENTIFY_CLUSTER", "side": "client", - "enabled": 0, + "enabled": 1, + "commands": [ + { + "name": "Identify", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 0, + "isEnabled": 1 + } + ], "attributes": [ { "name": "ClusterRevision", @@ -14822,7 +2631,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "3", + "defaultValue": "4", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -14831,15 +2640,25 @@ ] }, { - "name": "Flow Measurement", - "code": 1028, + "name": "Identify", + "code": 3, "mfgCode": null, - "define": "FLOW_MEASUREMENT_CLUSTER", + "define": "IDENTIFY_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, + "commands": [ + { + "name": "Identify", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + } + ], "attributes": [ { - "name": "MeasuredValue", + "name": "IdentifyTime", "code": 0, "mfgCode": null, "side": "server", @@ -14848,42 +2667,42 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "MinMeasuredValue", + "name": "IdentifyType", "code": 1, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "IdentifyTypeEnum", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "MaxMeasuredValue", - "code": 2, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { @@ -14896,7 +2715,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "3", + "defaultValue": "4", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -14905,169 +2724,125 @@ ] }, { - "name": "Relative Humidity Measurement", - "code": 1029, + "name": "Groups", + "code": 4, "mfgCode": null, - "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ + "define": "GROUPS_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ { - "name": "ClusterRevision", - "code": 65533, + "name": "AddGroup", + "code": 0, "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Relative Humidity Measurement", - "code": 1029, - "mfgCode": null, - "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, { - "name": "MeasuredValue", + "name": "AddGroupResponse", "code": 0, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "MinMeasuredValue", + "name": "ViewGroup", "code": 1, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "ViewGroupResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "MaxMeasuredValue", + "name": "GetGroupMembership", "code": 2, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "GetGroupMembershipResponse", + "code": 2, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 }, { - "name": "Tolerance", + "name": "RemoveGroup", "code": 3, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "RemoveGroupResponse", + "code": 3, "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "RemoveAllGroups", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "AddGroupIfIdentifying", + "code": 5, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 } - ] - }, - { - "name": "Wake on LAN", - "code": 1283, - "mfgCode": null, - "define": "WAKE_ON_LAN_CLUSTER", - "side": "client", - "enabled": 0, + ], "attributes": [ { - "name": "ClusterRevision", - "code": 65533, + "name": "NameSupport", + "code": 0, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "NameSupportBitmap", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Wake on LAN", - "code": 1283, - "mfgCode": null, - "define": "WAKE_ON_LAN_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "MACAddress", - "code": 0, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { @@ -15080,7 +2855,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "4", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -15089,175 +2864,192 @@ ] }, { - "name": "Channel", - "code": 1284, + "name": "Scenes", + "code": 5, "mfgCode": null, - "define": "CHANNEL_CLUSTER", - "side": "client", - "enabled": 0, + "define": "SCENES_CLUSTER", + "side": "server", + "enabled": 1, + "apiMaturity": "provisional", "commands": [ { - "name": "ChangeChannel", + "name": "AddScene", + "code": 0, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "AddSceneResponse", "code": 0, "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "ViewScene", + "code": 1, + "mfgCode": null, "source": "client", - "incoming": 0, - "outgoing": 1 + "isIncoming": 1, + "isEnabled": 1 }, { - "name": "ChangeChannelByNumber", + "name": "ViewSceneResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "RemoveScene", "code": 2, "mfgCode": null, "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ + "isIncoming": 1, + "isEnabled": 1 + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "RemoveSceneResponse", + "code": 2, "mfgCode": null, - "side": "client", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "RemoveAllScenes", + "code": 3, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "RemoveAllScenesResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "StoreScene", + "code": 4, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "StoreSceneResponse", + "code": 4, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 + }, + { + "name": "RecallScene", + "code": 5, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "GetSceneMembership", + "code": 6, + "mfgCode": null, + "source": "client", + "isIncoming": 1, + "isEnabled": 1 + }, + { + "name": "GetSceneMembershipResponse", + "code": 6, + "mfgCode": null, + "source": "server", + "isIncoming": 0, + "isEnabled": 1 } - ] - }, - { - "name": "Channel", - "code": 1284, - "mfgCode": null, - "define": "CHANNEL_CLUSTER", - "side": "server", - "enabled": 0, + ], "attributes": [ { - "name": "ChannelList", + "name": "SceneCount", "code": 0, "mfgCode": null, "side": "server", - "type": "array", + "type": "int8u", "included": 1, "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x00", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "Lineup", + "name": "CurrentScene", "code": 1, "mfgCode": null, "side": "server", - "type": "LineupInfoStruct", + "type": "int8u", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x00", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "CurrentChannel", + "name": "CurrentGroup", "code": 2, "mfgCode": null, "side": "server", - "type": "ChannelInfoStruct", + "type": "group_id", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x0000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "SceneValid", + "code": 3, "mfgCode": null, "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Target Navigator", - "code": 1285, - "mfgCode": null, - "define": "TARGET_NAVIGATOR_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "NavigateTarget", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", + "type": "boolean", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0x00", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Target Navigator", - "code": 1285, - "mfgCode": null, - "define": "TARGET_NAVIGATOR_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "TargetList", - "code": 0, + "name": "NameSupport", + "code": 4, "mfgCode": null, "side": "server", - "type": "array", + "type": "bitmap8", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -15267,8 +3059,8 @@ "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "SceneTableSize", + "code": 6, "mfgCode": null, "side": "server", "type": "int16u", @@ -15276,115 +3068,55 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Media Playback", - "code": 1286, - "mfgCode": null, - "define": "MEDIA_PLAYBACK_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Play", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Pause", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Stop", - "code": 2, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "StartOver", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Previous", - "code": 4, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Next", - "code": 5, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Rewind", - "code": 6, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "FastForward", - "code": 7, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 }, { - "name": "SkipForward", - "code": 8, + "name": "RemainingCapacity", + "code": 7, "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "SkipBackward", - "code": 9, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "4", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -15393,102 +3125,64 @@ ] }, { - "name": "Media Playback", - "code": 1286, + "name": "Descriptor", + "code": 29, "mfgCode": null, - "define": "MEDIA_PLAYBACK_CLUSTER", + "define": "DESCRIPTOR_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, "attributes": [ { - "name": "ClusterRevision", - "code": 65533, + "name": "DeviceTypeList", + "code": 0, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Media Input", - "code": 1287, - "mfgCode": null, - "define": "MEDIA_INPUT_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "SelectInput", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 }, { - "name": "ShowInputStatus", + "name": "ServerList", "code": 1, "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 }, { - "name": "HideInputStatus", + "name": "ClientList", "code": 2, "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "RenameInput", - "code": 3, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 - } - ] - }, - { - "name": "Media Input", - "code": 1287, - "mfgCode": null, - "define": "MEDIA_INPUT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "InputList", - "code": 0, + "name": "PartsList", + "code": 3, "mfgCode": null, "side": "server", "type": "array", @@ -15503,49 +3197,29 @@ "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Low Power", - "code": 1288, - "mfgCode": null, - "define": "LOW_POWER_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Sleep", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ + }, { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "1", @@ -15557,124 +3231,114 @@ ] }, { - "name": "Low Power", - "code": 1288, + "name": "Binding", + "code": 30, "mfgCode": null, - "define": "LOW_POWER_CLUSTER", + "define": "BINDING_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, "attributes": [ { - "name": "ClusterRevision", - "code": 65533, + "name": "Binding", + "code": 0, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Keypad Input", - "code": 1289, - "mfgCode": null, - "define": "KEYPAD_INPUT_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ + }, { - "name": "SendKey", - "code": 0, + "name": "GeneratedCommandList", + "code": 65528, "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "AcceptedCommandList", + "code": 65529, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Keypad Input", - "code": 1289, - "mfgCode": null, - "define": "KEYPAD_INPUT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "EventList", + "code": 65530, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Content Launcher", - "code": 1290, - "mfgCode": null, - "define": "CONTENT_LAUNCHER_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ + }, { - "name": "LaunchContent", - "code": 0, + "name": "AttributeList", + "code": 65531, "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, - { - "name": "LaunchURL", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", @@ -15689,118 +3353,80 @@ ] }, { - "name": "Content Launcher", - "code": 1290, + "name": "Power Source", + "code": 47, "mfgCode": null, - "define": "CONTENT_LAUNCHER_CLUSTER", + "define": "POWER_SOURCE_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, "attributes": [ { - "name": "AcceptHeader", + "name": "Status", "code": 0, "mfgCode": null, "side": "server", - "type": "array", + "type": "PowerSourceStatusEnum", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "SupportedStreamingProtocols", + "name": "Order", "code": 1, "mfgCode": null, "side": "server", - "type": "bitmap32", + "type": "int8u", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "Description", + "code": 2, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "char_string", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Audio Output", - "code": 1291, - "mfgCode": null, - "define": "AUDIO_OUTPUT_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "SelectOutput", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 }, { - "name": "RenameOutput", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, + "name": "WiredCurrentType", + "code": 5, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "WiredCurrentTypeEnum", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Audio Output", - "code": 1291, - "mfgCode": null, - "define": "AUDIO_OUTPUT_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "OutputList", - "code": 0, + "name": "EndpointList", + "code": 31, "mfgCode": null, "side": "server", "type": "array", @@ -15810,75 +3436,45 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "GeneratedCommandList", + "code": 65528, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Application Launcher", - "code": 1292, - "mfgCode": null, - "define": "APPLICATION_LAUNCHER_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "LaunchApp", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "AcceptedCommandList", + "code": 65529, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Application Launcher", - "code": 1292, - "mfgCode": null, - "define": "APPLICATION_LAUNCHER_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "CatalogList", - "code": 0, + "name": "AttributeList", + "code": 65531, "mfgCode": null, "side": "server", "type": "array", @@ -15888,41 +3484,31 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Application Basic", - "code": 1293, - "mfgCode": null, - "define": "APPLICATION_BASIC_CLUSTER", - "side": "client", - "enabled": 0, - "attributes": [ + }, { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", @@ -15930,28 +3516,28 @@ "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 } ] }, { - "name": "Application Basic", - "code": 1293, + "name": "Fixed Label", + "code": 64, "mfgCode": null, - "define": "APPLICATION_BASIC_CLUSTER", + "define": "FIXED_LABEL_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, "attributes": [ { - "name": "VendorName", + "name": "LabelList", "code": 0, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -15961,40 +3547,40 @@ "reportableChange": 0 }, { - "name": "VendorID", - "code": 1, + "name": "EventList", + "code": 65530, "mfgCode": null, "side": "server", - "type": "vendor_id", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ApplicationName", - "code": 2, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ProductID", - "code": 3, + "name": "ClusterRevision", + "code": 65533, "mfgCode": null, "side": "server", "type": "int16u", @@ -16002,155 +3588,123 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "1", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 + } + ] + }, + { + "name": "User Label", + "code": 65, + "mfgCode": null, + "define": "USER_LABEL_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "LabelList", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 }, { - "name": "Status", - "code": 5, + "name": "GeneratedCommandList", + "code": 65528, "mfgCode": null, "side": "server", - "type": "ApplicationStatusEnum", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ApplicationVersion", - "code": 6, + "name": "AcceptedCommandList", + "code": 65529, "mfgCode": null, "side": "server", - "type": "char_string", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "ClusterRevision", - "code": 65533, + "name": "EventList", + "code": 65530, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Account Login", - "code": 1294, - "mfgCode": null, - "define": "ACCOUNT_LOGIN_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "GetSetupPIN", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 0, - "outgoing": 1 - } - ], - "attributes": [ + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "AttributeList", + "code": 65531, "mfgCode": null, - "side": "client", - "type": "int16u", + "side": "server", + "type": "array", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Account Login", - "code": 1294, - "mfgCode": null, - "define": "ACCOUNT_LOGIN_CLUSTER", - "side": "server", - "enabled": 0, - "attributes": [ + }, { - "name": "ClusterRevision", - "code": 65533, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "0", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 - } - ] - }, - { - "name": "Unit Testing", - "code": 4294048773, - "mfgCode": null, - "define": "UNIT_TESTING_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [ - { - "name": "Test", - "code": 0, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 }, - { - "name": "TestNotHandled", - "code": 1, - "mfgCode": null, - "source": "client", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ { "name": "ClusterRevision", "code": 65533, "mfgCode": null, - "side": "client", + "side": "server", "type": "int16u", "included": 1, "storageOption": "RAM", @@ -16158,193 +3712,177 @@ "bounded": 0, "defaultValue": "1", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 } ] }, { - "name": "Unit Testing", - "code": 4294048773, + "name": "Thermostat", + "code": 513, "mfgCode": null, - "define": "UNIT_TESTING_CLUSTER", + "define": "THERMOSTAT_CLUSTER", "side": "server", - "enabled": 0, + "enabled": 1, "commands": [ { - "name": "TestSpecificResponse", + "name": "SetpointRaiseLower", "code": 0, "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 + "source": "client", + "isIncoming": 1, + "isEnabled": 1 } ], "attributes": [ { - "name": "boolean", + "name": "LocalTemperature", "code": 0, "mfgCode": null, "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "false", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "bitmap8", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "Bitmap8MaskMap", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "bitmap16", - "code": 2, + "name": "AbsMinHeatSetpointLimit", + "code": 3, "mfgCode": null, "side": "server", - "type": "Bitmap16MaskMap", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "700", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "bitmap32", - "code": 3, + "name": "AbsMaxHeatSetpointLimit", + "code": 4, "mfgCode": null, "side": "server", - "type": "Bitmap32MaskMap", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "3000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "bitmap64", - "code": 4, + "name": "AbsMinCoolSetpointLimit", + "code": 5, "mfgCode": null, "side": "server", - "type": "Bitmap64MaskMap", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "1600", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int8u", - "code": 5, + "name": "AbsMaxCoolSetpointLimit", + "code": 6, "mfgCode": null, "side": "server", - "type": "int8u", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "3200", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int16u", - "code": 6, + "name": "HVACSystemTypeConfiguration", + "code": 9, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "bitmap8", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "int32u", - "code": 8, + "name": "OccupiedCoolingSetpoint", + "code": 17, "mfgCode": null, "side": "server", - "type": "int32u", + "type": "int16s", "included": 1, - "storageOption": "RAM", + "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x0A28", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int64u", - "code": 12, + "name": "OccupiedHeatingSetpoint", + "code": 18, "mfgCode": null, "side": "server", - "type": "int64u", + "type": "int16s", "included": 1, - "storageOption": "RAM", + "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x07D0", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int8s", - "code": 13, + "name": "MinHeatSetpointLimit", + "code": 21, "mfgCode": null, "side": "server", - "type": "int8s", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "700", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int16s", - "code": 14, + "name": "MaxHeatSetpointLimit", + "code": 22, "mfgCode": null, "side": "server", "type": "int16s", @@ -16352,95 +3890,95 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "3000", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int32s", - "code": 16, + "name": "MinCoolSetpointLimit", + "code": 23, "mfgCode": null, "side": "server", - "type": "int32s", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "1600", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "int64s", - "code": 20, + "name": "MaxCoolSetpointLimit", + "code": 24, "mfgCode": null, "side": "server", - "type": "int64s", + "type": "int16s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "3200", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "enum8", - "code": 21, + "name": "MinSetpointDeadBand", + "code": 25, "mfgCode": null, "side": "server", - "type": "enum8", + "type": "int8s", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x19", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "enum16", - "code": 22, + "name": "ControlSequenceOfOperation", + "code": 27, "mfgCode": null, "side": "server", - "type": "enum16", + "type": "ThermostatControlSequence", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0", + "defaultValue": "0x04", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "octet_string", - "code": 25, + "name": "SystemMode", + "code": 28, "mfgCode": null, "side": "server", - "type": "octet_string", + "type": "enum8", "included": 1, - "storageOption": "RAM", + "storageOption": "NVM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x01", "reportable": 1, "minInterval": 0, "maxInterval": 65344, "reportableChange": 0 }, { - "name": "list_int8u", - "code": 26, + "name": "GeneratedCommandList", + "code": 65528, "mfgCode": null, "side": "server", "type": "array", @@ -16450,13 +3988,13 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "list_octet_string", - "code": 27, + "name": "AcceptedCommandList", + "code": 65529, "mfgCode": null, "side": "server", "type": "array", @@ -16466,13 +4004,13 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "list_struct_octet_string", - "code": 28, + "name": "AttributeList", + "code": 65531, "mfgCode": null, "side": "server", "type": "array", @@ -16482,21 +4020,21 @@ "bounded": 0, "defaultValue": "", "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, + "minInterval": 1, + "maxInterval": 65534, "reportableChange": 0 }, { - "name": "long_octet_string", - "code": 29, + "name": "FeatureMap", + "code": 65532, "mfgCode": null, "side": "server", - "type": "long_octet_string", + "type": "bitmap32", "included": 1, "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "", + "defaultValue": "0x3", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -16512,7 +4050,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "1", + "defaultValue": "5", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -16538,6 +4076,5 @@ "endpointId": 1, "networkId": 0 } - ], - "log": [] + ] } \ No newline at end of file diff --git a/examples/thermostat/thermostat-common/thermostat.zap b/examples/thermostat/thermostat-common/thermostat.zap index a3c65d1ebdf79e..75048d179582cd 100644 --- a/examples/thermostat/thermostat-common/thermostat.zap +++ b/examples/thermostat/thermostat-common/thermostat.zap @@ -5043,6 +5043,5 @@ "endpointId": 1, "networkId": 0 } - ], - "log": [] -} + ] +} \ No newline at end of file diff --git a/examples/virtual-device-app/virtual-device-common/virtual-device-app.zap b/examples/virtual-device-app/virtual-device-common/virtual-device-app.zap index 7971b786e60cc3..d0b59539b15b04 100644 --- a/examples/virtual-device-app/virtual-device-common/virtual-device-app.zap +++ b/examples/virtual-device-app/virtual-device-common/virtual-device-app.zap @@ -6122,6 +6122,5 @@ "endpointId": 1, "networkId": 0 } - ], - "log": [] + ] } \ No newline at end of file diff --git a/scripts/tools/zap/tests/inputs/all-clusters-app.zap b/scripts/tools/zap/tests/inputs/all-clusters-app.zap index 5e7e6d443fde8b..71b8cbaaee757f 100644 --- a/scripts/tools/zap/tests/inputs/all-clusters-app.zap +++ b/scripts/tools/zap/tests/inputs/all-clusters-app.zap @@ -5473,6 +5473,7 @@ "define": "FAULT_INJECTION_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "internal", "commands": [ { "name": "FailAtFault", @@ -5978,6 +5979,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", @@ -10119,6 +10121,7 @@ "define": "FAN_CONTROL_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "FanMode", @@ -13261,6 +13264,7 @@ "define": "UNIT_TESTING_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "internal", "commands": [ { "name": "Test", @@ -15222,6 +15226,7 @@ "define": "SCENES_CLUSTER", "side": "server", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", @@ -16665,4 +16670,4 @@ "networkId": 0 } ] -} +} \ No newline at end of file diff --git a/src/controller/data_model/controller-clusters.zap b/src/controller/data_model/controller-clusters.zap index 58e77227a508ab..fbec11f218ab8f 100644 --- a/src/controller/data_model/controller-clusters.zap +++ b/src/controller/data_model/controller-clusters.zap @@ -219,6 +219,7 @@ "define": "SCENES_CLUSTER", "side": "client", "enabled": 1, + "apiMaturity": "provisional", "commands": [ { "name": "AddScene", @@ -3274,7 +3275,8 @@ "mfgCode": null, "define": "FAN_CONTROL_CLUSTER", "side": "client", - "enabled": 1 + "enabled": 1, + "apiMaturity": "provisional" }, { "name": "Thermostat User Interface Configuration", @@ -3489,6 +3491,7 @@ "define": "BALLAST_CONFIGURATION_CLUSTER", "side": "client", "enabled": 1, + "apiMaturity": "provisional", "attributes": [ { "name": "FeatureMap", @@ -4769,6 +4772,7 @@ "define": "UNIT_TESTING_CLUSTER", "side": "client", "enabled": 1, + "apiMaturity": "internal", "commands": [ { "name": "Test", From c1d6700934ec4f8132e857591fc4141b7f437088 Mon Sep 17 00:00:00 2001 From: shchen-Lab <75290921+shchen-Lab@users.noreply.github.com> Date: Tue, 24 Oct 2023 12:44:18 +0800 Subject: [PATCH 33/44] [BouffaloLab] Add factory string data terminator (#29928) * [BouffaloLab] Add factory string data terminator * Restyled by clang-format --------- Co-authored-by: Restyled.io --- .../bouffalolab/common/FactoryDataProvider.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/platform/bouffalolab/common/FactoryDataProvider.cpp b/src/platform/bouffalolab/common/FactoryDataProvider.cpp index 5970549234ffa2..056b4da903ef55 100644 --- a/src/platform/bouffalolab/common/FactoryDataProvider.cpp +++ b/src/platform/bouffalolab/common/FactoryDataProvider.cpp @@ -406,6 +406,7 @@ CHIP_ERROR FactoryDataProvider::GetVendorName(char * buf, size_t bufSize) len = mfd_getVendorName(buf, bufSize); if (len > 0) { + buf[len] = 0; return CHIP_NO_ERROR; } else if (0 == len) @@ -452,6 +453,7 @@ CHIP_ERROR FactoryDataProvider::GetProductName(char * buf, size_t bufSize) len = mfd_getProductName(buf, bufSize); if (len > 0) { + buf[len] = 0; return CHIP_NO_ERROR; } else if (0 == len) @@ -498,6 +500,7 @@ CHIP_ERROR FactoryDataProvider::GetPartNumber(char * buf, size_t bufSize) len = mfd_getPartNumber(buf, bufSize); if (len > 0) { + buf[len] = 0; return CHIP_NO_ERROR; } else if (0 == len) @@ -519,6 +522,7 @@ CHIP_ERROR FactoryDataProvider::GetProductURL(char * buf, size_t bufSize) len = mfd_getProductUrl(buf, bufSize); if (len > 0) { + buf[len] = 0; return CHIP_NO_ERROR; } else if (0 == len) @@ -540,6 +544,7 @@ CHIP_ERROR FactoryDataProvider::GetProductLabel(char * buf, size_t bufSize) len = mfd_getProductLabel(buf, bufSize); if (len > 0) { + buf[len] = 0; return CHIP_NO_ERROR; } else if (0 == len) @@ -561,6 +566,7 @@ CHIP_ERROR FactoryDataProvider::GetSerialNumber(char * buf, size_t bufSize) len = mfd_getSerialNumber(buf, bufSize); if (len > 0) { + buf[len] = 0; return CHIP_NO_ERROR; } else if (0 == len) @@ -637,10 +643,10 @@ CHIP_ERROR FactoryDataProvider::GetHardwareVersionString(char * buf, size_t bufS { #if CONFIG_BOUFFALOLAB_FACTORY_DATA_ENABLE int len = 0; - - len = mfd_getHardwareVersionString(buf, bufSize); + len = mfd_getHardwareVersionString(buf, bufSize); if (len > 0) { + buf[len] = 0; return CHIP_NO_ERROR; } else if (0 == len) From f08756af5728bf73de88ddb872497eaa7772b302 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Tue, 24 Oct 2023 00:44:23 -0400 Subject: [PATCH 34/44] Stop using the pigweed clang for darwin-framework-tool. (#29927) It does not play nicely with CLANG_ENABLE_MODULES, and we will need that for using Swift in Matter.framework. --- .github/workflows/darwin-tests.yaml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/darwin-tests.yaml b/.github/workflows/darwin-tests.yaml index 887bd532cedf33..21f2a227be1a72 100644 --- a/.github/workflows/darwin-tests.yaml +++ b/.github/workflows/darwin-tests.yaml @@ -28,7 +28,7 @@ concurrency: env: CHIP_NO_LOG_TIMESTAMPS: true - + jobs: test_suites_chip_tool_darwin: name: Test Suites - Darwin @@ -38,6 +38,14 @@ jobs: build_variant: [no-ble-asan-clang] env: BUILD_VARIANT: ${{matrix.build_variant}} + + # We can't use the pigweed clang to build the Darwin framework once we start using + # Swift, because it does not handle CLANG_ENABLE_MODULES correctly. + # + # But the Xcode clang does not handle LSan correctly. Since we can't easily apply + # LSAN_OPTIONS to just everything except darwin-framework-tool, instead disable asan for + # it. + BUILD_VARIANT_FRAMEWORK_TOOL: no-ble LSAN_OPTIONS: detect_leaks=1 malloc_context_size=40 suppressions=scripts/tests/chiptest/lsan-mac-suppressions.txt if: github.actor != 'restyled-io[bot]' @@ -83,7 +91,7 @@ jobs: run: | ./scripts/run_in_build_env.sh \ "./scripts/build/build_examples.py \ - --target darwin-x64-darwin-framework-tool-${BUILD_VARIANT} \ + --target darwin-x64-darwin-framework-tool-${BUILD_VARIANT_FRAMEWORK_TOOL} \ --target darwin-x64-all-clusters-${BUILD_VARIANT} \ --target darwin-x64-lock-${BUILD_VARIANT} \ --target darwin-x64-ota-provider-${BUILD_VARIANT} \ @@ -97,7 +105,7 @@ jobs: run: | ./scripts/run_in_build_env.sh \ "./scripts/tests/run_test_suite.py \ - --chip-tool ./out/darwin-x64-darwin-framework-tool-${BUILD_VARIANT}/darwin-framework-tool \ + --chip-tool ./out/darwin-x64-darwin-framework-tool-${BUILD_VARIANT_FRAMEWORK_TOOL}/darwin-framework-tool \ --target-skip-glob '{TestAccessControlConstraints}' \ run \ --iterations 1 \ @@ -114,7 +122,7 @@ jobs: ./scripts/run_in_build_env.sh \ "./scripts/tests/run_darwin_framework_ota_test.py \ run \ - --darwin-framework-tool ./out/darwin-x64-darwin-framework-tool-${BUILD_VARIANT}/darwin-framework-tool \ + --darwin-framework-tool ./out/darwin-x64-darwin-framework-tool-${BUILD_VARIANT_FRAMEWORK_TOOL}/darwin-framework-tool \ --ota-requestor-app ./out/darwin-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \ --ota-data-file /tmp/rawImage \ --ota-image-file /tmp/otaImage \ @@ -139,8 +147,8 @@ jobs: uses: actions/upload-artifact@v3 if: ${{ failure() && !env.ACT }} with: - name: framework-build-log-darwin-${{ matrix.build_variant }} - path: out/darwin-x64-darwin-framework-tool-${{ matrix.build_variant }}/darwin_framework_build.log + name: framework-build-log-darwin-${{BUILD_VARIANT_FRAMEWORK_TOOL}} + path: out/darwin-x64-darwin-framework-tool-${{BUILD_VARIANT_FRAMEWORK_TOOL}}/darwin_framework_build.log - name: Uploading objdir for debugging uses: actions/upload-artifact@v3 if: ${{ failure() && !env.ACT }} From ad542e0b3123c515d0c983b46b82bc88b0374db6 Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Mon, 23 Oct 2023 22:10:00 -0700 Subject: [PATCH 35/44] Workflow to tag releases, and generate release notes (#29834) Co-authored-by: Karsten Sperling <113487422+ksperling-apple@users.noreply.github.com> Co-authored-by: Restyled.io --- .github/workflows/tag-releases.yaml | 50 +++++++++++++++++++++++++ SPECIFICATION_VERSION | 1 + scripts/tagging/tag_new_release.sh | 57 +++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 .github/workflows/tag-releases.yaml create mode 100644 SPECIFICATION_VERSION create mode 100755 scripts/tagging/tag_new_release.sh diff --git a/.github/workflows/tag-releases.yaml b/.github/workflows/tag-releases.yaml new file mode 100644 index 00000000000000..ff0971e11c2a22 --- /dev/null +++ b/.github/workflows/tag-releases.yaml @@ -0,0 +1,50 @@ +# Copyright (c) 2020-2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +name: "Tag Releases" + +on: + workflow_dispatch: + # inputs: + # draft_release: + # description: 'Create Draft' + # required: true + # default: true + # type: boolean + # branch: + # description: 'Branch' + # required: false + # type: string +jobs: + tag_main_release: + name: Tag Current Release + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install gh tool + run: | + type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y) + curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \ + && sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ + && sudo apt update \ + && sudo apt install gh -y + + - name: Tag Release & Generate Notes + run: | + BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) + echo "Tagging against branch: $BRANCH_NAME" + ./scripts/tagging/tag_new_release.sh --generate-notes --target $BRANCH_NAME -d # Note this is a draft for now. + + diff --git a/SPECIFICATION_VERSION b/SPECIFICATION_VERSION new file mode 100644 index 00000000000000..26aaba0e86632e --- /dev/null +++ b/SPECIFICATION_VERSION @@ -0,0 +1 @@ +1.2.0 diff --git a/scripts/tagging/tag_new_release.sh b/scripts/tagging/tag_new_release.sh new file mode 100755 index 00000000000000..0e26c26de4cfb2 --- /dev/null +++ b/scripts/tagging/tag_new_release.sh @@ -0,0 +1,57 @@ +# +# Copyright (c) 2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +#!/bin/bash + +CURRENT_SPEC_VERSION=$(cat SPECIFICATION_VERSION) + +# Pulls the most recent release from gihub, matching the spec version on the current tree +CURRENT_RELEASE=$(gh release list --exclude-pre-releases | grep -Fi "$CURRENT_SPEC_VERSION" | awk '{print $1}' | head -n1) + +if [ -z "$CURRENT_RELEASE" ]; then + # If there are no releases, this is our first one for this Spec version + SDK_RELEASE_REVISIONS=0 + echo "No revision found for current release" +else + # Otherwise pull the SDK revision (4th item) from the release + SDK_RELEASE_REVISIONS="$(echo "$CURRENT_RELEASE" | cut -d'.' -f4)" +fi + +if [ ! -z "$CURRENT_RELEASE" ]; then + # If there is current release, construct a string like 1.2.0.0 based o the current one + CURRENT_RELEASE="v$CURRENT_SPEC_VERSION.$SDK_RELEASE_REVISIONS" + # Then revise the SDK release to be +1 + SDK_RELEASE_REVISIONS=$(($SDK_RELEASE_REVISIONS + 1)) +fi + +# Construct a final tag, eg: 1.2.0.5 (MAJOR.MINOR.PATCH.SDK_REVISION) +NEW_RELEASE_TAG="v$CURRENT_SPEC_VERSION.$SDK_RELEASE_REVISIONS" + +ADDITIONAL_ARGS="" + +# Look for any prerelease information in the spec version (eg: 1.3.0-sve), and target the prerelease channel +case "$NEW_RELEASE_TAG" in + *alpha* | *beta* | *prerelease* | *testevent* | *te* | *sve*) + ADDITIONAL_ARGS="$ADDITIONAL_ARGS --prerelease" + ;; +esac + +echo "Current release: $CURRENT_RELEASE" +echo "SDK release revisions: $SDK_RELEASE_REVISIONS" +echo "New release: $NEW_RELEASE_TAG" +echo "Additional arguments: $ADDITIONAL_ARGS" + +gh release create "$ADDITIONAL_ARGS" --notes-start-tag "$CURRENT_RELEASE" "$NEW_RELEASE_TAG" "$@" From 7bcf5f0e8a31be62d130f93f6f212bd748c1e31b Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Mon, 23 Oct 2023 22:12:52 -0700 Subject: [PATCH 36/44] Updating token --- .github/workflows/tag-releases.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/tag-releases.yaml b/.github/workflows/tag-releases.yaml index ff0971e11c2a22..29689dd909317d 100644 --- a/.github/workflows/tag-releases.yaml +++ b/.github/workflows/tag-releases.yaml @@ -42,6 +42,8 @@ jobs: && sudo apt install gh -y - name: Tag Release & Generate Notes + env: + GH_TOKEN: ${{ github.token }} run: | BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) echo "Tagging against branch: $BRANCH_NAME" From e0870bc90c79096778989a962f84c08fe2aa6988 Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Mon, 23 Oct 2023 22:31:32 -0700 Subject: [PATCH 37/44] Updating script (#29932) Co-authored-by: Karsten Sperling <113487422+ksperling-apple@users.noreply.github.com> Co-authored-by: Restyled.io --- .github/workflows/tag-releases.yaml | 4 ++-- scripts/tagging/tag_new_release.sh | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tag-releases.yaml b/.github/workflows/tag-releases.yaml index 29689dd909317d..cdeb8778ab10f3 100644 --- a/.github/workflows/tag-releases.yaml +++ b/.github/workflows/tag-releases.yaml @@ -45,8 +45,8 @@ jobs: env: GH_TOKEN: ${{ github.token }} run: | - BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) + export BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) echo "Tagging against branch: $BRANCH_NAME" - ./scripts/tagging/tag_new_release.sh --generate-notes --target $BRANCH_NAME -d # Note this is a draft for now. + ./scripts/tagging/tag_new_release.sh --generate-notes --target "$BRANCH_NAME" -d # Note this is a draft for now. diff --git a/scripts/tagging/tag_new_release.sh b/scripts/tagging/tag_new_release.sh index 0e26c26de4cfb2..1fca130cf8f385 100755 --- a/scripts/tagging/tag_new_release.sh +++ b/scripts/tagging/tag_new_release.sh @@ -54,4 +54,5 @@ echo "SDK release revisions: $SDK_RELEASE_REVISIONS" echo "New release: $NEW_RELEASE_TAG" echo "Additional arguments: $ADDITIONAL_ARGS" -gh release create "$ADDITIONAL_ARGS" --notes-start-tag "$CURRENT_RELEASE" "$NEW_RELEASE_TAG" "$@" +echo executing: gh release create "$NEW_RELEASE_TAG" --notes-start-tag "$CURRENT_RELEASE" "$@" "$ADDITIONAL_ARGS" +gh release create "$NEW_RELEASE_TAG" "--notes-start-tag" "$CURRENT_RELEASE" "$@" "$ADDITIONAL_ARGS" From 9ff8254c1c73cd378d70d5b55bd82451220b33d9 Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Mon, 23 Oct 2023 22:43:09 -0700 Subject: [PATCH 38/44] Fixing this by ignoring shell harden (#29934) Co-authored-by: Karsten Sperling <113487422+ksperling-apple@users.noreply.github.com> Co-authored-by: Restyled.io --- .restyled.yaml | 1 + scripts/tagging/tag_new_release.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.restyled.yaml b/.restyled.yaml index 06180a098228e9..aeedbacd16240c 100644 --- a/.restyled.yaml +++ b/.restyled.yaml @@ -76,6 +76,7 @@ exclude: - "examples/platform/nxp/k32w/k32w0/scripts/demo_generated_certs/**/*" - "integrations/cloudbuild/*.yaml" # uglier long command line content - "scripts/run_codegen_targets.sh" # shellharden breaks for loops over command outputs + - "scripts/tagging/tag_new_release.sh" # shellharden breaks parameter passing - "src/darwin/Framework/CHIP/zap-generated/*" # already clang-formatted by our zap tooling - "zzz_generated/**/*" # already clang-formatted by our zap tooling - "src/controller/java/generated/java/**/*" # not formatted: generated files diff --git a/scripts/tagging/tag_new_release.sh b/scripts/tagging/tag_new_release.sh index 1fca130cf8f385..0a1f3302808791 100755 --- a/scripts/tagging/tag_new_release.sh +++ b/scripts/tagging/tag_new_release.sh @@ -55,4 +55,4 @@ echo "New release: $NEW_RELEASE_TAG" echo "Additional arguments: $ADDITIONAL_ARGS" echo executing: gh release create "$NEW_RELEASE_TAG" --notes-start-tag "$CURRENT_RELEASE" "$@" "$ADDITIONAL_ARGS" -gh release create "$NEW_RELEASE_TAG" "--notes-start-tag" "$CURRENT_RELEASE" "$@" "$ADDITIONAL_ARGS" +gh release create $NEW_RELEASE_TAG "--notes-start-tag" $CURRENT_RELEASE $@ $ADDITIONAL_ARGS From 954fff089a7c28dfcae16bbe23dd583a822fce04 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Tue, 24 Oct 2023 03:47:55 -0400 Subject: [PATCH 39/44] Add better APIs for initializing MTRCluster instances from Swift. (#29915) --- src/darwin/Framework/CHIP/MTRDefines.h | 2 +- .../CHIP/templates/MTRClusters-swift.zapt | 15 + .../CHIP/templates/availability.yaml | 56 +- .../Framework/CHIP/templates/templates.json | 5 + .../CHIP/zap-generated/MTRClusters.swift | 678 ++++++++++++++++++ .../Framework/CHIPTests/MTRDeviceTests.m | 17 + .../CHIPTests/MTRSwiftDeviceTests.swift | 20 +- .../Matter.xcodeproj/project.pbxproj | 26 + 8 files changed, 788 insertions(+), 31 deletions(-) create mode 100644 src/darwin/Framework/CHIP/templates/MTRClusters-swift.zapt create mode 100644 src/darwin/Framework/CHIP/zap-generated/MTRClusters.swift diff --git a/src/darwin/Framework/CHIP/MTRDefines.h b/src/darwin/Framework/CHIP/MTRDefines.h index add06898ec9080..00ff4b99310f87 100644 --- a/src/darwin/Framework/CHIP/MTRDefines.h +++ b/src/darwin/Framework/CHIP/MTRDefines.h @@ -67,7 +67,7 @@ #if MTR_ENABLE_PROVISIONAL #define MTR_PROVISIONALLY_AVAILABLE MTR_NEWLY_AVAILABLE #else -#define MTR_PROVISIONALLY_AVAILABLE NS_UNAVAILABLE MTR_HIDDEN +#define MTR_PROVISIONALLY_AVAILABLE API_UNAVAILABLE(ios, macos, tvos, watchos) MTR_HIDDEN #endif #ifndef MTR_PER_CONTROLLER_STORAGE_ENABLED diff --git a/src/darwin/Framework/CHIP/templates/MTRClusters-swift.zapt b/src/darwin/Framework/CHIP/templates/MTRClusters-swift.zapt new file mode 100644 index 00000000000000..2fc3162fd99acf --- /dev/null +++ b/src/darwin/Framework/CHIP/templates/MTRClusters-swift.zapt @@ -0,0 +1,15 @@ +{{> header excludeZapComment=true}} + +private let clusterQueue = DispatchQueue(label: "MTRCluster completion dispatch") + +{{#zcl_clusters}} +{{#if (isSupported (asUpperCamelCase name preserveAcronyms=true))}} +{{swiftAvailability (asUpperCamelCase name preserveAcronyms=true) minimalRelease="Future"}} +extension MTRCluster{{asUpperCamelCase name preserveAcronyms=true}} { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +{{/if}} +{{/zcl_clusters}} \ No newline at end of file diff --git a/src/darwin/Framework/CHIP/templates/availability.yaml b/src/darwin/Framework/CHIP/templates/availability.yaml index bd7f01d8ccc31a..563f58e9858ee2 100644 --- a/src/darwin/Framework/CHIP/templates/availability.yaml +++ b/src/darwin/Framework/CHIP/templates/availability.yaml @@ -74,10 +74,10 @@ - release: "Initial release" versions: - ios: "16.1" - macos: "13.0" - watchos: "9.1" - tvos: "16.1" + iOS: "16.1" + macOS: "13.0" + watchOS: "9.1" + tvOS: "16.1" introduced: clusters: - Identify @@ -4722,10 +4722,10 @@ - release: "First dot-release" versions: - ios: "16.2" - macos: "13.1" - watchos: "9.2" - tvos: "16.2" + iOS: "16.2" + macOS: "13.1" + watchOS: "9.2" + tvOS: "16.2" introduced: attributes: TestCluster: @@ -4778,10 +4778,10 @@ - release: "First major API revamp" versions: - ios: "16.4" - macos: "13.3" - watchos: "9.4" - tvos: "16.4" + iOS: "16.4" + macOS: "13.3" + watchOS: "9.4" + tvOS: "16.4" introduced: clusters: - OTASoftwareUpdateProvider @@ -6723,10 +6723,10 @@ - release: "First after major API revamp" versions: - ios: "16.5" - macos: "13.4" - watchos: "9.5" - tvos: "16.5" + iOS: "16.5" + macOS: "13.4" + watchOS: "9.5" + tvOS: "16.5" introduced: ids: attributes: @@ -7031,10 +7031,10 @@ - release: "Fall 2023" versions: - ios: "17.0" - macos: "14.0" - watchos: "10.0" - tvos: "17.0" + iOS: "17.0" + macOS: "14.0" + watchOS: "10.0" + tvOS: "17.0" introduced: attributes: BasicInformation: @@ -7515,10 +7515,10 @@ - release: "Fall 2023 #2" versions: - ios: "17.1" - macos: "14.1" - watchos: "10.1" - tvos: "17.1" + iOS: "17.1" + macOS: "14.1" + watchOS: "10.1" + tvOS: "17.1" introduced: bitmaps: TimeFormatLocalization: @@ -7583,10 +7583,10 @@ - release: "Fall 2023 #3" versions: - ios: "17.2" - macos: "14.2" - watchos: "10.2" - tvos: "17.2" + iOS: "17.2" + macOS: "14.2" + watchOS: "10.2" + tvOS: "17.2" introduced: command payloads: TimeSynchronization: diff --git a/src/darwin/Framework/CHIP/templates/templates.json b/src/darwin/Framework/CHIP/templates/templates.json index 47804e519dfba7..42a2ffc1cf6f03 100644 --- a/src/darwin/Framework/CHIP/templates/templates.json +++ b/src/darwin/Framework/CHIP/templates/templates.json @@ -79,6 +79,11 @@ "name": "Objc ZCL synchronous API", "output": "src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm" }, + { + "path": "MTRClusters-swift.zapt", + "name": "Swift ZCL synchronous API Header extensions", + "output": "src/darwin/Framework/CHIP/zap-generated/MTRClusters.swift" + }, { "path": "MTRStructsObjc.zapt", "name": "Objc reflections of MTR spec structs header", diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.swift b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.swift new file mode 100644 index 00000000000000..22ff7e4fd07c90 --- /dev/null +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.swift @@ -0,0 +1,678 @@ +/* + * + * Copyright (c) 2022 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +private let clusterQueue = DispatchQueue(label: "MTRCluster completion dispatch") + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterIdentify { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterGroups { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterScenes { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterOnOff { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterOnOffSwitchConfiguration { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterLevelControl { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterBinaryInputBasic { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterPulseWidthModulation { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterDescriptor { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterBinding { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterAccessControl { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterActions { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterBasicInformation { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterOTASoftwareUpdateProvider { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterOTASoftwareUpdateRequestor { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterLocalizationConfiguration { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterTimeFormatLocalization { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterUnitLocalization { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterPowerSourceConfiguration { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterPowerSource { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterGeneralCommissioning { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterNetworkCommissioning { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterDiagnosticLogs { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterGeneralDiagnostics { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterSoftwareDiagnostics { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterThreadNetworkDiagnostics { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterWiFiNetworkDiagnostics { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterEthernetNetworkDiagnostics { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterTimeSynchronization { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterBridgedDeviceBasicInformation { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterSwitch { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterAdministratorCommissioning { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterOperationalCredentials { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterGroupKeyManagement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterFixedLabel { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterUserLabel { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterBooleanState { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterICDManagement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterModeSelect { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterLaundryWasherMode { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterRefrigeratorAndTemperatureControlledCabinetMode { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterLaundryWasherControls { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterRVCRunMode { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterRVCCleanMode { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterTemperatureControl { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterRefrigeratorAlarm { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterDishwasherMode { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterAirQuality { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterSmokeCOAlarm { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterDishwasherAlarm { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterOperationalState { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterRVCOperationalState { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterHEPAFilterMonitoring { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterActivatedCarbonFilterMonitoring { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterDoorLock { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterWindowCovering { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterBarrierControl { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterPumpConfigurationAndControl { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterThermostat { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterFanControl { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterThermostatUserInterfaceConfiguration { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterColorControl { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterBallastConfiguration { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterIlluminanceMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterTemperatureMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterPressureMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterFlowMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterRelativeHumidityMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterOccupancySensing { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterCarbonMonoxideConcentrationMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterCarbonDioxideConcentrationMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterNitrogenDioxideConcentrationMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterOzoneConcentrationMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterPM25ConcentrationMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterFormaldehydeConcentrationMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterPM1ConcentrationMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterPM10ConcentrationMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterTotalVolatileOrganicCompoundsConcentrationMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterRadonConcentrationMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterWakeOnLAN { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterChannel { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterTargetNavigator { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterMediaPlayback { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterMediaInput { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterLowPower { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterKeypadInput { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterContentLauncher { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterAudioOutput { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterApplicationLauncher { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterApplicationBasic { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterAccountLogin { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterElectricalMeasurement { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS 17.2, macOS 14.2, watchOS 10.2, tvOS 17.2, *) +extension MTRClusterUnitTesting { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + +@available(iOS, unavailable) @available(macOS, unavailable) @available(tvOS, unavailable) @available(watchOS, unavailable) +extension MTRClusterSampleMEI { + public convenience init(device : MTRDevice, endpointID: UInt) { + self.init(device: device, endpointID: endpointID as NSNumber, queue: clusterQueue)! + } +} + diff --git a/src/darwin/Framework/CHIPTests/MTRDeviceTests.m b/src/darwin/Framework/CHIPTests/MTRDeviceTests.m index 603dea93d49288..462cc5959bf556 100644 --- a/src/darwin/Framework/CHIPTests/MTRDeviceTests.m +++ b/src/darwin/Framework/CHIPTests/MTRDeviceTests.m @@ -1513,6 +1513,23 @@ - (void)test017_TestMTRDeviceBasics XCTAssertNotEqual(attributeReportsReceived, 0); XCTAssertNotEqual(eventReportsReceived, 0); + // Check that we can read one of those attributes we received. + __auto_type * descriptorCluster = [[MTRClusterDescriptor alloc] initWithDevice:device endpointID:@(0) queue:queue]; + __auto_type * partsListDictionary = [descriptorCluster readAttributePartsListWithParams:nil]; + XCTAssertNotNil(partsListDictionary); + + __auto_type * responseValue = @{ + MTRAttributePathKey : [MTRAttributePath attributePathWithEndpointID:@(0) clusterID:@(MTRClusterIDTypeDescriptorID) attributeID:@(MTRAttributeIDTypeClusterDescriptorAttributePartsListID)], + MTRDataKey : partsListDictionary, + }; + + NSError * error; + __auto_type * report = [[MTRAttributeReport alloc] initWithResponseValue:responseValue error:&error]; + XCTAssertNil(error); + XCTAssertNotNil(report); + XCTAssertNotNil(report.value); + XCTAssertTrue([report.value isKindOfClass:NSArray.class]); + // Before resubscribe, first test write failure and expected value effects NSNumber * testEndpointID = @(1); NSNumber * testClusterID = @(8); diff --git a/src/darwin/Framework/CHIPTests/MTRSwiftDeviceTests.swift b/src/darwin/Framework/CHIPTests/MTRSwiftDeviceTests.swift index b800588e55cd03..aa4f21c4463491 100644 --- a/src/darwin/Framework/CHIPTests/MTRSwiftDeviceTests.swift +++ b/src/darwin/Framework/CHIPTests/MTRSwiftDeviceTests.swift @@ -100,8 +100,8 @@ class MTRSwiftDeviceTestDelegate : NSObject, MTRDeviceDelegate { // Because we are using things from Matter.framework that are flagged // as only being available starting with macOS 13.5, we need to flag our // code with the same availability annotation. -@available(macOS, introduced: 14.1) -@available(iOS, introduced: 17.1) +@available(macOS, introduced: 14.2) +@available(iOS, introduced: 17.2) class MTRSwiftDeviceTests : XCTestCase { static var sStackInitRan : Bool = false static var sNeedsStackShutdown : Bool = true @@ -292,6 +292,22 @@ class MTRSwiftDeviceTests : XCTestCase { XCTAssertNotEqual(attributeReportsReceived, 0) XCTAssertNotEqual(eventReportsReceived, 0) + // Check that we can read one of those attributes we received. + let descriptorCluster = MTRClusterDescriptor(device: device, endpointID: 0) + let partsListDictionary = descriptorCluster.readAttributePartsList(with: nil) + XCTAssertNotNil(partsListDictionary); + + let path = MTRAttributePath(endpointID: 0, + clusterID: MTRClusterIDType.descriptorID.rawValue as NSNumber, + attributeID: MTRAttributeIDType.clusterDescriptorAttributePartsListID.rawValue as NSNumber) + let responseValue : [String: Any] = [ + MTRAttributePathKey: path, + MTRDataKey: partsListDictionary!, + ] + let report = try! MTRAttributeReport(responseValue: responseValue) + XCTAssertNotNil(report.value) + XCTAssertTrue(report.value is [NSNumber]) + // Before resubscribe, first test write failure and expected value effects let testEndpointID = 1 as NSNumber let testClusterID = 8 as NSNumber diff --git a/src/darwin/Framework/Matter.xcodeproj/project.pbxproj b/src/darwin/Framework/Matter.xcodeproj/project.pbxproj index b2fc3f8c50e86a..2b88a47e65e1da 100644 --- a/src/darwin/Framework/Matter.xcodeproj/project.pbxproj +++ b/src/darwin/Framework/Matter.xcodeproj/project.pbxproj @@ -178,6 +178,7 @@ 51B22C222740CB1D008D5055 /* MTRCommandPayloadsObjc.h in Headers */ = {isa = PBXBuildFile; fileRef = 51B22C212740CB1D008D5055 /* MTRCommandPayloadsObjc.h */; settings = {ATTRIBUTES = (Public, ); }; }; 51B22C262740CB32008D5055 /* MTRStructsObjc.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51B22C252740CB32008D5055 /* MTRStructsObjc.mm */; }; 51B22C2A2740CB47008D5055 /* MTRCommandPayloadsObjc.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51B22C292740CB47008D5055 /* MTRCommandPayloadsObjc.mm */; }; + 51B6C5C62AD85B3D003F4D3A /* MTRClusters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51B6C5C52AD85B3D003F4D3A /* MTRClusters.swift */; }; 51C8E3F82825CDB600D47D00 /* MTRTestKeys.m in Sources */ = {isa = PBXBuildFile; fileRef = 51C8E3F72825CDB600D47D00 /* MTRTestKeys.m */; }; 51C984622A61CE2A00B0AD9A /* MTRFabricInfoChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 51C984602A61CE2A00B0AD9A /* MTRFabricInfoChecker.m */; }; 51CFDDB12AC5F78F00DA7CA5 /* EmptyDataModelHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51CFDDB02AC5F78F00DA7CA5 /* EmptyDataModelHandler.cpp */; }; @@ -540,6 +541,9 @@ 51B22C212740CB1D008D5055 /* MTRCommandPayloadsObjc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTRCommandPayloadsObjc.h; sourceTree = ""; }; 51B22C252740CB32008D5055 /* MTRStructsObjc.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MTRStructsObjc.mm; sourceTree = ""; }; 51B22C292740CB47008D5055 /* MTRCommandPayloadsObjc.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MTRCommandPayloadsObjc.mm; sourceTree = ""; }; + 51B6C5C52AD85B3D003F4D3A /* MTRClusters.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MTRClusters.swift; sourceTree = ""; }; + 51B6C5C72AD85B47003F4D3A /* MTRCommandPayloads_Internal.zapt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MTRCommandPayloads_Internal.zapt; sourceTree = ""; }; + 51B6C5C92AD85B50003F4D3A /* MTRClusters-swift.zapt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "MTRClusters-swift.zapt"; sourceTree = ""; }; 51C8E3F72825CDB600D47D00 /* MTRTestKeys.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTRTestKeys.m; sourceTree = ""; }; 51C984602A61CE2A00B0AD9A /* MTRFabricInfoChecker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MTRFabricInfoChecker.m; sourceTree = ""; }; 51C984612A61CE2A00B0AD9A /* MTRFabricInfoChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MTRFabricInfoChecker.h; sourceTree = ""; }; @@ -991,6 +995,7 @@ 51B22C1D2740CB0A008D5055 /* MTRStructsObjc.h */, 51B22C252740CB32008D5055 /* MTRStructsObjc.mm */, 5178E67D2AE098210069DF72 /* MTRCommandTimedCheck.mm */, + 51B6C5C52AD85B3D003F4D3A /* MTRClusters.swift */, ); path = "zap-generated"; sourceTree = ""; @@ -1024,8 +1029,10 @@ 3D843728294984AF0070D20A /* MTRClusters.zapt */, 3D843720294984AF0070D20A /* MTRClusters_Internal.zapt */, 3D843726294984AF0070D20A /* MTRClusters-src.zapt */, + 51B6C5C92AD85B50003F4D3A /* MTRClusters-swift.zapt */, 3D84371A294984AF0070D20A /* MTRCommandPayloadsObjc.zapt */, 3D843727294984AF0070D20A /* MTRCommandPayloadsObjc-src.zapt */, + 51B6C5C72AD85B47003F4D3A /* MTRCommandPayloads_Internal.zapt */, 3D84371D294984AF0070D20A /* MTREventTLVValueDecoder-src.zapt */, 3D84371F294984AF0070D20A /* MTRStructsObjc.zapt */, 3D843722294984AF0070D20A /* MTRStructsObjc-src.zapt */, @@ -1555,6 +1562,7 @@ }; B202528C2459E34F00F97062 = { CreatedOnToolsVersion = 11.4.1; + LastSwiftMigration = 1420; }; B20252952459E34F00F97062 = { CreatedOnToolsVersion = 11.4.1; @@ -1729,6 +1737,7 @@ 2C222AD1255C620600E446B9 /* MTRBaseDevice.mm in Sources */, 1EC3238D271999E2002A8BF0 /* cluster-objects.cpp in Sources */, 3CF134A9289D8D800017A19E /* MTRCSRInfo.mm in Sources */, + 51B6C5C62AD85B3D003F4D3A /* MTRClusters.swift in Sources */, 991DC0892475F47D00C13860 /* MTRDeviceController.mm in Sources */, B2E0D7B7245B0B5C003C5B48 /* MTRQRCodeSetupPayloadParser.mm in Sources */, 514304202914CED9004DC7FE /* generic-callback-stubs.cpp in Sources */, @@ -2036,6 +2045,7 @@ isa = XCBuildConfiguration; buildSettings = { CHIP_ROOT = "$(PROJECT_DIR)/../../.."; + CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -2065,6 +2075,11 @@ INFOPLIST_FILE = CHIP/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 13.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(TEMP_DIR)/out/lib"; OTHER_CFLAGS = "-fmacro-prefix-map=$(SRCROOT)/CHIP/="; OTHER_LDFLAGS = ""; @@ -2103,6 +2118,8 @@ PRODUCT_BUNDLE_IDENTIFIER = com.csa.matter; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; TAPI_VERIFY_MODE = Pedantic; TARGETED_DEVICE_FAMILY = "1,2,3,4"; VERSION_INFO_EXPORT_DECL = "__attribute__((visibility(\"hidden\")))"; @@ -2112,6 +2129,7 @@ BA09EB752474881D00605257 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; "HEADER_SEARCH_PATHS[arch=*]" = "$(PROJECT_DIR)/../../../src"; @@ -2200,6 +2218,7 @@ isa = XCBuildConfiguration; buildSettings = { CHIP_ROOT = "$(PROJECT_DIR)/../../.."; + CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -2229,6 +2248,11 @@ INFOPLIST_FILE = CHIP/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 13.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(TEMP_DIR)/out/lib"; OTHER_CFLAGS = "-fmacro-prefix-map=$(SRCROOT)/CHIP/="; OTHER_LDFLAGS = ""; @@ -2268,6 +2292,7 @@ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; STRIP_STYLE = "non-global"; + SWIFT_VERSION = 5.0; TAPI_VERIFY_MODE = Pedantic; TARGETED_DEVICE_FAMILY = "1,2,3,4"; VERSION_INFO_EXPORT_DECL = "__attribute__((visibility(\"hidden\")))"; @@ -2277,6 +2302,7 @@ BA09EB792474882200605257 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ENABLE_MODULES = YES; CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = ""; From 07d0417ec13e82df3480ed18a0a479544d230303 Mon Sep 17 00:00:00 2001 From: Matt Hazley Date: Tue, 24 Oct 2023 10:41:16 +0100 Subject: [PATCH 40/44] Air Purifier Example App (#29861) * Adding Air Purifier example framework and basic app, WIP * wip, started adding class structures * A messy yet stable version of the air-purifier, doesn't build as need to merge bug fix from upstream, WIP * Added TODO and tested following merge * The Air Quality Cluster API changed so updated constructor to take hard-coded features for now * Added common device callback interface and changed the MatterPostAttributeChangeCallback to call that * Changed the way we initialise the singleton Air Purifier Manager * Add air-purifier example for Ameba platform * Fixed wrong cluster revision in zap for concentraitons * Add air-purifier example for CC32xx platform * Add LastChangedTime and ReplaceableProductList To zap For HEPAFREMON And ACFREMON * Updates to zap file for missing attributes and commands * Adding PICS for the example * Add PostchangeCallback To CC32XX Example needed for writing the percentSetting to percentCurrent * Fix Zap File for RH - set Min/max/ MeasuredValue - enable tolerance attribute * Fix Zap File For Temp Measurement * Update ClusterRev For Thermostat From 5 To 6 * Update FeatureMap For Fan Control * Regenerate Matter File From Previous Zap Changes * Add Button Handler For CC32XX As a workaround save the KVS to NV when long pressing the right button. This can be used to save the state after e.g. a unpair. * Use Common filter-delegates.cpp For CC32XX Example * Switched thermostat pics to be AbsLimits on the setpoint * Updated the zapfile for thermostat * Adding thermostat manager * Changed all temperatures to be *100 and added callthrough from top level manager to thermostat when handling attribute changes * Added thermostat endpoint into init call * Changed name of attribute write handlers * Changed name of attribute write handlers * Add Thermostat-manager To CC32XX example * Add helper script for executing Air-Purifier tests * Remove duplicate line in air-purifier test runner script * Adding CHIP header comment to files * Removing Thermostat as the tests are broken for our use case * Removing TSTAT tests * Adding PICS folder in common with XML and simple PICS * Add Correct Device Type And Name * Removing Thermostat as the tests are broken for our use case * Add A Way To Reset The Matter Part Of The Device For CC32XX Air Purifier Example App this just deletes the kvs.cfg file on long pressing SW3 * Update README * Remove Commented Code * Update Copyright For CC32xx To 2023 * Update Copyright to 2023 For Ameba * Regenned after merging upstream * Added clearer Fan Mode support and some comments * Added comment re: TODO for thermostat endpoint * Restyled by whitespace * Restyled by clang-format * Restyled by gn * Restyled by prettier-markdown * Restyled by shellharden * Removed missing reference in cc32xx readme * Adding README for linux and adding all README's to the docs toctree * Attempt 2 at setting toctree for new readmes * Fix whitespace in script * Restyled by shfmt * Fixed spelling mistake in Readme * Update include paths * Add Ameba air-purifier example readme file * Add words to wordlist * Removed PICS and script, changed cc32xx headers to use pragma once * Restyled by clang-format * Restyled by prettier-markdown * Removed TODO's from common code as they were not relevant * Revert "Add words to wordlist" This reverts commit 894a12953b70bfaff282d20e8cb64e1afb8eb2b5. * Replace indentations with fenced code blocks and minor tidy up within air purifier example readme file * Removed old debug comments from gn file * Added linux air-purifier-app to the helper script for building examples * Added air-purifier example for linux to CI * Restyled by prettier-markdown --------- Co-authored-by: Chris Mapp Co-authored-by: Graf Tobias <4622393+tobiasgraf@users.noreply.github.com> Co-authored-by: Restyled.io --- .../workflows/examples-linux-standalone.yaml | 10 + .vscode/settings.json | 4 +- docs/examples/index.md | 11 +- .../air-purifier-common/BUILD.gn | 24 + .../air-purifier-app.matter | 2348 +++ .../air-purifier-common/air-purifier-app.zap | 16606 ++++++++++++++++ .../include/DeviceManager.h | 51 + .../include/air-purifier-manager.h | 162 + .../include/air-quality-sensor-manager.h | 90 + .../include/filter-delegates.h | 60 + .../relative-humidity-sensor-manager.h | 57 + .../include/temperature-sensor-manager.h | 57 + .../src/air-purifier-manager.cpp | 311 + .../src/air-quality-sensor-manager.cpp | 158 + .../src/filter-delegates.cpp | 108 + examples/air-purifier-app/ameba/.gitignore | 5 + examples/air-purifier-app/ameba/README.md | 117 + .../air-purifier-app/ameba/chip_main.cmake | 284 + .../ameba/main/CHIPDeviceManager.cpp | 112 + .../ameba/main/DeviceCallbacks.cpp | 182 + .../ameba/main/chipinterface.cpp | 175 + .../ameba/main/include/CHIPDeviceManager.h | 123 + .../ameba/main/include/CHIPProjectAppConfig.h | 38 + .../ameba/main/include/DeviceCallbacks.h | 43 + .../ameba/third_party/connectedhomeip | 1 + examples/air-purifier-app/cc32xx/.gn | 28 + examples/air-purifier-app/cc32xx/BUILD.gn | 126 + examples/air-purifier-app/cc32xx/README.md | 163 + examples/air-purifier-app/cc32xx/args.gni | 44 + .../air-purifier-app/cc32xx/build_overrides | 1 + examples/air-purifier-app/cc32xx/chip.syscfg | 74 + .../air-purifier-app/cc32xx/main/AppConfig.h | 31 + .../air-purifier-app/cc32xx/main/AppEvent.h | 57 + .../air-purifier-app/cc32xx/main/AppTask.cpp | 282 + .../air-purifier-app/cc32xx/main/AppTask.h | 68 + .../cc32xx/main/CHIPDeviceManager.cpp | 63 + .../cc32xx/main/CXXExceptionStubs.cpp | 80 + .../cc32xx/main/DeviceCallbacks.cpp | 45 + .../cc32xx/main/ZclCallbacks.cpp | 61 + .../cc32xx/main/cc32xxWifiInit.c | 243 + .../cc32xx/main/debug_settings.h | 39 + .../cc32xx/main/include/CHIPDeviceManager.h | 106 + .../cc32xx/main/include/CHIPProjectConfig.h | 127 + .../cc32xx/main/include/DeviceCallbacks.h | 40 + .../air-purifier-app/cc32xx/main/main.cpp | 76 + .../cc32xx/main/wifi_settings.h | 99 + .../cc32xx/third_party/connectedhomeip | 1 + examples/air-purifier-app/linux/.gn | 25 + examples/air-purifier-app/linux/BUILD.gn | 61 + examples/air-purifier-app/linux/README.md | 109 + examples/air-purifier-app/linux/args.gni | 25 + .../air-purifier-app/linux/build_overrides | 1 + .../linux/include/CHIPProjectAppConfig.h | 38 + examples/air-purifier-app/linux/main.cpp | 72 + .../linux/third_party/connectedhomeip | 1 + scripts/build/build/targets.py | 1 + scripts/build/builders/host.py | 6 + .../build/testdata/all_targets_linux_x64.txt | 2 +- 58 files changed, 23329 insertions(+), 3 deletions(-) create mode 100755 examples/air-purifier-app/air-purifier-common/BUILD.gn create mode 100644 examples/air-purifier-app/air-purifier-common/air-purifier-app.matter create mode 100644 examples/air-purifier-app/air-purifier-common/air-purifier-app.zap create mode 100644 examples/air-purifier-app/air-purifier-common/include/DeviceManager.h create mode 100644 examples/air-purifier-app/air-purifier-common/include/air-purifier-manager.h create mode 100644 examples/air-purifier-app/air-purifier-common/include/air-quality-sensor-manager.h create mode 100644 examples/air-purifier-app/air-purifier-common/include/filter-delegates.h create mode 100644 examples/air-purifier-app/air-purifier-common/include/relative-humidity-sensor-manager.h create mode 100644 examples/air-purifier-app/air-purifier-common/include/temperature-sensor-manager.h create mode 100644 examples/air-purifier-app/air-purifier-common/src/air-purifier-manager.cpp create mode 100644 examples/air-purifier-app/air-purifier-common/src/air-quality-sensor-manager.cpp create mode 100644 examples/air-purifier-app/air-purifier-common/src/filter-delegates.cpp create mode 100644 examples/air-purifier-app/ameba/.gitignore create mode 100644 examples/air-purifier-app/ameba/README.md create mode 100755 examples/air-purifier-app/ameba/chip_main.cmake create mode 100644 examples/air-purifier-app/ameba/main/CHIPDeviceManager.cpp create mode 100644 examples/air-purifier-app/ameba/main/DeviceCallbacks.cpp create mode 100644 examples/air-purifier-app/ameba/main/chipinterface.cpp create mode 100644 examples/air-purifier-app/ameba/main/include/CHIPDeviceManager.h create mode 100644 examples/air-purifier-app/ameba/main/include/CHIPProjectAppConfig.h create mode 100755 examples/air-purifier-app/ameba/main/include/DeviceCallbacks.h create mode 120000 examples/air-purifier-app/ameba/third_party/connectedhomeip create mode 100644 examples/air-purifier-app/cc32xx/.gn create mode 100755 examples/air-purifier-app/cc32xx/BUILD.gn create mode 100644 examples/air-purifier-app/cc32xx/README.md create mode 100755 examples/air-purifier-app/cc32xx/args.gni create mode 120000 examples/air-purifier-app/cc32xx/build_overrides create mode 100755 examples/air-purifier-app/cc32xx/chip.syscfg create mode 100755 examples/air-purifier-app/cc32xx/main/AppConfig.h create mode 100755 examples/air-purifier-app/cc32xx/main/AppEvent.h create mode 100644 examples/air-purifier-app/cc32xx/main/AppTask.cpp create mode 100644 examples/air-purifier-app/cc32xx/main/AppTask.h create mode 100644 examples/air-purifier-app/cc32xx/main/CHIPDeviceManager.cpp create mode 100755 examples/air-purifier-app/cc32xx/main/CXXExceptionStubs.cpp create mode 100644 examples/air-purifier-app/cc32xx/main/DeviceCallbacks.cpp create mode 100644 examples/air-purifier-app/cc32xx/main/ZclCallbacks.cpp create mode 100644 examples/air-purifier-app/cc32xx/main/cc32xxWifiInit.c create mode 100644 examples/air-purifier-app/cc32xx/main/debug_settings.h create mode 100644 examples/air-purifier-app/cc32xx/main/include/CHIPDeviceManager.h create mode 100644 examples/air-purifier-app/cc32xx/main/include/CHIPProjectConfig.h create mode 100644 examples/air-purifier-app/cc32xx/main/include/DeviceCallbacks.h create mode 100644 examples/air-purifier-app/cc32xx/main/main.cpp create mode 100644 examples/air-purifier-app/cc32xx/main/wifi_settings.h create mode 120000 examples/air-purifier-app/cc32xx/third_party/connectedhomeip create mode 100644 examples/air-purifier-app/linux/.gn create mode 100644 examples/air-purifier-app/linux/BUILD.gn create mode 100644 examples/air-purifier-app/linux/README.md create mode 100644 examples/air-purifier-app/linux/args.gni create mode 120000 examples/air-purifier-app/linux/build_overrides create mode 100644 examples/air-purifier-app/linux/include/CHIPProjectAppConfig.h create mode 100644 examples/air-purifier-app/linux/main.cpp create mode 120000 examples/air-purifier-app/linux/third_party/connectedhomeip diff --git a/.github/workflows/examples-linux-standalone.yaml b/.github/workflows/examples-linux-standalone.yaml index 0c8f6c4cb1ee0f..8661b99d253b5f 100644 --- a/.github/workflows/examples-linux-standalone.yaml +++ b/.github/workflows/examples-linux-standalone.yaml @@ -186,6 +186,16 @@ jobs: "./scripts/build/build_examples.py \ --target linux-x64-contact-sensor-no-ble-with-ui \ build" + - name: Build example Air Purifier + run: | + ./scripts/run_in_build_env.sh \ + "./scripts/build/build_examples.py \ + --target linux-x64-air-purifier \ + build" + .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ + linux debug air-purifier-app \ + out/linux-x64-air-purifier/chip-air-purifier-app \ + /tmp/bloat_reports/ - name: Uploading Size Reports uses: ./.github/actions/upload-size-reports if: ${{ !env.ACT }} diff --git a/.vscode/settings.json b/.vscode/settings.json index 7524bf25d83ec2..bfac435030bb4f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -115,7 +115,9 @@ "condition_variable": "cpp", "numeric": "cpp", "random": "cpp", - "thread": "cpp" + "thread": "cpp", + "variant": "cpp", + "any": "cpp" }, // Configure paths or glob patterns to exclude from file watching. "files.watcherExclude": { diff --git a/docs/examples/index.md b/docs/examples/index.md index e5144f81885039..c6d211bcaeee9d 100644 --- a/docs/examples/index.md +++ b/docs/examples/index.md @@ -303,7 +303,7 @@ window-app/**/README resource-monitoring-app/**/README ``` -## Air Quality Sensor example +## RVC example ```{toctree} :glob: @@ -311,3 +311,12 @@ resource-monitoring-app/**/README rvc-app/README ``` + +## Air Purifier Example + +```{toctree} +:glob: +:maxdepth: 1 + +air-purifier-app/**/README +``` diff --git a/examples/air-purifier-app/air-purifier-common/BUILD.gn b/examples/air-purifier-app/air-purifier-common/BUILD.gn new file mode 100755 index 00000000000000..9715f88e65f2b3 --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/BUILD.gn @@ -0,0 +1,24 @@ +# Copyright (c) 2020 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/chip.gni") +import("${chip_root}/src/app/chip_data_model.gni") + +chip_data_model("air-purifier-common") { + zap_file = "air-purifier-app.zap" + + zap_pregenerated_dir = + "${chip_root}/zzz_generated/air-purifier-app/zap-generated" + is_server = true +} diff --git a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter new file mode 100644 index 00000000000000..24ac42c7435063 --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter @@ -0,0 +1,2348 @@ +// This IDL was generated automatically by ZAP. +// It is for view/code review purposes only. + +/** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ +server cluster Identify = 3 { + enum EffectIdentifierEnum : enum8 { + kBlink = 0; + kBreathe = 1; + kOkay = 2; + kChannelChange = 11; + kFinishEffect = 254; + kStopEffect = 255; + } + + enum EffectVariantEnum : enum8 { + kDefault = 0; + } + + enum IdentifyTypeEnum : enum8 { + kNone = 0; + kLightOutput = 1; + kVisibleIndicator = 2; + kAudibleBeep = 3; + kDisplay = 4; + kActuator = 5; + } + + attribute int16u identifyTime = 0; + readonly attribute IdentifyTypeEnum identifyType = 1; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct IdentifyRequest { + int16u identifyTime = 0; + } + + request struct TriggerEffectRequest { + EffectIdentifierEnum effectIdentifier = 0; + EffectVariantEnum effectVariant = 1; + } + + command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0; + command access(invoke: manage) TriggerEffect(TriggerEffectRequest): DefaultSuccess = 64; +} + +/** The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. */ +server cluster Descriptor = 29 { + bitmap Feature : bitmap32 { + kTagList = 0x1; + } + + struct DeviceTypeStruct { + devtype_id deviceType = 0; + int16u revision = 1; + } + + struct SemanticTagStruct { + nullable vendor_id mfgCode = 0; + enum8 namespaceID = 1; + enum8 tag = 2; + optional nullable char_string label = 3; + } + + readonly attribute DeviceTypeStruct deviceTypeList[] = 0; + readonly attribute cluster_id serverList[] = 1; + readonly attribute cluster_id clientList[] = 2; + readonly attribute endpoint_no partsList[] = 3; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** The Access Control Cluster exposes a data model view of a + Node's Access Control List (ACL), which codifies the rules used to manage + and enforce Access Control for the Node's endpoints and their associated + cluster instances. */ +server cluster AccessControl = 31 { + enum AccessControlEntryAuthModeEnum : enum8 { + kPASE = 1; + kCASE = 2; + kGroup = 3; + } + + enum AccessControlEntryPrivilegeEnum : enum8 { + kView = 1; + kProxyView = 2; + kOperate = 3; + kManage = 4; + kAdminister = 5; + } + + enum ChangeTypeEnum : enum8 { + kChanged = 0; + kAdded = 1; + kRemoved = 2; + } + + struct AccessControlTargetStruct { + nullable cluster_id cluster = 0; + nullable endpoint_no endpoint = 1; + nullable devtype_id deviceType = 2; + } + + fabric_scoped struct AccessControlEntryStruct { + fabric_sensitive AccessControlEntryPrivilegeEnum privilege = 1; + fabric_sensitive AccessControlEntryAuthModeEnum authMode = 2; + nullable fabric_sensitive int64u subjects[] = 3; + nullable fabric_sensitive AccessControlTargetStruct targets[] = 4; + fabric_idx fabricIndex = 254; + } + + fabric_scoped struct AccessControlExtensionStruct { + fabric_sensitive octet_string<128> data = 1; + fabric_idx fabricIndex = 254; + } + + fabric_sensitive info event access(read: administer) AccessControlEntryChanged = 0 { + nullable node_id adminNodeID = 1; + nullable int16u adminPasscodeID = 2; + ChangeTypeEnum changeType = 3; + nullable AccessControlEntryStruct latestValue = 4; + fabric_idx fabricIndex = 254; + } + + fabric_sensitive info event access(read: administer) AccessControlExtensionChanged = 1 { + nullable node_id adminNodeID = 1; + nullable int16u adminPasscodeID = 2; + ChangeTypeEnum changeType = 3; + nullable AccessControlExtensionStruct latestValue = 4; + fabric_idx fabricIndex = 254; + } + + attribute access(read: administer, write: administer) AccessControlEntryStruct acl[] = 0; + attribute access(read: administer, write: administer) AccessControlExtensionStruct extension[] = 1; + readonly attribute int16u subjectsPerAccessControlEntry = 2; + readonly attribute int16u targetsPerAccessControlEntry = 3; + readonly attribute int16u accessControlEntriesPerFabric = 4; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** This cluster provides attributes and events for determining basic information about Nodes, which supports both + Commissioning and operational determination of Node characteristics, such as Vendor ID, Product ID and serial number, + which apply to the whole Node. Also allows setting user device information such as location. */ +server cluster BasicInformation = 40 { + enum ColorEnum : enum8 { + kBlack = 0; + kNavy = 1; + kGreen = 2; + kTeal = 3; + kMaroon = 4; + kPurple = 5; + kOlive = 6; + kGray = 7; + kBlue = 8; + kLime = 9; + kAqua = 10; + kRed = 11; + kFuchsia = 12; + kYellow = 13; + kWhite = 14; + kNickel = 15; + kChrome = 16; + kBrass = 17; + kCopper = 18; + kSilver = 19; + kGold = 20; + } + + enum ProductFinishEnum : enum8 { + kOther = 0; + kMatte = 1; + kSatin = 2; + kPolished = 3; + kRugged = 4; + kFabric = 5; + } + + struct CapabilityMinimaStruct { + int16u caseSessionsPerFabric = 0; + int16u subscriptionsPerFabric = 1; + } + + struct ProductAppearanceStruct { + ProductFinishEnum finish = 0; + nullable ColorEnum primaryColor = 1; + } + + critical event StartUp = 0 { + int32u softwareVersion = 0; + } + + critical event ShutDown = 1 { + } + + info event Leave = 2 { + fabric_idx fabricIndex = 0; + } + + info event ReachableChanged = 3 { + boolean reachableNewValue = 0; + } + + readonly attribute int16u dataModelRevision = 0; + readonly attribute char_string<32> vendorName = 1; + readonly attribute vendor_id vendorID = 2; + readonly attribute char_string<32> productName = 3; + readonly attribute int16u productID = 4; + attribute access(write: manage) char_string<32> nodeLabel = 5; + attribute access(write: administer) char_string<2> location = 6; + readonly attribute int16u hardwareVersion = 7; + readonly attribute char_string<64> hardwareVersionString = 8; + readonly attribute int32u softwareVersion = 9; + readonly attribute char_string<64> softwareVersionString = 10; + readonly attribute char_string<16> manufacturingDate = 11; + readonly attribute char_string<32> partNumber = 12; + readonly attribute long_char_string<256> productURL = 13; + readonly attribute char_string<64> productLabel = 14; + readonly attribute char_string<32> serialNumber = 15; + attribute access(write: manage) boolean localConfigDisabled = 16; + readonly attribute char_string<32> uniqueID = 18; + readonly attribute CapabilityMinimaStruct capabilityMinima = 19; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Provides an interface for providing OTA software updates */ +client cluster OtaSoftwareUpdateProvider = 41 { + enum ApplyUpdateActionEnum : enum8 { + kProceed = 0; + kAwaitNextAction = 1; + kDiscontinue = 2; + } + + enum DownloadProtocolEnum : enum8 { + kBDXSynchronous = 0; + kBDXAsynchronous = 1; + kHTTPS = 2; + kVendorSpecific = 3; + } + + enum StatusEnum : enum8 { + kUpdateAvailable = 0; + kBusy = 1; + kNotAvailable = 2; + kDownloadProtocolNotSupported = 3; + } + + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct QueryImageRequest { + vendor_id vendorID = 0; + int16u productID = 1; + int32u softwareVersion = 2; + DownloadProtocolEnum protocolsSupported[] = 3; + optional int16u hardwareVersion = 4; + optional char_string<2> location = 5; + optional boolean requestorCanConsent = 6; + optional octet_string<512> metadataForProvider = 7; + } + + response struct QueryImageResponse = 1 { + StatusEnum status = 0; + optional int32u delayedActionTime = 1; + optional char_string<256> imageURI = 2; + optional int32u softwareVersion = 3; + optional char_string<64> softwareVersionString = 4; + optional octet_string<32> updateToken = 5; + optional boolean userConsentNeeded = 6; + optional octet_string<512> metadataForRequestor = 7; + } + + request struct ApplyUpdateRequestRequest { + octet_string<32> updateToken = 0; + int32u newVersion = 1; + } + + response struct ApplyUpdateResponse = 3 { + ApplyUpdateActionEnum action = 0; + int32u delayedActionTime = 1; + } + + request struct NotifyUpdateAppliedRequest { + octet_string<32> updateToken = 0; + int32u softwareVersion = 1; + } + + /** Determine availability of a new Software Image */ + command QueryImage(QueryImageRequest): QueryImageResponse = 0; + /** Determine next action to take for a downloaded Software Image */ + command ApplyUpdateRequest(ApplyUpdateRequestRequest): ApplyUpdateResponse = 2; + /** Notify OTA Provider that an update was applied */ + command NotifyUpdateApplied(NotifyUpdateAppliedRequest): DefaultSuccess = 4; +} + +/** Provides an interface for downloading and applying OTA software updates */ +server cluster OtaSoftwareUpdateRequestor = 42 { + enum AnnouncementReasonEnum : enum8 { + kSimpleAnnouncement = 0; + kUpdateAvailable = 1; + kUrgentUpdateAvailable = 2; + } + + enum ChangeReasonEnum : enum8 { + kUnknown = 0; + kSuccess = 1; + kFailure = 2; + kTimeOut = 3; + kDelayByProvider = 4; + } + + enum UpdateStateEnum : enum8 { + kUnknown = 0; + kIdle = 1; + kQuerying = 2; + kDelayedOnQuery = 3; + kDownloading = 4; + kApplying = 5; + kDelayedOnApply = 6; + kRollingBack = 7; + kDelayedOnUserConsent = 8; + } + + fabric_scoped struct ProviderLocation { + node_id providerNodeID = 1; + endpoint_no endpoint = 2; + fabric_idx fabricIndex = 254; + } + + info event StateTransition = 0 { + UpdateStateEnum previousState = 0; + UpdateStateEnum newState = 1; + ChangeReasonEnum reason = 2; + nullable int32u targetSoftwareVersion = 3; + } + + critical event VersionApplied = 1 { + int32u softwareVersion = 0; + int16u productID = 1; + } + + info event DownloadError = 2 { + int32u softwareVersion = 0; + int64u bytesDownloaded = 1; + nullable int8u progressPercent = 2; + nullable int64s platformCode = 3; + } + + attribute ProviderLocation defaultOTAProviders[] = 0; + readonly attribute boolean updatePossible = 1; + readonly attribute UpdateStateEnum updateState = 2; + readonly attribute nullable int8u updateStateProgress = 3; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct AnnounceOTAProviderRequest { + node_id providerNodeID = 0; + vendor_id vendorID = 1; + AnnouncementReasonEnum announcementReason = 2; + optional octet_string<512> metadataForNode = 3; + endpoint_no endpoint = 4; + } + + command AnnounceOTAProvider(AnnounceOTAProviderRequest): DefaultSuccess = 0; +} + +/** This cluster is used to manage global aspects of the Commissioning flow. */ +server cluster GeneralCommissioning = 48 { + enum CommissioningErrorEnum : enum8 { + kOK = 0; + kValueOutsideRange = 1; + kInvalidAuthentication = 2; + kNoFailSafe = 3; + kBusyWithOtherAdmin = 4; + } + + enum RegulatoryLocationTypeEnum : enum8 { + kIndoor = 0; + kOutdoor = 1; + kIndoorOutdoor = 2; + } + + struct BasicCommissioningInfo { + int16u failSafeExpiryLengthSeconds = 0; + int16u maxCumulativeFailsafeSeconds = 1; + } + + attribute access(write: administer) int64u breadcrumb = 0; + readonly attribute BasicCommissioningInfo basicCommissioningInfo = 1; + readonly attribute RegulatoryLocationTypeEnum regulatoryConfig = 2; + readonly attribute RegulatoryLocationTypeEnum locationCapability = 3; + readonly attribute boolean supportsConcurrentConnection = 4; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct ArmFailSafeRequest { + int16u expiryLengthSeconds = 0; + int64u breadcrumb = 1; + } + + request struct SetRegulatoryConfigRequest { + RegulatoryLocationTypeEnum newRegulatoryConfig = 0; + char_string countryCode = 1; + int64u breadcrumb = 2; + } + + response struct ArmFailSafeResponse = 1 { + CommissioningErrorEnum errorCode = 0; + char_string debugText = 1; + } + + response struct SetRegulatoryConfigResponse = 3 { + CommissioningErrorEnum errorCode = 0; + char_string debugText = 1; + } + + response struct CommissioningCompleteResponse = 5 { + CommissioningErrorEnum errorCode = 0; + char_string debugText = 1; + } + + command access(invoke: administer) ArmFailSafe(ArmFailSafeRequest): ArmFailSafeResponse = 0; + command access(invoke: administer) SetRegulatoryConfig(SetRegulatoryConfigRequest): SetRegulatoryConfigResponse = 2; + fabric command access(invoke: administer) CommissioningComplete(): CommissioningCompleteResponse = 4; +} + +/** Functionality to configure, enable, disable network credentials and access on a Matter device. */ +server cluster NetworkCommissioning = 49 { + enum NetworkCommissioningStatusEnum : enum8 { + kSuccess = 0; + kOutOfRange = 1; + kBoundsExceeded = 2; + kNetworkIDNotFound = 3; + kDuplicateNetworkID = 4; + kNetworkNotFound = 5; + kRegulatoryError = 6; + kAuthFailure = 7; + kUnsupportedSecurity = 8; + kOtherConnectionFailure = 9; + kIPV6Failed = 10; + kIPBindFailed = 11; + kUnknownError = 12; + } + + enum WiFiBandEnum : enum8 { + k2G4 = 0; + k3G65 = 1; + k5G = 2; + k6G = 3; + k60G = 4; + k1G = 5; + } + + bitmap Feature : bitmap32 { + kWiFiNetworkInterface = 0x1; + kThreadNetworkInterface = 0x2; + kEthernetNetworkInterface = 0x4; + } + + bitmap WiFiSecurityBitmap : bitmap8 { + kUnencrypted = 0x1; + kWEP = 0x2; + kWPAPersonal = 0x4; + kWPA2Personal = 0x8; + kWPA3Personal = 0x10; + } + + struct NetworkInfoStruct { + octet_string<32> networkID = 0; + boolean connected = 1; + } + + struct ThreadInterfaceScanResultStruct { + int16u panId = 0; + int64u extendedPanId = 1; + char_string<16> networkName = 2; + int16u channel = 3; + int8u version = 4; + octet_string<8> extendedAddress = 5; + int8s rssi = 6; + int8u lqi = 7; + } + + struct WiFiInterfaceScanResultStruct { + WiFiSecurityBitmap security = 0; + octet_string<32> ssid = 1; + octet_string<6> bssid = 2; + int16u channel = 3; + WiFiBandEnum wiFiBand = 4; + int8s rssi = 5; + } + + readonly attribute access(read: administer) int8u maxNetworks = 0; + readonly attribute access(read: administer) NetworkInfoStruct networks[] = 1; + readonly attribute int8u scanMaxTimeSeconds = 2; + readonly attribute int8u connectMaxTimeSeconds = 3; + attribute access(write: administer) boolean interfaceEnabled = 4; + readonly attribute access(read: administer) nullable NetworkCommissioningStatusEnum lastNetworkingStatus = 5; + readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6; + readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct ScanNetworksRequest { + optional nullable octet_string<32> ssid = 0; + optional int64u breadcrumb = 1; + } + + request struct AddOrUpdateWiFiNetworkRequest { + octet_string<32> ssid = 0; + octet_string<64> credentials = 1; + optional int64u breadcrumb = 2; + } + + request struct AddOrUpdateThreadNetworkRequest { + octet_string<254> operationalDataset = 0; + optional int64u breadcrumb = 1; + } + + request struct RemoveNetworkRequest { + octet_string<32> networkID = 0; + optional int64u breadcrumb = 1; + } + + request struct ConnectNetworkRequest { + octet_string<32> networkID = 0; + optional int64u breadcrumb = 1; + } + + request struct ReorderNetworkRequest { + octet_string<32> networkID = 0; + int8u networkIndex = 1; + optional int64u breadcrumb = 2; + } + + response struct ScanNetworksResponse = 1 { + NetworkCommissioningStatusEnum networkingStatus = 0; + optional char_string debugText = 1; + optional WiFiInterfaceScanResultStruct wiFiScanResults[] = 2; + optional ThreadInterfaceScanResultStruct threadScanResults[] = 3; + } + + response struct NetworkConfigResponse = 5 { + NetworkCommissioningStatusEnum networkingStatus = 0; + optional char_string<512> debugText = 1; + optional int8u networkIndex = 2; + } + + response struct ConnectNetworkResponse = 7 { + NetworkCommissioningStatusEnum networkingStatus = 0; + optional char_string debugText = 1; + nullable int32s errorValue = 2; + } + + command access(invoke: administer) ScanNetworks(ScanNetworksRequest): ScanNetworksResponse = 0; + command access(invoke: administer) AddOrUpdateWiFiNetwork(AddOrUpdateWiFiNetworkRequest): NetworkConfigResponse = 2; + command access(invoke: administer) AddOrUpdateThreadNetwork(AddOrUpdateThreadNetworkRequest): NetworkConfigResponse = 3; + command access(invoke: administer) RemoveNetwork(RemoveNetworkRequest): NetworkConfigResponse = 4; + command access(invoke: administer) ConnectNetwork(ConnectNetworkRequest): ConnectNetworkResponse = 6; + command access(invoke: administer) ReorderNetwork(ReorderNetworkRequest): NetworkConfigResponse = 8; +} + +/** The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. */ +server cluster DiagnosticLogs = 50 { + enum IntentEnum : enum8 { + kEndUserSupport = 0; + kNetworkDiag = 1; + kCrashLogs = 2; + } + + enum StatusEnum : enum8 { + kSuccess = 0; + kExhausted = 1; + kNoLogs = 2; + kBusy = 3; + kDenied = 4; + } + + enum TransferProtocolEnum : enum8 { + kResponsePayload = 0; + kBDX = 1; + } + + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct RetrieveLogsRequestRequest { + IntentEnum intent = 0; + TransferProtocolEnum requestedProtocol = 1; + optional char_string<32> transferFileDesignator = 2; + } + + command RetrieveLogsRequest(RetrieveLogsRequestRequest): RetrieveLogsResponse = 0; +} + +/** The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ +server cluster GeneralDiagnostics = 51 { + enum BootReasonEnum : enum8 { + kUnspecified = 0; + kPowerOnReboot = 1; + kBrownOutReset = 2; + kSoftwareWatchdogReset = 3; + kHardwareWatchdogReset = 4; + kSoftwareUpdateCompleted = 5; + kSoftwareReset = 6; + } + + enum HardwareFaultEnum : enum8 { + kUnspecified = 0; + kRadio = 1; + kSensor = 2; + kResettableOverTemp = 3; + kNonResettableOverTemp = 4; + kPowerSource = 5; + kVisualDisplayFault = 6; + kAudioOutputFault = 7; + kUserInterfaceFault = 8; + kNonVolatileMemoryError = 9; + kTamperDetected = 10; + } + + enum InterfaceTypeEnum : enum8 { + kUnspecified = 0; + kWiFi = 1; + kEthernet = 2; + kCellular = 3; + kThread = 4; + } + + enum NetworkFaultEnum : enum8 { + kUnspecified = 0; + kHardwareFailure = 1; + kNetworkJammed = 2; + kConnectionFailed = 3; + } + + enum RadioFaultEnum : enum8 { + kUnspecified = 0; + kWiFiFault = 1; + kCellularFault = 2; + kThreadFault = 3; + kNFCFault = 4; + kBLEFault = 5; + kEthernetFault = 6; + } + + struct NetworkInterface { + char_string<32> name = 0; + boolean isOperational = 1; + nullable boolean offPremiseServicesReachableIPv4 = 2; + nullable boolean offPremiseServicesReachableIPv6 = 3; + octet_string<8> hardwareAddress = 4; + octet_string IPv4Addresses[] = 5; + octet_string IPv6Addresses[] = 6; + InterfaceTypeEnum type = 7; + } + + critical event HardwareFaultChange = 0 { + HardwareFaultEnum current[] = 0; + HardwareFaultEnum previous[] = 1; + } + + critical event RadioFaultChange = 1 { + RadioFaultEnum current[] = 0; + RadioFaultEnum previous[] = 1; + } + + critical event NetworkFaultChange = 2 { + NetworkFaultEnum current[] = 0; + NetworkFaultEnum previous[] = 1; + } + + critical event BootReason = 3 { + BootReasonEnum bootReason = 0; + } + + readonly attribute NetworkInterface networkInterfaces[] = 0; + readonly attribute int16u rebootCount = 1; + readonly attribute int64u upTime = 2; + readonly attribute int32u totalOperationalHours = 3; + readonly attribute BootReasonEnum bootReason = 4; + readonly attribute HardwareFaultEnum activeHardwareFaults[] = 5; + readonly attribute RadioFaultEnum activeRadioFaults[] = 6; + readonly attribute NetworkFaultEnum activeNetworkFaults[] = 7; + readonly attribute boolean testEventTriggersEnabled = 8; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct TestEventTriggerRequest { + octet_string<16> enableKey = 0; + int64u eventTrigger = 1; + } + + command access(invoke: manage) TestEventTrigger(TestEventTriggerRequest): DefaultSuccess = 0; +} + +/** Commands to trigger a Node to allow a new Administrator to commission it. */ +server cluster AdministratorCommissioning = 60 { + enum CommissioningWindowStatusEnum : enum8 { + kWindowNotOpen = 0; + kEnhancedWindowOpen = 1; + kBasicWindowOpen = 2; + } + + enum StatusCode : enum8 { + kBusy = 2; + kPAKEParameterError = 3; + kWindowNotOpen = 4; + } + + readonly attribute CommissioningWindowStatusEnum windowStatus = 0; + readonly attribute nullable fabric_idx adminFabricIndex = 1; + readonly attribute nullable int16u adminVendorId = 2; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct OpenCommissioningWindowRequest { + int16u commissioningTimeout = 0; + octet_string PAKEPasscodeVerifier = 1; + int16u discriminator = 2; + int32u iterations = 3; + octet_string salt = 4; + } + + request struct OpenBasicCommissioningWindowRequest { + int16u commissioningTimeout = 0; + } + + timed command access(invoke: administer) OpenCommissioningWindow(OpenCommissioningWindowRequest): DefaultSuccess = 0; + timed command access(invoke: administer) OpenBasicCommissioningWindow(OpenBasicCommissioningWindowRequest): DefaultSuccess = 1; + timed command access(invoke: administer) RevokeCommissioning(): DefaultSuccess = 2; +} + +/** This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ +server cluster OperationalCredentials = 62 { + enum CertificateChainTypeEnum : enum8 { + kDACCertificate = 1; + kPAICertificate = 2; + } + + enum NodeOperationalCertStatusEnum : enum8 { + kOK = 0; + kInvalidPublicKey = 1; + kInvalidNodeOpId = 2; + kInvalidNOC = 3; + kMissingCsr = 4; + kTableFull = 5; + kInvalidAdminSubject = 6; + kFabricConflict = 9; + kLabelConflict = 10; + kInvalidFabricIndex = 11; + } + + fabric_scoped struct FabricDescriptorStruct { + octet_string<65> rootPublicKey = 1; + vendor_id vendorID = 2; + fabric_id fabricID = 3; + node_id nodeID = 4; + char_string<32> label = 5; + fabric_idx fabricIndex = 254; + } + + fabric_scoped struct NOCStruct { + fabric_sensitive octet_string noc = 1; + nullable fabric_sensitive octet_string icac = 2; + fabric_idx fabricIndex = 254; + } + + readonly attribute access(read: administer) NOCStruct NOCs[] = 0; + readonly attribute FabricDescriptorStruct fabrics[] = 1; + readonly attribute int8u supportedFabrics = 2; + readonly attribute int8u commissionedFabrics = 3; + readonly attribute octet_string trustedRootCertificates[] = 4; + readonly attribute int8u currentFabricIndex = 5; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct AttestationRequestRequest { + octet_string attestationNonce = 0; + } + + request struct CertificateChainRequestRequest { + CertificateChainTypeEnum certificateType = 0; + } + + request struct CSRRequestRequest { + octet_string CSRNonce = 0; + optional boolean isForUpdateNOC = 1; + } + + request struct AddNOCRequest { + octet_string NOCValue = 0; + optional octet_string ICACValue = 1; + octet_string IPKValue = 2; + int64u caseAdminSubject = 3; + vendor_id adminVendorId = 4; + } + + request struct UpdateNOCRequest { + octet_string NOCValue = 0; + optional octet_string ICACValue = 1; + } + + request struct UpdateFabricLabelRequest { + char_string<32> label = 0; + } + + request struct RemoveFabricRequest { + fabric_idx fabricIndex = 0; + } + + request struct AddTrustedRootCertificateRequest { + octet_string rootCACertificate = 0; + } + + response struct AttestationResponse = 1 { + octet_string attestationElements = 0; + octet_string attestationSignature = 1; + } + + response struct CertificateChainResponse = 3 { + octet_string certificate = 0; + } + + response struct CSRResponse = 5 { + octet_string NOCSRElements = 0; + octet_string attestationSignature = 1; + } + + response struct NOCResponse = 8 { + NodeOperationalCertStatusEnum statusCode = 0; + optional fabric_idx fabricIndex = 1; + optional char_string debugText = 2; + } + + command access(invoke: administer) AttestationRequest(AttestationRequestRequest): AttestationResponse = 0; + command access(invoke: administer) CertificateChainRequest(CertificateChainRequestRequest): CertificateChainResponse = 2; + command access(invoke: administer) CSRRequest(CSRRequestRequest): CSRResponse = 4; + command access(invoke: administer) AddNOC(AddNOCRequest): NOCResponse = 6; + fabric command access(invoke: administer) UpdateNOC(UpdateNOCRequest): NOCResponse = 7; + fabric command access(invoke: administer) UpdateFabricLabel(UpdateFabricLabelRequest): NOCResponse = 9; + command access(invoke: administer) RemoveFabric(RemoveFabricRequest): NOCResponse = 10; + command access(invoke: administer) AddTrustedRootCertificate(AddTrustedRootCertificateRequest): DefaultSuccess = 11; +} + +/** The Group Key Management Cluster is the mechanism by which group keys are managed. */ +server cluster GroupKeyManagement = 63 { + enum GroupKeySecurityPolicyEnum : enum8 { + kTrustFirst = 0; + kCacheAndSync = 1; + } + + bitmap Feature : bitmap32 { + kCacheAndSync = 0x1; + } + + fabric_scoped struct GroupInfoMapStruct { + group_id groupId = 1; + endpoint_no endpoints[] = 2; + optional char_string<16> groupName = 3; + fabric_idx fabricIndex = 254; + } + + fabric_scoped struct GroupKeyMapStruct { + group_id groupId = 1; + int16u groupKeySetID = 2; + fabric_idx fabricIndex = 254; + } + + struct GroupKeySetStruct { + int16u groupKeySetID = 0; + GroupKeySecurityPolicyEnum groupKeySecurityPolicy = 1; + nullable octet_string<16> epochKey0 = 2; + nullable epoch_us epochStartTime0 = 3; + nullable octet_string<16> epochKey1 = 4; + nullable epoch_us epochStartTime1 = 5; + nullable octet_string<16> epochKey2 = 6; + nullable epoch_us epochStartTime2 = 7; + } + + attribute access(write: manage) GroupKeyMapStruct groupKeyMap[] = 0; + readonly attribute GroupInfoMapStruct groupTable[] = 1; + readonly attribute int16u maxGroupsPerFabric = 2; + readonly attribute int16u maxGroupKeysPerFabric = 3; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct KeySetWriteRequest { + GroupKeySetStruct groupKeySet = 0; + } + + request struct KeySetReadRequest { + int16u groupKeySetID = 0; + } + + request struct KeySetRemoveRequest { + int16u groupKeySetID = 0; + } + + response struct KeySetReadResponse = 2 { + GroupKeySetStruct groupKeySet = 0; + } + + response struct KeySetReadAllIndicesResponse = 5 { + int16u groupKeySetIDs[] = 0; + } + + fabric command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0; + fabric command access(invoke: administer) KeySetRead(KeySetReadRequest): KeySetReadResponse = 1; + fabric command access(invoke: administer) KeySetRemove(KeySetRemoveRequest): DefaultSuccess = 3; + fabric command access(invoke: administer) KeySetReadAllIndices(): KeySetReadAllIndicesResponse = 4; +} + +/** Attributes for reporting air quality classification */ +server cluster AirQuality = 91 { + enum AirQualityEnum : enum8 { + kUnknown = 0; + kGood = 1; + kFair = 2; + kModerate = 3; + kPoor = 4; + kVeryPoor = 5; + kExtremelyPoor = 6; + } + + bitmap Feature : bitmap32 { + kFair = 0x1; + kModerate = 0x2; + kVeryPoor = 0x4; + kExtremelyPoor = 0x8; + } + + readonly attribute AirQualityEnum airQuality = 0; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes and commands for monitoring HEPA filters in a device */ +server cluster HepaFilterMonitoring = 113 { + enum ChangeIndicationEnum : enum8 { + kOK = 0; + kWarning = 1; + kCritical = 2; + } + + enum DegradationDirectionEnum : enum8 { + kUp = 0; + kDown = 1; + } + + enum ProductIdentifierTypeEnum : enum8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + + bitmap Feature : bitmap32 { + kCondition = 0x1; + kWarning = 0x2; + kReplacementProductList = 0x4; + } + + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + + readonly attribute percent condition = 0; + readonly attribute DegradationDirectionEnum degradationDirection = 1; + readonly attribute ChangeIndicationEnum changeIndication = 2; + readonly attribute boolean inPlaceIndicator = 3; + attribute nullable epoch_s lastChangedTime = 4; + readonly attribute ReplacementProductStruct replacementProductList[] = 5; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + command ResetCondition(): DefaultSuccess = 0; +} + +/** Attributes and commands for monitoring activated carbon filters in a device */ +server cluster ActivatedCarbonFilterMonitoring = 114 { + enum ChangeIndicationEnum : enum8 { + kOK = 0; + kWarning = 1; + kCritical = 2; + } + + enum DegradationDirectionEnum : enum8 { + kUp = 0; + kDown = 1; + } + + enum ProductIdentifierTypeEnum : enum8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + + bitmap Feature : bitmap32 { + kCondition = 0x1; + kWarning = 0x2; + kReplacementProductList = 0x4; + } + + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + + readonly attribute percent condition = 0; + readonly attribute DegradationDirectionEnum degradationDirection = 1; + readonly attribute ChangeIndicationEnum changeIndication = 2; + readonly attribute boolean inPlaceIndicator = 3; + attribute nullable epoch_s lastChangedTime = 4; + readonly attribute ReplacementProductStruct replacementProductList[] = 5; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + command ResetCondition(): DefaultSuccess = 0; +} + +/** An interface for controlling a fan in a heating/cooling system. */ +provisional server cluster FanControl = 514 { + enum AirflowDirectionEnum : enum8 { + kForward = 0; + kReverse = 1; + } + + enum FanModeEnum : enum8 { + kOff = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kOn = 4; + kAuto = 5; + kSmart = 6; + } + + enum FanModeSequenceEnum : enum8 { + kOffLowMedHigh = 0; + kOffLowHigh = 1; + kOffLowMedHighAuto = 2; + kOffLowHighAuto = 3; + kOffOnAuto = 4; + kOffOn = 5; + } + + enum StepDirectionEnum : enum8 { + kIncrease = 0; + kDecrease = 1; + } + + bitmap Feature : bitmap32 { + kMultiSpeed = 0x1; + kAuto = 0x2; + kRocking = 0x4; + kWind = 0x8; + kStep = 0x10; + kAirflowDirection = 0x20; + } + + bitmap RockBitmap : bitmap8 { + kRockLeftRight = 0x1; + kRockUpDown = 0x2; + kRockRound = 0x4; + } + + bitmap WindBitmap : bitmap8 { + kSleepWind = 0x1; + kNaturalWind = 0x2; + } + + attribute FanModeEnum fanMode = 0; + attribute FanModeSequenceEnum fanModeSequence = 1; + attribute nullable percent percentSetting = 2; + readonly attribute percent percentCurrent = 3; + readonly attribute int8u speedMax = 4; + attribute nullable int8u speedSetting = 5; + readonly attribute int8u speedCurrent = 6; + readonly attribute RockBitmap rockSupport = 7; + attribute RockBitmap rockSetting = 8; + readonly attribute WindBitmap windSupport = 9; + attribute WindBitmap windSetting = 10; + attribute AirflowDirectionEnum airflowDirection = 11; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + + request struct StepRequest { + StepDirectionEnum direction = 0; + optional boolean wrap = 1; + optional boolean lowestOff = 2; + } + + command Step(StepRequest): DefaultSuccess = 0; +} + +/** Attributes and commands for configuring the measurement of temperature, and reporting temperature measurements. */ +server cluster TemperatureMeasurement = 1026 { + readonly attribute nullable int16s measuredValue = 0; + readonly attribute nullable int16s minMeasuredValue = 1; + readonly attribute nullable int16s maxMeasuredValue = 2; + readonly attribute int16u tolerance = 3; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes and commands for configuring the measurement of relative humidity, and reporting relative humidity measurements. */ +server cluster RelativeHumidityMeasurement = 1029 { + readonly attribute nullable int16u measuredValue = 0; + readonly attribute nullable int16u minMeasuredValue = 1; + readonly attribute nullable int16u maxMeasuredValue = 2; + readonly attribute int16u tolerance = 3; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes for reporting carbon monoxide concentration measurements */ +server cluster CarbonMonoxideConcentrationMeasurement = 1036 { + enum LevelValueEnum : enum8 { + kUnknown = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kCritical = 4; + } + + enum MeasurementMediumEnum : enum8 { + kAir = 0; + kWater = 1; + kSoil = 2; + } + + enum MeasurementUnitEnum : enum8 { + kPPM = 0; + kPPB = 1; + kPPT = 2; + kMGM3 = 3; + kUGM3 = 4; + kNGM3 = 5; + kPM3 = 6; + kBQM3 = 7; + } + + bitmap Feature : bitmap32 { + kNumericMeasurement = 0x1; + kLevelIndication = 0x2; + kMediumLevel = 0x4; + kCriticalLevel = 0x8; + kPeakMeasurement = 0x10; + kAverageMeasurement = 0x20; + } + + readonly attribute nullable single measuredValue = 0; + readonly attribute nullable single minMeasuredValue = 1; + readonly attribute nullable single maxMeasuredValue = 2; + readonly attribute nullable single peakMeasuredValue = 3; + readonly attribute elapsed_s peakMeasuredValueWindow = 4; + readonly attribute nullable single averageMeasuredValue = 5; + readonly attribute elapsed_s averageMeasuredValueWindow = 6; + readonly attribute single uncertainty = 7; + readonly attribute MeasurementUnitEnum measurementUnit = 8; + readonly attribute MeasurementMediumEnum measurementMedium = 9; + readonly attribute LevelValueEnum levelValue = 10; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes for reporting carbon dioxide concentration measurements */ +server cluster CarbonDioxideConcentrationMeasurement = 1037 { + enum LevelValueEnum : enum8 { + kUnknown = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kCritical = 4; + } + + enum MeasurementMediumEnum : enum8 { + kAir = 0; + kWater = 1; + kSoil = 2; + } + + enum MeasurementUnitEnum : enum8 { + kPPM = 0; + kPPB = 1; + kPPT = 2; + kMGM3 = 3; + kUGM3 = 4; + kNGM3 = 5; + kPM3 = 6; + kBQM3 = 7; + } + + bitmap Feature : bitmap32 { + kNumericMeasurement = 0x1; + kLevelIndication = 0x2; + kMediumLevel = 0x4; + kCriticalLevel = 0x8; + kPeakMeasurement = 0x10; + kAverageMeasurement = 0x20; + } + + readonly attribute nullable single measuredValue = 0; + readonly attribute nullable single minMeasuredValue = 1; + readonly attribute nullable single maxMeasuredValue = 2; + readonly attribute nullable single peakMeasuredValue = 3; + readonly attribute elapsed_s peakMeasuredValueWindow = 4; + readonly attribute nullable single averageMeasuredValue = 5; + readonly attribute elapsed_s averageMeasuredValueWindow = 6; + readonly attribute single uncertainty = 7; + readonly attribute MeasurementUnitEnum measurementUnit = 8; + readonly attribute MeasurementMediumEnum measurementMedium = 9; + readonly attribute LevelValueEnum levelValue = 10; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes for reporting nitrogen dioxide concentration measurements */ +server cluster NitrogenDioxideConcentrationMeasurement = 1043 { + enum LevelValueEnum : enum8 { + kUnknown = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kCritical = 4; + } + + enum MeasurementMediumEnum : enum8 { + kAir = 0; + kWater = 1; + kSoil = 2; + } + + enum MeasurementUnitEnum : enum8 { + kPPM = 0; + kPPB = 1; + kPPT = 2; + kMGM3 = 3; + kUGM3 = 4; + kNGM3 = 5; + kPM3 = 6; + kBQM3 = 7; + } + + bitmap Feature : bitmap32 { + kNumericMeasurement = 0x1; + kLevelIndication = 0x2; + kMediumLevel = 0x4; + kCriticalLevel = 0x8; + kPeakMeasurement = 0x10; + kAverageMeasurement = 0x20; + } + + readonly attribute nullable single measuredValue = 0; + readonly attribute nullable single minMeasuredValue = 1; + readonly attribute nullable single maxMeasuredValue = 2; + readonly attribute nullable single peakMeasuredValue = 3; + readonly attribute elapsed_s peakMeasuredValueWindow = 4; + readonly attribute nullable single averageMeasuredValue = 5; + readonly attribute elapsed_s averageMeasuredValueWindow = 6; + readonly attribute single uncertainty = 7; + readonly attribute MeasurementUnitEnum measurementUnit = 8; + readonly attribute MeasurementMediumEnum measurementMedium = 9; + readonly attribute LevelValueEnum levelValue = 10; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes for reporting ozone concentration measurements */ +server cluster OzoneConcentrationMeasurement = 1045 { + enum LevelValueEnum : enum8 { + kUnknown = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kCritical = 4; + } + + enum MeasurementMediumEnum : enum8 { + kAir = 0; + kWater = 1; + kSoil = 2; + } + + enum MeasurementUnitEnum : enum8 { + kPPM = 0; + kPPB = 1; + kPPT = 2; + kMGM3 = 3; + kUGM3 = 4; + kNGM3 = 5; + kPM3 = 6; + kBQM3 = 7; + } + + bitmap Feature : bitmap32 { + kNumericMeasurement = 0x1; + kLevelIndication = 0x2; + kMediumLevel = 0x4; + kCriticalLevel = 0x8; + kPeakMeasurement = 0x10; + kAverageMeasurement = 0x20; + } + + readonly attribute nullable single measuredValue = 0; + readonly attribute nullable single minMeasuredValue = 1; + readonly attribute nullable single maxMeasuredValue = 2; + readonly attribute nullable single peakMeasuredValue = 3; + readonly attribute elapsed_s peakMeasuredValueWindow = 4; + readonly attribute nullable single averageMeasuredValue = 5; + readonly attribute elapsed_s averageMeasuredValueWindow = 6; + readonly attribute single uncertainty = 7; + readonly attribute MeasurementUnitEnum measurementUnit = 8; + readonly attribute MeasurementMediumEnum measurementMedium = 9; + readonly attribute LevelValueEnum levelValue = 10; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes for reporting PM2.5 concentration measurements */ +server cluster Pm25ConcentrationMeasurement = 1066 { + enum LevelValueEnum : enum8 { + kUnknown = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kCritical = 4; + } + + enum MeasurementMediumEnum : enum8 { + kAir = 0; + kWater = 1; + kSoil = 2; + } + + enum MeasurementUnitEnum : enum8 { + kPPM = 0; + kPPB = 1; + kPPT = 2; + kMGM3 = 3; + kUGM3 = 4; + kNGM3 = 5; + kPM3 = 6; + kBQM3 = 7; + } + + bitmap Feature : bitmap32 { + kNumericMeasurement = 0x1; + kLevelIndication = 0x2; + kMediumLevel = 0x4; + kCriticalLevel = 0x8; + kPeakMeasurement = 0x10; + kAverageMeasurement = 0x20; + } + + readonly attribute nullable single measuredValue = 0; + readonly attribute nullable single minMeasuredValue = 1; + readonly attribute nullable single maxMeasuredValue = 2; + readonly attribute nullable single peakMeasuredValue = 3; + readonly attribute elapsed_s peakMeasuredValueWindow = 4; + readonly attribute nullable single averageMeasuredValue = 5; + readonly attribute elapsed_s averageMeasuredValueWindow = 6; + readonly attribute single uncertainty = 7; + readonly attribute MeasurementUnitEnum measurementUnit = 8; + readonly attribute MeasurementMediumEnum measurementMedium = 9; + readonly attribute LevelValueEnum levelValue = 10; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes for reporting formaldehyde concentration measurements */ +server cluster FormaldehydeConcentrationMeasurement = 1067 { + enum LevelValueEnum : enum8 { + kUnknown = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kCritical = 4; + } + + enum MeasurementMediumEnum : enum8 { + kAir = 0; + kWater = 1; + kSoil = 2; + } + + enum MeasurementUnitEnum : enum8 { + kPPM = 0; + kPPB = 1; + kPPT = 2; + kMGM3 = 3; + kUGM3 = 4; + kNGM3 = 5; + kPM3 = 6; + kBQM3 = 7; + } + + bitmap Feature : bitmap32 { + kNumericMeasurement = 0x1; + kLevelIndication = 0x2; + kMediumLevel = 0x4; + kCriticalLevel = 0x8; + kPeakMeasurement = 0x10; + kAverageMeasurement = 0x20; + } + + readonly attribute nullable single measuredValue = 0; + readonly attribute nullable single minMeasuredValue = 1; + readonly attribute nullable single maxMeasuredValue = 2; + readonly attribute nullable single peakMeasuredValue = 3; + readonly attribute elapsed_s peakMeasuredValueWindow = 4; + readonly attribute nullable single averageMeasuredValue = 5; + readonly attribute elapsed_s averageMeasuredValueWindow = 6; + readonly attribute single uncertainty = 7; + readonly attribute MeasurementUnitEnum measurementUnit = 8; + readonly attribute MeasurementMediumEnum measurementMedium = 9; + readonly attribute LevelValueEnum levelValue = 10; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes for reporting PM1 concentration measurements */ +server cluster Pm1ConcentrationMeasurement = 1068 { + enum LevelValueEnum : enum8 { + kUnknown = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kCritical = 4; + } + + enum MeasurementMediumEnum : enum8 { + kAir = 0; + kWater = 1; + kSoil = 2; + } + + enum MeasurementUnitEnum : enum8 { + kPPM = 0; + kPPB = 1; + kPPT = 2; + kMGM3 = 3; + kUGM3 = 4; + kNGM3 = 5; + kPM3 = 6; + kBQM3 = 7; + } + + bitmap Feature : bitmap32 { + kNumericMeasurement = 0x1; + kLevelIndication = 0x2; + kMediumLevel = 0x4; + kCriticalLevel = 0x8; + kPeakMeasurement = 0x10; + kAverageMeasurement = 0x20; + } + + readonly attribute nullable single measuredValue = 0; + readonly attribute nullable single minMeasuredValue = 1; + readonly attribute nullable single maxMeasuredValue = 2; + readonly attribute nullable single peakMeasuredValue = 3; + readonly attribute elapsed_s peakMeasuredValueWindow = 4; + readonly attribute nullable single averageMeasuredValue = 5; + readonly attribute elapsed_s averageMeasuredValueWindow = 6; + readonly attribute single uncertainty = 7; + readonly attribute MeasurementUnitEnum measurementUnit = 8; + readonly attribute MeasurementMediumEnum measurementMedium = 9; + readonly attribute LevelValueEnum levelValue = 10; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes for reporting PM10 concentration measurements */ +server cluster Pm10ConcentrationMeasurement = 1069 { + enum LevelValueEnum : enum8 { + kUnknown = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kCritical = 4; + } + + enum MeasurementMediumEnum : enum8 { + kAir = 0; + kWater = 1; + kSoil = 2; + } + + enum MeasurementUnitEnum : enum8 { + kPPM = 0; + kPPB = 1; + kPPT = 2; + kMGM3 = 3; + kUGM3 = 4; + kNGM3 = 5; + kPM3 = 6; + kBQM3 = 7; + } + + bitmap Feature : bitmap32 { + kNumericMeasurement = 0x1; + kLevelIndication = 0x2; + kMediumLevel = 0x4; + kCriticalLevel = 0x8; + kPeakMeasurement = 0x10; + kAverageMeasurement = 0x20; + } + + readonly attribute nullable single measuredValue = 0; + readonly attribute nullable single minMeasuredValue = 1; + readonly attribute nullable single maxMeasuredValue = 2; + readonly attribute nullable single peakMeasuredValue = 3; + readonly attribute elapsed_s peakMeasuredValueWindow = 4; + readonly attribute nullable single averageMeasuredValue = 5; + readonly attribute elapsed_s averageMeasuredValueWindow = 6; + readonly attribute single uncertainty = 7; + readonly attribute MeasurementUnitEnum measurementUnit = 8; + readonly attribute MeasurementMediumEnum measurementMedium = 9; + readonly attribute LevelValueEnum levelValue = 10; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes for reporting total volatile organic compounds concentration measurements */ +server cluster TotalVolatileOrganicCompoundsConcentrationMeasurement = 1070 { + enum LevelValueEnum : enum8 { + kUnknown = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kCritical = 4; + } + + enum MeasurementMediumEnum : enum8 { + kAir = 0; + kWater = 1; + kSoil = 2; + } + + enum MeasurementUnitEnum : enum8 { + kPPM = 0; + kPPB = 1; + kPPT = 2; + kMGM3 = 3; + kUGM3 = 4; + kNGM3 = 5; + kPM3 = 6; + kBQM3 = 7; + } + + bitmap Feature : bitmap32 { + kNumericMeasurement = 0x1; + kLevelIndication = 0x2; + kMediumLevel = 0x4; + kCriticalLevel = 0x8; + kPeakMeasurement = 0x10; + kAverageMeasurement = 0x20; + } + + readonly attribute nullable single measuredValue = 0; + readonly attribute nullable single minMeasuredValue = 1; + readonly attribute nullable single maxMeasuredValue = 2; + readonly attribute nullable single peakMeasuredValue = 3; + readonly attribute elapsed_s peakMeasuredValueWindow = 4; + readonly attribute nullable single averageMeasuredValue = 5; + readonly attribute elapsed_s averageMeasuredValueWindow = 6; + readonly attribute single uncertainty = 7; + readonly attribute MeasurementUnitEnum measurementUnit = 8; + readonly attribute MeasurementMediumEnum measurementMedium = 9; + readonly attribute LevelValueEnum levelValue = 10; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +/** Attributes for reporting radon concentration measurements */ +server cluster RadonConcentrationMeasurement = 1071 { + enum LevelValueEnum : enum8 { + kUnknown = 0; + kLow = 1; + kMedium = 2; + kHigh = 3; + kCritical = 4; + } + + enum MeasurementMediumEnum : enum8 { + kAir = 0; + kWater = 1; + kSoil = 2; + } + + enum MeasurementUnitEnum : enum8 { + kPPM = 0; + kPPB = 1; + kPPT = 2; + kMGM3 = 3; + kUGM3 = 4; + kNGM3 = 5; + kPM3 = 6; + kBQM3 = 7; + } + + bitmap Feature : bitmap32 { + kNumericMeasurement = 0x1; + kLevelIndication = 0x2; + kMediumLevel = 0x4; + kCriticalLevel = 0x8; + kPeakMeasurement = 0x10; + kAverageMeasurement = 0x20; + } + + readonly attribute nullable single measuredValue = 0; + readonly attribute nullable single minMeasuredValue = 1; + readonly attribute nullable single maxMeasuredValue = 2; + readonly attribute nullable single peakMeasuredValue = 3; + readonly attribute elapsed_s peakMeasuredValueWindow = 4; + readonly attribute nullable single averageMeasuredValue = 5; + readonly attribute elapsed_s averageMeasuredValueWindow = 6; + readonly attribute single uncertainty = 7; + readonly attribute MeasurementUnitEnum measurementUnit = 8; + readonly attribute MeasurementMediumEnum measurementMedium = 9; + readonly attribute LevelValueEnum levelValue = 10; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute event_id eventList[] = 65530; + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; +} + +endpoint 0 { + device type ma_rootdevice = 22, version 1; + + binding cluster OtaSoftwareUpdateProvider; + + server cluster Descriptor { + callback attribute deviceTypeList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + ram attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + } + + server cluster AccessControl { + emits event AccessControlEntryChanged; + emits event AccessControlExtensionChanged; + callback attribute acl; + callback attribute extension; + callback attribute subjectsPerAccessControlEntry; + callback attribute targetsPerAccessControlEntry; + callback attribute accessControlEntriesPerFabric; + callback attribute attributeList; + ram attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + } + + server cluster BasicInformation { + emits event StartUp; + emits event ShutDown; + emits event Leave; + callback attribute dataModelRevision default = 10; + callback attribute vendorName; + callback attribute vendorID; + callback attribute productName; + callback attribute productID; + persist attribute nodeLabel; + callback attribute location default = "XX"; + callback attribute hardwareVersion default = 0; + callback attribute hardwareVersionString; + callback attribute softwareVersion default = 0; + callback attribute softwareVersionString; + callback attribute manufacturingDate default = "20210614123456ZZ"; + callback attribute partNumber; + callback attribute productURL; + callback attribute productLabel; + callback attribute serialNumber; + persist attribute localConfigDisabled default = 0; + callback attribute uniqueID; + callback attribute capabilityMinima; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 1; + } + + server cluster OtaSoftwareUpdateRequestor { + emits event StateTransition; + emits event VersionApplied; + emits event DownloadError; + callback attribute defaultOTAProviders; + ram attribute updatePossible default = 1; + ram attribute updateState default = 0; + ram attribute updateStateProgress default = 0; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 1; + + handle command AnnounceOTAProvider; + } + + server cluster GeneralCommissioning { + ram attribute breadcrumb default = 0x0000000000000000; + callback attribute basicCommissioningInfo; + callback attribute regulatoryConfig default = 0; + callback attribute locationCapability default = 0; + callback attribute supportsConcurrentConnection default = 1; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 0x0001; + + handle command ArmFailSafe; + handle command ArmFailSafeResponse; + handle command SetRegulatoryConfig; + handle command SetRegulatoryConfigResponse; + handle command CommissioningComplete; + handle command CommissioningCompleteResponse; + } + + server cluster NetworkCommissioning { + ram attribute maxNetworks; + callback attribute networks; + ram attribute scanMaxTimeSeconds; + ram attribute connectMaxTimeSeconds; + ram attribute interfaceEnabled; + ram attribute lastNetworkingStatus; + ram attribute lastNetworkID; + ram attribute lastConnectErrorValue; + ram attribute featureMap default = 1; + ram attribute clusterRevision default = 0x0001; + + handle command ScanNetworks; + handle command ScanNetworksResponse; + handle command AddOrUpdateWiFiNetwork; + handle command AddOrUpdateThreadNetwork; + handle command RemoveNetwork; + handle command NetworkConfigResponse; + handle command ConnectNetwork; + handle command ConnectNetworkResponse; + handle command ReorderNetwork; + } + + server cluster DiagnosticLogs { + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 1; + + handle command RetrieveLogsRequest; + } + + server cluster GeneralDiagnostics { + emits event BootReason; + callback attribute networkInterfaces; + callback attribute rebootCount default = 0x0000; + callback attribute upTime default = 0x0000000000000000; + callback attribute totalOperationalHours default = 0x00000000; + callback attribute bootReason; + callback attribute activeHardwareFaults; + callback attribute activeRadioFaults; + callback attribute activeNetworkFaults; + callback attribute testEventTriggersEnabled default = false; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 0x0001; + + handle command TestEventTrigger; + } + + server cluster AdministratorCommissioning { + callback attribute windowStatus default = 0; + callback attribute adminFabricIndex default = 1; + callback attribute adminVendorId default = 0; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 0x0001; + + handle command OpenCommissioningWindow; + handle command OpenBasicCommissioningWindow; + handle command RevokeCommissioning; + } + + server cluster OperationalCredentials { + callback attribute NOCs; + callback attribute fabrics; + callback attribute supportedFabrics; + callback attribute commissionedFabrics; + callback attribute trustedRootCertificates; + callback attribute currentFabricIndex; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 0x0001; + + handle command AttestationRequest; + handle command AttestationResponse; + handle command CertificateChainRequest; + handle command CertificateChainResponse; + handle command CSRRequest; + handle command CSRResponse; + handle command AddNOC; + handle command UpdateNOC; + handle command NOCResponse; + handle command UpdateFabricLabel; + handle command RemoveFabric; + handle command AddTrustedRootCertificate; + } + + server cluster GroupKeyManagement { + callback attribute groupKeyMap; + callback attribute groupTable; + callback attribute maxGroupsPerFabric; + callback attribute maxGroupKeysPerFabric; + callback attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + + handle command KeySetWrite; + handle command KeySetRead; + handle command KeySetReadResponse; + handle command KeySetRemove; + handle command KeySetReadAllIndices; + handle command KeySetReadAllIndicesResponse; + } +} +endpoint 1 { + device type ma_air_purifier = 45, version 1; + + + server cluster Identify { + ram attribute identifyTime default = 0x0; + ram attribute identifyType default = 0x0; + callback attribute generatedCommandList default = 0; + callback attribute acceptedCommandList default = 0; + callback attribute eventList; + callback attribute attributeList default = 0; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 2; + + handle command Identify; + handle command TriggerEffect; + } + + server cluster Descriptor { + callback attribute deviceTypeList default = 0; + callback attribute serverList default = 0; + callback attribute clientList default = 0; + callback attribute partsList default = 0; + callback attribute generatedCommandList default = 0; + callback attribute acceptedCommandList default = 0; + callback attribute eventList; + callback attribute attributeList default = 0; + ram attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + } + + server cluster HepaFilterMonitoring { + callback attribute condition default = 100; + callback attribute degradationDirection default = 1; + callback attribute changeIndication default = 0; + callback attribute inPlaceIndicator default = 1; + callback attribute lastChangedTime; + callback attribute replacementProductList; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 1; + + handle command ResetCondition; + } + + server cluster ActivatedCarbonFilterMonitoring { + callback attribute condition default = 100; + callback attribute degradationDirection default = 1; + callback attribute changeIndication default = 0; + callback attribute inPlaceIndicator default = 1; + callback attribute lastChangedTime; + callback attribute replacementProductList; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 1; + + handle command ResetCondition; + } + + server cluster FanControl { + ram attribute fanMode default = 0; + ram attribute fanModeSequence default = 2; + ram attribute percentSetting default = 0; + ram attribute percentCurrent default = 0; + ram attribute speedMax default = 10; + ram attribute speedSetting default = 0; + ram attribute speedCurrent default = 0; + ram attribute rockSupport default = 0x01; + ram attribute rockSetting default = 0x00; + ram attribute windSupport default = 0x03; + ram attribute windSetting default = 0x00; + ram attribute airflowDirection default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + ram attribute featureMap default = 63; + ram attribute clusterRevision default = 4; + + handle command Step; + } +} +endpoint 2 { + device type ma_air_quality_sensor = 44, version 1; + + + server cluster Identify { + ram attribute identifyTime default = 0x0; + ram attribute identifyType default = 0x00; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 4; + + handle command Identify; + } + + server cluster Descriptor { + callback attribute deviceTypeList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + ram attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + } + + server cluster AirQuality { + callback attribute airQuality default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 1; + } + + server cluster CarbonMonoxideConcentrationMeasurement { + callback attribute measuredValue; + callback attribute minMeasuredValue; + callback attribute maxMeasuredValue; + callback attribute peakMeasuredValue; + callback attribute peakMeasuredValueWindow default = 1; + callback attribute averageMeasuredValue; + callback attribute averageMeasuredValueWindow default = 1; + callback attribute uncertainty default = 0; + callback attribute measurementUnit default = 0; + callback attribute measurementMedium default = 0; + callback attribute levelValue default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } + + server cluster CarbonDioxideConcentrationMeasurement { + callback attribute measuredValue; + callback attribute minMeasuredValue; + callback attribute maxMeasuredValue; + callback attribute peakMeasuredValue; + callback attribute peakMeasuredValueWindow default = 1; + callback attribute averageMeasuredValue; + callback attribute averageMeasuredValueWindow default = 1; + callback attribute uncertainty default = 0; + callback attribute measurementUnit default = 0; + callback attribute measurementMedium default = 0; + callback attribute levelValue default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } + + server cluster NitrogenDioxideConcentrationMeasurement { + callback attribute measuredValue; + callback attribute minMeasuredValue; + callback attribute maxMeasuredValue; + callback attribute peakMeasuredValue; + callback attribute peakMeasuredValueWindow default = 1; + callback attribute averageMeasuredValue; + callback attribute averageMeasuredValueWindow default = 1; + callback attribute uncertainty default = 0; + callback attribute measurementUnit default = 0; + callback attribute measurementMedium default = 0; + callback attribute levelValue default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } + + server cluster OzoneConcentrationMeasurement { + callback attribute measuredValue; + callback attribute minMeasuredValue; + callback attribute maxMeasuredValue; + callback attribute peakMeasuredValue; + callback attribute peakMeasuredValueWindow default = 1; + callback attribute averageMeasuredValue; + callback attribute averageMeasuredValueWindow default = 1; + callback attribute uncertainty default = 0; + callback attribute measurementUnit default = 0; + callback attribute measurementMedium default = 0; + callback attribute levelValue default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } + + server cluster Pm25ConcentrationMeasurement { + callback attribute measuredValue; + callback attribute minMeasuredValue; + callback attribute maxMeasuredValue; + callback attribute peakMeasuredValue; + callback attribute peakMeasuredValueWindow default = 1; + callback attribute averageMeasuredValue; + callback attribute averageMeasuredValueWindow default = 1; + callback attribute uncertainty default = 0; + callback attribute measurementUnit default = 0; + callback attribute measurementMedium default = 0; + callback attribute levelValue default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } + + server cluster FormaldehydeConcentrationMeasurement { + callback attribute measuredValue; + callback attribute minMeasuredValue; + callback attribute maxMeasuredValue; + callback attribute peakMeasuredValue; + callback attribute peakMeasuredValueWindow default = 1; + callback attribute averageMeasuredValue; + callback attribute averageMeasuredValueWindow default = 1; + callback attribute uncertainty default = 0; + callback attribute measurementUnit default = 0; + callback attribute measurementMedium default = 0; + callback attribute levelValue default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } + + server cluster Pm1ConcentrationMeasurement { + callback attribute measuredValue; + callback attribute minMeasuredValue; + callback attribute maxMeasuredValue; + callback attribute peakMeasuredValue; + callback attribute peakMeasuredValueWindow default = 1; + callback attribute averageMeasuredValue; + callback attribute averageMeasuredValueWindow default = 1; + callback attribute uncertainty default = 0; + callback attribute measurementUnit default = 0; + callback attribute measurementMedium default = 0; + callback attribute levelValue default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } + + server cluster Pm10ConcentrationMeasurement { + callback attribute measuredValue; + callback attribute minMeasuredValue; + callback attribute maxMeasuredValue; + callback attribute peakMeasuredValue; + callback attribute peakMeasuredValueWindow default = 1; + callback attribute averageMeasuredValue; + callback attribute averageMeasuredValueWindow default = 1; + callback attribute uncertainty default = 0; + callback attribute measurementUnit default = 0; + callback attribute measurementMedium default = 0; + callback attribute levelValue default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } + + server cluster TotalVolatileOrganicCompoundsConcentrationMeasurement { + callback attribute measuredValue; + callback attribute minMeasuredValue; + callback attribute maxMeasuredValue; + callback attribute peakMeasuredValue; + callback attribute peakMeasuredValueWindow default = 1; + callback attribute averageMeasuredValue; + callback attribute averageMeasuredValueWindow default = 1; + callback attribute uncertainty default = 0; + callback attribute measurementUnit default = 0; + callback attribute measurementMedium default = 0; + callback attribute levelValue default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } + + server cluster RadonConcentrationMeasurement { + callback attribute measuredValue; + callback attribute minMeasuredValue; + callback attribute maxMeasuredValue; + callback attribute peakMeasuredValue; + callback attribute peakMeasuredValueWindow default = 1; + callback attribute averageMeasuredValue; + callback attribute averageMeasuredValueWindow default = 1; + callback attribute uncertainty default = 0; + callback attribute measurementUnit default = 0; + callback attribute measurementMedium default = 0; + callback attribute levelValue default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + callback attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } +} +endpoint 3 { + device type ma_tempsensor = 770, version 1; + + + server cluster Identify { + ram attribute identifyTime default = 0x0; + ram attribute identifyType default = 0x00; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 4; + + handle command Identify; + handle command TriggerEffect; + } + + server cluster Descriptor { + callback attribute deviceTypeList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + ram attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + } + + server cluster TemperatureMeasurement { + ram attribute measuredValue default = 0x8000; + ram attribute minMeasuredValue default = 0x8000; + ram attribute maxMeasuredValue default = 0x8000; + ram attribute tolerance default = 0; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 4; + } +} +endpoint 4 { + device type ma_humiditysensor = 775, version 1; + + + server cluster Identify { + ram attribute identifyTime default = 0x0; + ram attribute identifyType default = 0x00; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 4; + + handle command Identify; + handle command TriggerEffect; + } + + server cluster Descriptor { + callback attribute deviceTypeList; + callback attribute serverList; + callback attribute clientList; + callback attribute partsList; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + ram attribute featureMap default = 0; + callback attribute clusterRevision default = 1; + } + + server cluster RelativeHumidityMeasurement { + ram attribute measuredValue default = 0; + ram attribute minMeasuredValue default = 0; + ram attribute maxMeasuredValue default = 0x2710; + ram attribute tolerance; + callback attribute generatedCommandList; + callback attribute acceptedCommandList; + callback attribute eventList; + callback attribute attributeList; + ram attribute featureMap default = 0; + ram attribute clusterRevision default = 3; + } +} + + diff --git a/examples/air-purifier-app/air-purifier-common/air-purifier-app.zap b/examples/air-purifier-app/air-purifier-common/air-purifier-app.zap new file mode 100644 index 00000000000000..1cf688c5cd57f9 --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/air-purifier-app.zap @@ -0,0 +1,16606 @@ +{ + "featureLevel": 98, + "creator": "zap", + "keyValuePairs": [ + { + "key": "commandDiscovery", + "value": "1" + }, + { + "key": "defaultResponsePolicy", + "value": "always" + }, + { + "key": "manufacturerCodes", + "value": "0x1002" + } + ], + "package": [ + { + "pathRelativity": "relativeToZap", + "path": "../../../src/app/zap-templates/zcl/zcl.json", + "type": "zcl-properties", + "category": "matter", + "version": 1, + "description": "Matter SDK ZCL data" + }, + { + "pathRelativity": "relativeToZap", + "path": "../../../src/app/zap-templates/app-templates.json", + "type": "gen-templates-json", + "version": "chip-v1" + } + ], + "endpointTypes": [ + { + "id": 1, + "name": "MA-rootdevice", + "deviceTypeRef": { + "code": 22, + "profileId": 259, + "label": "MA-rootdevice", + "name": "MA-rootdevice" + }, + "deviceTypes": [ + { + "code": 22, + "profileId": 259, + "label": "MA-rootdevice", + "name": "MA-rootdevice" + } + ], + "deviceVersions": [ + 1 + ], + "deviceIdentifiers": [ + 22 + ], + "deviceTypeName": "MA-rootdevice", + "deviceTypeCode": 22, + "deviceTypeProfileId": 259, + "clusters": [ + { + "name": "Identify", + "code": 3, + "mfgCode": null, + "define": "IDENTIFY_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "Identify", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Identify", + "code": 3, + "mfgCode": null, + "define": "IDENTIFY_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "IdentifyTime", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Groups", + "code": 4, + "mfgCode": null, + "define": "GROUPS_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "AddGroup", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "ViewGroup", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "GetGroupMembership", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "RemoveGroup", + "code": 3, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "RemoveAllGroups", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "AddGroupIfIdentifying", + "code": 5, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Groups", + "code": 4, + "mfgCode": null, + "define": "GROUPS_CLUSTER", + "side": "server", + "enabled": 0, + "commands": [ + { + "name": "AddGroupResponse", + "code": 0, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "ViewGroupResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "GetGroupMembershipResponse", + "code": 2, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "RemoveGroupResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "NameSupport", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "NameSupportBitmap", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Scenes", + "code": 5, + "mfgCode": null, + "define": "SCENES_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "AddScene", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "ViewScene", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "RemoveScene", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "RemoveAllScenes", + "code": 3, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "StoreScene", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "RecallScene", + "code": 5, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "GetSceneMembership", + "code": 6, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Scenes", + "code": 5, + "mfgCode": null, + "define": "SCENES_CLUSTER", + "side": "server", + "enabled": 0, + "commands": [ + { + "name": "AddSceneResponse", + "code": 0, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "ViewSceneResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "RemoveSceneResponse", + "code": 2, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "RemoveAllScenesResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "StoreSceneResponse", + "code": 4, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "GetSceneMembershipResponse", + "code": 6, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "SceneCount", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "CurrentScene", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "CurrentGroup", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "group_id", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "SceneValid", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "NameSupport", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "bitmap8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "On/Off", + "code": 6, + "mfgCode": null, + "define": "ON_OFF_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "Off", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "On", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "Toggle", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "On/Off", + "code": 6, + "mfgCode": null, + "define": "ON_OFF_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "OnOff", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "On/off Switch Configuration", + "code": 7, + "mfgCode": null, + "define": "ON_OFF_SWITCH_CONFIGURATION_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "On/off Switch Configuration", + "code": 7, + "mfgCode": null, + "define": "ON_OFF_SWITCH_CONFIGURATION_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "switch type", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "enum8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "switch actions", + "code": 16, + "mfgCode": null, + "side": "server", + "type": "enum8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Level Control", + "code": 8, + "mfgCode": null, + "define": "LEVEL_CONTROL_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "MoveToLevel", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "Move", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "Step", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "Stop", + "code": 3, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "MoveToLevelWithOnOff", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "MoveWithOnOff", + "code": 5, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "StepWithOnOff", + "code": 6, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "StopWithOnOff", + "code": 7, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "5", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Level Control", + "code": 8, + "mfgCode": null, + "define": "LEVEL_CONTROL_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "CurrentLevel", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "5", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Descriptor", + "code": 29, + "mfgCode": null, + "define": "DESCRIPTOR_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Descriptor", + "code": 29, + "mfgCode": null, + "define": "DESCRIPTOR_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "DeviceTypeList", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ServerList", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClientList", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PartsList", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Access Control", + "code": 31, + "mfgCode": null, + "define": "ACCESS_CONTROL_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Access Control", + "code": 31, + "mfgCode": null, + "define": "ACCESS_CONTROL_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "ACL", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Extension", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SubjectsPerAccessControlEntry", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "TargetsPerAccessControlEntry", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AccessControlEntriesPerFabric", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ], + "events": [ + { + "name": "AccessControlEntryChanged", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "AccessControlExtensionChanged", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + } + ] + }, + { + "name": "Basic Information", + "code": 40, + "mfgCode": null, + "define": "BASIC_INFORMATION_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 1, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Basic Information", + "code": 40, + "mfgCode": null, + "define": "BASIC_INFORMATION_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "DataModelRevision", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "10", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "VendorName", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "VendorID", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "vendor_id", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ProductName", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ProductID", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "NodeLabel", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "NVM", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "Location", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "XX", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "HardwareVersion", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "HardwareVersionString", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "SoftwareVersion", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "SoftwareVersionString", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ManufacturingDate", + "code": 11, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "20210614123456ZZ", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "PartNumber", + "code": 12, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ProductURL", + "code": 13, + "mfgCode": null, + "side": "server", + "type": "long_char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ProductLabel", + "code": 14, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "SerialNumber", + "code": 15, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "LocalConfigDisabled", + "code": 16, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "NVM", + "singleton": 1, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "Reachable", + "code": 17, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 0, + "storageOption": "RAM", + "singleton": 1, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "UniqueID", + "code": 18, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "CapabilityMinima", + "code": 19, + "mfgCode": null, + "side": "server", + "type": "CapabilityMinimaStruct", + "included": 1, + "storageOption": "External", + "singleton": 1, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 1, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ], + "events": [ + { + "name": "StartUp", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "ShutDown", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "Leave", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1 + } + ] + }, + { + "name": "OTA Software Update Provider", + "code": 41, + "mfgCode": null, + "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", + "side": "client", + "enabled": 1, + "commands": [ + { + "name": "QueryImage", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "ApplyUpdateRequest", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "NotifyUpdateApplied", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 0, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "OTA Software Update Provider", + "code": 41, + "mfgCode": null, + "define": "OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER", + "side": "server", + "enabled": 0, + "commands": [ + { + "name": "QueryImageResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "ApplyUpdateResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 0, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "OTA Software Update Requestor", + "code": 42, + "mfgCode": null, + "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "AnnounceOTAProvider", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "OTA Software Update Requestor", + "code": 42, + "mfgCode": null, + "define": "OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "DefaultOTAProviders", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "UpdatePossible", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "UpdateState", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "OTAUpdateStateEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "UpdateStateProgress", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 0, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ], + "events": [ + { + "name": "StateTransition", + "code": 0, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "VersionApplied", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1 + }, + { + "name": "DownloadError", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1 + } + ] + }, + { + "name": "Localization Configuration", + "code": 43, + "mfgCode": null, + "define": "LOCALIZATION_CONFIGURATION_CLUSTER", + "side": "client", + "enabled": 0 + }, + { + "name": "Localization Configuration", + "code": 43, + "mfgCode": null, + "define": "LOCALIZATION_CONFIGURATION_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "ActiveLocale", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SupportedLocales", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Time Format Localization", + "code": 44, + "mfgCode": null, + "define": "TIME_FORMAT_LOCALIZATION_CLUSTER", + "side": "client", + "enabled": 0 + }, + { + "name": "Time Format Localization", + "code": 44, + "mfgCode": null, + "define": "TIME_FORMAT_LOCALIZATION_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "HourFormat", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "HourFormatEnum", + "included": 1, + "storageOption": "NVM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ActiveCalendarType", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "CalendarTypeEnum", + "included": 1, + "storageOption": "NVM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SupportedCalendarTypes", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Unit Localization", + "code": 45, + "mfgCode": null, + "define": "UNIT_LOCALIZATION_CLUSTER", + "side": "client", + "enabled": 0 + }, + { + "name": "Unit Localization", + "code": 45, + "mfgCode": null, + "define": "UNIT_LOCALIZATION_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "TemperatureUnit", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "TempUnitEnum", + "included": 0, + "storageOption": "NVM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "General Commissioning", + "code": 48, + "mfgCode": null, + "define": "GENERAL_COMMISSIONING_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "ArmFailSafe", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "SetRegulatoryConfig", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "CommissioningComplete", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "General Commissioning", + "code": 48, + "mfgCode": null, + "define": "GENERAL_COMMISSIONING_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "ArmFailSafeResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "SetRegulatoryConfigResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "CommissioningCompleteResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "Breadcrumb", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "BasicCommissioningInfo", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "BasicCommissioningInfo", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RegulatoryConfig", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "RegulatoryLocationTypeEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LocationCapability", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "RegulatoryLocationTypeEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SupportsConcurrentConnection", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Network Commissioning", + "code": 49, + "mfgCode": null, + "define": "NETWORK_COMMISSIONING_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "ScanNetworks", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "AddOrUpdateWiFiNetwork", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "AddOrUpdateThreadNetwork", + "code": 3, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "RemoveNetwork", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "ConnectNetwork", + "code": 6, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "ReorderNetwork", + "code": 8, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Network Commissioning", + "code": 49, + "mfgCode": null, + "define": "NETWORK_COMMISSIONING_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "ScanNetworksResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "NetworkConfigResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "ConnectNetworkResponse", + "code": 7, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "MaxNetworks", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Networks", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ScanMaxTimeSeconds", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ConnectMaxTimeSeconds", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "InterfaceEnabled", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LastNetworkingStatus", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "NetworkCommissioningStatusEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LastNetworkID", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "octet_string", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LastConnectErrorValue", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "int32s", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Diagnostic Logs", + "code": 50, + "mfgCode": null, + "define": "DIAGNOSTIC_LOGS_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "RetrieveLogsRequest", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "General Diagnostics", + "code": 51, + "mfgCode": null, + "define": "GENERAL_DIAGNOSTICS_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "General Diagnostics", + "code": 51, + "mfgCode": null, + "define": "GENERAL_DIAGNOSTICS_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "TestEventTrigger", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "NetworkInterfaces", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RebootCount", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "UpTime", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "TotalOperationalHours", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "BootReason", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "BootReasonEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ActiveHardwareFaults", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ActiveRadioFaults", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ActiveNetworkFaults", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "TestEventTriggersEnabled", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "false", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ], + "events": [ + { + "name": "BootReason", + "code": 3, + "mfgCode": null, + "side": "server", + "included": 1 + } + ] + }, + { + "name": "Software Diagnostics", + "code": 52, + "mfgCode": null, + "define": "SOFTWARE_DIAGNOSTICS_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "ResetWatermarks", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Software Diagnostics", + "code": 52, + "mfgCode": null, + "define": "SOFTWARE_DIAGNOSTICS_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "ThreadMetrics", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentHeapFree", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentHeapUsed", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentHeapHighWatermark", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Thread Network Diagnostics", + "code": 53, + "mfgCode": null, + "define": "THREAD_NETWORK_DIAGNOSTICS_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "ResetCounts", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Thread Network Diagnostics", + "code": 53, + "mfgCode": null, + "define": "THREAD_NETWORK_DIAGNOSTICS_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "Channel", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RoutingRole", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "RoutingRoleEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "NetworkName", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "PanId", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ExtendedPanId", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "MeshLocalPrefix", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "octet_string", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "OverrunCount", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "NeighborTable", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RouteTable", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "PartitionId", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "Weighting", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "DataVersion", + "code": 11, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "StableDataVersion", + "code": 12, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "LeaderRouterId", + "code": 13, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "DetachedRoleCount", + "code": 14, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ChildRoleCount", + "code": 15, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RouterRoleCount", + "code": 16, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "LeaderRoleCount", + "code": 17, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "AttachAttemptCount", + "code": 18, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "PartitionIdChangeCount", + "code": 19, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "BetterPartitionAttachAttemptCount", + "code": 20, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ParentChangeCount", + "code": 21, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxTotalCount", + "code": 22, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxUnicastCount", + "code": 23, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxBroadcastCount", + "code": 24, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxAckRequestedCount", + "code": 25, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxAckedCount", + "code": 26, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxNoAckRequestedCount", + "code": 27, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxDataCount", + "code": 28, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxDataPollCount", + "code": 29, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxBeaconCount", + "code": 30, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxBeaconRequestCount", + "code": 31, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxOtherCount", + "code": 32, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxRetryCount", + "code": 33, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxDirectMaxRetryExpiryCount", + "code": 34, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxIndirectMaxRetryExpiryCount", + "code": 35, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxErrCcaCount", + "code": 36, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxErrAbortCount", + "code": 37, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxErrBusyChannelCount", + "code": 38, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxTotalCount", + "code": 39, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxUnicastCount", + "code": 40, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxBroadcastCount", + "code": 41, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxDataCount", + "code": 42, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxDataPollCount", + "code": 43, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxBeaconCount", + "code": 44, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxBeaconRequestCount", + "code": 45, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxOtherCount", + "code": 46, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxAddressFilteredCount", + "code": 47, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxDestAddrFilteredCount", + "code": 48, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxDuplicatedCount", + "code": 49, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxErrNoFrameCount", + "code": 50, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxErrUnknownNeighborCount", + "code": 51, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxErrInvalidSrcAddrCount", + "code": 52, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxErrSecCount", + "code": 53, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxErrFcsCount", + "code": 54, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RxErrOtherCount", + "code": 55, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ActiveTimestamp", + "code": 56, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PendingTimestamp", + "code": 57, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Delay", + "code": 58, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SecurityPolicy", + "code": 59, + "mfgCode": null, + "side": "server", + "type": "SecurityPolicy", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ChannelPage0Mask", + "code": 60, + "mfgCode": null, + "side": "server", + "type": "octet_string", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "OperationalDatasetComponents", + "code": 61, + "mfgCode": null, + "side": "server", + "type": "OperationalDatasetComponents", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ActiveNetworkFaultsList", + "code": 62, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x000F", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "WiFi Network Diagnostics", + "code": 54, + "mfgCode": null, + "define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "ResetCounts", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "WiFi Network Diagnostics", + "code": 54, + "mfgCode": null, + "define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "BSSID", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "octet_string", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "SecurityType", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "SecurityTypeEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "WiFiVersion", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "WiFiVersionEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ChannelNumber", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "RSSI", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "int8s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "BeaconLostCount", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "BeaconRxCount", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PacketMulticastRxCount", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PacketMulticastTxCount", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PacketUnicastRxCount", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PacketUnicastTxCount", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentMaxRate", + "code": 11, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OverrunCount", + "code": 12, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Ethernet Network Diagnostics", + "code": 55, + "mfgCode": null, + "define": "ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "ResetCounts", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Ethernet Network Diagnostics", + "code": 55, + "mfgCode": null, + "define": "ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "PHYRate", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "PHYRateEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FullDuplex", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PacketRxCount", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "PacketTxCount", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TxErrCount", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "CollisionCount", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "OverrunCount", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "CarrierDetect", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "TimeSinceReset", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "int64u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000000000000000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Switch", + "code": 59, + "mfgCode": null, + "define": "SWITCH_CLUSTER", + "side": "client", + "enabled": 0 + }, + { + "name": "Switch", + "code": 59, + "mfgCode": null, + "define": "SWITCH_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "NumberOfPositions", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentPosition", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Administrator Commissioning", + "code": 60, + "mfgCode": null, + "define": "ADMINISTRATOR_COMMISSIONING_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "OpenCommissioningWindow", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "OpenBasicCommissioningWindow", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "RevokeCommissioning", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Administrator Commissioning", + "code": 60, + "mfgCode": null, + "define": "ADMINISTRATOR_COMMISSIONING_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "WindowStatus", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "CommissioningWindowStatusEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AdminFabricIndex", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "fabric_idx", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AdminVendorId", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Operational Credentials", + "code": 62, + "mfgCode": null, + "define": "OPERATIONAL_CREDENTIALS_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "AttestationRequest", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "CertificateChainRequest", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "CSRRequest", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "AddNOC", + "code": 6, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "UpdateNOC", + "code": 7, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "UpdateFabricLabel", + "code": 9, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "RemoveFabric", + "code": 10, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "AddTrustedRootCertificate", + "code": 11, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Operational Credentials", + "code": 62, + "mfgCode": null, + "define": "OPERATIONAL_CREDENTIALS_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "AttestationResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "CertificateChainResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "CSRResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "NOCResponse", + "code": 8, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "NOCs", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Fabrics", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "SupportedFabrics", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "CommissionedFabrics", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "TrustedRootCertificates", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "CurrentFabricIndex", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Group Key Management", + "code": 63, + "mfgCode": null, + "define": "GROUP_KEY_MANAGEMENT_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "KeySetWrite", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "KeySetRead", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "KeySetRemove", + "code": 3, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "KeySetReadAllIndices", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ] + }, + { + "name": "Group Key Management", + "code": 63, + "mfgCode": null, + "define": "GROUP_KEY_MANAGEMENT_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [ + { + "name": "KeySetReadResponse", + "code": 2, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "KeySetReadAllIndicesResponse", + "code": 5, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "GroupKeyMap", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GroupTable", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxGroupsPerFabric", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxGroupKeysPerFabric", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Fixed Label", + "code": 64, + "mfgCode": null, + "define": "FIXED_LABEL_CLUSTER", + "side": "client", + "enabled": 0 + }, + { + "name": "Fixed Label", + "code": 64, + "mfgCode": null, + "define": "FIXED_LABEL_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "LabelList", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "User Label", + "code": 65, + "mfgCode": null, + "define": "USER_LABEL_CLUSTER", + "side": "client", + "enabled": 0 + }, + { + "name": "User Label", + "code": 65, + "mfgCode": null, + "define": "USER_LABEL_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "LabelList", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + } + ] + }, + { + "id": 2, + "name": "Anonymous Endpoint Type", + "deviceTypeRef": { + "code": 45, + "profileId": 259, + "label": "MA-air-purifier", + "name": "MA-air-purifier" + }, + "deviceTypes": [ + { + "code": 45, + "profileId": 259, + "label": "MA-air-purifier", + "name": "MA-air-purifier" + } + ], + "deviceVersions": [ + 1 + ], + "deviceIdentifiers": [ + 45 + ], + "deviceTypeName": "MA-air-purifier", + "deviceTypeCode": 45, + "deviceTypeProfileId": 259, + "clusters": [ + { + "name": "Identify", + "code": 3, + "mfgCode": null, + "define": "IDENTIFY_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "Identify", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "TriggerEffect", + "code": 64, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Identify", + "code": 3, + "mfgCode": null, + "define": "IDENTIFY_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "IdentifyTime", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "IdentifyType", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "IdentifyTypeEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Groups", + "code": 4, + "mfgCode": null, + "define": "GROUPS_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "AddGroup", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "ViewGroup", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "GetGroupMembership", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "RemoveGroup", + "code": 3, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "RemoveAllGroups", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "AddGroupIfIdentifying", + "code": 5, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Groups", + "code": 4, + "mfgCode": null, + "define": "GROUPS_CLUSTER", + "side": "server", + "enabled": 0, + "commands": [ + { + "name": "AddGroupResponse", + "code": 0, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "ViewGroupResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "GetGroupMembershipResponse", + "code": 2, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + }, + { + "name": "RemoveGroupResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "incoming": 0, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "NameSupport", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "NameSupportBitmap", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Scenes", + "code": 5, + "mfgCode": null, + "define": "SCENES_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "AddScene", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "ViewScene", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "RemoveScene", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "RemoveAllScenes", + "code": 3, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "StoreScene", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "RecallScene", + "code": 5, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "GetSceneMembership", + "code": 6, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "5", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Scenes", + "code": 5, + "mfgCode": null, + "define": "SCENES_CLUSTER", + "side": "server", + "enabled": 0, + "commands": [ + { + "name": "AddSceneResponse", + "code": 0, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "ViewSceneResponse", + "code": 1, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "RemoveSceneResponse", + "code": 2, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "RemoveAllScenesResponse", + "code": 3, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "StoreSceneResponse", + "code": 4, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "GetSceneMembershipResponse", + "code": 6, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "SceneCount", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentScene", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentGroup", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "group_id", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SceneValid", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "NameSupport", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "bitmap8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LastConfiguredBy", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "node_id", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SceneTableSize", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "RemainingCapacity", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "5", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "On/Off", + "code": 6, + "mfgCode": null, + "define": "ON_OFF_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "Off", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "On", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "Toggle", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "On/Off", + "code": 6, + "mfgCode": null, + "define": "ON_OFF_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "OnOff", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GlobalSceneControl", + "code": 16384, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OnTime", + "code": 16385, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OffWaitTime", + "code": 16386, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "StartUpOnOff", + "code": 16387, + "mfgCode": null, + "side": "server", + "type": "OnOffStartUpOnOff", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Level Control", + "code": 8, + "mfgCode": null, + "define": "LEVEL_CONTROL_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "MoveToLevel", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "Move", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "Step", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "Stop", + "code": 3, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "MoveToLevelWithOnOff", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "MoveWithOnOff", + "code": 5, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "StepWithOnOff", + "code": 6, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "StopWithOnOff", + "code": 7, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "5", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Level Control", + "code": 8, + "mfgCode": null, + "define": "LEVEL_CONTROL_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "CurrentLevel", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "RemainingTime", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinLevel", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxLevel", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0xFE", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentFrequency", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinFrequency", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxFrequency", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Options", + "code": 15, + "mfgCode": null, + "side": "server", + "type": "LevelControlOptions", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OnOffTransitionTime", + "code": 16, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OnLevel", + "code": 17, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OnTransitionTime", + "code": 18, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OffTransitionTime", + "code": 19, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "DefaultMoveRate", + "code": 20, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "StartUpCurrentLevel", + "code": 16384, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "5", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Descriptor", + "code": 29, + "mfgCode": null, + "define": "DESCRIPTOR_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Descriptor", + "code": 29, + "mfgCode": null, + "define": "DESCRIPTOR_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "DeviceTypeList", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ServerList", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClientList", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PartsList", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Binding", + "code": 30, + "mfgCode": null, + "define": "BINDING_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Binding", + "code": 30, + "mfgCode": null, + "define": "BINDING_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "Binding", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "HEPA Filter Monitoring", + "code": 113, + "mfgCode": null, + "define": "HEPA_FILTER_MONITORING_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "ResetCondition", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "HEPA Filter Monitoring", + "code": 113, + "mfgCode": null, + "define": "HEPA_FILTER_MONITORING_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "Condition", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "percent", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "100", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "DegradationDirection", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "DegradationDirectionEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ChangeIndication", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "ChangeIndicationEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "InPlaceIndicator", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LastChangedTime", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "epoch_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ReplacementProductList", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Activated Carbon Filter Monitoring", + "code": 114, + "mfgCode": null, + "define": "ACTIVATED_CARBON_FILTER_MONITORING_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "ResetCondition", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Activated Carbon Filter Monitoring", + "code": 114, + "mfgCode": null, + "define": "ACTIVATED_CARBON_FILTER_MONITORING_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "Condition", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "percent", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "100", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "DegradationDirection", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "DegradationDirectionEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ChangeIndication", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "ChangeIndicationEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "InPlaceIndicator", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LastChangedTime", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "epoch_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ReplacementProductList", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Door Lock", + "code": 257, + "mfgCode": null, + "define": "DOOR_LOCK_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "LockDoor", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "UnlockDoor", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "SetUser", + "code": 26, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "GetUser", + "code": 27, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "ClearUser", + "code": 29, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "SetCredential", + "code": 34, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "ClearCredential", + "code": 38, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "7", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Door Lock", + "code": 257, + "mfgCode": null, + "define": "DOOR_LOCK_CLUSTER", + "side": "server", + "enabled": 0, + "commands": [ + { + "name": "GetUserResponse", + "code": 28, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "SetCredentialResponse", + "code": 35, + "mfgCode": null, + "source": "server", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "LockState", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "DlLockState", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LockType", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "DlLockType", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ActuatorEnabled", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "DoorState", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "DoorStateEnum", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "DoorOpenEvents", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "DoorClosedEvents", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OpenPeriod", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "NumberOfTotalUsersSupported", + "code": 17, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "NumberOfPINUsersSupported", + "code": 18, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "NumberOfRFIDUsersSupported", + "code": 19, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "NumberOfWeekDaySchedulesSupportedPerUser", + "code": 20, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "NumberOfYearDaySchedulesSupportedPerUser", + "code": 21, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "NumberOfHolidaySchedulesSupported", + "code": 22, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxPINCodeLength", + "code": 23, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinPINCodeLength", + "code": 24, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxRFIDCodeLength", + "code": 25, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinRFIDCodeLength", + "code": 26, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CredentialRulesSupport", + "code": 27, + "mfgCode": null, + "side": "server", + "type": "DlCredentialRuleMask", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "NumberOfCredentialsSupportedPerUser", + "code": 28, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Language", + "code": 33, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LEDSettings", + "code": 34, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AutoRelockTime", + "code": 35, + "mfgCode": null, + "side": "server", + "type": "int32u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SoundVolume", + "code": 36, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OperatingMode", + "code": 37, + "mfgCode": null, + "side": "server", + "type": "OperatingModeEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SupportedOperatingModes", + "code": 38, + "mfgCode": null, + "side": "server", + "type": "DlSupportedOperatingModes", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0xFFF6", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "DefaultConfigurationRegister", + "code": 39, + "mfgCode": null, + "side": "server", + "type": "DlDefaultConfigurationRegister", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EnableLocalProgramming", + "code": 40, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EnableOneTouchLocking", + "code": 41, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EnableInsideStatusLED", + "code": 42, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EnablePrivacyModeButton", + "code": 43, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LocalProgrammingFeatures", + "code": 44, + "mfgCode": null, + "side": "server", + "type": "DlLocalProgrammingFeatures", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "WrongCodeEntryLimit", + "code": 48, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "UserCodeTemporaryDisableTime", + "code": 49, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SendPINOverTheAir", + "code": 50, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "RequirePINforRemoteOperation", + "code": 51, + "mfgCode": null, + "side": "server", + "type": "boolean", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ExpiringUserTimeout", + "code": 53, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0001", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "7", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Barrier Control", + "code": 259, + "mfgCode": null, + "define": "BARRIER_CONTROL_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "BarrierControlGoToPercent", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "BarrierControlStop", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Barrier Control", + "code": 259, + "mfgCode": null, + "define": "BARRIER_CONTROL_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "barrier moving state", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "enum8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "barrier safety status", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "bitmap16", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "barrier capabilities", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "bitmap8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "barrier open events", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "barrier close events", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "barrier command open events", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "barrier command close events", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "barrier open period", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "barrier close period", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "barrier position", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Fan Control", + "code": 514, + "mfgCode": null, + "define": "FAN_CONTROL_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "Step", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Fan Control", + "code": 514, + "mfgCode": null, + "define": "FAN_CONTROL_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "FanMode", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "FanModeEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FanModeSequence", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "FanModeSequenceEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PercentSetting", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "Percent", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PercentCurrent", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "Percent", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SpeedMax", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "10", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SpeedSetting", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "SpeedCurrent", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "RockSupport", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "RockBitmap", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x01", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "RockSetting", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "RockBitmap", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "WindSupport", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "WindBitmap", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x03", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "WindSetting", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "WindBitmap", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AirflowDirection", + "code": 11, + "mfgCode": null, + "side": "server", + "type": "AirflowDirectionEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "63", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Color Control", + "code": 768, + "mfgCode": null, + "define": "COLOR_CONTROL_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "MoveToHue", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "MoveHue", + "code": 1, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "StepHue", + "code": 2, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "MoveToSaturation", + "code": 3, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "MoveSaturation", + "code": 4, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "StepSaturation", + "code": 5, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "MoveToHueAndSaturation", + "code": 6, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "MoveToColor", + "code": 7, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "MoveColor", + "code": 8, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "StepColor", + "code": 9, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "MoveToColorTemperature", + "code": 10, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "StopMoveStep", + "code": 71, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "MoveColorTemperature", + "code": 75, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + }, + { + "name": "StepColorTemperature", + "code": 76, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 1 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "6", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Color Control", + "code": 768, + "mfgCode": null, + "define": "COLOR_CONTROL_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "CurrentHue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentSaturation", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "RemainingTime", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentX", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x616B", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CurrentY", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x607D", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "DriftCompensation", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "enum8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CompensationText", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "char_string", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorTemperatureMireds", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00FA", + "reportable": 0, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorMode", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "enum8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x01", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Options", + "code": 15, + "mfgCode": null, + "side": "server", + "type": "bitmap8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "NumberOfPrimaries", + "code": 16, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary1X", + "code": 17, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary1Y", + "code": 18, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary1Intensity", + "code": 19, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary2X", + "code": 21, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary2Y", + "code": 22, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary2Intensity", + "code": 23, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary3X", + "code": 25, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary3Y", + "code": 26, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary3Intensity", + "code": 27, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary4X", + "code": 32, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary4Y", + "code": 33, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary4Intensity", + "code": 34, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary5X", + "code": 36, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary5Y", + "code": 37, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary5Intensity", + "code": 38, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary6X", + "code": 40, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary6Y", + "code": 41, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Primary6Intensity", + "code": 42, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "WhitePointX", + "code": 48, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "WhitePointY", + "code": 49, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorPointRX", + "code": 50, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorPointRY", + "code": 51, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorPointRIntensity", + "code": 52, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorPointGX", + "code": 54, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorPointGY", + "code": 55, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorPointGIntensity", + "code": 56, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorPointBX", + "code": 58, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorPointBY", + "code": 59, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorPointBIntensity", + "code": 60, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EnhancedCurrentHue", + "code": 16384, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EnhancedColorMode", + "code": 16385, + "mfgCode": null, + "side": "server", + "type": "enum8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x01", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorLoopActive", + "code": 16386, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorLoopDirection", + "code": 16387, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorLoopTime", + "code": 16388, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0019", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorLoopStartEnhancedHue", + "code": 16389, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x2300", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorLoopStoredEnhancedHue", + "code": 16390, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorCapabilities", + "code": 16394, + "mfgCode": null, + "side": "server", + "type": "bitmap16", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorTempPhysicalMinMireds", + "code": 16395, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ColorTempPhysicalMaxMireds", + "code": 16396, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0xFEFF", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "CoupleColorTempToLevelMinMireds", + "code": 16397, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "StartUpColorTemperatureMireds", + "code": 16400, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "6", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Temperature Measurement", + "code": 1026, + "mfgCode": null, + "define": "TEMPERATURE_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Temperature Measurement", + "code": 1026, + "mfgCode": null, + "define": "TEMPERATURE_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16s", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int16s", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x8000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int16s", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x8000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Tolerance", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Occupancy Sensing", + "code": 1030, + "mfgCode": null, + "define": "OCCUPANCY_SENSING_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Occupancy Sensing", + "code": 1030, + "mfgCode": null, + "define": "OCCUPANCY_SENSING_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "Occupancy", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "OccupancyBitmap", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OccupancySensorType", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "OccupancySensorTypeEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "OccupancySensorTypeBitmap", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "OccupancySensorTypeBitmap", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PIROccupiedToUnoccupiedDelay", + "code": 16, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PIRUnoccupiedToOccupiedDelay", + "code": 17, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PIRUnoccupiedToOccupiedThreshold", + "code": 18, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x01", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "UltrasonicOccupiedToUnoccupiedDelay", + "code": 32, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "UltrasonicUnoccupiedToOccupiedDelay", + "code": 33, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "UltrasonicUnoccupiedToOccupiedThreshold", + "code": 34, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x01", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PhysicalContactOccupiedToUnoccupiedDelay", + "code": 48, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PhysicalContactUnoccupiedToOccupiedDelay", + "code": 49, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PhysicalContactUnoccupiedToOccupiedThreshold", + "code": 50, + "mfgCode": null, + "side": "server", + "type": "int8u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x01", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "2", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + } + ] + }, + { + "id": 3, + "name": "Anonymous Endpoint Type", + "deviceTypeRef": { + "code": 44, + "profileId": 259, + "label": "MA-air-quality-sensor", + "name": "MA-air-quality-sensor" + }, + "deviceTypes": [ + { + "code": 44, + "profileId": 259, + "label": "MA-air-quality-sensor", + "name": "MA-air-quality-sensor" + } + ], + "deviceVersions": [ + 1 + ], + "deviceIdentifiers": [ + 44 + ], + "deviceTypeName": "MA-air-quality-sensor", + "deviceTypeCode": 44, + "deviceTypeProfileId": 259, + "clusters": [ + { + "name": "Identify", + "code": 3, + "mfgCode": null, + "define": "IDENTIFY_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "Identify", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Identify", + "code": 3, + "mfgCode": null, + "define": "IDENTIFY_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "IdentifyTime", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "IdentifyType", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "IdentifyTypeEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Descriptor", + "code": 29, + "mfgCode": null, + "define": "DESCRIPTOR_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Descriptor", + "code": 29, + "mfgCode": null, + "define": "DESCRIPTOR_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "DeviceTypeList", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ServerList", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClientList", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PartsList", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "TagList", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 0, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Air Quality", + "code": 91, + "mfgCode": null, + "define": "AIR_QUALITY_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Air Quality", + "code": 91, + "mfgCode": null, + "define": "AIR_QUALITY_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "AirQuality", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "AirQualityEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Temperature Measurement", + "code": 1026, + "mfgCode": null, + "define": "TEMPERATURE_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Temperature Measurement", + "code": 1026, + "mfgCode": null, + "define": "TEMPERATURE_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16s", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int16s", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x8000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int16s", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x8000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Tolerance", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Relative Humidity Measurement", + "code": 1029, + "mfgCode": null, + "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Relative Humidity Measurement", + "code": 1029, + "mfgCode": null, + "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 0, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Tolerance", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Carbon Monoxide Concentration Measurement", + "code": 1036, + "mfgCode": null, + "define": "CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Carbon Monoxide Concentration Measurement", + "code": 1036, + "mfgCode": null, + "define": "CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValue", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValueWindow", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValue", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValueWindow", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Uncertainty", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementUnit", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "MeasurementUnitEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementMedium", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "MeasurementMediumEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LevelValue", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "LevelValueEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Carbon Dioxide Concentration Measurement", + "code": 1037, + "mfgCode": null, + "define": "CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Carbon Dioxide Concentration Measurement", + "code": 1037, + "mfgCode": null, + "define": "CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValue", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValueWindow", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValue", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValueWindow", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Uncertainty", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementUnit", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "MeasurementUnitEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementMedium", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "MeasurementMediumEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LevelValue", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "LevelValueEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Nitrogen Dioxide Concentration Measurement", + "code": 1043, + "mfgCode": null, + "define": "NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Nitrogen Dioxide Concentration Measurement", + "code": 1043, + "mfgCode": null, + "define": "NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValue", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValueWindow", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValue", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValueWindow", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Uncertainty", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementUnit", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "MeasurementUnitEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementMedium", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "MeasurementMediumEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LevelValue", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "LevelValueEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Ozone Concentration Measurement", + "code": 1045, + "mfgCode": null, + "define": "OZONE_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Ozone Concentration Measurement", + "code": 1045, + "mfgCode": null, + "define": "OZONE_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValue", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValueWindow", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValue", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValueWindow", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Uncertainty", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementUnit", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "MeasurementUnitEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementMedium", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "MeasurementMediumEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LevelValue", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "LevelValueEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "PM2.5 Concentration Measurement", + "code": 1066, + "mfgCode": null, + "define": "PM2_5_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "PM2.5 Concentration Measurement", + "code": 1066, + "mfgCode": null, + "define": "PM2_5_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValue", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValueWindow", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValue", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValueWindow", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Uncertainty", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementUnit", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "MeasurementUnitEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementMedium", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "MeasurementMediumEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LevelValue", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "LevelValueEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Formaldehyde Concentration Measurement", + "code": 1067, + "mfgCode": null, + "define": "FORMALDEHYDE_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Formaldehyde Concentration Measurement", + "code": 1067, + "mfgCode": null, + "define": "FORMALDEHYDE_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValue", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValueWindow", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValue", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValueWindow", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Uncertainty", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementUnit", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "MeasurementUnitEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementMedium", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "MeasurementMediumEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LevelValue", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "LevelValueEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "PM1 Concentration Measurement", + "code": 1068, + "mfgCode": null, + "define": "PM1_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "PM1 Concentration Measurement", + "code": 1068, + "mfgCode": null, + "define": "PM1_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValue", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValueWindow", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValue", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValueWindow", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Uncertainty", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementUnit", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "MeasurementUnitEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementMedium", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "MeasurementMediumEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LevelValue", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "LevelValueEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "PM10 Concentration Measurement", + "code": 1069, + "mfgCode": null, + "define": "PM10_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "PM10 Concentration Measurement", + "code": 1069, + "mfgCode": null, + "define": "PM10_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValue", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValueWindow", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValue", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValueWindow", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Uncertainty", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementUnit", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "MeasurementUnitEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementMedium", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "MeasurementMediumEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LevelValue", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "LevelValueEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Total Volatile Organic Compounds Concentration Measurement", + "code": 1070, + "mfgCode": null, + "define": "TVOC_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Total Volatile Organic Compounds Concentration Measurement", + "code": 1070, + "mfgCode": null, + "define": "TVOC_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValue", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValueWindow", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValue", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValueWindow", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Uncertainty", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementUnit", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "MeasurementUnitEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementMedium", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "MeasurementMediumEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LevelValue", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "LevelValueEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Radon Concentration Measurement", + "code": 1071, + "mfgCode": null, + "define": "RADON_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Radon Concentration Measurement", + "code": 1071, + "mfgCode": null, + "define": "RADON_CONCENTRATION_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValue", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PeakMeasuredValueWindow", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValue", + "code": 5, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AverageMeasuredValueWindow", + "code": 6, + "mfgCode": null, + "side": "server", + "type": "elapsed_s", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Uncertainty", + "code": 7, + "mfgCode": null, + "side": "server", + "type": "single", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementUnit", + "code": 8, + "mfgCode": null, + "side": "server", + "type": "MeasurementUnitEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MeasurementMedium", + "code": 9, + "mfgCode": null, + "side": "server", + "type": "MeasurementMediumEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "LevelValue", + "code": 10, + "mfgCode": null, + "side": "server", + "type": "LevelValueEnum", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + } + ] + }, + { + "id": 4, + "name": "Anonymous Endpoint Type", + "deviceTypeRef": { + "code": 770, + "profileId": 259, + "label": "MA-tempsensor", + "name": "MA-tempsensor" + }, + "deviceTypes": [ + { + "code": 770, + "profileId": 259, + "label": "MA-tempsensor", + "name": "MA-tempsensor" + } + ], + "deviceVersions": [ + 1 + ], + "deviceIdentifiers": [ + 770 + ], + "deviceTypeName": "MA-tempsensor", + "deviceTypeCode": 770, + "deviceTypeProfileId": 259, + "clusters": [ + { + "name": "Identify", + "code": 3, + "mfgCode": null, + "define": "IDENTIFY_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "Identify", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "TriggerEffect", + "code": 64, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Identify", + "code": 3, + "mfgCode": null, + "define": "IDENTIFY_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "IdentifyTime", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "IdentifyType", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "IdentifyTypeEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Descriptor", + "code": 29, + "mfgCode": null, + "define": "DESCRIPTOR_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Descriptor", + "code": 29, + "mfgCode": null, + "define": "DESCRIPTOR_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "DeviceTypeList", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ServerList", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClientList", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PartsList", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "TagList", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 0, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Temperature Measurement", + "code": 1026, + "mfgCode": null, + "define": "TEMPERATURE_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Temperature Measurement", + "code": 1026, + "mfgCode": null, + "define": "TEMPERATURE_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16s", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x8000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int16s", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x8000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int16s", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x8000", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Tolerance", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + } + ] + }, + { + "id": 5, + "name": "Anonymous Endpoint Type", + "deviceTypeRef": { + "code": 775, + "profileId": 259, + "label": "MA-humiditysensor", + "name": "MA-humiditysensor" + }, + "deviceTypes": [ + { + "code": 775, + "profileId": 259, + "label": "MA-humiditysensor", + "name": "MA-humiditysensor" + } + ], + "deviceVersions": [ + 1 + ], + "deviceIdentifiers": [ + 775 + ], + "deviceTypeName": "MA-humiditysensor", + "deviceTypeCode": 775, + "deviceTypeProfileId": 259, + "clusters": [ + { + "name": "Identify", + "code": 3, + "mfgCode": null, + "define": "IDENTIFY_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [ + { + "name": "Identify", + "code": 0, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + }, + { + "name": "TriggerEffect", + "code": 64, + "mfgCode": null, + "source": "client", + "incoming": 1, + "outgoing": 0 + } + ], + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Identify", + "code": 3, + "mfgCode": null, + "define": "IDENTIFY_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "IdentifyTime", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "IdentifyType", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "IdentifyTypeEnum", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "4", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Descriptor", + "code": 29, + "mfgCode": null, + "define": "DESCRIPTOR_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Descriptor", + "code": 29, + "mfgCode": null, + "define": "DESCRIPTOR_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "DeviceTypeList", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ServerList", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClientList", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "PartsList", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "TagList", + "code": 4, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 0, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Relative Humidity Measurement", + "code": 1029, + "mfgCode": null, + "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", + "side": "client", + "enabled": 0, + "attributes": [ + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "client", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + }, + { + "name": "Relative Humidity Measurement", + "code": 1029, + "mfgCode": null, + "define": "RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER", + "side": "server", + "enabled": 1, + "attributes": [ + { + "name": "MeasuredValue", + "code": 0, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MinMeasuredValue", + "code": 1, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "MaxMeasuredValue", + "code": 2, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x2710", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "Tolerance", + "code": 3, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "GeneratedCommandList", + "code": 65528, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AcceptedCommandList", + "code": 65529, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "EventList", + "code": 65530, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "type": "array", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "FeatureMap", + "code": 65532, + "mfgCode": null, + "side": "server", + "type": "bitmap32", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "type": "int16u", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "3", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + } + ] + } + ] + } + ], + "endpoints": [ + { + "endpointTypeName": "MA-rootdevice", + "endpointTypeIndex": 0, + "profileId": 259, + "endpointId": 0, + "networkId": 0 + }, + { + "endpointTypeName": "Anonymous Endpoint Type", + "endpointTypeIndex": 1, + "profileId": 259, + "endpointId": 1, + "networkId": 0 + }, + { + "endpointTypeName": "Anonymous Endpoint Type", + "endpointTypeIndex": 2, + "profileId": 259, + "endpointId": 2, + "networkId": 0 + }, + { + "endpointTypeName": "Anonymous Endpoint Type", + "endpointTypeIndex": 3, + "profileId": 259, + "endpointId": 3, + "networkId": 0 + }, + { + "endpointTypeName": "Anonymous Endpoint Type", + "endpointTypeIndex": 4, + "profileId": 259, + "endpointId": 4, + "networkId": 0 + } + ], + "log": [] +} \ No newline at end of file diff --git a/examples/air-purifier-app/air-purifier-common/include/DeviceManager.h b/examples/air-purifier-app/air-purifier-common/include/DeviceManager.h new file mode 100644 index 00000000000000..96935feb4b4448 --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/include/DeviceManager.h @@ -0,0 +1,51 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include +#include + +namespace chip { +namespace DeviceManager { + +/** + * @brief + * This class provides a skeleton for all the callback functions. The functions will be + * called by other objects within the CHIP stack for specific events. + * Applications interested in receiving specific callbacks can specialize this class and handle + * these events in their implementation of this class. + */ +class DeviceManagerCallbacks +{ +public: + virtual void PostAttributeChangeCallback(EndpointId endpoint, ClusterId clusterId, AttributeId attributeId, uint8_t type, + uint16_t size, uint8_t * value){}; + + Protocols::InteractionModel::Status PreAttributeChangeCallback(EndpointId endpoint, ClusterId clusterId, + AttributeId attributeId, uint8_t type, uint16_t size, + uint8_t * value) + { + return Protocols::InteractionModel::Status::Success; + }; + + virtual ~DeviceManagerCallbacks(){}; +}; + +} // namespace DeviceManager +} // namespace chip diff --git a/examples/air-purifier-app/air-purifier-common/include/air-purifier-manager.h b/examples/air-purifier-app/air-purifier-common/include/air-purifier-manager.h new file mode 100644 index 00000000000000..81565d532e4e7e --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/include/air-purifier-manager.h @@ -0,0 +1,162 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include +#include + +#pragma once + +namespace chip { +namespace app { +namespace Clusters { + +constexpr std::bitset<4> gHepaFilterFeatureMap{ static_cast(ResourceMonitoring::Feature::kCondition) | + static_cast(ResourceMonitoring::Feature::kWarning) | + static_cast(ResourceMonitoring::Feature::kReplacementProductList) }; + +constexpr std::bitset<4> gActivatedCarbonFeatureMap{ static_cast(ResourceMonitoring::Feature::kCondition) | + static_cast(ResourceMonitoring::Feature::kWarning) | + static_cast(ResourceMonitoring::Feature::kReplacementProductList) }; + +/** + * @brief + * This class provides a singleton AIr Purifier Manager which also implements the FanControl::Delegate and the Device Callbacks. + * The class is responsible for all Air Purifier Elements on the Air Purifier Endpoint and it has members that are other Managers + * for the devices in its composition tree. + */ +class AirPurifierManager : public FanControl::Delegate, public DeviceManager::DeviceManagerCallbacks +{ +public: + // Delete copy constructor and assignment operator. + AirPurifierManager(const AirPurifierManager &) = delete; + AirPurifierManager(const AirPurifierManager &&) = delete; + AirPurifierManager & operator=(const AirPurifierManager &) = delete; + + static void InitInstance(EndpointId aEndpointId = 1, EndpointId aAirQualitySensorEndpointId = 2, + EndpointId aTemperatureSensorEndpointId = 3, EndpointId aHumiditySensorEndpointId = 4) + { + if (mInstance == nullptr) + { + mInstance = new AirPurifierManager(aEndpointId, aAirQualitySensorEndpointId, aTemperatureSensorEndpointId, + aHumiditySensorEndpointId); + mInstance->Init(); + } + }; + + /** + * @brief Get an Air Purifier Manager object - this class acts as a singleton device manager for the air purifier + * @param[in] aEndpointId Endpoint that the air purifier is on + * @param[in] aAirQualitySensorEndpointId Endpoint that the air quality sensor is on + * @param[in] aTemperatureSensorEndpointId Endpoint that the temperature sensor is on + * @param[in] aHumiditySensorEndpointId Endpoint that the humidity sensor is on + * @return mInstance The AirPurifierManager instance, note this this could be nullptr if InitInstance has not been called + */ + static AirPurifierManager * GetInstance() { return mInstance; }; + + /** + * @brief Initialize the Air Purifier Manager and call init on underlying composed members. + */ + void Init(); + + /** + * @brief Top level handler for all attribute changes in the device. This function will call the appropriate attribute change + * handler based on the cluster id. + */ + void PostAttributeChangeCallback(EndpointId endpoint, ClusterId clusterId, AttributeId attributeId, uint8_t type, uint16_t size, + uint8_t * value) override; + + /** + * @brief Handle the step command from the Fan Control Cluster + */ + Protocols::InteractionModel::Status HandleStep(FanControl::StepDirectionEnum aDirection, bool aWrap, bool aLowestOff) override; + +private: + inline static AirPurifierManager * mInstance; + + EndpointId mEndpointId; + EndpointId mAirQualitySensorEndpointId; + EndpointId mTemperatureSensorEndpointId; + EndpointId mHumiditySensorEndpointId; + + uint8_t percentCurrent; + uint8_t speedCurrent; + + // Set up for Activated Carbon Filter Monitoring + ActivatedCarbonFilterMonitoringDelegate activatedCarbonFilterDelegate; + ResourceMonitoring::Instance activatedCarbonFilterInstance; + + // Set up for Hepa Filter Monitoring + HepaFilterMonitoringDelegate hepaFilterDelegate; + ResourceMonitoring::Instance hepaFilterInstance; + + // Set up other members of composed device + AirQualitySensorManager mAirQualitySensorManager; + TemperatureSensorManager mTemperatureSensorManager; + RelativeHumiditySensorManager mHumiditySensorManager; + + // Fan Mode Limits + static constexpr int FAN_MODE_LOW_LOWER_BOUND = 1; + static constexpr int FAN_MODE_LOW_UPPER_BOUND = 3; + static constexpr int FAN_MODE_MEDIUM_LOWER_BOUND = 4; + static constexpr int FAN_MODE_MEDIUM_UPPER_BOUND = 7; + static constexpr int FAN_MODE_HIGH_LOWER_BOUND = 8; + static constexpr int FAN_MODE_HIGH_UPPER_BOUND = 10; + + /** + * @brief Construct a new Air Purifier Manager object - this class acts as a singleton device manager for the air purifier + * @param[in] aEndpointId Endpoint that the air purifier is on + * @param[in] aAirQualitySensorEndpointId Endpoint that the air quality sensor is on + * @param[in] aTemperatureSensorEndpointId Endpoint that the temperature sensor is on + * @param[in] aHumiditySensorEndpointId Endpoint that the humidity sensor is on + */ + AirPurifierManager(EndpointId aEndpointId, EndpointId aAirQualitySensorEndpointId, EndpointId aTemperatureSensorEndpointId, + EndpointId aHumiditySensorEndpointId) : + FanControl::Delegate(aEndpointId), + mEndpointId(aEndpointId), + activatedCarbonFilterInstance(&activatedCarbonFilterDelegate, mEndpointId, ActivatedCarbonFilterMonitoring::Id, + static_cast(gActivatedCarbonFeatureMap.to_ulong()), + ResourceMonitoring::DegradationDirectionEnum::kDown, true), + hepaFilterInstance(&hepaFilterDelegate, mEndpointId, HepaFilterMonitoring::Id, + static_cast(gHepaFilterFeatureMap.to_ulong()), + ResourceMonitoring::DegradationDirectionEnum::kDown, true), + mAirQualitySensorManager(aAirQualitySensorEndpointId), mTemperatureSensorManager(aTemperatureSensorEndpointId), + mHumiditySensorManager(aHumiditySensorEndpointId){}; + + /** + * @brief Handle attribute changes for the Fan Control Cluster + * @param[in] attributeId Cluster attribute id that changed + * @param[in] type Cluster attribute type + * @param[in] size Size of the attribute + * @param[in] value Pointer to the new value + */ + void HandleFanControlAttributeChange(AttributeId attributeId, uint8_t type, uint16_t size, uint8_t * value); + + void PercentSettingWriteCallback(uint8_t aNewPercentSetting); + void SpeedSettingWriteCallback(uint8_t aNewSpeedSetting); + void FanModeWriteCallback(FanControl::FanModeEnum aNewFanMode); + + void SetSpeedSetting(DataModel::Nullable aNewSpeedSetting); +}; + +} // namespace Clusters +} // namespace app +} // namespace chip diff --git a/examples/air-purifier-app/air-purifier-common/include/air-quality-sensor-manager.h b/examples/air-purifier-app/air-purifier-common/include/air-quality-sensor-manager.h new file mode 100644 index 00000000000000..b5f94d53e2184e --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/include/air-quality-sensor-manager.h @@ -0,0 +1,90 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include + +#pragma once + +namespace chip { +namespace app { +namespace Clusters { + +class AirQualitySensorManager +{ +public: + AirQualitySensorManager(EndpointId aEndpointId) : + mEndpointId(aEndpointId), + airQualityInstance(mEndpointId, + BitMask(AirQuality::Feature::kModerate, AirQuality::Feature::kFair, + AirQuality::Feature::kVeryPoor, + AirQuality::Feature::kExtremelyPoor)), + carbonDioxideConcentrationMeasurementInstance(mEndpointId, CarbonDioxideConcentrationMeasurement::Id, + ConcentrationMeasurement::MeasurementMediumEnum::kAir, + ConcentrationMeasurement::MeasurementUnitEnum::kPpm), + carbonMonoxideConcentrationMeasurementInstance(mEndpointId, CarbonMonoxideConcentrationMeasurement::Id, + ConcentrationMeasurement::MeasurementMediumEnum::kAir, + ConcentrationMeasurement::MeasurementUnitEnum::kPpm), + nitrogenDioxideConcentrationMeasurementInstance(mEndpointId, NitrogenDioxideConcentrationMeasurement::Id, + ConcentrationMeasurement::MeasurementMediumEnum::kAir, + ConcentrationMeasurement::MeasurementUnitEnum::kPpm), + pm1ConcentrationMeasurementInstance(mEndpointId, Pm1ConcentrationMeasurement::Id, + ConcentrationMeasurement::MeasurementMediumEnum::kAir, + ConcentrationMeasurement::MeasurementUnitEnum::kPpm), + pm10ConcentrationMeasurementInstance(mEndpointId, Pm10ConcentrationMeasurement::Id, + ConcentrationMeasurement::MeasurementMediumEnum::kAir, + ConcentrationMeasurement::MeasurementUnitEnum::kPpm), + pm25ConcentrationMeasurementInstance(mEndpointId, Pm25ConcentrationMeasurement::Id, + ConcentrationMeasurement::MeasurementMediumEnum::kAir, + ConcentrationMeasurement::MeasurementUnitEnum::kPpm), + radonConcentrationMeasurementInstance(mEndpointId, RadonConcentrationMeasurement::Id, + ConcentrationMeasurement::MeasurementMediumEnum::kAir, + ConcentrationMeasurement::MeasurementUnitEnum::kPpm), + totalVolatileOrganicCompoundsConcentrationMeasurementInstance( + mEndpointId, TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, + ConcentrationMeasurement::MeasurementMediumEnum::kAir, ConcentrationMeasurement::MeasurementUnitEnum::kPpm), + ozoneConcentrationMeasurementInstance(mEndpointId, OzoneConcentrationMeasurement::Id, + ConcentrationMeasurement::MeasurementMediumEnum::kAir, + ConcentrationMeasurement::MeasurementUnitEnum::kPpm), + formaldehydeConcentrationMeasurementInstance(mEndpointId, FormaldehydeConcentrationMeasurement::Id, + ConcentrationMeasurement::MeasurementMediumEnum::kAir, + ConcentrationMeasurement::MeasurementUnitEnum::kPpm){}; + + void Init(); + +private: + EndpointId mEndpointId; + AirQuality::Instance airQualityInstance; + ConcentrationMeasurement::Instance carbonDioxideConcentrationMeasurementInstance; + ConcentrationMeasurement::Instance carbonMonoxideConcentrationMeasurementInstance; + ConcentrationMeasurement::Instance nitrogenDioxideConcentrationMeasurementInstance; + ConcentrationMeasurement::Instance pm1ConcentrationMeasurementInstance; + ConcentrationMeasurement::Instance pm10ConcentrationMeasurementInstance; + ConcentrationMeasurement::Instance pm25ConcentrationMeasurementInstance; + ConcentrationMeasurement::Instance radonConcentrationMeasurementInstance; + ConcentrationMeasurement::Instance + totalVolatileOrganicCompoundsConcentrationMeasurementInstance; + ConcentrationMeasurement::Instance ozoneConcentrationMeasurementInstance; + ConcentrationMeasurement::Instance formaldehydeConcentrationMeasurementInstance; +}; + +} // namespace Clusters +} // namespace app +} // namespace chip diff --git a/examples/air-purifier-app/air-purifier-common/include/filter-delegates.h b/examples/air-purifier-app/air-purifier-common/include/filter-delegates.h new file mode 100644 index 00000000000000..76e131c2e87135 --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/include/filter-delegates.h @@ -0,0 +1,60 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include + +#pragma once + +namespace chip { +namespace app { +namespace Clusters { + +class ActivatedCarbonFilterMonitoringDelegate : public ResourceMonitoring::Delegate +{ +private: + CHIP_ERROR Init() override; + Protocols::InteractionModel::Status PreResetCondition() override; + Protocols::InteractionModel::Status PostResetCondition() override; + +public: + ~ActivatedCarbonFilterMonitoringDelegate() override = default; +}; + +class HepaFilterMonitoringDelegate : public ResourceMonitoring::Delegate +{ +private: + CHIP_ERROR Init() override; + Protocols::InteractionModel::Status PreResetCondition() override; + Protocols::InteractionModel::Status PostResetCondition() override; + +public: + ~HepaFilterMonitoringDelegate() override = default; +}; + +class ImmutableReplacementProductListManager : public ResourceMonitoring::ReplacementProductListManager +{ +public: + CHIP_ERROR + Next(ResourceMonitoring::ReplacementProductStruct & item) override; +}; + +} // namespace Clusters +} // namespace app +} // namespace chip diff --git a/examples/air-purifier-app/air-purifier-common/include/relative-humidity-sensor-manager.h b/examples/air-purifier-app/air-purifier-common/include/relative-humidity-sensor-manager.h new file mode 100644 index 00000000000000..23c82787b0203e --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/include/relative-humidity-sensor-manager.h @@ -0,0 +1,57 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +namespace chip { +namespace app { +namespace Clusters { + +class RelativeHumiditySensorManager +{ +public: + RelativeHumiditySensorManager(EndpointId aEndpointId) : mEndpointId(aEndpointId){}; + + void Init() + { + EmberAfStatus status = RelativeHumidityMeasurement::Attributes::MinMeasuredValue::Set(mEndpointId, 0); + VerifyOrReturn(EMBER_ZCL_STATUS_SUCCESS == status, + ChipLogError(NotSpecified, "Failed to set RelativeHumidityMeasurement MinMeasuredValue attribute")); + + status = RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::Set(mEndpointId, 10000); + VerifyOrReturn(EMBER_ZCL_STATUS_SUCCESS == status, + ChipLogError(NotSpecified, "Failed to set RelativeHumidityMeasurement MaxMeasuredValue attribute")); + }; + + void OnHumidityChangeHandler(uint16_t newValue) + { + EmberAfStatus status = RelativeHumidityMeasurement::Attributes::MeasuredValue::Set(mEndpointId, newValue); + VerifyOrReturn(EMBER_ZCL_STATUS_SUCCESS == status, + ChipLogError(NotSpecified, "Failed to set RelativeHumidityMeasurement MeasuredValue attribute")); + ChipLogDetail(NotSpecified, "The new RelativeHumidityMeasurement value: %d", newValue); + } + +private: + EndpointId mEndpointId; +}; + +} // namespace Clusters +} // namespace app +} // namespace chip diff --git a/examples/air-purifier-app/air-purifier-common/include/temperature-sensor-manager.h b/examples/air-purifier-app/air-purifier-common/include/temperature-sensor-manager.h new file mode 100644 index 00000000000000..339d02588f52bc --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/include/temperature-sensor-manager.h @@ -0,0 +1,57 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +namespace chip { +namespace app { +namespace Clusters { + +class TemperatureSensorManager +{ +public: + TemperatureSensorManager(EndpointId aEndpointId) : mEndpointId(aEndpointId){}; + + void Init() + { + EmberAfStatus status = TemperatureMeasurement::Attributes::MinMeasuredValue::Set(mEndpointId, -500); + VerifyOrReturn(EMBER_ZCL_STATUS_SUCCESS == status, + ChipLogError(NotSpecified, "Failed to set TemperatureMeasurement MinMeasuredValue attribute")); + + status = TemperatureMeasurement::Attributes::MaxMeasuredValue::Set(mEndpointId, 6000); + VerifyOrReturn(EMBER_ZCL_STATUS_SUCCESS == status, + ChipLogError(NotSpecified, "Failed to set TemperatureMeasurement MaxMeasuredValue attribute")); + } + + void OnTemperatureChangeHandler(int16_t newValue) + { + EmberAfStatus status = TemperatureMeasurement::Attributes::MeasuredValue::Set(mEndpointId, newValue); + VerifyOrReturn(EMBER_ZCL_STATUS_SUCCESS == status, + ChipLogError(NotSpecified, "Failed to set TemperatureMeasurement MeasuredValue attribute")); + ChipLogDetail(NotSpecified, "The new TemperatureMeasurement value: %d", newValue); + } + +private: + EndpointId mEndpointId; +}; + +} // namespace Clusters +} // namespace app +} // namespace chip diff --git a/examples/air-purifier-app/air-purifier-common/src/air-purifier-manager.cpp b/examples/air-purifier-app/air-purifier-common/src/air-purifier-manager.cpp new file mode 100644 index 00000000000000..93e1e37a73dd77 --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/src/air-purifier-manager.cpp @@ -0,0 +1,311 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +using namespace chip; +using namespace chip::app; +using namespace chip::app::Clusters; +using Protocols::InteractionModel::Status; + +void AirPurifierManager::Init() +{ + FanControl::SetDefaultDelegate(mEndpointId, this); + + activatedCarbonFilterInstance.Init(); + hepaFilterInstance.Init(); + mAirQualitySensorManager.Init(); + mTemperatureSensorManager.Init(); + mHumiditySensorManager.Init(); + + DataModel::Nullable percentSetting; + EmberAfStatus status = FanControl::Attributes::PercentSetting::Get(mEndpointId, percentSetting); + if (EMBER_ZCL_STATUS_SUCCESS == status) + { + if (percentSetting.IsNull()) + { + PercentSettingWriteCallback(0); + } + else + { + PercentSettingWriteCallback(percentSetting.Value()); + } + } + + DataModel::Nullable speedSetting; + status = FanControl::Attributes::SpeedSetting::Get(mEndpointId, speedSetting); + if (EMBER_ZCL_STATUS_SUCCESS == status) + { + if (speedSetting.IsNull()) + { + SpeedSettingWriteCallback(0); + } + else + { + SpeedSettingWriteCallback(speedSetting.Value()); + } + } + + // Set up some sane initial values for temperature and humidity - note these are fixed values for testing purposes only + mTemperatureSensorManager.OnTemperatureChangeHandler(2000); + mHumiditySensorManager.OnHumidityChangeHandler(5000); +} + +void AirPurifierManager::PostAttributeChangeCallback(EndpointId endpoint, ClusterId clusterId, AttributeId attributeId, + uint8_t type, uint16_t size, uint8_t * value) +{ + switch (clusterId) + { + case FanControl::Id: { + HandleFanControlAttributeChange(attributeId, type, size, value); + break; + } + + default: + break; + } +} + +Status AirPurifierManager::HandleStep(FanControl::StepDirectionEnum aDirection, bool aWrap, bool aLowestOff) +{ + ChipLogProgress(NotSpecified, "AirPurifierManager::HandleStep aDirection %d, aWrap %d, aLowestOff %d", + to_underlying(aDirection), aWrap, aLowestOff); + + VerifyOrReturnError(aDirection != FanControl::StepDirectionEnum::kUnknownEnumValue, Status::InvalidCommand); + + uint8_t speedMax; + FanControl::Attributes::SpeedMax::Get(mEndpointId, &speedMax); + + DataModel::Nullable speedSetting; + FanControl::Attributes::SpeedSetting::Get(mEndpointId, speedSetting); + + uint8_t newSpeedSetting = speedSetting.IsNull() ? 0 : speedSetting.Value(); + + if (aDirection == FanControl::StepDirectionEnum::kIncrease) + { + if (speedSetting.IsNull()) + { + newSpeedSetting = 1; + } + else if (speedSetting.Value() < speedMax) + { + newSpeedSetting = static_cast(speedSetting.Value() + 1); + } + else if (speedSetting.Value() == speedMax) + { + if (aWrap) + { + newSpeedSetting = aLowestOff ? 0 : 1; + } + } + } + else if (aDirection == FanControl::StepDirectionEnum::kDecrease) + { + if (speedSetting.IsNull()) + { + newSpeedSetting = aLowestOff ? 0 : 1; + } + else if ((speedSetting.Value() > 1) && (speedSetting.Value() <= speedMax)) + { + newSpeedSetting = static_cast(speedSetting.Value() - 1); + } + else if (speedSetting.Value() == 1) + { + if (aLowestOff) + { + newSpeedSetting = static_cast(speedSetting.Value() - 1); + } + else if (aWrap) + { + newSpeedSetting = speedMax; + } + } + else if (speedSetting.Value() == 0) + { + if (aWrap) + { + newSpeedSetting = speedMax; + } + else if (!aLowestOff) + { + newSpeedSetting = 1; + } + } + } + + return ToInteractionModelStatus(FanControl::Attributes::SpeedSetting::Set(mEndpointId, newSpeedSetting)); +} + +void AirPurifierManager::HandleFanControlAttributeChange(AttributeId attributeId, uint8_t type, uint16_t size, uint8_t * value) +{ + switch (attributeId) + { + case FanControl::Attributes::PercentSetting::Id: { + DataModel::Nullable percentSetting = static_cast>(*value); + if (percentSetting.IsNull()) + { + PercentSettingWriteCallback(0); + } + else + { + PercentSettingWriteCallback(percentSetting.Value()); + } + break; + } + + case FanControl::Attributes::SpeedSetting::Id: { + DataModel::Nullable speedSetting = static_cast>(*value); + if (speedSetting.IsNull()) + { + SpeedSettingWriteCallback(0); + } + else + { + SpeedSettingWriteCallback(speedSetting.Value()); + } + break; + } + + case FanControl::Attributes::FanMode::Id: { + FanControl::FanModeEnum fanMode = static_cast(*value); + FanModeWriteCallback(fanMode); + break; + } + + default: { + break; + } + } +} + +void AirPurifierManager::PercentSettingWriteCallback(uint8_t aNewPercentSetting) +{ + if (aNewPercentSetting != percentCurrent) + { + ChipLogDetail(NotSpecified, "AirPurifierManager::PercentSettingWriteCallback: %d", aNewPercentSetting); + percentCurrent = aNewPercentSetting; + EmberAfStatus status = FanControl::Attributes::PercentCurrent::Set(mEndpointId, percentCurrent); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + ChipLogError(NotSpecified, + "AirPurifierManager::PercentSettingWriteCallback: failed to set PercentCurrent attribute: %d", status); + } + } +} + +void AirPurifierManager::SpeedSettingWriteCallback(uint8_t aNewSpeedSetting) +{ + if (aNewSpeedSetting != speedCurrent) + { + ChipLogDetail(NotSpecified, "AirPurifierManager::SpeedSettingWriteCallback: %d", aNewSpeedSetting); + speedCurrent = aNewSpeedSetting; + EmberAfStatus status = FanControl::Attributes::SpeedCurrent::Set(mEndpointId, speedCurrent); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + ChipLogError(NotSpecified, "AirPurifierManager::SpeedSettingWriteCallback: failed to set SpeedCurrent attribute: %d", + status); + } + + // Determine if the speed change should also change the fan mode + if (speedCurrent == 0) + { + FanControl::Attributes::FanMode::Set(mEndpointId, FanControl::FanModeEnum::kOff); + } + else if (speedCurrent <= FAN_MODE_LOW_UPPER_BOUND) + { + FanControl::Attributes::FanMode::Set(mEndpointId, FanControl::FanModeEnum::kLow); + } + else if (speedCurrent <= FAN_MODE_MEDIUM_UPPER_BOUND) + { + FanControl::Attributes::FanMode::Set(mEndpointId, FanControl::FanModeEnum::kMedium); + } + else if (speedCurrent <= FAN_MODE_HIGH_UPPER_BOUND) + { + FanControl::Attributes::FanMode::Set(mEndpointId, FanControl::FanModeEnum::kHigh); + } + } +} + +void AirPurifierManager::FanModeWriteCallback(FanControl::FanModeEnum aNewFanMode) +{ + ChipLogDetail(NotSpecified, "AirPurifierManager::FanModeWriteCallback: %d", (uint8_t) aNewFanMode); + switch (aNewFanMode) + { + case FanControl::FanModeEnum::kOff: { + if (speedCurrent != 0) + { + DataModel::Nullable speedSetting(0); + SetSpeedSetting(speedSetting); + } + break; + } + case FanControl::FanModeEnum::kLow: { + if (speedCurrent < FAN_MODE_LOW_LOWER_BOUND || speedCurrent > FAN_MODE_LOW_UPPER_BOUND) + { + DataModel::Nullable speedSetting(FAN_MODE_LOW_LOWER_BOUND); + SetSpeedSetting(speedSetting); + } + break; + } + case FanControl::FanModeEnum::kMedium: { + if (speedCurrent < FAN_MODE_MEDIUM_LOWER_BOUND || speedCurrent > FAN_MODE_MEDIUM_UPPER_BOUND) + { + DataModel::Nullable speedSetting(FAN_MODE_MEDIUM_LOWER_BOUND); + SetSpeedSetting(speedSetting); + } + break; + } + case FanControl::FanModeEnum::kOn: + case FanControl::FanModeEnum::kHigh: { + if (speedCurrent < FAN_MODE_HIGH_LOWER_BOUND || speedCurrent > FAN_MODE_HIGH_UPPER_BOUND) + { + DataModel::Nullable speedSetting(FAN_MODE_HIGH_LOWER_BOUND); + SetSpeedSetting(speedSetting); + } + break; + } + case FanControl::FanModeEnum::kSmart: + case FanControl::FanModeEnum::kAuto: { + ChipLogProgress(NotSpecified, "AirPurifierManager::FanModeWriteCallback: Auto"); + break; + } + case FanControl::FanModeEnum::kUnknownEnumValue: { + ChipLogProgress(NotSpecified, "AirPurifierManager::FanModeWriteCallback: Unknown"); + break; + } + } +} + +void AirPurifierManager::SetSpeedSetting(DataModel::Nullable aNewSpeedSetting) +{ + if (aNewSpeedSetting.IsNull()) + { + ChipLogError(NotSpecified, "AirPurifierManager::SetSpeedSetting: invalid value"); + return; + } + + if (aNewSpeedSetting.Value() != speedCurrent) + { + EmberAfStatus status = FanControl::Attributes::SpeedSetting::Set(mEndpointId, aNewSpeedSetting); + if (status != EMBER_ZCL_STATUS_SUCCESS) + { + ChipLogError(NotSpecified, "AirPurifierManager::SetSpeedSetting: failed to set SpeedSetting attribute: %d", status); + } + } +} diff --git a/examples/air-purifier-app/air-purifier-common/src/air-quality-sensor-manager.cpp b/examples/air-purifier-app/air-purifier-common/src/air-quality-sensor-manager.cpp new file mode 100644 index 00000000000000..d6c3155c2501e4 --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/src/air-quality-sensor-manager.cpp @@ -0,0 +1,158 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +using namespace chip; +using namespace chip::app; +using namespace chip::app::DataModel; +using namespace chip::app::Clusters; +using namespace chip::app::Clusters::ConcentrationMeasurement; +using namespace chip::app::Clusters::AirQuality; + +void AirQualitySensorManager::Init() +{ + /* + * Note these values are for testing purposes only and are not actual values for the air quality sensor. + * They are also fixed. + */ + + // Air Quality + airQualityInstance.Init(); + airQualityInstance.UpdateAirQuality(AirQualityEnum::kGood); + + // CO2 + carbonDioxideConcentrationMeasurementInstance.Init(); + carbonDioxideConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f)); + carbonDioxideConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f)); + carbonDioxideConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f)); + carbonDioxideConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f)); + carbonDioxideConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320); + carbonDioxideConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f)); + carbonDioxideConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320); + carbonDioxideConcentrationMeasurementInstance.SetUncertainty(0.0f); + carbonDioxideConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow); + + // CO + carbonMonoxideConcentrationMeasurementInstance.Init(); + carbonMonoxideConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f)); + carbonMonoxideConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f)); + carbonMonoxideConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f)); + carbonMonoxideConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f)); + carbonMonoxideConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320); + carbonMonoxideConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f)); + carbonMonoxideConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320); + carbonMonoxideConcentrationMeasurementInstance.SetUncertainty(0.0f); + carbonMonoxideConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow); + + // NO2 + nitrogenDioxideConcentrationMeasurementInstance.Init(); + nitrogenDioxideConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f)); + nitrogenDioxideConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f)); + nitrogenDioxideConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f)); + nitrogenDioxideConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f)); + nitrogenDioxideConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320); + nitrogenDioxideConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f)); + nitrogenDioxideConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320); + nitrogenDioxideConcentrationMeasurementInstance.SetUncertainty(0.0f); + nitrogenDioxideConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow); + + // PM1 + pm1ConcentrationMeasurementInstance.Init(); + pm1ConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f)); + pm1ConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f)); + pm1ConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f)); + pm1ConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f)); + pm1ConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320); + pm1ConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f)); + pm1ConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320); + pm1ConcentrationMeasurementInstance.SetUncertainty(0.0f); + pm1ConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow); + + // PM10 + pm10ConcentrationMeasurementInstance.Init(); + pm10ConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f)); + pm10ConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f)); + pm10ConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f)); + pm10ConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f)); + pm10ConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320); + pm10ConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f)); + pm10ConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320); + pm10ConcentrationMeasurementInstance.SetUncertainty(0.0f); + pm10ConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow); + + // PM2.5 + pm25ConcentrationMeasurementInstance.Init(); + pm25ConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f)); + pm25ConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f)); + pm25ConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f)); + pm25ConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f)); + pm25ConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320); + pm25ConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f)); + pm25ConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320); + pm25ConcentrationMeasurementInstance.SetUncertainty(0.0f); + pm25ConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow); + + // Radon + radonConcentrationMeasurementInstance.Init(); + radonConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f)); + radonConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f)); + radonConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f)); + radonConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f)); + radonConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320); + radonConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f)); + radonConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320); + radonConcentrationMeasurementInstance.SetUncertainty(0.0f); + radonConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow); + + // TVOC + totalVolatileOrganicCompoundsConcentrationMeasurementInstance.Init(); + totalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f)); + totalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f)); + totalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f)); + totalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f)); + totalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320); + totalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f)); + totalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320); + totalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetUncertainty(0.0f); + totalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow); + + // Ozone + ozoneConcentrationMeasurementInstance.Init(); + ozoneConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f)); + ozoneConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f)); + ozoneConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f)); + ozoneConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f)); + ozoneConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320); + ozoneConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f)); + ozoneConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320); + ozoneConcentrationMeasurementInstance.SetUncertainty(0.0f); + ozoneConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow); + + // Formaldehyde + formaldehydeConcentrationMeasurementInstance.Init(); + formaldehydeConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f)); + formaldehydeConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f)); + formaldehydeConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f)); + formaldehydeConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f)); + formaldehydeConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320); + formaldehydeConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f)); + formaldehydeConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320); + formaldehydeConcentrationMeasurementInstance.SetUncertainty(0.0f); + formaldehydeConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow); +} diff --git a/examples/air-purifier-app/air-purifier-common/src/filter-delegates.cpp b/examples/air-purifier-app/air-purifier-common/src/filter-delegates.cpp new file mode 100644 index 00000000000000..74091ab778b539 --- /dev/null +++ b/examples/air-purifier-app/air-purifier-common/src/filter-delegates.cpp @@ -0,0 +1,108 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include + +using namespace chip; +using namespace chip::app; +using namespace chip::app::Clusters; +using namespace chip::app::Clusters::ResourceMonitoring; +using namespace chip::app::Clusters::ActivatedCarbonFilterMonitoring; +using namespace chip::app::Clusters::HepaFilterMonitoring; +using chip::Protocols::InteractionModel::Status; + +static ImmutableReplacementProductListManager sReplacementProductListManager; + +//-- Activated Carbon Filter Monitoring delegate methods +CHIP_ERROR ActivatedCarbonFilterMonitoringDelegate::Init() +{ + ChipLogDetail(Zcl, "ActivatedCarbonFilterMonitoringDelegate::Init()"); + GetInstance()->SetReplacementProductListManagerInstance(&sReplacementProductListManager); + return CHIP_NO_ERROR; +} + +Status ActivatedCarbonFilterMonitoringDelegate::PreResetCondition() +{ + ChipLogDetail(Zcl, "ActivatedCarbonFilterMonitoringDelegate::PreResetCondition()"); + return Status::Success; +} + +Status ActivatedCarbonFilterMonitoringDelegate::PostResetCondition() +{ + ChipLogDetail(Zcl, "ActivatedCarbonFilterMonitoringDelegate::PostResetCondition()"); + return Status::Success; +} + +//-- Hepa Filter Monitoring delegate methods +CHIP_ERROR HepaFilterMonitoringDelegate::Init() +{ + ChipLogDetail(Zcl, "HepaFilterMonitoringDelegate::Init()"); + GetInstance()->SetReplacementProductListManagerInstance(&sReplacementProductListManager); + return CHIP_NO_ERROR; +} + +Status HepaFilterMonitoringDelegate::PreResetCondition() +{ + ChipLogDetail(Zcl, "HepaFilterMonitoringDelegate::PreResetCondition()"); + return Status::Success; +} + +Status HepaFilterMonitoringDelegate::PostResetCondition() +{ + ChipLogDetail(Zcl, "HepaFilterMonitoringDelegate::PostResetCondition()"); + return Status::Success; +} + +CHIP_ERROR ImmutableReplacementProductListManager::Next(ReplacementProductStruct & item) +{ + if (mIndex >= kReplacementProductListMaxSize) + { + return CHIP_ERROR_PROVIDER_LIST_EXHAUSTED; + } + + switch (mIndex) + { + case 0: { + item.SetProductIdentifierType(ResourceMonitoring::ProductIdentifierTypeEnum::kUpc); + item.SetProductIdentifierValue(CharSpan::fromCharString("111112222233")); + break; + case 1: + item.SetProductIdentifierType(ResourceMonitoring::ProductIdentifierTypeEnum::kGtin8); + item.SetProductIdentifierValue(CharSpan::fromCharString("gtin8xxx")); + break; + case 2: + item.SetProductIdentifierType(ResourceMonitoring::ProductIdentifierTypeEnum::kEan); + item.SetProductIdentifierValue(CharSpan::fromCharString("4444455555666")); + break; + case 3: + item.SetProductIdentifierType(ResourceMonitoring::ProductIdentifierTypeEnum::kGtin14); + item.SetProductIdentifierValue(CharSpan::fromCharString("gtin14xxxxxxxx")); + break; + case 4: + item.SetProductIdentifierType(ResourceMonitoring::ProductIdentifierTypeEnum::kOem); + item.SetProductIdentifierValue(CharSpan::fromCharString("oem20xxxxxxxxxxxxxxx")); + break; + default: + return CHIP_ERROR_PROVIDER_LIST_EXHAUSTED; + break; + } + } + mIndex++; + return CHIP_NO_ERROR; +} diff --git a/examples/air-purifier-app/ameba/.gitignore b/examples/air-purifier-app/ameba/.gitignore new file mode 100644 index 00000000000000..234526a082ad26 --- /dev/null +++ b/examples/air-purifier-app/ameba/.gitignore @@ -0,0 +1,5 @@ +*.vscode + +/build/ +/sdkconfig +/sdkconfig.old diff --git a/examples/air-purifier-app/ameba/README.md b/examples/air-purifier-app/ameba/README.md new file mode 100644 index 00000000000000..be11ad8d063210 --- /dev/null +++ b/examples/air-purifier-app/ameba/README.md @@ -0,0 +1,117 @@ +# CHIP Ameba Air Purifier Example + +This example demonstrates the Matter air purifier application on Ameba platform. + +--- + +- [CHIP Ameba Air Purifier Example](#chip-ameba-air-purifier-example) + - [Supported Device](#supported-device) + - [Building the Example Application](#building-the-example-application) + - [Commissioning](#commissioning) + - [BLE mode](#ble-mode) + - [IP mode](#ip-mode) + - [Cluster control](#cluster-control) + +--- + +## Supported Device + +The CHIP demo application is supported on +[Ameba RTL8722DM Board](https://www.amebaiot.com/en/amebad). + +## Building the Example Application + +- Check out the Ameba repository in the same folder/directory as the Matter + SDK repository: + +``` +git clone https://github.com/ambiot/ambd_matter.git +``` + +- Setup build environment: + +``` +$ cd connectedhomeip +$ source scripts/bootstrap.sh +``` + +- To build the demo application: + +``` +$ cd ambd_matter/project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp/ +$ make all + +$ cd ambd_matter/project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp/ +$ make -C asdk air_purifier + +From the same directory: +$ make all +``` + +- Combine the three output images for flashing using the **Ameba Image Tool**: + +``` +$ cd ambd_matter/tools/AmebaD/Image_Tool_Linux + +$ sudo ./AmebaD_ImageTool -combine \ + ../../../project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp/asdk/image/km0_boot_all.bin 0x0000 \ + ../../../project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp/asdk/image/km4_boot_all.bin 0x4000 \ + ../../../project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp/asdk/image/km0_km4_image2.bin 0x6000 +``` + +- This will produce a combined Image_All.bin file alongside the image tool + that can be flashed using the **Ameba Image Tool**: + +1. Connect your device via USB +2. Edit the `ambd_matter/tools/AmebaD/mpp.ini` file with the correct port + setting (the rest of the settings should be correct) +3. Click **Download** button and the **Reset** button to get the board into + serial download mode +4. Flash on the image: + +``` +$ cd ambd_matter/tools/AmebaD/Image_Tool_Linux +$ ./AmebaD_ImageTool -download +``` + +## Commissioning + +There are two commissioning modes supported by Ameba platform: + +### BLE mode + +1. Build and Flash +2. The example will run automatically after booting the Ameba board. +3. Test with + [Chip-Tool](https://github.com/project-chip/connectedhomeip/tree/master/examples/chip-tool) + +### IP mode + +1. Build and Flash +2. The example will run automatically after booting the Ameba board. +3. Connect to AP using `ATW0, ATW1, ATWC` commands +4. Test with + [Chip-Tool](https://github.com/project-chip/connectedhomeip/tree/master/examples/chip-tool) + +## Cluster Control + +After successful commissioning, the air purifier clusters can be read and +controlled using +[Chip-Tool](https://github.com/project-chip/connectedhomeip/tree/master/examples/chip-tool#using-the-client-to-send-matter-commands). + +The Air Purifier is a composed device. The example has endpoints configured as +follows: + +- Air purifier on endpoint 1 +- Air quality sensor on endpoint 2 +- Temperature sensor on endpoint 3 +- Relative humidity sensor on endpoint 4 + +Example commands using the chip tool: + +``` +$ ./chip-tool fancontrol write speed-setting 10 ${NODE_ID_TO_ASSIGN} 1 +$ ./chip-tool formaldehydeconcentrationmeasurement read level-value ${NODE_ID_TO_ASSIGN} 2 +$ ./chip-tool temperaturemeasurement read measured-value ${NODE_ID_TO_ASSIGN} 3 +$ ./chip-tool relativehumiditymeasurement read measured-value ${NODE_ID_TO_ASSIGN} 4 +``` diff --git a/examples/air-purifier-app/ameba/chip_main.cmake b/examples/air-purifier-app/ameba/chip_main.cmake new file mode 100755 index 00000000000000..df900f2508de17 --- /dev/null +++ b/examples/air-purifier-app/ameba/chip_main.cmake @@ -0,0 +1,284 @@ +cmake_minimum_required(VERSION 3.6) + +project(chip_main) + +set(chip_dir "${ameba_matter_root}") +set(chip_dir_output "${matter_output_path}/chip") +set(dir "${sdk_root}/component/common/api") +set(chip_main chip_main) +set(list_chip_main_sources chip_main_sources) + +if (matter_enable_rpc) +set(pigweed_dir "${chip_dir}/third_party/pigweed/repo") + +include(${pigweed_dir}/pw_build/pigweed.cmake) +include(${pigweed_dir}/pw_protobuf_compiler/proto.cmake) +include(${pigweed_dir}/pw_assert/backend.cmake) +include(${pigweed_dir}/pw_log/backend.cmake) +include(${pigweed_dir}/pw_sys_io/backend.cmake) +include(${pigweed_dir}/pw_trace/backend.cmake) + +set(dir_pw_third_party_nanopb "${chip_dir}/third_party/nanopb/repo" CACHE STRING "" FORCE) + +pw_set_module_config(pw_rpc_CONFIG pw_rpc.disable_global_mutex_config) +pw_set_backend(pw_log pw_log_basic) +pw_set_backend(pw_assert.check pw_assert_log.check_backend) +pw_set_backend(pw_assert.assert pw_assert.assert_compatibility_backend) +pw_set_backend(pw_sys_io pw_sys_io.ameba) +pw_set_backend(pw_trace pw_trace_tokenized) + +add_subdirectory(${chip_dir}/third_party/pigweed/repo ${chip_dir}/examples/air-purifier-app/ameba/out/pigweed) +add_subdirectory(${chip_dir}/third_party/nanopb/repo ${chip_dir}/examples/air-purifier-app/ameba/out/nanopb) +add_subdirectory(${chip_dir}/examples/platform/ameba/pw_sys_io ${chip_dir}/examples/air-purifier-app/ameba/out/pw_sys_io) + +pw_proto_library(attributes_service + SOURCES + ${chip_dir}/examples/common/pigweed/protos/attributes_service.proto + INPUTS + ${chip_dir}/examples/common/pigweed/protos/attributes_service.options + PREFIX + attributes_service + STRIP_PREFIX + ${chip_dir}/examples/common/pigweed/protos + DEPS + pw_protobuf.common_proto +) + +pw_proto_library(button_service + SOURCES + ${chip_dir}/examples/common/pigweed/protos/button_service.proto + PREFIX + button_service + STRIP_PREFIX + ${chip_dir}/examples/common/pigweed/protos + DEPS + pw_protobuf.common_proto +) + +pw_proto_library(descriptor_service + SOURCES + ${chip_dir}/examples/common/pigweed/protos/descriptor_service.proto + PREFIX + descriptor_service + STRIP_PREFIX + ${chip_dir}/examples/common/pigweed/protos + DEPS + pw_protobuf.common_proto +) + +pw_proto_library(device_service + SOURCES + ${chip_dir}/examples/common/pigweed/protos/device_service.proto + INPUTS + ${chip_dir}/examples/common/pigweed/protos/device_service.options + PREFIX + device_service + STRIP_PREFIX + ${chip_dir}/examples/common/pigweed/protos + DEPS + pw_protobuf.common_proto +) + +pw_proto_library(lighting_service + SOURCES + ${chip_dir}/examples/common/pigweed/protos/lighting_service.proto + PREFIX + lighting_service + STRIP_PREFIX + ${chip_dir}/examples/common/pigweed/protos + DEPS + pw_protobuf.common_proto +) + +pw_proto_library(locking_service + SOURCES + ${chip_dir}/examples/common/pigweed/protos/locking_service.proto + PREFIX + locking_service + STRIP_PREFIX + ${chip_dir}/examples/common/pigweed/protos + DEPS + pw_protobuf.common_proto +) + +pw_proto_library(wifi_service + SOURCES + ${chip_dir}/examples/common/pigweed/protos/wifi_service.proto + INPUTS + ${chip_dir}/examples/common/pigweed/protos/wifi_service.options + PREFIX + wifi_service + DEPS + pw_protobuf.common_proto + STRIP_PREFIX + ${chip_dir}/examples/common/pigweed/protos +) + +endif(matter_enable_rpc) + +include(${prj_root}/GCC-RELEASE/project_hp/asdk/includepath.cmake) + +if (matter_enable_rpc) +list( + APPEND ${list_chip_main_sources} + #rpc + ${chip_dir}/examples/platform/ameba/PigweedLogger.cpp + ${chip_dir}/examples/platform/ameba/Rpc.cpp + ${chip_dir}/examples/common/pigweed/RpcService.cpp + ${chip_dir}/examples/common/pigweed/ameba/PigweedLoggerMutex.cpp +) +endif (matter_enable_rpc) + +if (matter_enable_ota_requestor) +list( + APPEND ${list_chip_main_sources} + #OTARequestor + ${chip_dir}/src/app/clusters/ota-requestor/BDXDownloader.cpp + ${chip_dir}/src/app/clusters/ota-requestor/DefaultOTARequestor.cpp + ${chip_dir}/src/app/clusters/ota-requestor/DefaultOTARequestorDriver.cpp + ${chip_dir}/src/app/clusters/ota-requestor/DefaultOTARequestorStorage.cpp + ${chip_dir}/src/app/clusters/ota-requestor/ota-requestor-server.cpp + ${chip_dir}/examples/platform/ameba/ota/OTAInitializer.cpp +) +endif (matter_enable_ota_requestor) + +list( + APPEND ${list_chip_main_sources} + + ${chip_dir}/examples/air-purifier-app/ameba/main/chipinterface.cpp + ${chip_dir}/examples/air-purifier-app/ameba/main/DeviceCallbacks.cpp + ${chip_dir}/examples/air-purifier-app/ameba/main/CHIPDeviceManager.cpp + + ${chip_dir}/examples/platform/ameba/route_hook/ameba_route_hook.c + ${chip_dir}/examples/platform/ameba/route_hook/ameba_route_table.c + + ${chip_dir}/examples/providers/DeviceInfoProviderImpl.cpp +) + +add_library( + ${chip_main} + STATIC + ${chip_main_sources} +) + +chip_configure_data_model(chip_main + INCLUDE_SERVER + ZAP_FILE ${matter_example_path}/../air-purifier-common/air-purifier-app.zap +) + +if (matter_enable_rpc) +target_include_directories( + ${chip_main} + PUBLIC + #rpc + ${chip_dir}/examples/platform/ameba + ${chip_dir}/examples/platform/ameba/pw_sys_io/public + ${chip_dir}/examples/common + ${chip_dir}/examples/common/pigweed + ${chip_dir}/examples/common/pigweed/ameba + ${chip_dir}/src + ${chip_dir}/src/lib/support + ${pigweed_dir}/pw_rpc/nanopb/public +) +endif (matter_enable_rpc) + +target_include_directories( + ${chip_main} + PUBLIC + ${inc_path} + ${chip_dir}/zzz_generated/air-purifier-app + ${chip_dir}/zzz_generated/air-purifier-app/zap-generated + ${chip_dir}/zzz_generated/app-common + ${chip_dir}/examples/air-purifier-app/air-purifier-common + ${chip_dir}/examples/air-purifier-app/air-purifier-common/include + ${chip_dir}/examples/air-purifier-app/ameba/main/include + ${chip_dir}/examples/platform/ameba + ${chip_dir}/examples/providers + ${chip_dir_output}/gen/include + ${chip_dir}/src/include/ + ${chip_dir}/src/lib/ + ${chip_dir}/src/ + ${chip_dir}/third_party/nlassert/repo/include/ + ${chip_dir}/src/app/ + ${chip_dir}/src/app/util/ + ${chip_dir}/src/app/server/ + ${chip_dir}/src/controller/data_model + ${chip_dir}/third_party/nlio/repo/include/ + ${chip_dir}/third_party/nlunit-test/repo/src +) + +if (matter_enable_rpc) +target_link_libraries(${chip_main} PUBLIC + attributes_service.nanopb_rpc + button_service.nanopb_rpc + descriptor_service.nanopb_rpc + device_service.nanopb_rpc + lighting_service.nanopb_rpc + locking_service.nanopb_rpc + wifi_service.nanopb_rpc + pw_checksum + pw_hdlc + pw_log + pw_rpc.server + pw_sys_io + pw_trace_tokenized + pw_trace_tokenized.trace_buffer + pw_trace_tokenized.rpc_service + pw_trace_tokenized.protos.nanopb_rpc + PwRpc +) + +link_directories( + ${chip_dir_output}/lib +) +endif (matter_enable_rpc) + +list( + APPEND chip_main_flags + + -DINET_CONFIG_ENABLE_IPV4=0 + -DCHIP_PROJECT=1 + -DCHIP_DEVICE_LAYER_TARGET=Ameba + -DUSE_ZAP_CONFIG + -DCHIP_HAVE_CONFIG_H + -DMBEDTLS_CONFIG_FILE= +) + +if (matter_enable_persistentstorage_audit) +list( + APPEND chip_main_flags + + -DCHIP_SUPPORT_ENABLE_STORAGE_API_AUDIT +) +endif (matter_enable_persistentstorage_audit) + +if (matter_enable_rpc) +list( + APPEND chip_main_flags + + -DPW_RPC_ATTRIBUTE_SERVICE=1 + -DPW_RPC_BUTTON_SERVICE=1 + -DPW_RPC_DESCRIPTOR_SERVICE=1 + -DPW_RPC_DEVICE_SERVICE=1 + -DPW_RPC_LIGHTING_SERVICE=1 + -DPW_RPC_LOCKING_SERVICE=1 + -DCONFIG_ENABLE_PW_RPC=1 +) +endif (matter_enable_rpc) + +list( + APPEND chip_main_cpp_flags + + -Wno-unused-parameter + -std=c++17 + -fno-rtti +) +target_compile_definitions(${chip_main} PRIVATE ${chip_main_flags} ) +target_compile_options(${chip_main} PRIVATE ${chip_main_cpp_flags}) + +# move static library post build command +add_custom_command( + TARGET ${chip_main} + POST_BUILD + COMMAND cp lib${chip_main}.a ${CMAKE_CURRENT_SOURCE_DIR}/lib/application +) diff --git a/examples/air-purifier-app/ameba/main/CHIPDeviceManager.cpp b/examples/air-purifier-app/ameba/main/CHIPDeviceManager.cpp new file mode 100644 index 00000000000000..0c73b5506f0849 --- /dev/null +++ b/examples/air-purifier-app/ameba/main/CHIPDeviceManager.cpp @@ -0,0 +1,112 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * This file implements the CHIP Device Interface that is used by + * applications to interact with the CHIP stack + * + */ + +#include + +#include "CHIPDeviceManager.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +using namespace ::chip; +using namespace ::chip::app; +using namespace ::chip::app::Clusters; +using namespace ::chip::Credentials; + +namespace chip { + +namespace DeviceManager { + +using namespace ::chip::DeviceLayer; + +chip::DeviceLayer::FactoryDataProvider mFactoryDataProvider; + +void CHIPDeviceManager::CommonDeviceEventHandler(const ChipDeviceEvent * event, intptr_t arg) +{ + CHIPDeviceManagerCallbacks * cb = reinterpret_cast(arg); + if (cb != nullptr) + { + cb->DeviceEventCallback(event, reinterpret_cast(cb)); + } +} + +CHIP_ERROR CHIPDeviceManager::Init(CHIPDeviceManagerCallbacks * cb) +{ + CHIP_ERROR err; + mCB = cb; + + err = Platform::MemoryInit(); + SuccessOrExit(err); + + err = PlatformMgr().InitChipStack(); + SuccessOrExit(err); + + err = mFactoryDataProvider.Init(); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "Error initializing FactoryData!"); + ChipLogError(DeviceLayer, "Check if you have flashed it correctly!"); + } + SetCommissionableDataProvider(&mFactoryDataProvider); + SetDeviceAttestationCredentialsProvider(&mFactoryDataProvider); + SetDeviceInstanceInfoProvider(&mFactoryDataProvider); + + if (CONFIG_NETWORK_LAYER_BLE) + { + ConnectivityMgr().SetBLEAdvertisingEnabled(true); + } + + PlatformMgr().AddEventHandler(CHIPDeviceManager::CommonDeviceEventHandler, reinterpret_cast(cb)); + + // // Start a task to run the CHIP Device event loop. + err = PlatformMgr().StartEventLoopTask(); + SuccessOrExit(err); + +exit: + return err; +} +} // namespace DeviceManager +} // namespace chip + +void MatterPostAttributeChangeCallback(const chip::app::ConcreteAttributePath & attributePath, uint8_t type, uint16_t size, + uint8_t * value) +{ + if (AirPurifierManager::GetInstance() != nullptr) + { + AirPurifierManager::GetInstance()->PostAttributeChangeCallback(attributePath.mEndpointId, attributePath.mClusterId, + attributePath.mAttributeId, type, size, value); + } +} diff --git a/examples/air-purifier-app/ameba/main/DeviceCallbacks.cpp b/examples/air-purifier-app/ameba/main/DeviceCallbacks.cpp new file mode 100644 index 00000000000000..0a5d9dd2617ce1 --- /dev/null +++ b/examples/air-purifier-app/ameba/main/DeviceCallbacks.cpp @@ -0,0 +1,182 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file DeviceCallbacks.cpp + * + * Implements all the callbacks to the application from the CHIP Stack + * + **/ +#include "DeviceCallbacks.h" + +#include "CHIPDeviceManager.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR +#include +#endif + +static const char * TAG = "app-devicecallbacks"; + +using namespace ::chip; +using namespace ::chip::Inet; +using namespace ::chip::System; +using namespace ::chip::DeviceLayer; +using namespace ::chip::DeviceManager; +using namespace ::chip::Logging; + +uint32_t identifyTimerCount; +constexpr uint32_t kIdentifyTimerDelayMS = 250; +constexpr uint32_t kInitOTARequestorDelaySec = 3; + +#if CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR +void InitOTARequestorHandler(System::Layer * systemLayer, void * appState) +{ + OTAInitializer::Instance().InitOTARequestor(); +} +#endif + +void DeviceCallbacks::DeviceEventCallback(const ChipDeviceEvent * event, intptr_t arg) +{ + switch (event->Type) + { + case DeviceEventType::kInternetConnectivityChange: + OnInternetConnectivityChange(event); + break; + + case DeviceEventType::kCHIPoBLEConnectionEstablished: + ChipLogProgress(DeviceLayer, "CHIPoBLE Connection Established"); + break; + + case DeviceEventType::kCHIPoBLEConnectionClosed: + ChipLogProgress(DeviceLayer, "CHIPoBLE Connection Closed"); + break; + + case DeviceEventType::kCHIPoBLEAdvertisingChange: + ChipLogProgress(DeviceLayer, "CHIPoBLE advertising has changed"); + break; + + case DeviceEventType::kInterfaceIpAddressChanged: + if ((event->InterfaceIpAddressChanged.Type == InterfaceIpChangeType::kIpV4_Assigned) || + (event->InterfaceIpAddressChanged.Type == InterfaceIpChangeType::kIpV6_Assigned)) + { + // MDNS server restart on any ip assignment: if link local ipv6 is configured, that + // will not trigger a 'internet connectivity change' as there is no internet + // connectivity. MDNS still wants to refresh its listening interfaces to include the + // newly selected address. + chip::app::DnssdServer::Instance().StartServer(); + } + if (event->InterfaceIpAddressChanged.Type == InterfaceIpChangeType::kIpV6_Assigned) + { + ChipLogProgress(DeviceLayer, "Initializing route hook..."); + ameba_route_hook_init(); + } + break; + + case DeviceEventType::kCommissioningComplete: + ChipLogProgress(DeviceLayer, "Commissioning Complete"); + chip::DeviceLayer::Internal::AmebaUtils::SetCurrentProvisionedNetwork(); + break; + } +} + +void DeviceCallbacks::OnInternetConnectivityChange(const ChipDeviceEvent * event) +{ + if (event->InternetConnectivityChange.IPv4 == kConnectivity_Established) + { + printf("IPv4 Server ready..."); + chip::app::DnssdServer::Instance().StartServer(); + } + else if (event->InternetConnectivityChange.IPv4 == kConnectivity_Lost) + { + printf("Lost IPv4 connectivity..."); + } + if (event->InternetConnectivityChange.IPv6 == kConnectivity_Established) + { + printf("IPv6 Server ready..."); + chip::app::DnssdServer::Instance().StartServer(); +#if CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR + // Init OTA requestor only when we have gotten IPv6 address + if (!OTAInitializer::Instance().CheckInit()) + { + ChipLogProgress(DeviceLayer, "Initializing OTA"); + chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Seconds32(kInitOTARequestorDelaySec), + InitOTARequestorHandler, nullptr); + } +#endif + } + else if (event->InternetConnectivityChange.IPv6 == kConnectivity_Lost) + { + printf("Lost IPv6 connectivity..."); + } +} + +void DeviceCallbacks::PostAttributeChangeCallback(EndpointId endpointId, ClusterId clusterId, AttributeId attributeId, uint8_t type, + uint16_t size, uint8_t * value) +{ + switch (clusterId) + { + case app::Clusters::Identify::Id: + OnIdentifyPostAttributeChangeCallback(endpointId, attributeId, value); + break; + + default: + ChipLogProgress(Zcl, "Unknown cluster ID: " ChipLogFormatMEI, ChipLogValueMEI(clusterId)); + break; + } +} + +void IdentifyTimerHandler(Layer * systemLayer, void * appState) +{ + if (identifyTimerCount) + { + systemLayer->StartTimer(Clock::Milliseconds32(kIdentifyTimerDelayMS), IdentifyTimerHandler, appState); + // Decrement the timer count. + identifyTimerCount--; + } +} + +void DeviceCallbacks::OnIdentifyPostAttributeChangeCallback(EndpointId endpointId, AttributeId attributeId, uint8_t * value) +{ + VerifyOrExit(attributeId == app::Clusters::Identify::Attributes::IdentifyTime::Id, + ChipLogError(DeviceLayer, "[%s] Unhandled Attribute ID: '0x%04x", TAG, attributeId)); + VerifyOrExit(endpointId == 1, ChipLogError(DeviceLayer, "[%s] Unexpected EndPoint ID: `0x%02x'", TAG, endpointId)); + + // timerCount represents the number of callback executions before we stop the timer. + // value is expressed in seconds and the timer is fired every 250ms, so just multiply value by 4. + // Also, we want timerCount to be odd number, so the ligth state ends in the same state it starts. + identifyTimerCount = (*value) * 4; + + DeviceLayer::SystemLayer().CancelTimer(IdentifyTimerHandler, this); + DeviceLayer::SystemLayer().StartTimer(Clock::Milliseconds32(kIdentifyTimerDelayMS), IdentifyTimerHandler, this); + +exit: + return; +} diff --git a/examples/air-purifier-app/ameba/main/chipinterface.cpp b/examples/air-purifier-app/ameba/main/chipinterface.cpp new file mode 100644 index 00000000000000..bcda329cdb8536 --- /dev/null +++ b/examples/air-purifier-app/ameba/main/chipinterface.cpp @@ -0,0 +1,175 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +#include "CHIPDeviceManager.h" +#include "DeviceCallbacks.h" +#include "Server.h" +#include + +#include "chip_porting.h" +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#if CONFIG_ENABLE_PW_RPC +#include "Rpc.h" +#endif + +#define AIR_PURIFIER_ENDPOINT 1 +#define AIR_QUALITY_SENSOR_ENDPOINT 2 +#define TEMPERATURE_SENSOR_ENDPOINT 3 +#define RELATIVE_HUMIDITY_SENSOR_ENDPOINT 4 + +using namespace ::chip; +using namespace ::chip::app; +using namespace ::chip::DeviceManager; +using namespace ::chip::DeviceLayer; +using namespace ::chip::System; + +namespace { // Network Commissioning +constexpr EndpointId kNetworkCommissioningEndpointMain = 0; +constexpr EndpointId kNetworkCommissioningEndpointSecondary = 0xFFFE; + +app::Clusters::NetworkCommissioning::Instance + sWiFiNetworkCommissioningInstance(kNetworkCommissioningEndpointMain /* Endpoint Id */, + &(NetworkCommissioning::AmebaWiFiDriver::GetInstance())); +} // namespace + +void NetWorkCommissioningInstInit() +{ + sWiFiNetworkCommissioningInstance.Init(); + + // We only have network commissioning on endpoint 0. + emberAfEndpointEnableDisable(kNetworkCommissioningEndpointSecondary, false); +} + +static DeviceCallbacks EchoCallbacks; +chip::DeviceLayer::DeviceInfoProviderImpl gExampleDeviceInfoProvider; + +void OnIdentifyStart(Identify *) +{ + ChipLogProgress(Zcl, "OnIdentifyStart"); +} + +void OnIdentifyStop(Identify *) +{ + ChipLogProgress(Zcl, "OnIdentifyStop"); +} + +void OnTriggerEffect(Identify * identify) +{ + switch (identify->mCurrentEffectIdentifier) + { + case Clusters::Identify::EffectIdentifierEnum::kBlink: + ChipLogProgress(Zcl, "Clusters::Identify::EffectIdentifierEnum::kBlink"); + break; + case Clusters::Identify::EffectIdentifierEnum::kBreathe: + ChipLogProgress(Zcl, "Clusters::Identify::EffectIdentifierEnum::kBreathe"); + break; + case Clusters::Identify::EffectIdentifierEnum::kOkay: + ChipLogProgress(Zcl, "Clusters::Identify::EffectIdentifierEnum::kOkay"); + break; + case Clusters::Identify::EffectIdentifierEnum::kChannelChange: + ChipLogProgress(Zcl, "Clusters::Identify::EffectIdentifierEnum::kChannelChange"); + break; + default: + ChipLogProgress(Zcl, "No identifier effect"); + return; + } +} + +static Identify gIdentify1 = { + chip::EndpointId{ 1 }, OnIdentifyStart, OnIdentifyStop, Clusters::Identify::IdentifyTypeEnum::kVisibleIndicator, + OnTriggerEffect, +}; + +static void InitAirPurifierManager(void) +{ + Clusters::AirPurifierManager::InitInstance(EndpointId(AIR_PURIFIER_ENDPOINT), EndpointId(AIR_QUALITY_SENSOR_ENDPOINT), + EndpointId(TEMPERATURE_SENSOR_ENDPOINT), + EndpointId(RELATIVE_HUMIDITY_SENSOR_ENDPOINT)); + + SetParentEndpointForEndpoint(AIR_QUALITY_SENSOR_ENDPOINT, AIR_PURIFIER_ENDPOINT); + SetParentEndpointForEndpoint(TEMPERATURE_SENSOR_ENDPOINT, AIR_PURIFIER_ENDPOINT); + SetParentEndpointForEndpoint(RELATIVE_HUMIDITY_SENSOR_ENDPOINT, AIR_PURIFIER_ENDPOINT); +} + +static void InitServer(intptr_t context) +{ + // Init ZCL Data Model and CHIP App Server + static chip::CommonCaseDeviceServerInitParams initParams; + (void) initParams.InitializeStaticResourcesBeforeServerInit(); + chip::Server::GetInstance().Init(initParams); + gExampleDeviceInfoProvider.SetStorageDelegate(&Server::GetInstance().GetPersistentStorage()); + chip::DeviceLayer::SetDeviceInfoProvider(&gExampleDeviceInfoProvider); + + NetWorkCommissioningInstInit(); + + if (RTW_SUCCESS != wifi_is_connected_to_ap()) + { + // QR code will be used with CHIP Tool + PrintOnboardingCodes(chip::RendezvousInformationFlags(chip::RendezvousInformationFlag::kBLE)); + } + + InitAirPurifierManager(); +} + +extern "C" void ChipTest(void) +{ + ChipLogProgress(DeviceLayer, "Air purifier App Demo!"); + CHIP_ERROR err = CHIP_NO_ERROR; + +#if CONFIG_ENABLE_PW_RPC + chip::rpc::Init(); +#endif + + initPref(); + + CHIPDeviceManager & deviceMgr = CHIPDeviceManager::GetInstance(); + + err = deviceMgr.Init(&EchoCallbacks); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "DeviceManagerInit() - ERROR!\r\n"); + } + else + { + ChipLogProgress(DeviceLayer, "DeviceManagerInit() - OK\r\n"); + } + + chip::DeviceLayer::PlatformMgr().ScheduleWork(InitServer, 0); +} + +bool lowPowerClusterSleep() +{ + return true; +} diff --git a/examples/air-purifier-app/ameba/main/include/CHIPDeviceManager.h b/examples/air-purifier-app/ameba/main/include/CHIPDeviceManager.h new file mode 100644 index 00000000000000..1a8ac985132365 --- /dev/null +++ b/examples/air-purifier-app/ameba/main/include/CHIPDeviceManager.h @@ -0,0 +1,123 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * This file contains definitions for the CHIP DeviceManager Interface + * + * This object will co-ordinate multiple activities such as + * initialisation, rendezvous, session mgmt and other such + * activities within the CHIP stack. This is a singleton object. + */ + +#pragma once + +#include +#include +#include + +#include + +#include +#include + +#include + +namespace chip { +namespace DeviceManager { + +/** + * @brief + * This class provides a skeleton for all the callback functions. The functions will be + * called by other objects within the CHIP stack for specific events. + * Applications interested in receiving specific callbacks can specialize this class and handle + * these events in their implementation of this class. + */ +class CHIPDeviceManagerCallbacks +{ +public: + /** + * @brief + * Called when CHIP Device events (PublicEventTypes) are triggered. + * + * @param event ChipDeviceEvent that occurred + * @param arg arguments specific to the event, if any + */ + virtual void DeviceEventCallback(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg) {} + + /** + * @brief + * Called after an attribute has been changed + * + * @param endpoint endpoint id + * @param clusterID cluster id + * @param attributeId attribute id that was changed + * @param manufacturerCode manufacturer code + * @param type attribute type + * @param size size of the attribute + * @param value pointer to the new value + */ + virtual void PostAttributeChangeCallback(chip::EndpointId endpoint, chip::ClusterId clusterId, chip::AttributeId attributeId, + uint8_t type, uint16_t size, uint8_t * value) + {} + virtual ~CHIPDeviceManagerCallbacks() {} +}; + +/** + * @brief + * A common class that drives other components of the CHIP stack + */ +class DLL_EXPORT CHIPDeviceManager +{ +public: + CHIPDeviceManager(const CHIPDeviceManager &) = delete; + CHIPDeviceManager(const CHIPDeviceManager &&) = delete; + CHIPDeviceManager & operator=(const CHIPDeviceManager &) = delete; + + static CHIPDeviceManager & GetInstance() + { + static CHIPDeviceManager instance; + return instance; + } + + /** + * @brief + * Initialise CHIPDeviceManager + * + * @param cb Application's instance of the CHIPDeviceManagerCallbacks for consuming events + */ + CHIP_ERROR Init(CHIPDeviceManagerCallbacks * cb); + + /** + * @brief + * Fetch a pointer to the registered CHIPDeviceManagerCallbacks object. + * + */ + CHIPDeviceManagerCallbacks * GetCHIPDeviceManagerCallbacks() { return mCB; } + + /** + * Use internally for registration of the ChipDeviceEvents + */ + static void CommonDeviceEventHandler(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg); + +private: + CHIPDeviceManagerCallbacks * mCB = nullptr; + CHIPDeviceManager() {} +}; + +} // namespace DeviceManager +} // namespace chip diff --git a/examples/air-purifier-app/ameba/main/include/CHIPProjectAppConfig.h b/examples/air-purifier-app/ameba/main/include/CHIPProjectAppConfig.h new file mode 100644 index 00000000000000..e3a2e726e2db2a --- /dev/null +++ b/examples/air-purifier-app/ameba/main/include/CHIPProjectAppConfig.h @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +// include the CHIPProjectConfig from config/standalone +#include + +#define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY 0 + +#define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT 1 + +#define CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY 1 + +#define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONABLE_DEVICE_TYPE 1 + +#define CHIP_DEVICE_CONFIG_DEVICE_TYPE 0x002D // Air Purifier + +#define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONABLE_DEVICE_NAME 1 + +#define CHIP_DEVICE_ENABLE_PORT_PARAMS 1 + +#define CHIP_DEVICE_CONFIG_DEVICE_NAME "Air Purifier" diff --git a/examples/air-purifier-app/ameba/main/include/DeviceCallbacks.h b/examples/air-purifier-app/ameba/main/include/DeviceCallbacks.h new file mode 100755 index 00000000000000..696fbd1c2b95c4 --- /dev/null +++ b/examples/air-purifier-app/ameba/main/include/DeviceCallbacks.h @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file DeviceCallbacks.h + * + * Implementations for the DeviceManager callbacks for this application + * + **/ + +#pragma once + +#include "CHIPDeviceManager.h" +#include +#include +#include + +class DeviceCallbacks : public chip::DeviceManager::CHIPDeviceManagerCallbacks +{ +public: + virtual void DeviceEventCallback(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg); + void PostAttributeChangeCallback(chip::EndpointId endpointId, chip::ClusterId clusterId, chip::AttributeId attributeId, + uint8_t type, uint16_t size, uint8_t * value) override; + +private: + void OnInternetConnectivityChange(const chip::DeviceLayer::ChipDeviceEvent * event); + void OnIdentifyPostAttributeChangeCallback(chip::EndpointId endpointId, chip::AttributeId attributeId, uint8_t * value); +}; diff --git a/examples/air-purifier-app/ameba/third_party/connectedhomeip b/examples/air-purifier-app/ameba/third_party/connectedhomeip new file mode 120000 index 00000000000000..11a54ed360106c --- /dev/null +++ b/examples/air-purifier-app/ameba/third_party/connectedhomeip @@ -0,0 +1 @@ +../../../../ \ No newline at end of file diff --git a/examples/air-purifier-app/cc32xx/.gn b/examples/air-purifier-app/cc32xx/.gn new file mode 100644 index 00000000000000..3d48789e30ab3d --- /dev/null +++ b/examples/air-purifier-app/cc32xx/.gn @@ -0,0 +1,28 @@ +# Copyright (c) 2020 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/build.gni") + +# The location of the build configuration file. +buildconfig = "${build_root}/config/BUILDCONFIG.gn" + +# CHIP uses angle bracket includes. +check_system_includes = true + +default_args = { + target_cpu = "arm" + target_os = "freertos" + + import("//args.gni") +} diff --git a/examples/air-purifier-app/cc32xx/BUILD.gn b/examples/air-purifier-app/cc32xx/BUILD.gn new file mode 100755 index 00000000000000..51916cc32d646f --- /dev/null +++ b/examples/air-purifier-app/cc32xx/BUILD.gn @@ -0,0 +1,126 @@ +# Copyright (c) 2020 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/build.gni") +import("//build_overrides/chip.gni") +import("//build_overrides/ti_simplelink_sdk.gni") +import("${build_root}/config/defaults.gni") +import("${chip_root}/src/platform/device.gni") +import("${ti_simplelink_sdk_build_root}/ti_simplelink_executable.gni") +import("${ti_simplelink_sdk_build_root}/ti_simplelink_sdk.gni") + +assert(current_os == "freertos") + +project_dir = "${chip_root}/examples/air-purifier-app/cc32xx" + +ti_simplelink_sdk("sdk") { + include_dirs = [ "${project_dir}/main/include" ] + + defines = [] + if (is_debug) { + defines += [ "BUILD_RELEASE=0" ] + } else { + defines += [ "BUILD_RELEASE=1" ] + } +} + +ti_sysconfig("sysconfig") { + sources = [ "${project_dir}/chip.syscfg" ] + outputs = [ + "ti_drivers_net_wifi_config.c", + "ti_net_config.c", + "ti_drivers_config.c", + "ti_drivers_config.h", + ] +} + +source_set("air-purifier_app_sdk") { + defines = [] + + configs -= [ "${build_root}/config/compiler:std_default" ] + configs += [ ":sdk_posix_config" ] + + sources = [ + "${chip_root}/src/platform/cc32xx/Logging.cpp", + "${project_dir}/main/cc32xxWifiInit.c", + "${project_dir}/main/main.cpp", + "${ti_simplelink_sdk_root}/examples/rtos/common/ifmod/lwip_if.c", + "${ti_simplelink_sdk_root}/examples/rtos/common/ifmod/utils_if.c", + "${ti_simplelink_sdk_root}/examples/rtos/common/ifmod/wifi_if.c", + ] + + include_dirs = [ + "${project_dir}/include", + "${project_dir}/main", + "${project_dir}/main/ifmod/", + "${chip_root}/src/platform/cc32xx", + "${chip_root}/examples/platform/cc32xx", + ] + + deps = [ + ":sdk", + ":sysconfig", + "${chip_root}/examples/air-purifier-app/air-purifier-common", + "${chip_root}/src/lib", + "${chip_root}/src/setup_payload", + ] +} + +ti_simplelink_executable("air-purifier_app") { + defines = [] + output_name = "chip-${ti_simplelink_board}-air-purifier-example.out" + + sources = [ + "${chip_root}/examples/air-purifier-app/air-purifier-common/src/air-purifier-manager.cpp", + "${chip_root}/examples/air-purifier-app/air-purifier-common/src/air-quality-sensor-manager.cpp", + "${chip_root}/examples/air-purifier-app/air-purifier-common/src/filter-delegates.cpp", + "${project_dir}/main/AppTask.cpp", + "${project_dir}/main/CHIPDeviceManager.cpp", + "${project_dir}/main/CXXExceptionStubs.cpp", + "${project_dir}/main/DeviceCallbacks.cpp", + "${project_dir}/main/ZclCallbacks.cpp", + ] + + deps = [ + ":air-purifier_app_sdk", + ":sdk", + ":sysconfig", + "${chip_root}/examples/air-purifier-app/air-purifier-common", + "${chip_root}/examples/platform/cc32xx:cc32xx-attestation-credentials", + "${chip_root}/src/lib", + "${chip_root}/src/setup_payload", + ] + + include_dirs = [ + "${project_dir}", + "${project_dir}/main", + "${chip_root}/examples/air-purifier-app/air-purifier-common/include", + ] + + cflags = [ + "-Wno-implicit-fallthrough", + "-Wno-sign-compare", + "-Wconversion", + ] + + output_dir = root_out_dir +} + +group("cc32xx") { + deps = [ ":air-purifier_app" ] +} + +group("default") { + deps = [ ":cc32xx" ] +} diff --git a/examples/air-purifier-app/cc32xx/README.md b/examples/air-purifier-app/cc32xx/README.md new file mode 100644 index 00000000000000..529c3c245be9ca --- /dev/null +++ b/examples/air-purifier-app/cc32xx/README.md @@ -0,0 +1,163 @@ +# Matter `CC32XXSF` Air Purifier Example Application + +An example application showing the use of [Matter][matter] on the Texas +Instruments CC32XX family of Wireless MCUs. + +--- + +- [Matter `CC32XXSF` Air Purifier Example Application](#matter-cc32xxsf-air-purifier-example-application) + - [Introduction](#introduction) + - [Device UI](#device-ui) + - [Building](#building) + - [Preparation](#preparation) + - [Compilation](#compilation) + - [Adding DAC Certificates](#adding-dac-certificates) + - [Programming](#programming) + - [Code Composer Studio](#code-composer-studio) + - [Viewing Logging Output](#viewing-logging-output) + - [Running the Example](#running-the-example) + - [Provisioning](#provisioning) + - [Bluetooth LE Provisioning](#bluetooth-le-provisioning) + +--- + +## Introduction + +The CC32XX air purifier example application provides a working demonstration of +a connected air purifier device. This uses the open-source CHIP implementation +and the Texas Instruments SimpleLink™ Wi-Fi® CC32xx software development kit. + +By default this example targets the [CC3235SF_LAUNCHXL][cc3235sf_launchxl] +LaunchPad, but the example application is enabled to build on the whole `CC32XX` +family of MCUs. + +The air purifier example is intended to serve both as a means to explore the +workings of CHIP, as well as a template for creating real products based on the +Texas Instruments devices. + +## Device UI + +The left button (`BTN-1`) is used to enable provisioning (provisioning is +enabled as "oneshot" by default). The right button (`BTN-2`) long press is used +to reset the device. + +## Building + +### Preparation + +Some initial setup is necessary for preparing the build environment. This +section will need to be done when migrating to new versions of the SDK. This +guide assumes that the environment is linux based, and recommends Ubuntu 20.04. + +- Download and install [SysConfig][sysconfig] ([recommended + version][sysconfig_recommended]). This can be done simply with the following + commands. + + ``` + $ cd ~ + $ wget https://software-dl.ti.com/ccs/esd/sysconfig/sysconfig-1.13.0_2553-setup.run + $ chmod +x sysconfig-1.13.0_2553-setup.run + $ ./sysconfig-1.13.0_2553-setup.run + ``` + +- Run the bootstrap script to setup the build environment. + + ``` + $ cd ~/connectedhomeip + $ source ./scripts/bootstrap.sh + ``` + +### Compilation + +It is necessary to activate the environment in every new shell. Then run GN and +Ninja to build the executable. + +- Activate the build environment with the repository activate script. + + ``` + $ cd ~/connectedhomeip + $ source ./scripts/activate.sh + ``` + +- Run the build to produce a default executable. By default on Linux the + Sysconfig is located in a `ti` folder in the user's home directory, and you + must provide the absolute path for it. For example + `/home/username/ti/sysconfig_1.13.0`. On Windows the default directory is + `C:\ti`. Take note of this install path, as it will be used in the next + step. + + ``` + $ cd ~/connectedhomeip/examples/air-purifier-app/cc32xx + $ gn gen out/debug --args="ti_sysconfig_root=\"$HOME/ti/sysconfig_1.13.0\"" + $ ninja -C out/debug + ``` + +## Adding DAC Certificates + +To add custom DAC Certificates, the `CC32XXDeviceAttestationCreds.cpp` file in +`examples/platform/cc32xx` can be modified. The private key, public key, DAC +cert and PAI cert arrays all need to be replaced. + +## Programming + +Loading the built image onto a LaunchPad is supported through Code Composer +Studio (CCS). Code Composer Studio can be used to load the image and debug the +source code. UniFlash programming (bin) image is not generated currently. + +### Code Composer Studio + +Programming with CCS will allow for a full debug environment within the IDE. +This is accomplished by creating a target connection to the XDS110 debugger and +starting a project-less debug session. The CCS IDE will attempt to find the +source files on the local machine based on the debug information embedded within +the ELF. CCS may prompt you to find the source code if the image was built on +another machine or the source code is located in a different location than is +recorded within the ELF. + +Download and install [Code Composer Studio][ccs]. + +First open CCS and create a new workspace. + +Create a target connection (sometimes called the CCXML) for your target SoC and +debugger as described in the [Manual Method][ccs_manual_method] section of the +CCS User's Guide. + +Next initiate a project-less debug session as described in the [Manual +Launch][ccs_manual_launch] section of the CCS User's Guide. + +CCS should switch to the debug view described in the [After +Launch][ccs_after_launch] section of the User's Guide. The SoC core will likely +be disconnected and symbols will not be loaded. Connect to the core as described +in the [Debug View][ccs_debug_view] section of the User's Guide. Once the core +is connected, use the `Load` button on the toolbar to load the ELF image. + +Note that the default configuration of the CCXML uses 2-wire cJTAG instead of +the full 4-wire JTAG connection to match the default jumper configuration of the +LaunchPad. + +## Viewing Logging Output + +By default the log output will be sent to the Application/User UART. Open a +terminal emulator to that port to see the output with the following options: + +| Parameter | Value | +| ------------ | -------- | +| Speed (baud) | `115200` | +| Data bits | `8` | +| Stop bits | `1` | +| Parity | `None` | +| Flow control | `None` | + +## Running the Example + +### Provisioning + +The first step to bring the Matter device onto the network is to provision it. +The example accomplishes this through the proprietary SimpleLink provisioning +method (AP or Smart Config) using the SimpleLink Starter Pro mobile app. Once +the device is connected to the local AP, commissioning can be triggered using +"OnNetwork" configuration. + +#### Bluetooth LE Provisioning + +BLE provisioning is not supported currently. diff --git a/examples/air-purifier-app/cc32xx/args.gni b/examples/air-purifier-app/cc32xx/args.gni new file mode 100755 index 00000000000000..aaf39441ba3490 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/args.gni @@ -0,0 +1,44 @@ +# Copyright (c) 2020 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/chip.gni") +import("${chip_root}/config/standalone/args.gni") +import("${chip_root}/examples/platform/cc32xx/args.gni") + +ti_simplelink_sdk_target = get_label_info(":sdk", "label_no_toolchain") +ti_simplelink_sysconfig_target = + get_label_info(":sysconfig", "label_no_toolchain") + +ti_simplelink_board = "CC3235SF_LAUNCHXL" + +# use -Os instead of -Og +#is_debug = false + +# disable BLE for now +chip_config_network_layer_ble = false +chip_bypass_rendezvous = false + +#enable logging +chip_progress_logging = true +chip_detail_logging = true +chip_automation_logging = true + +## Disable lock tracking, since our FreeRTOS configuration does not set +# INCLUDE_xSemaphoreGetMutexHolder +chip_stack_lock_tracking = "none" + +matter_device_vid = "0xFFF1" +matter_device_pid = "0x8006" +matter_software_ver = "0x0001" +matter_software_ver_str = "1.0d1" diff --git a/examples/air-purifier-app/cc32xx/build_overrides b/examples/air-purifier-app/cc32xx/build_overrides new file mode 120000 index 00000000000000..194ee0b812dc3d --- /dev/null +++ b/examples/air-purifier-app/cc32xx/build_overrides @@ -0,0 +1 @@ +../../build_overrides/ \ No newline at end of file diff --git a/examples/air-purifier-app/cc32xx/chip.syscfg b/examples/air-purifier-app/cc32xx/chip.syscfg new file mode 100755 index 00000000000000..14fd3130d99c4f --- /dev/null +++ b/examples/air-purifier-app/cc32xx/chip.syscfg @@ -0,0 +1,74 @@ +/** + * Import the modules used in this configuration. + */ +const Display = scripting.addModule("/ti/display/Display"); +const Display1 = Display.addInstance(); +const SPI = scripting.addModule("/ti/drivers/SPI"); +const Button = scripting.addModule("/ti/drivers/apps/Button"); +const Button1 = Button.addInstance(); +const Button2 = Button.addInstance(); +const LED = scripting.addModule("/ti/drivers/apps/LED"); +const LED1 = LED.addInstance(); +const LED2 = LED.addInstance(); +const LED3 = LED.addInstance(); +const SimpleLinkWifi = scripting.addModule("/ti/drivers/net/wifi/SimpleLinkWifi"); +const net_utils = scripting.addModule("/ti/drivers/net/wifi/net_utils", {}, false); +const net_utils1 = net_utils.addInstance(); +const HTTPClient = scripting.addModule("/ti/net/HTTPClient", {}, false); +const HTTPClient1 = HTTPClient.addInstance(); +const MQTT = scripting.addModule("/ti/net/MQTT", {}, false); +const MQTT1 = MQTT.addInstance(); +const SNTP = scripting.addModule("/ti/net/SNTP"); +const SlNet = scripting.addModule("/ti/net/SlNet", {}, false); +const SlNet1 = SlNet.addInstance(); + +/** + * Write custom configuration values to the imported modules. + */ +Display1.$name = "CONFIG_Display_0"; +Display1.$hardware = system.deviceData.board.components.XDS110UART; +Display1.uart.$name = "CONFIG_UART2_0"; + +const Power = scripting.addModule("/ti/drivers/Power", {}, false); +Power.parkPins.$name = "ti_drivers_power_PowerCC32XXPins0"; + +Button1.$hardware = system.deviceData.board.components.SW2; +Button1.$name = "CONFIG_BTN_LEFT"; + +Button2.$hardware = system.deviceData.board.components.SW3; +Button2.$name = "CONFIG_BTN_RIGHT"; + +LED1.$hardware = system.deviceData.board.components.LED_BLUE; +LED1.$name = "CONFIG_LED_BLUE"; + +LED2.$hardware = system.deviceData.board.components.LED_GREEN; +LED2.$name = "CONFIG_LED_GREEN"; + +LED3.$hardware = system.deviceData.board.components.LED_RED; +LED3.dimmable = true; +LED3.$name = "CONFIG_LED_RED"; + +net_utils1.$name = "CONFIG_NET_UTILS_0"; + +HTTPClient1.$name = "CONFIG_HTTPCLIENT_0"; + +MQTT1.$name = "CONFIG_MQTT_0"; + +SlNet1.$name = "CONFIG_SLNET_0"; + +/** + * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future + * version of the tool will not impact the pinmux you originally saw. These lines can be completely deleted in order to + * re-solve from scratch. + */ +Display1.uart.uart.$suggestSolution = "UART1"; +Display1.uart.uart.txPin.$suggestSolution = "ball.55"; +Display1.uart.uart.txDmaChannel.$suggestSolution = "UDMA_CH11"; +Display1.uart.uart.rxPin.$suggestSolution = "ball.57"; +Display1.uart.uart.rxDmaChannel.$suggestSolution = "UDMA_CH10"; +Button1.button.$suggestSolution = "boosterpack.3"; +Button2.button.$suggestSolution = "boosterpack.11"; +LED1.ledPin.$suggestSolution = "boosterpack.29"; +LED2.ledPin.$suggestSolution = "boosterpack.10"; +LED3.pwmPin.timer.$suggestSolution = "Timer3"; +LED3.pwmPin.timer.pwmPin.$suggestSolution = "boosterpack.9"; diff --git a/examples/air-purifier-app/cc32xx/main/AppConfig.h b/examples/air-purifier-app/cc32xx/main/AppConfig.h new file mode 100755 index 00000000000000..913188f41fab36 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/AppConfig.h @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +// Logging +#ifdef __cplusplus +extern "C" { +#endif + +int cc32xxLogInit(void); +void cc32xxLog(const char * aFormat, ...); +#define PLAT_LOG(...) cc32xxLog(__VA_ARGS__); + +#ifdef __cplusplus +} +#endif diff --git a/examples/air-purifier-app/cc32xx/main/AppEvent.h b/examples/air-purifier-app/cc32xx/main/AppEvent.h new file mode 100755 index 00000000000000..de612090ee8c01 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/AppEvent.h @@ -0,0 +1,57 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +struct AppEvent; +typedef void (*EventHandler)(AppEvent *); + +struct AppEvent +{ + enum AppEventType + { + kEventType_None = 0, + kEventType_ButtonLeft, + kEventType_ButtonRight, + kEventType_AppEvent, + }; + + enum AppEventButtonType + { + kAppEventButtonType_None = 0, + kAppEventButtonType_Clicked, + kAppEventButtonType_LongClicked, + }; + + enum AppEventType Type; + + union + { + struct + { + enum AppEventButtonType Type; + } ButtonEvent; + + struct + { + void * Context; + } BoltLockEvent; + }; + + EventHandler Handler; +}; diff --git a/examples/air-purifier-app/cc32xx/main/AppTask.cpp b/examples/air-purifier-app/cc32xx/main/AppTask.cpp new file mode 100644 index 00000000000000..fa112c1ee23a21 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/AppTask.cpp @@ -0,0 +1,282 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * Copyright (c) 2020 Texas Instruments Incorporated + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AppTask.h" +#include "AppConfig.h" +#include "AppEvent.h" + +#include +#include +#include +#include + +#include "FreeRTOS.h" + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include + +#include +/* syscfg */ +#include +#include + +extern "C" { +extern int WiFi_init(); +extern void DisplayBanner(); +} + +#define APP_TASK_STACK_SIZE (4096) +#define APP_TASK_PRIORITY 4 +#define APP_EVENT_QUEUE_SIZE 10 + +#define AIR_PURIFIER_ENDPOINT 1 +#define AIR_QUALITY_SENSOR_ENDPOINT 2 +#define RELATIVE_HUMIDITY_SENSOR_ENDPOINT 3 +#define TEMPERATURE_SENSOR_ENDPOINT 4 + +// Added the below three for DNS Server Initialization +using namespace ::chip; +using namespace ::chip::Inet; +using namespace ::chip::System; + +using namespace ::chip::Credentials; +using namespace ::chip::DeviceLayer; +using namespace ::chip::DeviceManager; + +using namespace chip::app; +using namespace chip::app::Clusters; + +static TaskHandle_t sAppTaskHandle; +static QueueHandle_t sAppEventQueue; + +extern LED_Handle gLedGreenHandle, gLedRedHandle; +static Button_Handle gButtonRightHandle; + +AppTask AppTask::sAppTask; + +static DeviceCallbacks EchoCallbacks; + +int AppTask::StartAppTask() +{ + int ret = 0; + + sAppEventQueue = xQueueCreate(APP_EVENT_QUEUE_SIZE, sizeof(AppEvent)); + if (sAppEventQueue == NULL) + { + PLAT_LOG("Failed to allocate app event queue"); + while (true) + ; + } + + // Start App task. + if (xTaskCreate(AppTaskMain, "APP", APP_TASK_STACK_SIZE / sizeof(StackType_t), NULL, APP_TASK_PRIORITY, &sAppTaskHandle) != + pdPASS) + { + PLAT_LOG("Failed to create app task"); + while (true) + ; + } + return ret; +} + +int AppTask::Init() +{ + CHIP_ERROR ret; + LED_Params ledParams; + Button_Params buttonParams; + + cc32xxLogInit(); + + /* Initial Terminal, and print Application name */ + DisplayBanner(); + + // Init Chip memory management before the stack + PLAT_LOG("Initialize Memory"); + chip::Platform::MemoryInit(); + + // Initialize LEDs + PLAT_LOG("Initialize LEDs"); + LED_init(); + + LED_Params_init(&ledParams); // default PWM LED + gLedRedHandle = LED_open(CONFIG_LED_RED, &ledParams); + LED_setOff(gLedRedHandle); + + LED_Params_init(&ledParams); // default PWM LED + gLedGreenHandle = LED_open(CONFIG_LED_GREEN, &ledParams); + LED_setOff(gLedGreenHandle); + + // Initialize buttons + PLAT_LOG("Initialize buttons"); + Button_init(); + + Button_Params_init(&buttonParams); + buttonParams.buttonEventMask = Button_EV_CLICKED | Button_EV_LONGCLICKED; + buttonParams.longPressDuration = 1000U; // ms + gButtonRightHandle = Button_open(CONFIG_BTN_RIGHT, &buttonParams); + Button_setCallback(gButtonRightHandle, ButtonRightEventHandler); + + PLAT_LOG("Initialize Wi-Fi"); + WiFi_init(); + + PLAT_LOG("Initialize CHIP stack"); + ret = PlatformMgr().InitChipStack(); + if (ret != CHIP_NO_ERROR) + { + PLAT_LOG("PlatformMgr().InitChipStack() failed"); + while (true) + ; + } + + // Init ZCL Data Model and start server + PLAT_LOG("Initialize Server"); + static chip::CommonCaseDeviceServerInitParams initParams; + (void) initParams.InitializeStaticResourcesBeforeServerInit(); + chip::Server::GetInstance().Init(initParams); + + // Initialize device attestation config + PLAT_LOG("Initialize device attestation config"); +#ifdef CC32XX_ATTESTATION_CREDENTIALS + SetDeviceAttestationCredentialsProvider(CC32XX::GetCC32XXDacProvider()); +#else + + SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider()); +#endif + + // init air purifier stuff + SetParentEndpointForEndpoint(AIR_QUALITY_SENSOR_ENDPOINT, AIR_PURIFIER_ENDPOINT); + SetParentEndpointForEndpoint(TEMPERATURE_SENSOR_ENDPOINT, AIR_PURIFIER_ENDPOINT); + SetParentEndpointForEndpoint(RELATIVE_HUMIDITY_SENSOR_ENDPOINT, AIR_PURIFIER_ENDPOINT); + + AirPurifierManager::InitInstance(EndpointId(AIR_PURIFIER_ENDPOINT), EndpointId(AIR_QUALITY_SENSOR_ENDPOINT), + EndpointId(TEMPERATURE_SENSOR_ENDPOINT), EndpointId(RELATIVE_HUMIDITY_SENSOR_ENDPOINT)); + + ConfigurationMgr().LogDeviceConfig(); + + // QR code will be used with CHIP Tool + PLAT_LOG("Print Onboarding Codes"); + PrintOnboardingCodes(chip::RendezvousInformationFlags(chip::RendezvousInformationFlag::kOnNetwork)); + + PLAT_LOG("Start CHIPDeviceManager and Start Event Loop Task"); + CHIPDeviceManager & deviceMgr = CHIPDeviceManager::GetInstance(); + ret = deviceMgr.Init(&EchoCallbacks); + if (ret != CHIP_NO_ERROR) + { + PLAT_LOG("CHIPDeviceManager::Init() failed: %s", ErrorStr(ret)); + while (1) + ; + } + + return 0; +} + +void AppTask::AppTaskMain(void * pvParameter) +{ + AppEvent event; + + sAppTask.Init(); + + while (true) + { + /* Task pend until we have stuff to do */ + if (xQueueReceive(sAppEventQueue, &event, portMAX_DELAY) == pdTRUE) + { + sAppTask.DispatchEvent(&event); + } + } +} + +void AppTask::ButtonRightEventHandler(Button_Handle handle, Button_EventMask events) +{ + AppEvent event; + event.Type = AppEvent::kEventType_ButtonRight; + + if (events & Button_EV_CLICKED) + { + event.ButtonEvent.Type = AppEvent::kAppEventButtonType_Clicked; + } + else if (events & Button_EV_LONGCLICKED) + { + event.ButtonEvent.Type = AppEvent::kAppEventButtonType_LongClicked; + } + // button callbacks are in ISR context + if (xQueueSendFromISR(sAppEventQueue, &event, NULL) != pdPASS) + { + /* Failed to post the message */ + } +} + +void AppTask::PostEvent(const AppEvent * aEvent) +{ + if (xQueueSend(sAppEventQueue, aEvent, 0) != pdPASS) + { + /* Failed to post the message */ + } +} + +// need to define custom tokens to read/write files from the file system +#define KVS_TOKEN 0x13578642 + +void AppTask::DispatchEvent(AppEvent * aEvent) +{ + switch (aEvent->Type) + { + case AppEvent::kEventType_ButtonRight: + if (AppEvent::kAppEventButtonType_Clicked == aEvent->ButtonEvent.Type) + { + PLAT_LOG("DispatchEvent: kEventType_ButtonRight: kAppEventButtonType_Clicked"); + } + if (AppEvent::kAppEventButtonType_LongClicked == aEvent->ButtonEvent.Type) + { + // delete the kvs.cfg file and reset the matter part of the device + PLAT_LOG("DispatchEvent: kEventType_ButtonRight: LONG clicked - clearing KVS"); + + uint32_t token = KVS_TOKEN; + const unsigned char listName[] = "/sys/matter/kvs.cfg"; + sl_FsDel(listName, token); + } + break; + case AppEvent::kEventType_AppEvent: + if (NULL != aEvent->Handler) + { + // XXX: assume our caller isn't trying to crash our stack + aEvent->Handler(aEvent); + } + break; + + case AppEvent::kEventType_None: + default: + break; + } +} diff --git a/examples/air-purifier-app/cc32xx/main/AppTask.h b/examples/air-purifier-app/cc32xx/main/AppTask.h new file mode 100644 index 00000000000000..1d16f8eeb82696 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/AppTask.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2023 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include + +#include "FreeRTOS.h" +#include "semphr.h" +#include "task.h" + +#include "AppEvent.h" +#include + +class AppTask +{ +public: + int StartAppTask(); + static void AppTaskMain(void * pvParameter); + + void PostEvent(const AppEvent * event); + +private: + friend AppTask & GetAppTask(void); + + int Init(); + + void DispatchEvent(AppEvent * event); + + static void ButtonRightEventHandler(Button_Handle handle, Button_EventMask events); + + static void TimerEventHandler(void * p_context); + + enum Function_t + { + kFunction_NoneSelected = 0, + kFunction_SoftwareUpdate = 0, + kFunction_FactoryReset, + + kFunction_Invalid + } Function; + + Function_t mFunction; + bool mFunctionTimerActive; + + static AppTask sAppTask; +}; + +inline AppTask & GetAppTask(void) +{ + return AppTask::sAppTask; +} diff --git a/examples/air-purifier-app/cc32xx/main/CHIPDeviceManager.cpp b/examples/air-purifier-app/cc32xx/main/CHIPDeviceManager.cpp new file mode 100644 index 00000000000000..399c527e47edef --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/CHIPDeviceManager.cpp @@ -0,0 +1,63 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * This file implements the CHIP Device Interface that is used by + * applications to interact with the CHIP stack + * + */ + +#include + +#include "CHIPDeviceManager.h" + +using namespace ::chip; + +namespace chip { + +namespace DeviceManager { + +using namespace ::chip::DeviceLayer; + +void CHIPDeviceManager::DeviceEventHandler(const ChipDeviceEvent * event, intptr_t arg) +{ + CHIPDeviceManagerCallbacks * cb = reinterpret_cast(arg); + if (cb != nullptr) + { + cb->DeviceEventCallback(event, reinterpret_cast(cb)); + } +} + +CHIP_ERROR CHIPDeviceManager::Init(CHIPDeviceManagerCallbacks * cb) +{ + mCB = cb; + + // Register a function to receive events from the CHIP device layer. Note that calls to + // this function will happen on the CHIP event loop thread, not the app_main thread. + PlatformMgr().AddEventHandler(CHIPDeviceManager::DeviceEventHandler, reinterpret_cast(cb)); + + // Start a task to run the CHIP Device event loop. + return PlatformMgr().StartEventLoopTask(); +} + +void CHIPDeviceManagerCallbacks::DeviceEventCallback(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg) {} + +CHIPDeviceManagerCallbacks::~CHIPDeviceManagerCallbacks() {} + +} // namespace DeviceManager +} // namespace chip diff --git a/examples/air-purifier-app/cc32xx/main/CXXExceptionStubs.cpp b/examples/air-purifier-app/cc32xx/main/CXXExceptionStubs.cpp new file mode 100755 index 00000000000000..39845ce7604c82 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/CXXExceptionStubs.cpp @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2023 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Stub implementations of the C++ ABI exception handling functions. + * + * These functions replace the standard C++ exception code from the system's + * C++ runtime library with stub implementations that simply abort. This + * reduces overall code size as well as eliminating some calls to malloc() + * that occur during global initialization (see the code in eh_alloc.cc). + * This provides significant memory savings on resource constrained devices + * that don't use exceptions. + * + */ + +#include + +extern "C" { + +void * __cxa_allocate_exception(size_t) +{ + abort(); +} + +void __cxa_free_exception(void *) +{ + abort(); +} + +void * __cxa_allocate_dependent_exception() +{ + abort(); +} + +void __cxa_free_dependent_exception(void *) +{ + abort(); +} + +void __cxa_throw(void *, void *, void (*)(void *)) +{ + abort(); +} + +void __cxa_rethrow() +{ + abort(); +} + +void * __cxa_begin_catch(void *) +{ + abort(); +} + +void __cxa_end_catch() +{ + abort(); +} + +void * __cxa_get_exception_ptr(void *) +{ + abort(); +} +} diff --git a/examples/air-purifier-app/cc32xx/main/DeviceCallbacks.cpp b/examples/air-purifier-app/cc32xx/main/DeviceCallbacks.cpp new file mode 100644 index 00000000000000..71ec0909cc206b --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/DeviceCallbacks.cpp @@ -0,0 +1,45 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "DeviceCallbacks.h" +#include + +using namespace chip; +using namespace chip::DeviceLayer; +using namespace chip::System; + +DeviceCallbacksDelegate * appDelegate = nullptr; +extern "C" void cc32xxLog(const char * aFormat, ...); + +void DeviceCallbacks::DeviceEventCallback(const ChipDeviceEvent * event, intptr_t arg) +{ + switch (event->Type) + { + case DeviceEventType::kInterfaceIpAddressChanged: + if ((event->InterfaceIpAddressChanged.Type == InterfaceIpChangeType::kIpV4_Assigned) || + (event->InterfaceIpAddressChanged.Type == InterfaceIpChangeType::kIpV6_Assigned)) + { + // MDNS server restart on any ip assignment: if link local ipv6 is configured, that + // will not trigger a 'internet connectivity change' as there is no internet + // connectivity. MDNS still wants to refresh its listening interfaces to include the + // newly selected address. + cc32xxLog("DeviceEventCallback:Start DNS Server"); + chip::app::DnssdServer::Instance().StartServer(); + } + } +} diff --git a/examples/air-purifier-app/cc32xx/main/ZclCallbacks.cpp b/examples/air-purifier-app/cc32xx/main/ZclCallbacks.cpp new file mode 100644 index 00000000000000..7e780d7050f06e --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/ZclCallbacks.cpp @@ -0,0 +1,61 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "AppConfig.h" + +#include +#include +#include +#include +#include + +using namespace ::chip; +using namespace ::chip::app::Clusters; + +void MatterPostAttributeChangeCallback(const chip::app::ConcreteAttributePath & attributePath, uint8_t type, uint16_t size, + uint8_t * value) +{ + if (attributePath.mClusterId == OnOff::Id && attributePath.mAttributeId == OnOff::Attributes::OnOff::Id) + { + PLAT_LOG("MatterPostAttributeChangeCallback from zclCallbacks.cpp"); + } + if (AirPurifierManager::GetInstance() != nullptr) + { + AirPurifierManager::GetInstance()->PostAttributeChangeCallback(attributePath.mEndpointId, attributePath.mClusterId, + attributePath.mAttributeId, type, size, value); + } +} + +/** @brief OnOff Cluster Init + * + * This function is called when a specific cluster is initialized. It gives the + * application an opportunity to take care of cluster initialization procedures. + * It is called exactly once for each endpoint where cluster is present. + * + * @param endpoint Ver.: always + * + * TODO Issue #3841 + * emberAfOnOffClusterInitCallback happens before the stack initialize the cluster + * attributes to the default value. + * The logic here expects something similar to the deprecated Plugins callback + * emberAfPluginOnOffClusterServerPostInitCallback. + * + */ +void emberAfOnOffClusterInitCallback(EndpointId endpoint) +{ + // TODO: implement any additional Cluster Server init actions +} diff --git a/examples/air-purifier-app/cc32xx/main/cc32xxWifiInit.c b/examples/air-purifier-app/cc32xx/main/cc32xxWifiInit.c new file mode 100644 index 00000000000000..2f6230d1487c12 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/cc32xxWifiInit.c @@ -0,0 +1,243 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * Copyright (c) 2020 Texas Instruments Incorporated + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//**************************************************************************** +// +//! \addtogroup +//! @{ +// +//**************************************************************************** + +/* Standard Include */ +#include +#include +#include +#include +#include +#include +#include +#include + +/* TI-DRIVERS Header files */ +#include +#include + +#include + +#include + +#include +#include + +#include "ti_drivers_config.h" +#include +#include +#include +#include +#include +#include +#include + +#include "utils_if.h" +#include "wifi_if.h" + +#include +int CHIP_IF_init(); + +/* Application Version and Naming*/ +#define APPLICATION_NAME "CC32XX-MATTER:: E-LOCK" +#define APPLICATION_VERSION "01.00.00.00" + +/* USER's defines */ +#define SLNETCONN_TASK_STACK_SIZE (2048) +#define DISPLAY_TASK_STACK_SIZE (512) + +/**************************************************************************** + LOCAL FUNCTION PROTOTYPES + ****************************************************************************/ +static void ButtonLeftEventHandler(Button_Handle handle, Button_EventMask events); + +/**************************************************************************** + EXT. FUNCTION PROTOTYPES + ****************************************************************************/ +extern void LWIP_IF_start(); + +/**************************************************************************** + GLOBAL VARIABLES + ****************************************************************************/ +pthread_t gSlNetConnThread = (pthread_t) NULL; +Button_Handle gButtonLeftHandle, gButtonRightHandle; +LED_Handle gLedBlueHandle, gLedGreenHandle, gLedRedHandle; + +/**************************************************************************** + STATIC VARIABLES + ****************************************************************************/ +static bool gIsConnected = 0; + +//***************************************************************************** +// Local Functions +//***************************************************************************** + +void SimpleLinkSockEventHandler(SlSockEvent_t * pSock) +{ + /* Unused in this application */ +} + +void SimpleLinkHttpServerEventHandler(SlNetAppHttpServerEvent_t * pHttpEvent, SlNetAppHttpServerResponse_t * pHttpResponse) +{ + /* Unused in this application */ +} + +void SimpleLinkNetAppRequestEventHandler(SlNetAppRequest_t * pNetAppRequest, SlNetAppResponse_t * pNetAppResponse) +{ + /* Unused in this application */ +} + +void SimpleLinkNetAppRequestMemFreeEventHandler(uint8_t * buffer) +{ + /* Unused in this application */ +} + +//***************************************************************************** +// +//! \brief Application startup display on UART +//! +//! \param none +//! +//! \return none +//! +//***************************************************************************** +void DisplayBanner() +{ + cc32xxLog("\n\n\n\r"); + cc32xxLog("\t\t *************************************************\n\r"); + cc32xxLog("\t\t %s Application \n\r", APPLICATION_NAME); + cc32xxLog("\t\t %s \n\r", APPLICATION_VERSION); + cc32xxLog("\t\t *************************************************\n\r"); + cc32xxLog("\n\n\n\r"); +} + +//***************************************************************************** +// +//! \brief SlWifiConn Event Handler +//! +//***************************************************************************** +void SlNetConnEventHandler(uint32_t ifID, SlNetConnStatus_e netStatus, void * data) +{ + switch (netStatus) + { + case SLNETCONN_STATUS_CONNECTED_MAC: + gIsConnected = 1; + LED_setOn(gLedBlueHandle, LED_BRIGHTNESS_MAX); + cc32xxLog("[SlNetConnEventHandler] I/F %d - CONNECTED (MAC LEVEL)!\n\r", ifID); + break; + case SLNETCONN_STATUS_CONNECTED_IP: + gIsConnected = 1; + cc32xxLog("[SlNetConnEventHandler] I/F %d - CONNECTED (IP LEVEL)!\n\r", ifID); + break; + case SLNETCONN_STATUS_CONNECTED_INTERNET: + gIsConnected = 1; + cc32xxLog("[SlNetConnEventHandler] I/F %d - CONNECTED (INTERNET LEVEL)!\n\r", ifID); + break; + case SLNETCONN_STATUS_WAITING_FOR_CONNECTION: + case SLNETCONN_STATUS_DISCONNECTED: + gIsConnected = 0; + LED_setOff(gLedBlueHandle); + cc32xxLog("[SlNetConnEventHandler] I/F %d - DISCONNECTED!\n\r", ifID); + break; + default: + cc32xxLog("[SlNetConnEventHandler] I/F %d - UNKNOWN STATUS\n\r", ifID); + break; + } +} + +//***************************************************************************** +// +//! \brief Launchpad switch used to enable one shot provisioning +//! +//***************************************************************************** +static void ButtonLeftEventHandler(Button_Handle handle, Button_EventMask events) +{ + // Enable Provisioning + int retVal = SlWifiConn_enableProvisioning(WifiProvMode_ONE_SHOT, PROVISIONING_CMD, 0); + assert(retVal == 0); +} + +//***************************************************************************** +// +//! \brief Main application thread +//! +//! \param none +//! +//! \return none +//! +//***************************************************************************** +int WiFi_init() +{ + int retVal; + Button_Params buttonParams; + LED_Params ledParams; + + SPI_init(); + +#ifdef NWP_LOG + // NWP log config + // If your application already has UART0 configured, no need for this line + MAP_PRCMPeripheralClkEnable(PRCM_UARTA0, PRCM_RUN_MODE_CLK); + // Mux Pin 62 to mode 1 for outputting NWP logs + MAP_PinTypeUART(PIN_62, PIN_MODE_1); +#endif + + LED_Params_init(&ledParams); // default PWM LED + gLedBlueHandle = LED_open(CONFIG_LED_BLUE, &ledParams); + LED_setOff(gLedBlueHandle); + + Button_Params_init(&buttonParams); + buttonParams.buttonEventMask = Button_EV_CLICKED | Button_EV_LONGCLICKED; + buttonParams.longPressDuration = 1000U; // ms + gButtonLeftHandle = Button_open(CONFIG_BTN_LEFT, &buttonParams); + Button_setCallback(gButtonLeftHandle, ButtonLeftEventHandler); + + /* Enable SlWifiConn */ + retVal = WIFI_IF_init(); + assert(retVal >= 0); + + /* Enable SlNet framework */ + retVal = ti_net_SlNet_initConfig(); + assert(retVal == 0); + + /* Enable SlNetConn */ + retVal = SlNetConn_init(0); + assert(retVal == 0); + gSlNetConnThread = OS_createTask(1, SLNETCONN_TASK_STACK_SIZE, SlNetConn_process, NULL, OS_TASK_FLAG_DETACHED); + assert(gSlNetConnThread); + + return (retVal); +} + +int WiFi_deinit() +{ + int retVal; + cc32xxLog("[APP] Networking App Completed (entering low power mode)\r\n "); + retVal = SlNetConn_stop(SlNetConnEventHandler); + retVal = WIFI_IF_deinit(); + cc32xxLog("[APP] Exit (%d) \r\n", retVal); + assert(retVal == 0); + return (retVal); +} diff --git a/examples/air-purifier-app/cc32xx/main/debug_settings.h b/examples/air-purifier-app/cc32xx/main/debug_settings.h new file mode 100644 index 00000000000000..16f826dae2f124 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/debug_settings.h @@ -0,0 +1,39 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//***************************************************************************** +// Includes +//***************************************************************************** +// Standard includes +#pragma once + +// Select the print method used in the main app +#define D_DEBUG_METHOD D_USER_DEFINED + +// Select Sevrity Color +#define _FATAL_CLR_ _CLR_B_RED_ +#define _ERROR_CLR_ _CLR_RED_ +#define _WARNING_CLR_ _CLR_MAGENTA_ +#define _INFO_CLR_ _CLR_GREEN_ +#define _DEBUG_CLR_ _CLR_YELLOW_ +#define _TRACE_CLR_ _CLR_RESET_ + +#if (D_DEBUG_METHOD == D_USER_DEFINED) +extern void cc32xxLog(const char * msg, ...); +#define PRINTF(...) cc32xxLog(__VA_ARGS__); +#endif diff --git a/examples/air-purifier-app/cc32xx/main/include/CHIPDeviceManager.h b/examples/air-purifier-app/cc32xx/main/include/CHIPDeviceManager.h new file mode 100644 index 00000000000000..939bf3149a4695 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/include/CHIPDeviceManager.h @@ -0,0 +1,106 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * This file contains definitions for the CHIP DeviceManager Interface + * + * This object will co-ordinate multiple activities such as + * initialisation, rendezvous, session mgmt and other such + * activities within the CHIP stack. This is a singleton object. + */ + +#pragma once + +#include +#include +#include + +#include + +#include +#include + +namespace chip { +namespace DeviceManager { + +/** + * @brief + * This class provides a skeleton for all the callback functions. The functions will be + * called by other objects within the CHIP stack for specific events. + * Applications interested in receiving specific callbacks can specialize this class and handle + * these events in their implementation of this class. + */ +class DLL_EXPORT CHIPDeviceManagerCallbacks +{ +public: + /** + * @brief + * Called when CHIP Device events (PublicEventTypes) are triggered. + * + * @param event ChipDeviceEvent that occurred + * @param arg arguments specific to the event, if any + */ + virtual void DeviceEventCallback(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg); + + virtual ~CHIPDeviceManagerCallbacks(); +}; + +/** + * @brief + * A common class that drives other components of the CHIP stack + */ +class DLL_EXPORT CHIPDeviceManager +{ +public: + CHIPDeviceManager(const CHIPDeviceManager &) = delete; + CHIPDeviceManager(const CHIPDeviceManager &&) = delete; + CHIPDeviceManager & operator=(const CHIPDeviceManager &) = delete; + + static CHIPDeviceManager & GetInstance() + { + static CHIPDeviceManager instance; + return instance; + } + + /** + * @brief + * Initialise CHIPDeviceManager + * + * @param cb Application's instance of the CHIPDeviceManagerCallbacks for consuming events + */ + CHIP_ERROR Init(CHIPDeviceManagerCallbacks * cb); + + /** + * @brief + * Fetch a pointer to the registered CHIPDeviceManagerCallbacks object. + * + */ + CHIPDeviceManagerCallbacks * GetCHIPDeviceManagerCallbacks() { return mCB; } + + /** + * Use internally for registration of the ChipDeviceEvents + */ + static void DeviceEventHandler(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg); + +private: + CHIPDeviceManagerCallbacks * mCB = nullptr; + CHIPDeviceManager() {} +}; + +} // namespace DeviceManager +} // namespace chip diff --git a/examples/air-purifier-app/cc32xx/main/include/CHIPProjectConfig.h b/examples/air-purifier-app/cc32xx/main/include/CHIPProjectConfig.h new file mode 100644 index 00000000000000..0765b2084a0870 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/include/CHIPProjectConfig.h @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2023 Project CHIP Authors + * Copyright (c) 2019 Google LLC. + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * Example project configuration file for CHIP. + * + * This is a place to put application or project-specific overrides + * to the default configuration values for general CHIP features. + * + */ + +#pragma once + +#if BUILD_RELEASE + +// Security and Authentication enabled for release build. +#define CHIP_CONFIG_SECURITY_TEST_MODE 0 + +#else + +// Security and Authentication disabled for development build. +// For convenience, enable CHIP Security Test Mode and disable the requirement for +// authentication in various protocols. +// WARNING: These options make it possible to circumvent basic CHIP security functionality, +// including message encryption. Because of this they MUST NEVER BE ENABLED IN PRODUCTION BUILDS. +#define CHIP_CONFIG_SECURITY_TEST_MODE 0 + +// Use a default pairing code if one hasn't been provisioned in flash. +#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021 +#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00 + +#define CHIP_DEVICE_CONFIG_DEVICE_TYPE 0x002D // Air Purifier +#define CHIP_DEVICE_CONFIG_DEVICE_NAME "Air Purifier" + +/** + * CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER + * + * Enables the use of a hard-coded default serial number if none + * is found in CHIP NV storage. + */ +#define CHIP_DEVICE_CONFIG_USE_TEST_SERIAL_NUMBER "DUMMY_SN" + +#endif // BUILD_RELEASE + +/** + * CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID + * + * 0xE100: Google's Vendor Id. + */ +#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1 + +/** + * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID + * + * 0xFE00: SDK Sample Lock Resource + */ +#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8006 + +/** + * CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_REVISION + * + * The product revision number assigned to device or product by the device vendor. This + * number is scoped to the device product id, and typically corresponds to a revision of the + * physical device, a change to its packaging, and/or a change to its marketing presentation. + * This value is generally *not* incremented for device software revisions. + */ +#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_REVISION 1 + +/** + * CHIP_DEVICE_CONFIG_DEVICE_FIRMWARE_REVISION + * + * A string identifying the firmware revision running on the device. + * CHIP currently expects the firmware version to be in the format + * {MAJOR_VERSION}.0d{MINOR_VERSION} + */ +#ifndef CHIP_DEVICE_CONFIG_DEVICE_FIRMWARE_REVISION +#define CHIP_DEVICE_CONFIG_DEVICE_FIRMWARE_REVISION "1.0d1" +#endif +/** + * CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE + * + * Enable support for CHIP-over-BLE (CHIPOBLE). + */ +#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 0 + +/** + * CHIP_DEVICE_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS + * + * Enable recording UTC timestamps. + */ +#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1 + +/** + * CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE + * + * A size, in bytes, of the individual debug event logging buffer. + */ +#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512) + +/** + * CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE + * + * For a development build, set the default importance of events to be logged as Debug. + * Since debug is the lowest importance level, this means all standard, critical, info and + * debug importance level vi events get logged. + */ +#if BUILD_RELEASE +#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Production +#else +#define CHIP_CONFIG_EVENT_LOGGING_DEFAULT_IMPORTANCE chip::Profiles::DataManagement::Debug +#endif diff --git a/examples/air-purifier-app/cc32xx/main/include/DeviceCallbacks.h b/examples/air-purifier-app/cc32xx/main/include/DeviceCallbacks.h new file mode 100644 index 00000000000000..c5c9e208e698d8 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/include/DeviceCallbacks.h @@ -0,0 +1,40 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once + +#include +#include + +class DeviceCallbacks : public chip::DeviceManager::CHIPDeviceManagerCallbacks +{ +public: + void DeviceEventCallback(const chip::DeviceLayer::ChipDeviceEvent * event, intptr_t arg); +}; + +class DeviceCallbacksDelegate +{ +public: + static DeviceCallbacksDelegate & Instance() + { + static DeviceCallbacksDelegate instance; + return instance; + } + DeviceCallbacksDelegate * mDelegate = nullptr; + void SetAppDelegate(DeviceCallbacksDelegate * delegate) { mDelegate = delegate; } + DeviceCallbacksDelegate * GetAppDelegate() { return mDelegate; } +}; diff --git a/examples/air-purifier-app/cc32xx/main/main.cpp b/examples/air-purifier-app/cc32xx/main/main.cpp new file mode 100644 index 00000000000000..0e332752802a5d --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/main.cpp @@ -0,0 +1,76 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * Copyright (c) 2020 Texas Instruments Incorporated + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include + +/* Driver Header files */ +#include +#include +#include + +using namespace ::chip; +using namespace ::chip::Inet; +using namespace ::chip::DeviceLayer; + +// ================================================================================ +// FreeRTOS Callbacks +// ================================================================================ +extern "C" void vApplicationStackOverflowHook(void) +{ + while (true) + { + ; + } +} + +// ================================================================================ +// Main Code +// ================================================================================ +int main(void) +{ + Board_init(); + GPIO_init(); + + mbedtls_platform_set_calloc_free(CHIPPlatformMemoryCalloc, CHIPPlatformMemoryFree); + + int ret = GetAppTask().StartAppTask(); + if (ret != 0) + { + // can't log until the kernel is started + // PLAT_LOG("GetAppTask().StartAppTask() failed"); + while (true) + ; + } + + vTaskStartScheduler(); + + // Should never get here. + while (true) + ; +} diff --git a/examples/air-purifier-app/cc32xx/main/wifi_settings.h b/examples/air-purifier-app/cc32xx/main/wifi_settings.h new file mode 100644 index 00000000000000..21bf90941b4772 --- /dev/null +++ b/examples/air-purifier-app/cc32xx/main/wifi_settings.h @@ -0,0 +1,99 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//***************************************************************************** +// Includes +//***************************************************************************** +#pragma once + +//***************************************************************************** +// WIFI IF INTRODUCTION +//***************************************************************************** +/* This module enables an easy integration of Wi-Fi to a SimpleLink Networking + * framework. + * It was designed for applications that use the Wi-Fi Station role only. + * The simple API and settings enables the user to initiate the Wi-Fi and + * configure the provisioning method that will be used upon first connection + * attempt. + * Upon successful init (WIFI_IF_init()), the system enables the NWP for any + * SL commands. + * The NWP will be in a low power state (AUTO-CONNECT will be disabled) waiting + * for connection request (SlNetConn_Start()). + * User should not call sl_Start/sl_Stop when using this module. Please use + * WIFI_IF_restart() (for reseting the NWP) or WIFI_IF_deinit() instead. + */ + +//***************************************************************************** +// WIFI IF USER SETTINGS +//***************************************************************************** + +/* + * Defines the minimum severity level allowed. + * Use E_DEBUG to enable Wifi internal messages + * Options: E_TRACE, E_DEBUG, E_INFO, E_WARNING, E_ERROR, E_FATAL + */ +#define WIFI_IF_DEBUG_LEVEL E_INFO + +/* + * Defines Provisioning (initial) Parameters: + * Mode can be: WifiProvMode_OFF, WifiProvMode_ON, WifiProvMode_ONE_SHOT + * Command can be one of the following: + * SL_WLAN_PROVISIONING_CMD_START_MODE_AP, + * SL_WLAN_PROVISIONING_CMD_START_MODE_SC, + * SL_WLAN_PROVISIONING_CMD_START_MODE_APSC, + * SL_WLAN_PROVISIONING_CMD_START_MODE_APSC_EXTERNAL_CONFIGURATION, + * SL_WLAN_PROVISIONING_CMD_START_MODE_EXTERNAL_CONFIGURATION + */ +#define PROVISIONING_MODE WifiProvMode_ONE_SHOT +#define PROVISIONING_CMD SL_WLAN_PROVISIONING_CMD_START_MODE_APSC + +/* + * Defines Provisioning AP /SC Parameters: + */ +#define PROVISIONING_TIMEOUT 0 // 0 - use default +#define PROVISIONING_AP_PASSWORD "1234567890" // NULL - use default (OPEN) +#define PROVISIONING_SC_KEY "1234567890123456" // NULL - use defaults + +/* Force provisioning by deleting existing profiles. + * To be used for testing during development only. + * Note: When FORCE_PROVSIONING is enabled - the following static profile + * configurations are ignored + */ +#define FORCE_PROVISIONING (0) + +/* Static Profile setting - Method 1: Hard coded + * Define AP_SSID and optionally AP_PASSWORD - to connect to local network + * Hard-Coded Definition: update AP_SSID and AP_PASSWORD (NULL means OPEN, else is WPA2) + */ +#define AP_SSID NULL // "network-name" +#define AP_PASSWORD NULL // "network-password" + +/* Static Profile setting - Method 2: Configuration file + * File format should be: + * "' '" + * i.e. ssid and password with one space character between them + * Do not use newline, extra space symbols or quotation mark + */ +#define AP_CFG_FILENAME "network.cfg" // config file name +#define AP_CFG_TOKEN 12345678 // config file read access token +#define AP_CFG_MAX_SIZE 100 // config file Maximum file length + +/* Define (if needed) the external handle for TI Driver's LED for wi-fi status: + * off: disconnected, blinking: provisionig, on: connected + * Comment the definition in case the auto control is not required */ +#define WIFI_LED_HANDLE gLedBlueHandle diff --git a/examples/air-purifier-app/cc32xx/third_party/connectedhomeip b/examples/air-purifier-app/cc32xx/third_party/connectedhomeip new file mode 120000 index 00000000000000..11a54ed360106c --- /dev/null +++ b/examples/air-purifier-app/cc32xx/third_party/connectedhomeip @@ -0,0 +1 @@ +../../../../ \ No newline at end of file diff --git a/examples/air-purifier-app/linux/.gn b/examples/air-purifier-app/linux/.gn new file mode 100644 index 00000000000000..5d1ce757507582 --- /dev/null +++ b/examples/air-purifier-app/linux/.gn @@ -0,0 +1,25 @@ +# Copyright (c) 2020 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/build.gni") + +# The location of the build configuration file. +buildconfig = "${build_root}/config/BUILDCONFIG.gn" + +# CHIP uses angle bracket includes. +check_system_includes = true + +default_args = { + import("//args.gni") +} diff --git a/examples/air-purifier-app/linux/BUILD.gn b/examples/air-purifier-app/linux/BUILD.gn new file mode 100644 index 00000000000000..0a0f86cac16ec4 --- /dev/null +++ b/examples/air-purifier-app/linux/BUILD.gn @@ -0,0 +1,61 @@ +# Copyright (c) 2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/chip.gni") + +import("${chip_root}/build/chip/tools.gni") +import("${chip_root}/src/app/common_flags.gni") + +assert(chip_build_tools) + +import("${chip_root}/examples/common/pigweed/pigweed_rpcs.gni") + +config("includes") { + include_dirs = [ + ".", + "include", + ] +} + +executable("chip-air-purifier-app") { + sources = [ + "${chip_root}/examples/air-purifier-app/air-purifier-common/src/air-purifier-manager.cpp", + "${chip_root}/examples/air-purifier-app/air-purifier-common/src/air-quality-sensor-manager.cpp", + "${chip_root}/examples/air-purifier-app/air-purifier-common/src/filter-delegates.cpp", + "include/CHIPProjectAppConfig.h", + "main.cpp", + ] + + deps = [ + "${chip_root}/examples/air-purifier-app/air-purifier-common", + "${chip_root}/examples/platform/linux:app-main", + "${chip_root}/src/lib", + ] + + cflags = [ "-Wconversion" ] + + include_dirs = [ + "include", + "${chip_root}/examples/air-purifier-app/air-purifier-common/include", + ] + output_dir = root_out_dir +} + +group("linux") { + deps = [ ":chip-air-purifier-app" ] +} + +group("default") { + deps = [ ":linux" ] +} diff --git a/examples/air-purifier-app/linux/README.md b/examples/air-purifier-app/linux/README.md new file mode 100644 index 00000000000000..88f5be738c926d --- /dev/null +++ b/examples/air-purifier-app/linux/README.md @@ -0,0 +1,109 @@ +# CHIP Linux Air Purifier Example + +An example showing the use of CHIP on the Linux. The document will describe how +to build and run CHIP Air Purifier Example on A Linux System. This doc is tested +on **Ubuntu 20.04 LTS**. + +The Air Purifier is a composed device with Endpoint 1 being the Air Purifier. +Endpoint 2 is an Air Quality Sensor, Endpoint 3 is a Relative Humidity Sensor +and endpoint 4 is a Temperature Sensor. + +To cross-compile this example on x64 host and run on **NXP i.MX 8M Mini** +**EVK**, see the associated +[README document](../../../docs/guides/nxp_imx8m_linux_examples.md) for details. + +
+ +- [CHIP Linux Air Purifier Example](#chip-linux-air-purifier-example) + - [Building](#building) + - [Commandline arguments](#commandline-arguments) + - [Running the Complete Example on Raspberry Pi 4](#running-the-complete-example-on-raspberry-pi-4) + +
+ +## Building + +- Install tool chain + + $ sudo apt-get install git gcc g++ python pkg-config libssl-dev libdbus-1-dev libglib2.0-dev ninja-build python3-venv python3-dev unzip + +- Build the example application: + + $ cd ~/connectedhomeip/examples/air-purifier-app/linux/ + $ git submodule update --init + $ source third_party/connectedhomeip/scripts/activate.sh + $ gn gen out/debug + $ ninja -C out/debug + +- To delete generated executable, libraries and object files use: + + $ cd ~/connectedhomeip/examples/air-purifier-app/linux/ + $ rm -rf out/ + +## Commandline arguments + +- `--wifi` + + Enables WiFi management feature. Required for WiFi commissioning. + +- `--thread` + + Enables Thread management feature, requires ot-br-posix dbus daemon running. + Required for Thread commissioning. + +- `--ble-device ` + + Use specific bluetooth interface for BLE advertisement and connections. + + `interface id`: the number after `hci` when listing BLE interfaces by + `hciconfig` command, for example, `--ble-device 1` means using `hci1` + interface. Default: `0`. + +## Running the Complete Example on Raspberry Pi 4 + +> If you want to test Echo protocol, please enable Echo handler +> +> gn gen out/debug --args='chip_app_use_echo=true' +> ninja -C out/debug + +- Prerequisites + + 1. A Raspberry Pi 4 board + 2. A USB Bluetooth Dongle, Ubuntu desktop will send Bluetooth advertisement, + which will block CHIP from connecting via BLE. On Ubuntu server, you need + to install `pi-bluetooth` via APT. + 3. Ubuntu 20.04 or newer image for ARM64 platform. + +- Building + + Follow [Building](#building) section of this document. + +- Running + + - [Optional] Plug USB Bluetooth dongle + + - Plug USB Bluetooth dongle and find its bluetooth device number. The + number after `hci` is the bluetooth device number, `1` in this + example. + + $ hciconfig + hci1: Type: Primary Bus: USB + BD Address: 00:1A:7D:AA:BB:CC ACL MTU: 310:10 SCO MTU: 64:8 + UP RUNNING PSCAN ISCAN + RX bytes:20942 acl:1023 sco:0 events:1140 errors:0 + TX bytes:16559 acl:1011 sco:0 commands:121 errors:0 + + hci0: Type: Primary Bus: UART + BD Address: B8:27:EB:AA:BB:CC ACL MTU: 1021:8 SCO MTU: 64:1 + UP RUNNING PSCAN ISCAN + RX bytes:8609495 acl:14 sco:0 events:217484 errors:0 + TX bytes:92185 acl:20 sco:0 commands:5259 errors:0 + + - Run Linux Lighting Example App + + $ cd ~/connectedhomeip/examples/lighting-app/linux + $ sudo out/debug/chip-lighting-app --ble-device [bluetooth device number] + # In this example, the device we want to use is hci1 + $ sudo out/debug/chip-lighting-app --ble-device 1 + + - Test the device using ChipTool on your laptop / workstation etc. diff --git a/examples/air-purifier-app/linux/args.gni b/examples/air-purifier-app/linux/args.gni new file mode 100644 index 00000000000000..b91c0bafdfc9aa --- /dev/null +++ b/examples/air-purifier-app/linux/args.gni @@ -0,0 +1,25 @@ +# Copyright (c) 2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build_overrides/chip.gni") + +import("${chip_root}/config/standalone/args.gni") + +chip_device_project_config_include = "" +chip_project_config_include = "" +chip_system_project_config_include = "" + +chip_project_config_include_dirs = + [ "${chip_root}/examples/air-purifier-app/linux/include" ] +chip_project_config_include_dirs += [ "${chip_root}/config/standalone" ] diff --git a/examples/air-purifier-app/linux/build_overrides b/examples/air-purifier-app/linux/build_overrides new file mode 120000 index 00000000000000..e578e73312ebd1 --- /dev/null +++ b/examples/air-purifier-app/linux/build_overrides @@ -0,0 +1 @@ +../../build_overrides \ No newline at end of file diff --git a/examples/air-purifier-app/linux/include/CHIPProjectAppConfig.h b/examples/air-purifier-app/linux/include/CHIPProjectAppConfig.h new file mode 100644 index 00000000000000..e3a2e726e2db2a --- /dev/null +++ b/examples/air-purifier-app/linux/include/CHIPProjectAppConfig.h @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +// include the CHIPProjectConfig from config/standalone +#include + +#define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY 0 + +#define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY_CLIENT 1 + +#define CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY 1 + +#define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONABLE_DEVICE_TYPE 1 + +#define CHIP_DEVICE_CONFIG_DEVICE_TYPE 0x002D // Air Purifier + +#define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONABLE_DEVICE_NAME 1 + +#define CHIP_DEVICE_ENABLE_PORT_PARAMS 1 + +#define CHIP_DEVICE_CONFIG_DEVICE_NAME "Air Purifier" diff --git a/examples/air-purifier-app/linux/main.cpp b/examples/air-purifier-app/linux/main.cpp new file mode 100644 index 00000000000000..59ef9cf9595755 --- /dev/null +++ b/examples/air-purifier-app/linux/main.cpp @@ -0,0 +1,72 @@ +/* + * + * Copyright (c) 2023 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include +#include +#include +#include +#include +#include +#include + +#define AIR_PURIFIER_ENDPOINT 1 +#define AIR_QUALITY_SENSOR_ENDPOINT 2 +#define TEMPERATURE_SENSOR_ENDPOINT 3 +#define RELATIVE_HUMIDITY_SENSOR_ENDPOINT 4 +// TODO: Add support for the thermostat endpoint in future PR. + +using namespace chip; +using namespace chip::app; +using namespace chip::app::Clusters; + +// The MatterPostAttributeChangeCallback is offloaded to the main Air Purifier Manager class. +void MatterPostAttributeChangeCallback(const chip::app::ConcreteAttributePath & attributePath, uint8_t type, uint16_t size, + uint8_t * value) +{ + if (AirPurifierManager::GetInstance() != nullptr) + { + AirPurifierManager::GetInstance()->PostAttributeChangeCallback(attributePath.mEndpointId, attributePath.mClusterId, + attributePath.mAttributeId, type, size, value); + } +} + +// Initialize the Air Purifier Manager and set up the endpoint composition tree. +void ApplicationInit() +{ + AirPurifierManager::InitInstance(EndpointId(AIR_PURIFIER_ENDPOINT), EndpointId(AIR_QUALITY_SENSOR_ENDPOINT), + EndpointId(TEMPERATURE_SENSOR_ENDPOINT), EndpointId(RELATIVE_HUMIDITY_SENSOR_ENDPOINT)); + + SetParentEndpointForEndpoint(AIR_QUALITY_SENSOR_ENDPOINT, AIR_PURIFIER_ENDPOINT); + SetParentEndpointForEndpoint(TEMPERATURE_SENSOR_ENDPOINT, AIR_PURIFIER_ENDPOINT); + SetParentEndpointForEndpoint(RELATIVE_HUMIDITY_SENSOR_ENDPOINT, AIR_PURIFIER_ENDPOINT); +} + +void ApplicationShutdown() +{ + ChipLogDetail(NotSpecified, "Air Purifier: ApplicationShutdown()"); +} + +int main(int argc, char * argv[]) +{ + if (ChipLinuxAppInit(argc, argv) != 0) + { + return -1; + } + + ChipLinuxAppMainLoop(); + return 0; +} diff --git a/examples/air-purifier-app/linux/third_party/connectedhomeip b/examples/air-purifier-app/linux/third_party/connectedhomeip new file mode 120000 index 00000000000000..11a54ed360106c --- /dev/null +++ b/examples/air-purifier-app/linux/third_party/connectedhomeip @@ -0,0 +1 @@ +../../../../ \ No newline at end of file diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py index 21ad50d06c4d8d..481a4c0a3f58ee 100755 --- a/scripts/build/build/targets.py +++ b/scripts/build/build/targets.py @@ -135,6 +135,7 @@ def BuildHostTarget(): TargetPart('dishwasher', app=HostApp.DISHWASHER), TargetPart('refrigerator', app=HostApp.REFRIGERATOR), TargetPart('rvc', app=HostApp.RVC), + TargetPart('air-purifier', app=HostApp.AIR_PURIFIER), ] if (HostBoard.NATIVE.PlatformName() == 'darwin'): diff --git a/scripts/build/builders/host.py b/scripts/build/builders/host.py index fcc159894bda29..2a145906e54087 100644 --- a/scripts/build/builders/host.py +++ b/scripts/build/builders/host.py @@ -72,6 +72,7 @@ class HostApp(Enum): DISHWASHER = auto() REFRIGERATOR = auto() RVC = auto() + AIR_PURIFIER = auto() def ExamplePath(self): if self == HostApp.ALL_CLUSTERS: @@ -124,6 +125,8 @@ def ExamplePath(self): return 'refrigerator-app/linux' elif self == HostApp.RVC: return 'rvc-app/linux' + elif self == HostApp.AIR_PURIFIER: + return 'air-purifier-app/linux' else: raise Exception('Unknown app type: %r' % self) @@ -215,6 +218,9 @@ def OutputNames(self): elif self == HostApp.RVC: yield 'rvc-app' yield 'rvc-app.map' + elif self == HostApp.AIR_PURIFIER: + yield 'air-purifier-app' + yield 'air-purifier-app.map' else: raise Exception('Unknown app type: %r' % self) diff --git a/scripts/build/testdata/all_targets_linux_x64.txt b/scripts/build/testdata/all_targets_linux_x64.txt index b58a05a1d9d651..3d880f995984c4 100644 --- a/scripts/build/testdata/all_targets_linux_x64.txt +++ b/scripts/build/testdata/all_targets_linux_x64.txt @@ -10,7 +10,7 @@ efr32-{brd4161a,brd4187c,brd4186c,brd4163a,brd4164a,brd4166a,brd4170a,brd4186a,b esp32-{m5stack,c3devkit,devkitc,qemu}-{all-clusters,all-clusters-minimal,ota-provider,ota-requestor,shell,light,lock,bridge,temperature-measurement,ota-requestor,tests}[-rpc][-ipv6only][-tracing] genio-lighting-app linux-fake-tests[-mbedtls][-boringssl][-asan][-tsan][-ubsan][-libfuzzer][-ossfuzz][-coverage][-dmalloc][-clang] -linux-{x64,arm64}-{rpc-console,all-clusters,all-clusters-minimal,chip-tool,thermostat,java-matter-controller,kotlin-matter-controller,minmdns,light,lock,shell,ota-provider,ota-requestor,simulated-app1,simulated-app2,python-bindings,tv-app,tv-casting-app,bridge,tests,chip-cert,address-resolve-tool,contact-sensor,dishwasher,refrigerator,rvc}[-nodeps][-platform-mdns][-minmdns-verbose][-libnl][-same-event-loop][-no-interactive][-ipv6only][-no-ble][-no-wifi][-no-thread][-mbedtls][-boringssl][-asan][-tsan][-ubsan][-libfuzzer][-ossfuzz][-coverage][-dmalloc][-clang][-test][-rpc][-with-ui] +linux-{x64,arm64}-{rpc-console,all-clusters,all-clusters-minimal,chip-tool,thermostat,java-matter-controller,kotlin-matter-controller,minmdns,light,lock,shell,ota-provider,ota-requestor,simulated-app1,simulated-app2,python-bindings,tv-app,tv-casting-app,bridge,tests,chip-cert,address-resolve-tool,contact-sensor,dishwasher,refrigerator,rvc,air-purifier}[-nodeps][-platform-mdns][-minmdns-verbose][-libnl][-same-event-loop][-no-interactive][-ipv6only][-no-ble][-no-wifi][-no-thread][-mbedtls][-boringssl][-asan][-tsan][-ubsan][-libfuzzer][-ossfuzz][-coverage][-dmalloc][-clang][-test][-rpc][-with-ui] linux-x64-efr32-test-runner[-clang] imx-{chip-tool,lighting-app,thermostat,all-clusters-app,all-clusters-minimal-app,ota-provider-app}[-release] infineon-psoc6-{lock,light,all-clusters,all-clusters-minimal}[-ota][-updateimage] From f74e95bb8563ceb73665881092ad725e80d83a4c Mon Sep 17 00:00:00 2001 From: Matt Hazley Date: Tue, 24 Oct 2023 14:31:11 +0100 Subject: [PATCH 41/44] Adding Air Purifier example to `cc32xx` build scripts and CI (#29942) * Adding air purifier example to buiuld scripts for cc32xx and also to cc32xx CI action * Added additional cc32xx example to test data all targets file --- .github/workflows/examples-cc32xx.yaml | 9 ++++++++- scripts/build/build/targets.py | 1 + scripts/build/builders/cc32xx.py | 7 +++++++ scripts/build/testdata/all_targets_linux_x64.txt | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/examples-cc32xx.yaml b/.github/workflows/examples-cc32xx.yaml index 6c8d0362c38fff..5a77c801447b6e 100644 --- a/.github/workflows/examples-cc32xx.yaml +++ b/.github/workflows/examples-cc32xx.yaml @@ -57,7 +57,7 @@ jobs: run: | scripts/run_in_build_env.sh "\ ./scripts/build/build_examples.py \ - --target cc32xx-lock build \ + --target cc32xx-lock --target cc32xx-air-purifier build \ --copy-artifacts-to out/artifacts \ " - name: Get lock app size stats @@ -67,6 +67,13 @@ jobs: out/artifacts/cc32xx-lock/chip-CC3235SF_LAUNCHXL-lock-example.out \ /tmp/bloat_reports/ + - name: Get air purifier app size stats + run: | + .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ + cc32xx CC3235SF_LAUNCHXL air-purifier \ + out/artifacts/cc32xx-air-purifier/chip-CC3235SF_LAUNCHXL-air-purifier-example.out \ + /tmp/bloat_reports/ + - name: Uploading Size Reports uses: ./.github/actions/upload-size-reports if: ${{ !env.ACT }} diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py index 481a4c0a3f58ee..890895528b40dc 100755 --- a/scripts/build/build/targets.py +++ b/scripts/build/build/targets.py @@ -535,6 +535,7 @@ def Buildcc32xxTarget(): # apps target.AppendFixedTargets([ TargetPart('lock', app=cc32xxApp.LOCK), + TargetPart('air-purifier', app=cc32xxApp.AIR_PURIFIER), ]) diff --git a/scripts/build/builders/cc32xx.py b/scripts/build/builders/cc32xx.py index 7685b6a66af0fd..f54b7531eecc81 100644 --- a/scripts/build/builders/cc32xx.py +++ b/scripts/build/builders/cc32xx.py @@ -20,16 +20,21 @@ class cc32xxApp(Enum): LOCK = auto() + AIR_PURIFIER = auto() def ExampleName(self): if self == cc32xxApp.LOCK: return 'lock-app' + elif self == cc32xxApp.AIR_PURIFIER: + return 'air-purifier-app' else: raise Exception('Unknown app type: %r' % self) def AppNamePrefix(self): if self == cc32xxApp.LOCK: return 'chip-CC3235SF_LAUNCHXL-lock-example' + elif self == cc32xxApp.AIR_PURIFIER: + return 'chip-CC3235SF_LAUNCHXL-air-purifier-example' else: raise Exception('Unknown app type: %r' % self) @@ -60,6 +65,8 @@ def build_outputs(self): items = {} if (self.app == cc32xxApp.LOCK): extensions = [".out", ".bin", ".out.map"] + elif (self.app == cc32xxApp.AIR_PURIFIER): + extensions = [".out", ".bin", ".out.map"] else: raise Exception('Unknown app type: %r' % self.app) diff --git a/scripts/build/testdata/all_targets_linux_x64.txt b/scripts/build/testdata/all_targets_linux_x64.txt index 3d880f995984c4..f077397b63bf78 100644 --- a/scripts/build/testdata/all_targets_linux_x64.txt +++ b/scripts/build/testdata/all_targets_linux_x64.txt @@ -2,7 +2,7 @@ ameba-amebad-{all-clusters,all-clusters-minimal,light,light-switch,pigweed} asr-{asr582x,asr595x,asr550x}-{all-clusters,all-clusters-minimal,lighting,light-switch,lock,bridge,temperature-measurement,thermostat,ota-requestor,dishwasher,refrigerator}[-ota][-shell][-no_logging][-factory][-rotating_id][-rio] android-{arm,arm64,x86,x64,androidstudio-arm,androidstudio-arm64,androidstudio-x86,androidstudio-x64}-{chip-tool,chip-test,tv-server,tv-casting-app,java-matter-controller,kotlin-matter-controller,virtual-device-app}[-no-debug] bouffalolab-{bl602-iot-matter-v1,bl602-night-light,xt-zb6-devkit,bl706-night-light,bl706dk,bl704ldk}-light[-shell][-115200][-rpc][-cdc][-resetcnt][-rotating_device_id][-mfd][-mfdtest][-ethernet][-wifi][-thread][-fp][-memmonitor][-mot] -cc32xx-lock +cc32xx-{lock,air-purifier} ti-cc13x2x7_26x2x7-{lighting,lock,pump,pump-controller}[-mtd] ti-cc13x4_26x4-{all-clusters,lighting,lock,pump,pump-controller}[-mtd][-ftd] cyw30739-cyw930739m2evb_01-{light,lock,ota-requestor,switch} From a010ae4ac4d7a1cc6bd96054c7c3ba42a48a8c5b Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Tue, 24 Oct 2023 10:53:24 -0400 Subject: [PATCH 42/44] Set a timezone and DST offsets during commissioning on Darwin. (#29933) This will set things up right if the commissionee implements the Time Synchronization cluster. Fixes https://github.com/project-chip/connectedhomeip/issues/29768 --- .github/workflows/darwin.yaml | 4 +- src/controller/AutoCommissioner.cpp | 2 + .../Framework/CHIP/MTRCertificateInfo.mm | 4 +- src/darwin/Framework/CHIP/MTRConversion.h | 10 ++- src/darwin/Framework/CHIP/MTRConversion.mm | 19 ++++++ .../Framework/CHIP/MTRDeviceController.mm | 53 +++++++++++++++ .../CHIP/MTROperationalCredentialsDelegate.mm | 19 ++---- .../Framework/CHIPTests/MTRDeviceTests.m | 67 +++++++++++++++++++ 8 files changed, 158 insertions(+), 20 deletions(-) diff --git a/.github/workflows/darwin.yaml b/.github/workflows/darwin.yaml index 09ff0b2fce1925..8b7e44ef82ee00 100644 --- a/.github/workflows/darwin.yaml +++ b/.github/workflows/darwin.yaml @@ -112,7 +112,9 @@ jobs: # but to instrument the code in the underlying libCHIP we need to pass CHIP_IS_UBSAN=YES TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion' CHIP_IS_UBSAN=YES CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} MTR_NO_AVAILABILITY=1'> >(tee /tmp/darwin/framework-tests/darwin-tests-asan.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-err.log >&2) # And the same thing, but with MTR_PER_CONTROLLER_STORAGE_ENABLED turned on. - TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion' CHIP_IS_UBSAN=YES CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} MTR_NO_AVAILABILITY=1 MTR_PER_CONTROLLER_STORAGE_ENABLED=1' > >(tee /tmp/darwin/framework-tests/darwin-tests-asan-provisional.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-provisional-err.log >&2) + TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion' CHIP_IS_UBSAN=YES CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} MTR_NO_AVAILABILITY=1 MTR_PER_CONTROLLER_STORAGE_ENABLED=1' > >(tee /tmp/darwin/framework-tests/darwin-tests-asan-controller-storage.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-controller-storage-err.log >&2) + # And the same thing, but with MTR_ENABLE_PROVISIONAL also turned on. + TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion' CHIP_IS_UBSAN=YES CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} MTR_NO_AVAILABILITY=1 MTR_PER_CONTROLLER_STORAGE_ENABLED=1 MTR_ENABLE_PROVISIONAL=1' > >(tee /tmp/darwin/framework-tests/darwin-tests-asan-provisional.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-provisional-err.log >&2) # And the same thing, but with MTR_NO_AVAILABILITY not turned on. This requires -Wno-unguarded-availability-new to avoid availability errors. TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion -Wno-unguarded-availability-new' CHIP_IS_UBSAN=YES CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited}' > >(tee /tmp/darwin/framework-tests/darwin-tests-asan-with-availability-annotations.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-with-availability-annotations-err.log >&2) # -enableThreadSanitizer instruments the code in Matter.framework, diff --git a/src/controller/AutoCommissioner.cpp b/src/controller/AutoCommissioner.cpp index 85367d4532ccc7..72f47fe1e9ad4a 100644 --- a/src/controller/AutoCommissioner.cpp +++ b/src/controller/AutoCommissioner.cpp @@ -201,6 +201,8 @@ CHIP_ERROR AutoCommissioner::SetCommissioningParameters(const CommissioningParam mTimeZoneBuf[i].name.SetValue(span); } } + auto list = app::DataModel::List(mTimeZoneBuf, size); + mParams.SetTimeZone(list); } return CHIP_NO_ERROR; diff --git a/src/darwin/Framework/CHIP/MTRCertificateInfo.mm b/src/darwin/Framework/CHIP/MTRCertificateInfo.mm index 09a1fe4e55a48d..f3aacb9dd51f24 100644 --- a/src/darwin/Framework/CHIP/MTRCertificateInfo.mm +++ b/src/darwin/Framework/CHIP/MTRCertificateInfo.mm @@ -62,13 +62,13 @@ - (MTRDistinguishedNameInfo *)subject - (NSDate *)notBefore { - return ChipEpochSecondsAsDate(_data.mNotBeforeTime); + return MatterEpochSecondsAsDate(_data.mNotBeforeTime); } - (NSDate *)notAfter { // "no expiry" is encoded as kNullCertTime (see ChipEpochToASN1Time) - return (_data.mNotAfterTime != kNullCertTime) ? ChipEpochSecondsAsDate(_data.mNotAfterTime) : NSDate.distantFuture; + return (_data.mNotAfterTime != kNullCertTime) ? MatterEpochSecondsAsDate(_data.mNotAfterTime) : NSDate.distantFuture; } - (id)copyWithZone:(nullable NSZone *)zone diff --git a/src/darwin/Framework/CHIP/MTRConversion.h b/src/darwin/Framework/CHIP/MTRConversion.h index 5932ff88bf597b..543d80968566c6 100644 --- a/src/darwin/Framework/CHIP/MTRConversion.h +++ b/src/darwin/Framework/CHIP/MTRConversion.h @@ -35,11 +35,17 @@ AsNumber(chip::Optional optional) return (optional.HasValue()) ? @(optional.Value()) : nil; } -inline NSDate * ChipEpochSecondsAsDate(uint32_t chipEpochSeconds) +inline NSDate * MatterEpochSecondsAsDate(uint32_t matterEpochSeconds) { - return [NSDate dateWithTimeIntervalSince1970:(chip::kChipEpochSecondsSinceUnixEpoch + (NSTimeInterval) chipEpochSeconds)]; + return [NSDate dateWithTimeIntervalSince1970:(chip::kChipEpochSecondsSinceUnixEpoch + (NSTimeInterval) matterEpochSeconds)]; } +/** + * Returns whether the conversion could be performed. Will return false if the + * passed-in date is our of the range representable as a Matter epoch-s value. + */ +bool DateToMatterEpochSeconds(NSDate * date, uint32_t & epoch); + /** * Utilities for converting between NSSet and chip::CATValues. */ diff --git a/src/darwin/Framework/CHIP/MTRConversion.mm b/src/darwin/Framework/CHIP/MTRConversion.mm index 77882742dea3e7..491a585c00585d 100644 --- a/src/darwin/Framework/CHIP/MTRConversion.mm +++ b/src/darwin/Framework/CHIP/MTRConversion.mm @@ -18,6 +18,7 @@ #import "MTRLogging_Internal.h" #include +#include CHIP_ERROR SetToCATValues(NSSet * catSet, chip::CATValues & values) { @@ -59,3 +60,21 @@ CHIP_ERROR SetToCATValues(NSSet * catSet, chip::CATValues & values) } return [NSSet setWithSet:catSet]; } + +bool DateToMatterEpochSeconds(NSDate * date, uint32_t & matterEpochSeconds) +{ + NSCalendar * calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; + NSDateComponents * components = [calendar componentsInTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0] fromDate:date]; + + if (!chip::CanCastTo(components.year)) { + return false; + } + + uint16_t year = static_cast([components year]); + uint8_t month = static_cast([components month]); + uint8_t day = static_cast([components day]); + uint8_t hour = static_cast([components hour]); + uint8_t minute = static_cast([components minute]); + uint8_t second = static_cast([components second]); + return chip::CalendarToChipEpochTime(year, month, day, hour, minute, second, matterEpochSeconds); +} diff --git a/src/darwin/Framework/CHIP/MTRDeviceController.mm b/src/darwin/Framework/CHIP/MTRDeviceController.mm index 9b132a2ddfefca..d4c5903c93077d 100644 --- a/src/darwin/Framework/CHIP/MTRDeviceController.mm +++ b/src/darwin/Framework/CHIP/MTRDeviceController.mm @@ -53,6 +53,8 @@ #include +#include +#include #include #include #include @@ -679,6 +681,57 @@ - (BOOL)commissionNodeWithID:(NSNumber *)nodeID params.SetCountryCode(AsCharSpan(commissioningParams.countryCode)); } + // Set up the right timezone and DST information. For timezone, just + // use our current timezone and don't schedule any sort of timezone + // change. + auto * tz = [NSTimeZone localTimeZone]; + using TimeZoneType = chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::Type; + TimeZoneType timeZone; + timeZone.validAt = 0; + timeZone.offset = static_cast(tz.secondsFromGMT - tz.daylightSavingTimeOffset); + timeZone.name.Emplace(AsCharSpan(tz.name)); + + params.SetTimeZone(chip::app::DataModel::List(&timeZone, 1)); + + // For DST, there is no limit to the number of transitions we could try + // to add, but in practice devices likely support only 2 and + // AutoCommissioner caps the list at 10. Let's do up to 4 transitions + // for now. + using DSTOffsetType = chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::Type; + + DSTOffsetType dstOffsets[4]; + size_t dstOffsetCount = 0; + auto nextOffset = tz.daylightSavingTimeOffset; + uint64_t nextValidStarting = 0; + auto * nextTransition = tz.nextDaylightSavingTimeTransition; + for (auto & dstOffset : dstOffsets) { + ++dstOffsetCount; + dstOffset.offset = static_cast(nextOffset); + dstOffset.validStarting = nextValidStarting; + if (nextTransition != nil) { + uint32_t transitionEpochS; + if (DateToMatterEpochSeconds(nextTransition, transitionEpochS)) { + using Microseconds64 = chip::System::Clock::Microseconds64; + using Seconds32 = chip::System::Clock::Seconds32; + dstOffset.validUntil.SetNonNull(Microseconds64(Seconds32(transitionEpochS)).count()); + } else { + // Out of range; treat as "forever". + dstOffset.validUntil.SetNull(); + } + } else { + dstOffset.validUntil.SetNull(); + } + + if (dstOffset.validUntil.IsNull()) { + break; + } + + nextOffset = [tz daylightSavingTimeOffsetForDate:nextTransition]; + nextValidStarting = dstOffset.validUntil.Value(); + nextTransition = [tz nextDaylightSavingTimeTransitionAfterDate:nextTransition]; + } + params.SetDSTOffsets(chip::app::DataModel::List(dstOffsets, dstOffsetCount)); + chip::NodeId deviceId = [nodeID unsignedLongLongValue]; self->_operationalCredentialsDelegate->SetDeviceID(deviceId); auto errorCode = self.cppCommissioner->Commission(deviceId, params); diff --git a/src/darwin/Framework/CHIP/MTROperationalCredentialsDelegate.mm b/src/darwin/Framework/CHIP/MTROperationalCredentialsDelegate.mm index 159e772838258c..71ee2e6c198f50 100644 --- a/src/darwin/Framework/CHIP/MTROperationalCredentialsDelegate.mm +++ b/src/darwin/Framework/CHIP/MTROperationalCredentialsDelegate.mm @@ -35,8 +35,6 @@ #include #include #include -#include -#include #include using namespace chip; @@ -322,21 +320,12 @@ bool MTROperationalCredentialsDelegate::ToChipEpochTime(NSDate * date, uint32_t & epoch) { - NSCalendar * calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; - NSDateComponents * components = [calendar componentsInTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0] fromDate:date]; - - if (CanCastTo(components.year)) { - uint16_t year = static_cast([components year]); - uint8_t month = static_cast([components month]); - uint8_t day = static_cast([components day]); - uint8_t hour = static_cast([components hour]); - uint8_t minute = static_cast([components minute]); - uint8_t second = static_cast([components second]); - if (chip::CalendarToChipEpochTime(year, month, day, hour, minute, second, epoch)) { - return true; - } + if (DateToMatterEpochSeconds(date, epoch)) { + return true; } + NSCalendar * calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; + NSDateComponents * components = [calendar componentsInTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0] fromDate:date]; MTR_LOG_ERROR( "Year %lu is out of range for Matter epoch time. Please use [NSDate distantFuture] to represent \"never expires\".", static_cast(components.year)); diff --git a/src/darwin/Framework/CHIPTests/MTRDeviceTests.m b/src/darwin/Framework/CHIPTests/MTRDeviceTests.m index 462cc5959bf556..2028d1f03ad9f8 100644 --- a/src/darwin/Framework/CHIPTests/MTRDeviceTests.m +++ b/src/darwin/Framework/CHIPTests/MTRDeviceTests.m @@ -2555,6 +2555,73 @@ - (void)test027_AttestationChallenge [self waitForExpectations:@[ attestationRequestedViaDevice ] timeout:kTimeoutInSeconds]; } +- (void)test028_TimeZoneAndDST +{ + // Time synchronization is marked provisional so far, so we can only test it + // when MTR_ENABLE_PROVISIONAL is set. +#if MTR_ENABLE_PROVISIONAL + dispatch_queue_t queue = dispatch_get_main_queue(); + + __auto_type * device = GetConnectedDevice(); + __auto_type * cluster = [[MTRBaseClusterTimeSynchronization alloc] initWithDevice:device endpointID:@(0) queue:queue]; + + XCTestExpectation * readTimeZoneExpectation = [self expectationWithDescription:@"Read TimeZone attribute"]; + __block NSArray * timeZone; + [cluster readAttributeTimeZoneWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + XCTAssertNil(error); + timeZone = value; + [readTimeZoneExpectation fulfill]; + }]; + + [self waitForExpectations:@[ readTimeZoneExpectation ] timeout:kTimeoutInSeconds]; + + __block NSArray * dstOffset; + XCTestExpectation * readDSTOffsetExpectation = [self expectationWithDescription:@"Read DSTOffset attribute"]; + [cluster readAttributeDSTOffsetWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) { + XCTAssertNil(error); + dstOffset = value; + [readDSTOffsetExpectation fulfill]; + }]; + + [self waitForExpectations:@[ readDSTOffsetExpectation ] timeout:kTimeoutInSeconds]; + + // Check that the first DST offset entry matches what we expect. If we + // happened to cross a DST boundary during execution of this function, some + // of these checks will fail, but that seems pretty low-probability. + + XCTAssertTrue(dstOffset.count > 0); + MTRTimeSynchronizationClusterDSTOffsetStruct * currentDSTOffset = dstOffset[0]; + + __auto_type * utcTz = [NSTimeZone timeZoneForSecondsFromGMT:0]; + __auto_type * dateComponents = [[NSDateComponents alloc] init]; + dateComponents.timeZone = utcTz; + dateComponents.year = 2000; + dateComponents.month = 1; + dateComponents.day = 1; + NSCalendar * gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; + NSDate * matterEpoch = [gregorianCalendar dateFromComponents:dateComponents]; + + NSDate * nextReportedDSTTransition; + if (currentDSTOffset.validUntil == nil) { + nextReportedDSTTransition = nil; + } else { + double validUntilMicroSeconds = currentDSTOffset.validUntil.doubleValue; + nextReportedDSTTransition = [NSDate dateWithTimeInterval:validUntilMicroSeconds / 1e6 sinceDate:matterEpoch]; + } + + __auto_type * tz = [NSTimeZone localTimeZone]; + NSDate * nextDSTTransition = tz.nextDaylightSavingTimeTransition; + XCTAssertEqualObjects(nextReportedDSTTransition, nextDSTTransition); + + XCTAssertEqual(currentDSTOffset.offset.intValue, tz.daylightSavingTimeOffset); + + // Now check the timezone info we got. We always set exactly one timezone. + XCTAssertEqual(timeZone.count, 1); + MTRTimeSynchronizationClusterTimeZoneStruct * currentTimeZone = timeZone[0]; + XCTAssertEqual(tz.secondsFromGMT, currentTimeZone.offset.intValue + currentDSTOffset.offset.intValue); +#endif // MTR_ENABLE_PROVISIONAL +} + - (void)test900_SubscribeAllAttributes { MTRBaseDevice * device = GetConnectedDevice(); From 57f0a7398eabf8f069d933d59243681764f58a93 Mon Sep 17 00:00:00 2001 From: C Freeman Date: Tue, 24 Oct 2023 12:02:47 -0400 Subject: [PATCH 43/44] Remove door lock cluster from all-clusters-app (#29802) * Remove door lock cluster from all-clusters-app Both QA and the CI are using the door-lock app for all testing of the door lock cluster. The all-clusters version is not well tested, and is missing some command handlers. Removing this in all-clusters in favour of the door lock app so we don't have to maintain it in two places and to save some space. * Fix esp32 build file * Remove door lock support for esp32 * Remove door lock support from telink * Remove door lock support for nrfconnect * Fix esp32 compilation * Restyle --------- Co-authored-by: Andrei Litvin --- .../all-clusters-app.matter | 600 --------------- .../all-clusters-common/all-clusters-app.zap | 682 ------------------ .../all-clusters-app/esp32/main/AppTask.cpp | 48 -- .../esp32/main/CMakeLists.txt | 2 - .../esp32/main/DeviceWithDisplay.cpp | 17 +- .../esp32/main/include/AppEvent.h | 51 ++ .../esp32/main/include/AppTask.h | 7 +- .../esp32/main/include/DeviceWithDisplay.h | 1 - examples/all-clusters-app/esp32/main/main.cpp | 11 +- examples/all-clusters-app/linux/BUILD.gn | 2 - .../nrfconnect/CMakeLists.txt | 1 - .../all-clusters-app/telink/CMakeLists.txt | 1 - 12 files changed, 56 insertions(+), 1367 deletions(-) create mode 100644 examples/all-clusters-app/esp32/main/include/AppEvent.h diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index ac9416034aa63f..8b720e8cdb1d80 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -3247,549 +3247,6 @@ server cluster ActivatedCarbonFilterMonitoring = 114 { command ResetCondition(): DefaultSuccess = 0; } -/** An interface to a generic way to secure a door */ -server cluster DoorLock = 257 { - enum AlarmCodeEnum : enum8 { - kLockJammed = 0; - kLockFactoryReset = 1; - kLockRadioPowerCycled = 3; - kWrongCodeEntryLimit = 4; - kFrontEsceutcheonRemoved = 5; - kDoorForcedOpen = 6; - kDoorAjar = 7; - kForcedUser = 8; - } - - enum CredentialRuleEnum : enum8 { - kSingle = 0; - kDual = 1; - kTri = 2; - } - - enum CredentialTypeEnum : enum8 { - kProgrammingPIN = 0; - kPIN = 1; - kRFID = 2; - kFingerprint = 3; - kFingerVein = 4; - kFace = 5; - } - - enum DataOperationTypeEnum : enum8 { - kAdd = 0; - kClear = 1; - kModify = 2; - } - - enum DlLockState : enum8 { - kNotFullyLocked = 0; - kLocked = 1; - kUnlocked = 2; - kUnlatched = 3; - } - - enum DlLockType : enum8 { - kDeadBolt = 0; - kMagnetic = 1; - kOther = 2; - kMortise = 3; - kRim = 4; - kLatchBolt = 5; - kCylindricalLock = 6; - kTubularLock = 7; - kInterconnectedLock = 8; - kDeadLatch = 9; - kDoorFurniture = 10; - kEurocylinder = 11; - } - - enum DlStatus : enum8 { - kSuccess = 0; - kFailure = 1; - kDuplicate = 2; - kOccupied = 3; - kInvalidField = 133; - kResourceExhausted = 137; - kNotFound = 139; - } - - enum DoorLockOperationEventCode : enum8 { - kUnknownOrMfgSpecific = 0; - kLock = 1; - kUnlock = 2; - kLockInvalidPinOrId = 3; - kLockInvalidSchedule = 4; - kUnlockInvalidPinOrId = 5; - kUnlockInvalidSchedule = 6; - kOneTouchLock = 7; - kKeyLock = 8; - kKeyUnlock = 9; - kAutoLock = 10; - kScheduleLock = 11; - kScheduleUnlock = 12; - kManualLock = 13; - kManualUnlock = 14; - } - - enum DoorLockProgrammingEventCode : enum8 { - kUnknownOrMfgSpecific = 0; - kMasterCodeChanged = 1; - kPinAdded = 2; - kPinDeleted = 3; - kPinChanged = 4; - kIdAdded = 5; - kIdDeleted = 6; - } - - enum DoorLockSetPinOrIdStatus : enum8 { - kSuccess = 0; - kGeneralFailure = 1; - kMemoryFull = 2; - kDuplicateCodeError = 3; - } - - enum DoorLockUserStatus : enum8 { - kAvailable = 0; - kOccupiedEnabled = 1; - kOccupiedDisabled = 3; - kNotSupported = 255; - } - - enum DoorLockUserType : enum8 { - kUnrestricted = 0; - kYearDayScheduleUser = 1; - kWeekDayScheduleUser = 2; - kMasterUser = 3; - kNonAccessUser = 4; - kNotSupported = 255; - } - - enum DoorStateEnum : enum8 { - kDoorOpen = 0; - kDoorClosed = 1; - kDoorJammed = 2; - kDoorForcedOpen = 3; - kDoorUnspecifiedError = 4; - kDoorAjar = 5; - } - - enum LockDataTypeEnum : enum8 { - kUnspecified = 0; - kProgrammingCode = 1; - kUserIndex = 2; - kWeekDaySchedule = 3; - kYearDaySchedule = 4; - kHolidaySchedule = 5; - kPIN = 6; - kRFID = 7; - kFingerprint = 8; - kFingerVein = 9; - kFace = 10; - } - - enum LockOperationTypeEnum : enum8 { - kLock = 0; - kUnlock = 1; - kNonAccessUserEvent = 2; - kForcedUserEvent = 3; - kUnlatch = 4; - } - - enum OperatingModeEnum : enum8 { - kNormal = 0; - kVacation = 1; - kPrivacy = 2; - kNoRemoteLockUnlock = 3; - kPassage = 4; - } - - enum OperationErrorEnum : enum8 { - kUnspecified = 0; - kInvalidCredential = 1; - kDisabledUserDenied = 2; - kRestricted = 3; - kInsufficientBattery = 4; - } - - enum OperationSourceEnum : enum8 { - kUnspecified = 0; - kManual = 1; - kProprietaryRemote = 2; - kKeypad = 3; - kAuto = 4; - kButton = 5; - kSchedule = 6; - kRemote = 7; - kRFID = 8; - kBiometric = 9; - } - - enum UserStatusEnum : enum8 { - kAvailable = 0; - kOccupiedEnabled = 1; - kOccupiedDisabled = 3; - } - - enum UserTypeEnum : enum8 { - kUnrestrictedUser = 0; - kYearDayScheduleUser = 1; - kWeekDayScheduleUser = 2; - kProgrammingUser = 3; - kNonAccessUser = 4; - kForcedUser = 5; - kDisposableUser = 6; - kExpiringUser = 7; - kScheduleRestrictedUser = 8; - kRemoteOnlyUser = 9; - } - - bitmap DaysMaskMap : bitmap8 { - kSunday = 0x1; - kMonday = 0x2; - kTuesday = 0x4; - kWednesday = 0x8; - kThursday = 0x10; - kFriday = 0x20; - kSaturday = 0x40; - } - - bitmap DlCredentialRuleMask : bitmap8 { - kSingle = 0x1; - kDual = 0x2; - kTri = 0x4; - } - - bitmap DlCredentialRulesSupport : bitmap8 { - kSingle = 0x1; - kDual = 0x2; - kTri = 0x4; - } - - bitmap DlDefaultConfigurationRegister : bitmap16 { - kEnableLocalProgrammingEnabled = 0x1; - kKeypadInterfaceDefaultAccessEnabled = 0x2; - kRemoteInterfaceDefaultAccessIsEnabled = 0x4; - kSoundEnabled = 0x20; - kAutoRelockTimeSet = 0x40; - kLEDSettingsSet = 0x80; - } - - bitmap DlKeypadOperationEventMask : bitmap16 { - kUnknown = 0x1; - kLock = 0x2; - kUnlock = 0x4; - kLockInvalidPIN = 0x8; - kLockInvalidSchedule = 0x10; - kUnlockInvalidCode = 0x20; - kUnlockInvalidSchedule = 0x40; - kNonAccessUserOpEvent = 0x80; - } - - bitmap DlKeypadProgrammingEventMask : bitmap16 { - kUnknown = 0x1; - kProgrammingPINChanged = 0x2; - kPINAdded = 0x4; - kPINCleared = 0x8; - kPINChanged = 0x10; - } - - bitmap DlLocalProgrammingFeatures : bitmap8 { - kAddUsersCredentialsSchedulesLocally = 0x1; - kModifyUsersCredentialsSchedulesLocally = 0x2; - kClearUsersCredentialsSchedulesLocally = 0x4; - kAdjustLockSettingsLocally = 0x8; - } - - bitmap DlManualOperationEventMask : bitmap16 { - kUnknown = 0x1; - kThumbturnLock = 0x2; - kThumbturnUnlock = 0x4; - kOneTouchLock = 0x8; - kKeyLock = 0x10; - kKeyUnlock = 0x20; - kAutoLock = 0x40; - kScheduleLock = 0x80; - kScheduleUnlock = 0x100; - kManualLock = 0x200; - kManualUnlock = 0x400; - } - - bitmap DlRFIDOperationEventMask : bitmap16 { - kUnknown = 0x1; - kLock = 0x2; - kUnlock = 0x4; - kLockInvalidRFID = 0x8; - kLockInvalidSchedule = 0x10; - kUnlockInvalidRFID = 0x20; - kUnlockInvalidSchedule = 0x40; - } - - bitmap DlRFIDProgrammingEventMask : bitmap16 { - kUnknown = 0x1; - kRFIDCodeAdded = 0x20; - kRFIDCodeCleared = 0x40; - } - - bitmap DlRemoteOperationEventMask : bitmap16 { - kUnknown = 0x1; - kLock = 0x2; - kUnlock = 0x4; - kLockInvalidCode = 0x8; - kLockInvalidSchedule = 0x10; - kUnlockInvalidCode = 0x20; - kUnlockInvalidSchedule = 0x40; - } - - bitmap DlRemoteProgrammingEventMask : bitmap16 { - kUnknown = 0x1; - kProgrammingPINChanged = 0x2; - kPINAdded = 0x4; - kPINCleared = 0x8; - kPINChanged = 0x10; - kRFIDCodeAdded = 0x20; - kRFIDCodeCleared = 0x40; - } - - bitmap DlSupportedOperatingModes : bitmap16 { - kNormal = 0x1; - kVacation = 0x2; - kPrivacy = 0x4; - kNoRemoteLockUnlock = 0x8; - kPassage = 0x10; - } - - bitmap DoorLockDayOfWeek : bitmap8 { - kSunday = 0x1; - kMonday = 0x2; - kTuesday = 0x4; - kWednesday = 0x8; - kThursday = 0x10; - kFriday = 0x20; - kSaturday = 0x40; - } - - bitmap Feature : bitmap32 { - kPINCredential = 0x1; - kRFIDCredential = 0x2; - kFingerCredentials = 0x4; - kLogging = 0x8; - kWeekDayAccessSchedules = 0x10; - kDoorPositionSensor = 0x20; - kFaceCredentials = 0x40; - kCredentialsOverTheAirAccess = 0x80; - kUser = 0x100; - kNotification = 0x200; - kYearDayAccessSchedules = 0x400; - kHolidaySchedules = 0x800; - kUnbolt = 0x1000; - } - - struct CredentialStruct { - CredentialTypeEnum credentialType = 0; - int16u credentialIndex = 1; - } - - critical event DoorLockAlarm = 0 { - AlarmCodeEnum alarmCode = 0; - } - - critical event DoorStateChange = 1 { - DoorStateEnum doorState = 0; - } - - critical event LockOperation = 2 { - LockOperationTypeEnum lockOperationType = 0; - OperationSourceEnum operationSource = 1; - nullable int16u userIndex = 2; - nullable fabric_idx fabricIndex = 3; - nullable node_id sourceNode = 4; - optional nullable CredentialStruct credentials[] = 5; - } - - critical event LockOperationError = 3 { - LockOperationTypeEnum lockOperationType = 0; - OperationSourceEnum operationSource = 1; - OperationErrorEnum operationError = 2; - nullable int16u userIndex = 3; - nullable fabric_idx fabricIndex = 4; - nullable node_id sourceNode = 5; - optional nullable CredentialStruct credentials[] = 6; - } - - info event LockUserChange = 4 { - LockDataTypeEnum lockDataType = 0; - DataOperationTypeEnum dataOperationType = 1; - OperationSourceEnum operationSource = 2; - nullable int16u userIndex = 3; - nullable fabric_idx fabricIndex = 4; - nullable node_id sourceNode = 5; - nullable int16u dataIndex = 6; - } - - readonly attribute nullable DlLockState lockState = 0; - readonly attribute DlLockType lockType = 1; - readonly attribute boolean actuatorEnabled = 2; - readonly attribute nullable DoorStateEnum doorState = 3; - attribute access(write: manage) int32u doorOpenEvents = 4; - attribute access(write: manage) int32u doorClosedEvents = 5; - attribute access(write: manage) int16u openPeriod = 6; - readonly attribute int16u numberOfTotalUsersSupported = 17; - readonly attribute int16u numberOfPINUsersSupported = 18; - readonly attribute int16u numberOfRFIDUsersSupported = 19; - readonly attribute int8u numberOfWeekDaySchedulesSupportedPerUser = 20; - readonly attribute int8u maxPINCodeLength = 23; - readonly attribute int8u minPINCodeLength = 24; - readonly attribute int8u maxRFIDCodeLength = 25; - readonly attribute int8u minRFIDCodeLength = 26; - readonly attribute DlCredentialRuleMask credentialRulesSupport = 27; - readonly attribute int8u numberOfCredentialsSupportedPerUser = 28; - attribute access(write: manage) char_string<3> language = 33; - attribute access(write: manage) int32u autoRelockTime = 35; - attribute access(write: manage) int8u soundVolume = 36; - attribute access(write: manage) OperatingModeEnum operatingMode = 37; - readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38; - readonly attribute DlDefaultConfigurationRegister defaultConfigurationRegister = 39; - attribute access(write: manage) boolean enableOneTouchLocking = 41; - attribute access(write: manage) boolean enableInsideStatusLED = 42; - attribute access(write: manage) boolean enablePrivacyModeButton = 43; - attribute access(write: administer) int8u wrongCodeEntryLimit = 48; - attribute access(write: administer) int8u userCodeTemporaryDisableTime = 49; - attribute access(write: administer) boolean requirePINforRemoteOperation = 51; - readonly attribute command_id generatedCommandList[] = 65528; - readonly attribute command_id acceptedCommandList[] = 65529; - readonly attribute event_id eventList[] = 65530; - readonly attribute attrib_id attributeList[] = 65531; - readonly attribute bitmap32 featureMap = 65532; - readonly attribute int16u clusterRevision = 65533; - - request struct LockDoorRequest { - optional octet_string PINCode = 0; - } - - request struct UnlockDoorRequest { - optional octet_string PINCode = 0; - } - - request struct UnlockWithTimeoutRequest { - int16u timeout = 0; - optional octet_string PINCode = 1; - } - - request struct SetWeekDayScheduleRequest { - int8u weekDayIndex = 0; - int16u userIndex = 1; - DaysMaskMap daysMask = 2; - int8u startHour = 3; - int8u startMinute = 4; - int8u endHour = 5; - int8u endMinute = 6; - } - - request struct GetWeekDayScheduleRequest { - int8u weekDayIndex = 0; - int16u userIndex = 1; - } - - request struct ClearWeekDayScheduleRequest { - int8u weekDayIndex = 0; - int16u userIndex = 1; - } - - request struct SetYearDayScheduleRequest { - int8u yearDayIndex = 0; - int16u userIndex = 1; - epoch_s localStartTime = 2; - epoch_s localEndTime = 3; - } - - request struct GetYearDayScheduleRequest { - int8u yearDayIndex = 0; - int16u userIndex = 1; - } - - request struct SetUserRequest { - DataOperationTypeEnum operationType = 0; - int16u userIndex = 1; - nullable char_string userName = 2; - nullable int32u userUniqueID = 3; - nullable UserStatusEnum userStatus = 4; - nullable UserTypeEnum userType = 5; - nullable CredentialRuleEnum credentialRule = 6; - } - - request struct GetUserRequest { - int16u userIndex = 0; - } - - request struct ClearUserRequest { - int16u userIndex = 0; - } - - request struct SetCredentialRequest { - DataOperationTypeEnum operationType = 0; - CredentialStruct credential = 1; - LONG_OCTET_STRING credentialData = 2; - nullable int16u userIndex = 3; - nullable UserStatusEnum userStatus = 4; - nullable UserTypeEnum userType = 5; - } - - request struct GetCredentialStatusRequest { - CredentialStruct credential = 0; - } - - request struct ClearCredentialRequest { - nullable CredentialStruct credential = 0; - } - - request struct UnboltDoorRequest { - optional octet_string PINCode = 0; - } - - response struct GetUserResponse = 28 { - int16u userIndex = 0; - nullable char_string userName = 1; - nullable int32u userUniqueID = 2; - nullable UserStatusEnum userStatus = 3; - nullable UserTypeEnum userType = 4; - nullable CredentialRuleEnum credentialRule = 5; - nullable CredentialStruct credentials[] = 6; - nullable fabric_idx creatorFabricIndex = 7; - nullable fabric_idx lastModifiedFabricIndex = 8; - nullable int16u nextUserIndex = 9; - } - - response struct SetCredentialResponse = 35 { - DlStatus status = 0; - nullable int16u userIndex = 1; - nullable int16u nextCredentialIndex = 2; - } - - response struct GetCredentialStatusResponse = 37 { - boolean credentialExists = 0; - nullable int16u userIndex = 1; - nullable fabric_idx creatorFabricIndex = 2; - nullable fabric_idx lastModifiedFabricIndex = 3; - nullable int16u nextCredentialIndex = 4; - } - - timed command LockDoor(LockDoorRequest): DefaultSuccess = 0; - timed command UnlockDoor(UnlockDoorRequest): DefaultSuccess = 1; - timed command UnlockWithTimeout(UnlockWithTimeoutRequest): DefaultSuccess = 3; - command access(invoke: administer) SetWeekDaySchedule(SetWeekDayScheduleRequest): DefaultSuccess = 11; - command access(invoke: administer) GetWeekDaySchedule(GetWeekDayScheduleRequest): GetWeekDayScheduleResponse = 12; - command access(invoke: administer) ClearWeekDaySchedule(ClearWeekDayScheduleRequest): DefaultSuccess = 13; - command access(invoke: administer) SetYearDaySchedule(SetYearDayScheduleRequest): DefaultSuccess = 14; - command access(invoke: administer) GetYearDaySchedule(GetYearDayScheduleRequest): GetYearDayScheduleResponse = 15; - timed command access(invoke: administer) SetUser(SetUserRequest): DefaultSuccess = 26; - command access(invoke: administer) GetUser(GetUserRequest): GetUserResponse = 27; - timed command access(invoke: administer) ClearUser(ClearUserRequest): DefaultSuccess = 29; - timed command access(invoke: administer) SetCredential(SetCredentialRequest): SetCredentialResponse = 34; - command access(invoke: administer) GetCredentialStatus(GetCredentialStatusRequest): GetCredentialStatusResponse = 36; - timed command access(invoke: administer) ClearCredential(ClearCredentialRequest): DefaultSuccess = 38; - timed command UnboltDoor(UnboltDoorRequest): DefaultSuccess = 39; -} - /** Provides an interface for controlling and adjusting automatic window coverings. */ server cluster WindowCovering = 258 { enum EndProductType : enum8 { @@ -6656,63 +6113,6 @@ endpoint 1 { handle command ResetCondition; } - server cluster DoorLock { - emits event DoorLockAlarm; - emits event LockOperation; - emits event LockOperationError; - emits event LockUserChange; - ram attribute lockState default = 2; - ram attribute lockType; - ram attribute actuatorEnabled; - ram attribute doorState; - ram attribute doorOpenEvents; - ram attribute doorClosedEvents; - ram attribute openPeriod; - ram attribute numberOfTotalUsersSupported default = 10; - ram attribute numberOfPINUsersSupported default = 10; - ram attribute numberOfRFIDUsersSupported default = 10; - ram attribute numberOfWeekDaySchedulesSupportedPerUser default = 10; - ram attribute maxPINCodeLength default = 6; - ram attribute minPINCodeLength default = 6; - ram attribute maxRFIDCodeLength default = 20; - ram attribute minRFIDCodeLength default = 10; - ram attribute credentialRulesSupport default = 1; - ram attribute numberOfCredentialsSupportedPerUser default = 5; - ram attribute language default = "en"; - ram attribute autoRelockTime default = 60; - ram attribute soundVolume default = 0x00; - ram attribute operatingMode default = 0x00; - ram attribute supportedOperatingModes default = 0xFFF6; - ram attribute defaultConfigurationRegister default = 0; - ram attribute enableOneTouchLocking default = 0x00; - ram attribute enableInsideStatusLED default = 0; - ram attribute enablePrivacyModeButton default = 0x00; - ram attribute wrongCodeEntryLimit default = 3; - ram attribute userCodeTemporaryDisableTime default = 10; - ram attribute requirePINforRemoteOperation default = 0; - ram attribute featureMap default = 0x11B3; - ram attribute clusterRevision default = 6; - - handle command LockDoor; - handle command UnlockDoor; - handle command UnlockWithTimeout; - handle command SetWeekDaySchedule; - handle command GetWeekDaySchedule; - handle command ClearWeekDaySchedule; - handle command SetYearDaySchedule; - handle command GetYearDaySchedule; - handle command SetUser; - handle command GetUser; - handle command GetUserResponse; - handle command ClearUser; - handle command SetCredential; - handle command SetCredentialResponse; - handle command GetCredentialStatus; - handle command GetCredentialStatusResponse; - handle command ClearCredential; - handle command UnboltDoor; - } - server cluster WindowCovering { ram attribute type default = 0x08; ram attribute physicalClosedLimitLift default = 0xFFFF; diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap index 18b556b1f0cfbe..ed12532571c586 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap @@ -11653,688 +11653,6 @@ } ] }, - { - "name": "Door Lock", - "code": 257, - "mfgCode": null, - "define": "DOOR_LOCK_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "LockDoor", - "code": 0, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "UnlockDoor", - "code": 1, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "UnlockWithTimeout", - "code": 3, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "SetWeekDaySchedule", - "code": 11, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "GetWeekDaySchedule", - "code": 12, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "ClearWeekDaySchedule", - "code": 13, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "SetYearDaySchedule", - "code": 14, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "GetYearDaySchedule", - "code": 15, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "SetUser", - "code": 26, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "GetUser", - "code": 27, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "GetUserResponse", - "code": 28, - "mfgCode": null, - "source": "server", - "isIncoming": 0, - "isEnabled": 1 - }, - { - "name": "ClearUser", - "code": 29, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "SetCredential", - "code": 34, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "SetCredentialResponse", - "code": 35, - "mfgCode": null, - "source": "server", - "isIncoming": 0, - "isEnabled": 1 - }, - { - "name": "GetCredentialStatus", - "code": 36, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "GetCredentialStatusResponse", - "code": 37, - "mfgCode": null, - "source": "server", - "isIncoming": 0, - "isEnabled": 1 - }, - { - "name": "ClearCredential", - "code": 38, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - }, - { - "name": "UnboltDoor", - "code": 39, - "mfgCode": null, - "source": "client", - "isIncoming": 1, - "isEnabled": 1 - } - ], - "attributes": [ - { - "name": "LockState", - "code": 0, - "mfgCode": null, - "side": "server", - "type": "DlLockState", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "2", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "LockType", - "code": 1, - "mfgCode": null, - "side": "server", - "type": "DlLockType", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ActuatorEnabled", - "code": 2, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DoorState", - "code": 3, - "mfgCode": null, - "side": "server", - "type": "DoorStateEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "DoorOpenEvents", - "code": 4, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "DoorClosedEvents", - "code": 5, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "OpenPeriod", - "code": 6, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "NumberOfTotalUsersSupported", - "code": 17, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "10", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "NumberOfPINUsersSupported", - "code": 18, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "10", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "NumberOfRFIDUsersSupported", - "code": 19, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "10", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "NumberOfWeekDaySchedulesSupportedPerUser", - "code": 20, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "10", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MaxPINCodeLength", - "code": 23, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MinPINCodeLength", - "code": 24, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MaxRFIDCodeLength", - "code": 25, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "20", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "MinRFIDCodeLength", - "code": 26, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "10", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "CredentialRulesSupport", - "code": 27, - "mfgCode": null, - "side": "server", - "type": "DlCredentialRuleMask", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "NumberOfCredentialsSupportedPerUser", - "code": 28, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "5", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "Language", - "code": 33, - "mfgCode": null, - "side": "server", - "type": "char_string", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "en", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AutoRelockTime", - "code": 35, - "mfgCode": null, - "side": "server", - "type": "int32u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "60", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoundVolume", - "code": 36, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "OperatingMode", - "code": 37, - "mfgCode": null, - "side": "server", - "type": "OperatingModeEnum", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SupportedOperatingModes", - "code": 38, - "mfgCode": null, - "side": "server", - "type": "DlSupportedOperatingModes", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0xFFF6", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "DefaultConfigurationRegister", - "code": 39, - "mfgCode": null, - "side": "server", - "type": "DlDefaultConfigurationRegister", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EnableOneTouchLocking", - "code": 41, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "EnableInsideStatusLED", - "code": 42, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "EnablePrivacyModeButton", - "code": 43, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "WrongCodeEntryLimit", - "code": 48, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "3", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "UserCodeTemporaryDisableTime", - "code": 49, - "mfgCode": null, - "side": "server", - "type": "int8u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "10", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "RequirePINforRemoteOperation", - "code": 51, - "mfgCode": null, - "side": "server", - "type": "boolean", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "FeatureMap", - "code": 65532, - "mfgCode": null, - "side": "server", - "type": "bitmap32", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "0x11B3", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "type": "int16u", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "6", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ], - "events": [ - { - "name": "DoorLockAlarm", - "code": 0, - "mfgCode": null, - "side": "server", - "included": 1 - }, - { - "name": "LockOperation", - "code": 2, - "mfgCode": null, - "side": "server", - "included": 1 - }, - { - "name": "LockOperationError", - "code": 3, - "mfgCode": null, - "side": "server", - "included": 1 - }, - { - "name": "LockUserChange", - "code": 4, - "mfgCode": null, - "side": "server", - "included": 1 - } - ] - }, { "name": "Window Covering", "code": 258, diff --git a/examples/all-clusters-app/esp32/main/AppTask.cpp b/examples/all-clusters-app/esp32/main/AppTask.cpp index 0b63316c2d53ac..33b000f6a1baf1 100644 --- a/examples/all-clusters-app/esp32/main/AppTask.cpp +++ b/examples/all-clusters-app/esp32/main/AppTask.cpp @@ -29,7 +29,6 @@ #include "esp_log.h" #include "freertos/FreeRTOS.h" #include -#include #if ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(5, 0, 0) #include "esp_spi_flash.h" @@ -94,12 +93,6 @@ void AppTask::FunctionTimerEventHandler(AppEvent * aEvent) // cancel, if required. sAppTask.StartTimer(FACTORY_RESET_CANCEL_WINDOW_TIMEOUT); sAppTask.mFunction = kFunction_FactoryReset; - // Turn off all LEDs before starting blink to make sure blink is - // co-ordinated. - // sStatusLED.Set(false); - // sLockLED.Set(false); - // sStatusLED.Blink(500); - // sLockLED.Blink(500); } else if (sAppTask.mFunctionTimerActive && sAppTask.mFunction == kFunction_FactoryReset) { @@ -135,47 +128,6 @@ void AppTask::StartTimer(uint32_t aTimeoutInMs) } mFunctionTimerActive = true; } -void AppTask::ActionInitiated(BoltLockManager::Action_t aAction, int32_t aActor) -{ - // If the action has been initiated by the lock, update the bolt lock trait - // and start flashing the LEDs rapidly to indicate action initiation. - if (aAction == BoltLockManager::LOCK_ACTION) - { - ESP_LOGI(TAG, "Lock Action has been initiated"); - } - else if (aAction == BoltLockManager::UNLOCK_ACTION) - { - ESP_LOGI(TAG, "Unlock Action has been initiated"); - } - if (aActor == AppEvent::kEventType_Button) - { - sAppTask.mSyncClusterToButtonAction = true; - } - // sLockLED.Blink(50, 50); -} -void AppTask::ActionCompleted(BoltLockManager::Action_t aAction) -{ - // if the action has been completed by the lock, update the bolt lock trait. - // Turn on the lock LED if in a LOCKED state OR - // Turn off the lock LED if in an UNLOCKED state. - if (aAction == BoltLockManager::LOCK_ACTION) - { - ESP_LOGI(TAG, "Lock Action has been completed"); - // sLockLED.Set(true); - } - else if (aAction == BoltLockManager::UNLOCK_ACTION) - { - ESP_LOGI(TAG, "Unlock Action has been completed"); - // sLockLED.Set(false); - } -} - -CHIP_ERROR AppTask::LockInit() -{ - ReturnErrorOnFailure(BoltLockMgr().InitLockState()); - BoltLockMgr().SetCallbacks(ActionInitiated, ActionCompleted); - return CHIP_NO_ERROR; -} CHIP_ERROR AppTask::Init() { diff --git a/examples/all-clusters-app/esp32/main/CMakeLists.txt b/examples/all-clusters-app/esp32/main/CMakeLists.txt index e3e4d0995d4f34..2687ad0da28539 100644 --- a/examples/all-clusters-app/esp32/main/CMakeLists.txt +++ b/examples/all-clusters-app/esp32/main/CMakeLists.txt @@ -31,7 +31,6 @@ set(SRC_DIRS_LIST "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/ota" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/common" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/shell_extension" - "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/lock" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/examples/platform/esp32/mode-support" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/icd" @@ -72,7 +71,6 @@ set(SRC_DIRS_LIST "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bindings" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/icd-management-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/diagnostic-logs-server" - "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/door-lock-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/occupancy-sensor-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/ethernet-network-diagnostics-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/localization-configuration-server" diff --git a/examples/all-clusters-app/esp32/main/DeviceWithDisplay.cpp b/examples/all-clusters-app/esp32/main/DeviceWithDisplay.cpp index cf5a5aa1cb1980..c0caa12cc2eebe 100644 --- a/examples/all-clusters-app/esp32/main/DeviceWithDisplay.cpp +++ b/examples/all-clusters-app/esp32/main/DeviceWithDisplay.cpp @@ -343,15 +343,7 @@ class EditAttributeListModel : public TouchesMatterStackModel ESP_LOGI(TAG, "editing attribute as string: '%s' (%s)", value.c_str(), i == 0 ? "+" : "-"); ESP_LOGI(TAG, "name and cluster: '%s' (%s)", name.c_str(), cluster.c_str()); - if (name == "State" && cluster == "Lock") - { - value = (value == "Closed") ? "Open" : "Closed"; - using namespace chip::app::Clusters; - // update the doorlock attribute here - auto attributeValue = value == "Closed" ? DoorLock::DlLockState::kLocked : DoorLock::DlLockState::kUnlocked; - DoorLock::Attributes::LockState::Set(DOOR_LOCK_SERVER_ENDPOINT, attributeValue); - } - else if (name == "Charge level" && cluster == "Power Source") + if (name == "Charge level" && cluster == "Power Source") { using namespace chip::app::Clusters::PowerSource; auto attributeValue = BatChargeLevelEnum::kOk; @@ -578,13 +570,6 @@ void SetupPretendDevices() // write the temp attribute chip::app::Clusters::TemperatureMeasurement::Attributes::MeasuredValue::Set(1, static_cast(21 * 100)); - AddDevice("Door Lock"); - AddEndpoint("Default"); - AddCluster("Lock"); - AddAttribute("State", "Open"); - // write the door lock state - chip::app::Clusters::DoorLock::Attributes::LockState::Set(DOOR_LOCK_SERVER_ENDPOINT, - chip::app::Clusters::DoorLock::DlLockState::kUnlocked); AddDevice("Garage 1"); AddEndpoint("Door 1"); AddCluster("Door"); diff --git a/examples/all-clusters-app/esp32/main/include/AppEvent.h b/examples/all-clusters-app/esp32/main/include/AppEvent.h new file mode 100644 index 00000000000000..26b97ab86d5018 --- /dev/null +++ b/examples/all-clusters-app/esp32/main/include/AppEvent.h @@ -0,0 +1,51 @@ +/* + * + * Copyright (c) 2022 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once +#include "esp_system.h" + +struct AppEvent; +typedef void (*EventHandler)(AppEvent *); + +struct AppEvent +{ + enum AppEventTypes + { + kEventType_Button = 0, + kEventType_Timer, + kEventType_Light, + kEventType_Install, + }; + + uint16_t mType; + + union + { + struct + { + uint8_t mPinNo; + uint8_t mAction; + } mButtonEvent; + struct + { + void * mContext; + } mTimerEvent; + }; + + EventHandler mHandler; +}; diff --git a/examples/all-clusters-app/esp32/main/include/AppTask.h b/examples/all-clusters-app/esp32/main/include/AppTask.h index 779e7e990c12a7..26f8172094ec11 100644 --- a/examples/all-clusters-app/esp32/main/include/AppTask.h +++ b/examples/all-clusters-app/esp32/main/include/AppTask.h @@ -18,8 +18,7 @@ */ #pragma once -#include -#include +#include "AppEvent.h" #include // Application-defined error codes in the CHIP_ERROR space. @@ -39,14 +38,10 @@ class AppTask void PostEvent(const AppEvent * event); void ButtonEventHandler(uint8_t btnIdx, uint8_t btnAction); static void ButtonPressedAction(AppEvent * aEvent); - CHIP_ERROR LockInit(); private: CHIP_ERROR Init(); - static void ActionInitiated(BoltLockManager::Action_t aAction, int32_t aActor); - static void ActionCompleted(BoltLockManager::Action_t aAction); - void StartTimer(uint32_t aTimeoutMs); void CancelTimer(void); diff --git a/examples/all-clusters-app/esp32/main/include/DeviceWithDisplay.h b/examples/all-clusters-app/esp32/main/include/DeviceWithDisplay.h index f86bce6c870307..916d1c44496078 100644 --- a/examples/all-clusters-app/esp32/main/include/DeviceWithDisplay.h +++ b/examples/all-clusters-app/esp32/main/include/DeviceWithDisplay.h @@ -32,7 +32,6 @@ #include #include -#include #include #include #include diff --git a/examples/all-clusters-app/esp32/main/main.cpp b/examples/all-clusters-app/esp32/main/main.cpp index 2ea1710ad7ebd5..a90ff6327628fb 100644 --- a/examples/all-clusters-app/esp32/main/main.cpp +++ b/examples/all-clusters-app/esp32/main/main.cpp @@ -119,17 +119,12 @@ static void InitServer(intptr_t context) emberAfEndpointEnableDisable(kNetworkCommissioningEndpointSecondary, false); #endif - CHIP_ERROR err = GetAppTask().LockInit(); - if (err != CHIP_NO_ERROR) - { - ESP_LOGE(TAG, "Failed to initialize app task lock, err:%" CHIP_ERROR_FORMAT, err.Format()); - } - #if CONFIG_DEVICE_TYPE_M5STACK SetupPretendDevices(); #endif - err = app::Clusters::ModeSelect::StaticSupportedModesManager::getStaticSupportedModesManagerInstance().InitEndpointArray( - FIXED_ENDPOINT_COUNT); + CHIP_ERROR err = + app::Clusters::ModeSelect::StaticSupportedModesManager::getStaticSupportedModesManagerInstance().InitEndpointArray( + FIXED_ENDPOINT_COUNT); if (err != CHIP_NO_ERROR) { ESP_LOGE(TAG, "Failed to initialize endpoint array for supported-modes, err:%" CHIP_ERROR_FORMAT, err.Format()); diff --git a/examples/all-clusters-app/linux/BUILD.gn b/examples/all-clusters-app/linux/BUILD.gn index 3a50001c1ce3fb..e41cb9843c42c7 100644 --- a/examples/all-clusters-app/linux/BUILD.gn +++ b/examples/all-clusters-app/linux/BUILD.gn @@ -88,7 +88,6 @@ if (is_libfuzzer) { deps = [ ":chip-all-clusters-common", - ":chip-lock-app-common", "${chip_root}/examples/platform/linux:app-main", ] @@ -102,7 +101,6 @@ if (is_libfuzzer) { deps = [ ":chip-all-clusters-common", - ":chip-lock-app-common", "${chip_root}/examples/platform/linux:app-main", ] diff --git a/examples/all-clusters-app/nrfconnect/CMakeLists.txt b/examples/all-clusters-app/nrfconnect/CMakeLists.txt index 03515f36ae24b6..029210cbf28720 100644 --- a/examples/all-clusters-app/nrfconnect/CMakeLists.txt +++ b/examples/all-clusters-app/nrfconnect/CMakeLists.txt @@ -56,7 +56,6 @@ target_include_directories(app PRIVATE target_sources(app PRIVATE main/AppTask.cpp main/main.cpp - main/ZclDoorLockCallbacks.cpp ${ALL_CLUSTERS_COMMON_DIR}/src/smco-stub.cpp ${ALL_CLUSTERS_COMMON_DIR}/src/static-supported-modes-manager.cpp ${ALL_CLUSTERS_COMMON_DIR}/src/static-supported-temperature-levels.cpp diff --git a/examples/all-clusters-app/telink/CMakeLists.txt b/examples/all-clusters-app/telink/CMakeLists.txt index 3b3f3ac44bf4cd..46b7b72960b65b 100644 --- a/examples/all-clusters-app/telink/CMakeLists.txt +++ b/examples/all-clusters-app/telink/CMakeLists.txt @@ -76,7 +76,6 @@ add_definitions( target_sources(app PRIVATE src/AppTask.cpp - src/ZclDoorLockCallbacks.cpp ${ALL_CLUSTERS_COMMON_DIR}/src/smco-stub.cpp ${ALL_CLUSTERS_COMMON_DIR}/src/static-supported-modes-manager.cpp ${ALL_CLUSTERS_COMMON_DIR}/src/static-supported-temperature-levels.cpp From cdea4cf8b7432c807f15c1f7625ae3280323642e Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Tue, 24 Oct 2023 12:38:10 -0400 Subject: [PATCH 44/44] Support list in dm xml (#29950) * Add parse support for list types in data model xml * Restyle * Fix unused type * Fix a typo in data types ... may as well fix here since python change --------- Co-authored-by: Andrei Litvin --- .../data_model_xml/handlers/parsing.py | 38 +++++++++++++++-- .../matter_idl/test_data_model_xml.py | 42 +++++++++++++++++++ 2 files changed, 76 insertions(+), 4 deletions(-) diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py index a6b7b4287ef5fa..fc1631080c3a7e 100644 --- a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py +++ b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/parsing.py @@ -14,6 +14,7 @@ import logging import re +from dataclasses import dataclass from typing import Optional from matter_idl.generators.types import GetDataTypeSizeInBits, IsSignedDataType @@ -22,6 +23,12 @@ LOGGER = logging.getLogger('data-model-xml-data-parsing') +@dataclass +class ParsedType: + name: str + is_list: bool = False + + def ParseInt(value: str, data_type: Optional[DataType] = None) -> int: """ Convert a string that is a known integer into an actual number. @@ -61,7 +68,7 @@ def ParseOptionalInt(value: str) -> Optional[int]: "uint32": "int32u", "uint48": "int48u", "uint52": "int52u", - "uint64": "int54u", + "uint64": "int64u", # signed "sint8": "int8s", "sint16": "int16s", @@ -69,7 +76,7 @@ def ParseOptionalInt(value: str) -> Optional[int]: "sint32": "int32s", "sint48": "int48s", "sint52": "int52s", - "sint64": "int54s", + "sint64": "int64s", # other "bool": "boolean", "string": "char_string", @@ -82,6 +89,23 @@ def NormalizeDataType(t: str) -> str: return _TYPE_REMAP.get(t.lower(), t.replace("-", "_")) +def ParseType(t: str) -> ParsedType: + """Parse a data type entry. + + Specifically parses a name like "list[Foo Type]". + """ + # very rough matcher ... + is_list = False + if t.startswith("list[") and t.endswith("]"): + is_list = True + t = t[5:-1] + + if t.endswith(" Type"): + t = t[:-5] + + return ParsedType(name=NormalizeDataType(t), is_list=is_list) + + def NormalizeName(name: str) -> str: """Convert a free form name from the spec into a programming language name that is appropriate for matter IDL. @@ -126,10 +150,13 @@ def AttributesToField(attrs) -> Field: assert "id" in attrs assert "type" in attrs + t = ParseType(attrs["type"]) + return Field( name=FieldName(attrs["name"]), code=ParseInt(attrs["id"]), - data_type=DataType(name=NormalizeDataType(attrs["type"])) + is_list=t.is_list, + data_type=DataType(name=t.name), ) @@ -154,11 +181,14 @@ def AttributesToAttribute(attrs) -> Attribute: LOGGER.error(f"Attribute {attrs['name']} has no type") attr_type = "sint32" + t = ParseType(attr_type) + return Attribute( definition=Field( code=ParseInt(attrs["id"]), name=FieldName(attrs["name"]), - data_type=DataType(name=attr_type), + is_list=t.is_list, + data_type=DataType(name=t.name), ) ) diff --git a/scripts/py_matter_idl/matter_idl/test_data_model_xml.py b/scripts/py_matter_idl/matter_idl/test_data_model_xml.py index 24148e70da328a..290e3ea234ddda 100755 --- a/scripts/py_matter_idl/matter_idl/test_data_model_xml.py +++ b/scripts/py_matter_idl/matter_idl/test_data_model_xml.py @@ -72,6 +72,48 @@ def testBasicInput(self): self.assertEqual(xml_idl, expected_idl) + def testAttributes(self): + # Validate an attribute with a type list + # This is a very stripped down version from the original AudioOutput.xml + + xml_idl = XmlToIdl(''' + + + + + + + + + + + + + + + + + ''') + + expected_idl = IdlTextToIdl(''' + client cluster Test = 123 { + struct OutputInfoStruct { + int8u index = 0; + } + + readonly attribute OutputInfoStruct outputList[] = 0; + + readonly attribute attrib_id attributeList[] = 65531; + readonly attribute event_id eventList[] = 65530; + readonly attribute command_id acceptedCommandList[] = 65529; + readonly attribute command_id generatedCommandList[] = 65528; + readonly attribute bitmap32 featureMap = 65532; + readonly attribute int16u clusterRevision = 65533; + } + ''') + + self.assertEqual(xml_idl, expected_idl) + def testComplexInput(self): # This parses a known copy of Switch.xml which happens to be fully # spec-conformant (so assuming it as a good input)